@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Sora:wght@400;600;700&family=DM+Sans:wght@400;500&display=swap');

/* =========================================
   0. GLOBAL ENHANCEMENTS (smooth scroll, selection, focus)
========================================= */
html { scroll-behavior: smooth; }

::selection { background: #1D9E75; color: #fff; }
::-moz-selection { background: #1D9E75; color: #fff; }

:focus-visible {
  outline: 2px solid #1D9E75;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Pulsing live dot — used on featured cards and live banners */
@keyframes ab-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.35; transform: scale(0.7); }
}

/* =========================================
   1. GLOBAL VARIABLES & RESET
========================================= */
:root {
  --color-background-primary: #FFFFFF;
  --color-background-secondary: #F8F9FA;
  --color-text-primary: #1A1A1A;
  --color-text-secondary: #5F6368;
  --color-text-tertiary: #9AA0A6;
  --color-border-tertiary: #E0E0E0;
  --color-border-secondary: #BDBDBD;
  --border-radius-sm: 6px;
  --border-radius-md: 10px;
  --border-radius-lg: 16px;
}

[data-theme="dark"] {
  --color-background-primary: #12161C;
  --color-background-secondary: #1A1F28;
  --color-text-primary: #E8EAED;
  --color-text-secondary: #9AA0A6;
  --color-text-tertiary: #5F6368;
  --color-border-tertiary: #2A3040;
  --color-border-secondary: #3D4856;
}

/* Dark mode — fix hardcoded light values */
[data-theme="dark"] body,
[data-theme="dark"] .ab { background: var(--color-background-secondary); color: var(--color-text-primary); }
[data-theme="dark"] .ab-sub-field,
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select { background: var(--color-background-primary) !important; color: var(--color-text-primary) !important; border-color: var(--color-border-tertiary) !important; }
[data-theme="dark"] .ab-news-threat-urgent { background: rgba(226,75,74,0.15); color: #FF8080; }
[data-theme="dark"] .ab-news-threat-warning { background: rgba(239,159,39,0.15); color: #F5B942; }
[data-theme="dark"] .ab-badge.safe { background: rgba(29,158,117,0.15); color: #5DCAA5; }
[data-theme="dark"] .ab-badge.urgent { background: rgba(163,45,45,0.2); color: #FF8080; }
[data-theme="dark"] .ab-badge.warning { background: rgba(133,79,11,0.2); color: #F5B942; }
[data-theme="dark"] .ab-phil-icon { background: rgba(29,158,117,0.2); }
[data-theme="dark"] .ab-advice-strip { background: rgba(29,158,117,0.1); border-color: rgba(29,158,117,0.25); }
[data-theme="dark"] .ab-advice-label { color: #5DCAA5; }
[data-theme="dark"] .ab-advice-text { color: #9FE1CB; }
[data-theme="dark"] .ab-advisor-input { background: var(--color-background-primary) !important; border-color: rgba(29,158,117,0.35) !important; color: var(--color-text-primary) !important; }
[data-theme="dark"] .ab-zone-chip,
[data-theme="dark"] .ab-app-chip { background: var(--color-background-primary) !important; }
[data-theme="dark"] .ab-rule-check { background: var(--color-background-primary) !important; }
[data-theme="dark"] .ab-reminder-box { background: rgba(239,159,39,0.1); border-color: rgba(239,159,39,0.2); color: var(--color-text-primary); }
[data-theme="dark"] .ab-issue-icon-wrap.urgent { background: rgba(226,75,74,0.15); }
[data-theme="dark"] .ab-issue-icon-wrap.warning { background: rgba(239,159,39,0.12); }
[data-theme="dark"] .ab-issue-icon-wrap.safe { background: rgba(29,158,117,0.15); }
[data-theme="dark"] .ab-row-icon.urgent { background: rgba(226,75,74,0.15); }
[data-theme="dark"] .ab-row-icon.warning { background: rgba(239,159,39,0.12); }
[data-theme="dark"] .ab-row-icon.safe { background: rgba(29,158,117,0.15); }
[data-theme="dark"] .ab-page-header-icon { background: rgba(226,75,74,0.15) !important; }
[data-theme="dark"] .cat-platform { background: rgba(0,85,170,0.15); color: #7EB8FF; }
[data-theme="dark"] .cat-legislation { background: rgba(85,0,170,0.15); color: #C299FF; }
[data-theme="dark"] .cat-grooming { background: rgba(226,75,74,0.15); color: #FF8080; }
[data-theme="dark"] .cat-bullying { background: rgba(239,159,39,0.15); color: #F5B942; }
[data-theme="dark"] .cat-threats { background: rgba(29,158,117,0.15); color: #5DCAA5; }
[data-theme="dark"] .cat-general { background: rgba(255,255,255,0.08); color: var(--color-text-secondary); }
[data-theme="dark"] .ab-card-icon.gov,
[data-theme="dark"] .ab-card-icon.ngo,
[data-theme="dark"] .ab-card-icon.platform,
[data-theme="dark"] .ab-card-icon.support { background: rgba(255,255,255,0.07); }
[data-theme="dark"] .ab-card-badge.pinned { background: rgba(29,158,117,0.15); color: #5DCAA5; }
[data-theme="dark"] .ab-card-badge.intl { background: rgba(55,48,163,0.2); color: #A5B4FC; }
[data-theme="dark"] .ab-card-badge.urgent { background: rgba(226,75,74,0.15); color: #FF8080; }
[data-theme="dark"] .ab-sign-icon.cat-online,
[data-theme="dark"] .ab-sign-icon.cat-emotional,
[data-theme="dark"] .ab-sign-icon.cat-social,
[data-theme="dark"] .ab-sign-icon.cat-physical { background: rgba(255,255,255,0.07); }
[data-theme="dark"] .ab-ai-icon { background: rgba(29,158,117,0.15); }
[data-theme="dark"] .ab-rule:hover,
[data-theme="dark"] .ab-rule.checked { background: rgba(29,158,117,0.1); }
[data-theme="dark"] .ab-news-region-badge { background: rgba(29,158,117,0.15); color: #5DCAA5; }

/* Theme toggle button */
.ab-theme-toggle { background: none; border: 0.5px solid var(--color-border-tertiary); border-radius: 8px; padding: 5px 8px; cursor: pointer; color: var(--color-text-secondary); display: flex; align-items: center; transition: border-color .15s, color .15s; }
.ab-theme-toggle:hover { color: var(--color-text-primary); border-color: var(--color-border-secondary); }
.ab-theme-moon { display: inline-flex; }
.ab-theme-sun  { display: none; }
[data-theme="dark"] .ab-theme-moon { display: none; }
[data-theme="dark"] .ab-theme-sun  { display: inline-flex; }
*{box-sizing:border-box;margin:0;padding:0;}
.ab{font-family:'DM Sans',sans-serif;color:var(--color-text-primary);width:100%;padding-bottom:72px;}
.ab-mono{font-family:'DM Mono',monospace;}
.hidden{display:none!important;}

/* =========================================
   2. GLOBAL LAYOUT (Nav, Geo, Footer, Body)
========================================= */
.ab-nav{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:0.5px solid var(--color-border-tertiary);background:var(--color-background-primary);}
.ab-logo{display:flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:19px;color:var(--color-text-primary); text-decoration:none; cursor:pointer;}
.ab-nav-links{display:flex;gap:1.5rem;font-size:15px;color:var(--color-text-secondary);}
.ab-nav-links a, .ab-nav-links span {text-decoration:none; color:var(--color-text-secondary); cursor:pointer; transition:color .15s;}
.ab-nav-links a:hover, .ab-nav-links a.active, .ab-nav-links span:hover, .ab-nav-links span.active {color:var(--color-text-primary); font-weight:500;}

.ab-geo-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 1.5rem;background:var(--color-background-secondary);border-bottom:0.5px solid var(--color-border-tertiary);font-size:14px;}
.ab-geo-left{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary);}
.ab-geo-country{font-weight:500;color:var(--color-text-primary);font-family:'DM Mono',monospace;font-size:14px;}
.ab-geo-dot{width:7px;height:7px;border-radius:50%;background:#EF9F27;flex-shrink:0;transition:background .4s;}
.ab-geo-dot.live{background:#1D9E75;}

.ab-body{display:grid;grid-template-columns:1fr;gap:0;background:var(--color-background-secondary);}
.ab-main, .ab-about-main, .ab-advice-main {padding:1.25rem 1.25rem 2rem 1.5rem;min-width:0;display:flex;flex-direction:column;gap:1.25rem;}

/* ── News ticker ──────────────────────────────────────────────────────────── */
.ab-ticker{display:flex;align-items:center;height:36px;overflow:hidden;background:var(--color-background-primary);border-top:0.5px solid var(--color-border-tertiary);border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-ticker-badge{display:flex;align-items:center;gap:6px;padding:0 14px;font-family:'Sora',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;color:#E24B4A;border-right:0.5px solid var(--color-border-tertiary);white-space:nowrap;height:100%;flex-shrink:0;background:rgba(226,75,74,.06);}
.ab-ticker-dot{width:7px;height:7px;border-radius:50%;background:#E24B4A;flex-shrink:0;animation:ab-pulse 1.5s ease-in-out infinite;}
.ab-ticker-track-wrap{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;}
.ab-ticker-track{display:flex;align-items:center;white-space:nowrap;animation:ab-ticker-scroll 55s linear infinite;}
.ab-ticker-track:hover{animation-play-state:paused;}
.ab-ticker-item{font-size:13px;color:var(--color-text-primary);text-decoration:none;padding:0 18px;white-space:nowrap;transition:color .15s;}
.ab-ticker-item:hover{color:#1D9E75;text-decoration:underline;}
.ab-ticker-sep{color:var(--color-border-secondary);font-size:8px;flex-shrink:0;}
@keyframes ab-ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.ab-two-col {display:grid;grid-template-columns:repeat(2, 1fr);gap:1.25rem;}

/* ── Subscribe Strip ────────────────────────────────────────────────────── */
.ab-subscribe{background:var(--color-background-secondary);border-top:1px solid var(--color-border-tertiary);padding:1.25rem 1.5rem;}
.ab-subscribe-wrap{max-width:860px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.ab-subscribe-copy{flex-shrink:0;}
.ab-subscribe-headline{font-family:'Sora',sans-serif;font-size:13px;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.ab-subscribe-tagline{font-size:12px;color:var(--color-text-secondary);line-height:1.5;max-width:200px;}
.ab-subscribe-form{flex:1;min-width:260px;}
.ab-subscribe-inputs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.ab-sub-field{flex:1;min-width:110px;height:34px;padding:0 10px;border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-sm);font-family:'DM Sans',sans-serif;font-size:13px;background:#fff;color:var(--color-text-primary);outline:none;transition:border-color .15s;}
.ab-sub-field:focus{border-color:#1D9E75;box-shadow:0 0 0 3px rgba(29,158,117,.12);}
.ab-sub-btn{height:34px;padding:0 14px;background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-sm);font-family:'Sora',sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px;transition:background .15s;}
.ab-sub-btn:hover{background:#178a65;}
.ab-subscribe-prefs{display:flex;flex-wrap:wrap;gap:8px 14px;}
.ab-sub-pref{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;user-select:none;}
.ab-sub-pref input[type=checkbox]{accent-color:#1D9E75;width:13px;height:13px;margin:0;}
.ab-sub-pref input[type=radio]{accent-color:#1D9E75;width:13px;height:13px;margin:0;}
.ab-subscribe-lang{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,0.15);}
.ab-sub-lang-label{font-size:12px;color:var(--color-text-secondary);margin-right:2px;}
@media(max-width:600px){
  .ab-subscribe-wrap{flex-direction:column;align-items:stretch;}
  .ab-subscribe-tagline{max-width:none;}
  .ab-subscribe-inputs{flex-direction:column;}
  .ab-sub-field,.ab-sub-btn{width:100%;min-width:0;height:38px;}
}

.ab-footer{padding:.875rem 1.5rem;border-top:0.5px solid var(--color-border-tertiary);font-size:13px;color:var(--color-text-tertiary);text-align:center;background:var(--color-background-primary);display:flex;align-items:center;justify-content:center;gap:8px;}

/* Reusable Sidebar Box */
.ab-sbox{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem 1rem; overflow:hidden;}
.ab-sbox-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:6px;}
.ab-sbox-title i{font-size:14px;color:#1D9E75;}

/* Reusable Page Headers */
.ab-page-header{padding:1.375rem 1.5rem 1.25rem;background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-page-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1rem;}
.ab-page-title{font-family:'Sora',sans-serif;font-size:22px;font-weight:700;margin-bottom:6px;}
.ab-page-sub{font-size:15px;color:var(--color-text-secondary);line-height:1.5;max-width:620px;}
.ab-page-eyebrow{font-family:'DM Mono',monospace;font-size:12px;color:#1D9E75;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.ab-print-btn{display:inline-flex;align-items:center;gap:7px;background:#0F2218;color:#5DCAA5;border:none;border-radius:var(--border-radius-md);padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;flex-shrink:0;transition:background .15s;}
.ab-print-btn:hover{background:#1D4D30;}

.ab-section-hdr, .ab-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.ab-section-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;}


/* =========================================
   3. INDEX, ISSUES & CARDS
========================================= */
.ab-hero{padding:2rem 2rem 1.75rem;background:linear-gradient(150deg,#0F2218 55%,#1A3D28);border-bottom:0.5px solid #1D9E75;}
.ab-hero-inner{display:flex;align-items:center;gap:2.5rem;max-width:1100px;margin:0 auto;}
.ab-hero-left-col{flex:1;min-width:0;text-align:center;}
.ab-hero-right-col{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:.625rem;}
.ab-hero h1{font-family:'Sora',sans-serif;font-size:26px;font-weight:700;line-height:1.25;margin-bottom:.5rem;color:#fff;}
.ab-hero h1 em{font-style:normal;color:#5DCAA5;}
.ab-country-inline{font-family:'DM Mono',monospace;font-size:21px;color:#5DCAA5;border-bottom:2px solid #5DCAA5;}
.ab-hero p{font-size:15px;color:#9FE1CB;max-width:440px;margin:0 auto 1rem;line-height:1.6;}
.ab-hero .ab-tag{background:rgba(29,158,117,.15);color:#5DCAA5;border:0.5px solid rgba(29,158,117,.3);display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:4px 14px;border-radius:20px;margin-bottom:.625rem;letter-spacing:.04em;}

.ab-hero .ab-search-wrap{display:flex;gap:8px;max-width:440px;margin:0 auto;}
.ab-hero .ab-search-wrap input{flex:1;font-size:15px;font-family:'DM Sans',sans-serif;padding:0 1rem;height:42px;border-radius:var(--border-radius-md);background:rgba(255,255,255,0.1);border:0.5px solid rgba(255,255,255,0.2);color:#fff;}
.ab-hero .ab-search-wrap input::placeholder{color:rgba(255,255,255,0.45);}
.ab-search-btn{background:#1D9E75;color:white;border:none;border-radius:var(--border-radius-md);padding:0 1.25rem;height:42px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s;}
.ab-search-btn:hover{background:#15845F;}

.ab-cards-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:10px;margin-bottom:1.25rem;}
a.ab-issue-card, a.ab-quick-card {text-decoration:none; color:inherit; display:block;}
div.ab-issue-card {cursor:pointer;}
.ab-issue-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:1rem;cursor:pointer;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .2s,transform .2s;}
.ab-issue-card:hover{border-color:var(--color-border-secondary);box-shadow:0 4px 14px rgba(0,0,0,.07);transform:translateY(-2px);}
.ab-issue-card.urgent{border-left:3px solid #E24B4A;}
.ab-issue-card.warning{border-left:3px solid #EF9F27;}
.ab-issue-card.safe{border-left:3px solid #1D9E75;}
.ab-issue-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.ab-issue-icon-wrap{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-issue-icon-wrap.urgent{background:#FCEBEB;}
.ab-issue-icon-wrap.warning{background:#FAEEDA;}
.ab-issue-icon-wrap.safe{background:#E1F5EE;}
.ab-badge{font-size:12px;font-weight:500;padding:2px 7px;border-radius:20px;flex-shrink:0;white-space:nowrap;}
.ab-badge.urgent{background:#FCEBEB;color:#A32D2D;}
.ab-badge.warning{background:#FAEEDA;color:#854F0B;}
.ab-badge.safe{background:#E1F5EE;color:#0F6E56;}
.ab-issue-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:3px;line-height:1.3;}
.ab-issue-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.45;margin-bottom:8px;flex:1;}
.ab-issue-footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--color-text-tertiary);margin-top:auto;gap:6px;}
.ab-issue-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.ab-issue-action{font-size:12px;color:#1D9E75;font-weight:500;white-space:nowrap;}
.ab-issue-read{font-size:12px;color:var(--color-text-secondary);font-weight:400;white-space:nowrap;text-decoration:none;}
.ab-issue-read:hover{color:#1D9E75;}

/* Reusable General Card */
.ab-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .2s,transform .2s;cursor:pointer;}
.ab-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.07);transform:translateY(-1px);}
.ab-card-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;margin-bottom:.875rem;display:flex;align-items:center;gap:7px;}

/* List View (Issues page) */
.ab-cards-list{display:flex;flex-direction:column;gap:8px;}
.ab-issue-row{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:.875rem 1rem;cursor:pointer;display:flex;align-items:center;gap:14px;transition:border-color .15s;}
.ab-issue-row:hover{border-color:var(--color-border-secondary);}
.ab-issue-row.urgent{border-left:3px solid #E24B4A;}
.ab-issue-row.warning{border-left:3px solid #EF9F27;}
.ab-issue-row.safe{border-left:3px solid #1D9E75;}
.ab-row-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-row-icon.urgent{background:#FCEBEB;}
.ab-row-icon.warning{background:#FAEEDA;}
.ab-row-icon.safe{background:#E1F5EE;}
.ab-row-body{flex:1;min-width:0;}
.ab-row-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;margin-bottom:2px;line-height:1.3;}
.ab-row-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.ab-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ab-page-header .ab-search-wrap{display:flex;align-items:center;gap:0;flex:1;min-width:180px;max-width:340px;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);overflow:hidden;}
.ab-page-header .ab-search-wrap i{padding:0 10px;font-size:15px;color:var(--color-text-tertiary);}
.ab-page-header .ab-search-wrap input{flex:1;border:none;background:transparent;font-size:15px;font-family:'DM Sans',sans-serif;padding:8px 10px 8px 0;outline:none;color:var(--color-text-primary);}
.ab-sort-wrap{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary);}
.ab-sort-wrap select{font-size:14px;font-family:'DM Sans',sans-serif;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:6px 10px;background:var(--color-background-primary);color:var(--color-text-primary);cursor:pointer;outline:none;}

/* BUG FIX: Scoped Filter Tabs vs Standard Tabs */
.ab-filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.875rem;}
.ab-filter-tabs .ab-tab{font-size:13px;padding:3px 12px;border-radius:20px;border:0.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;color:var(--color-text-secondary); display:flex; align-items:center; gap:5px;}
.ab-filter-tabs .ab-tab.active{background:#1D9E75;color:white;border-color:#1D9E75;font-weight:500;}

/* =========================================
   4. EMERGENCY / ACCORDIONS
========================================= */
.ab-emergency-banner{background:#A32D2D;color:#fff;padding:10px 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:500;}
.ab-emergency-strip{background:#0F2218;border-bottom:1.5px solid #E24B4A;padding:10px 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ab-em-left{display:flex;align-items:center;gap:10px;}
.ab-em-icon{width:32px;height:32px;border-radius:50%;background:rgba(226,75,74,.15);border:0.5px solid #E24B4A;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-em-icon i{font-size:15px;color:#E24B4A;}
.ab-em-label{font-size:13px;color:#9FE1CB;}
.ab-em-num{font-family:'DM Mono',monospace;font-size:18px;font-weight:700;color:#E24B4A;cursor:pointer;}
.ab-em-nums{display:flex;gap:20px;flex-wrap:wrap;}
.ab-em-note{font-size:13px;color:var(--color-text-secondary);}

.ab-scenario-bar{background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);padding:1rem 1.5rem;}
.ab-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:8px;}
.ab-scenario-btn{background:var(--color-background-secondary);border:1.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:.75rem .625rem;cursor:pointer;text-align:center;transition:all .15s;}
.ab-scenario-btn:hover{border-color:#E24B4A;}
.ab-scenario-btn.active{border-color:#E24B4A;background:#FCEBEB;}

/* Accordion Steps */
.ab-step{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);overflow:hidden;margin-bottom:8px;}
.ab-step-head{display:flex;align-items:center;gap:12px;padding:.875rem 1rem;cursor:pointer;user-select:none;}
.ab-step-head:hover .ab-step-title{color:#1D9E75;}
.ab-step-num{width:28px;height:28px;border-radius:50%;background:#E24B4A;color:#fff;font-family:'Sora',sans-serif;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-step-num.done{background:#1D9E75;}
.ab-step-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;flex:1;line-height:1.3;}
.ab-step-chevron{font-size:16px;color:var(--color-text-secondary);transition:transform .2s;}
.ab-step.open .ab-step-chevron{transform:rotate(180deg);}
.ab-step-body{display:none;padding:0 1rem 1rem 1rem;border-top:0.5px solid var(--color-border-tertiary);}
.ab-step.open .ab-step-body{display:block;}

.ab-script-box{background:#F0FBF6;border:0.5px solid #A8D5C2;border-left:3px solid #1D9E75;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.875rem 1rem;margin-bottom:.75rem;}
.ab-warning-box{background:#FFF5F5;border:0.5px solid #F5C6C6;border-left:3px solid #E24B4A;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.75rem 1rem;margin-bottom:.75rem;font-size:13px;color:#7A1A1A;}

/* =========================================
   5. REPORTING FORMS & SUCCESS
========================================= */
.ab-form-section{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.125rem 1.25rem; margin-bottom: 1rem;}
.ab-field{margin-bottom:.875rem;}
.ab-label{font-size:14px;font-weight:500;display:block;margin-bottom:5px;color:var(--color-text-primary);}
.ab-input,.ab-select,.ab-textarea{width:100%;padding:8px 10px;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);color:var(--color-text-primary);font-family:'DM Sans',sans-serif;font-size:15px;outline:none;}
.ab-textarea{resize:vertical;min-height:100px;line-height:1.55;}

.ab-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.ab-cat-pill{padding:8px 6px;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);cursor:pointer;text-align:center;transition:all .15s;background:var(--color-background-secondary);}
.ab-cat-pill.selected{border-color:#1D9E75;background:#E8F7F2;}
.ab-age-pill{padding:6px 14px;border:0.5px solid var(--color-border-tertiary);border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text-secondary);background:var(--color-background-secondary);display:flex;align-items:center;gap:5px;}
.ab-age-pill.selected{border-color:#1D9E75;background:#E8F7F2;color:#085041;}

.ab-upload-zone{border:1px dashed var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:1rem;text-align:center;cursor:pointer;}
.ab-submit-btn{background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-md);padding:11px 28px;font-size:15px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.ab-submit-btn:disabled{background:#888;cursor:not-allowed;opacity:.7;}

.ab-success{display:none;background:var(--color-background-primary);border:0.5px solid #1D9E75;border-radius:var(--border-radius-lg);padding:2rem 1.5rem;text-align:center;}
.ab-success.visible{display:flex;flex-direction:column;align-items:center;gap:.625rem;}

/* =========================================
   6. NEWS & EDITOR'S PICKS
========================================= */
.ab-picks-section{padding:1.25rem 1.5rem 0;background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-picks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding-bottom:1.25rem;}
.ab-pick-card{background:linear-gradient(135deg,#0F2218 0%,#1a3828 100%);border-radius:var(--border-radius-lg);padding:1.25rem;color:#fff;position:relative;overflow:hidden;cursor:pointer;text-decoration:none;display:block;}
.ab-pick-title{font-family:'Sora',sans-serif;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:.5rem;color:#fff;}
.ab-pick-summary{font-size:13px;color:rgba(255,255,255,0.72);line-height:1.6;margin-bottom:.875rem;}
.ab-pick-urgent-badge{position:absolute;top:12px;right:12px;background:#E24B4A;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;}

.ab-news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.ab-news-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:1rem;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;}

/* Category Colors */
.cat-platform    {background:#E8F4FF;color:#0055AA;}
.cat-legislation {background:#F0E8FF;color:#5500AA;}
.cat-grooming    {background:#FCEBEB;color:#8B0000;}
.cat-bullying    {background:#FEF3E2;color:#7A4000;}
.cat-threats     {background:#E8FFF0;color:#006633;}
.cat-general     {background:#F0F0F0;color:#444;}

/* =========================================
   7. WARNING SIGNS
========================================= */
.ab-cat-label{display:flex;align-items:center;gap:8px;margin-bottom:.625rem;margin-top:.125rem;}
.ab-cat-label-text{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.ab-cat-label-line{flex:1;height:0.5px;background:var(--color-border-tertiary);}
.ab-cat-label-count{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-secondary);}

.ab-signs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.25rem;}
.ab-sign-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem;display:flex;flex-direction:column;gap:10px;cursor:default;transition:box-shadow .15s;}
.ab-sign-card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.07);}
.ab-sign-card.cat-online{border-top:3px solid #EF9F27;}
.ab-sign-card.cat-emotional{border-top:3px solid #E24B4A;}
.ab-sign-card.cat-social{border-top:3px solid #854F0B;}
.ab-sign-card.cat-physical{border-top:3px solid #1D9E75;}

.ab-sign-top{display:flex;align-items:center;gap:10px;}
.ab-sign-icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-sign-icon.cat-online{background:#FEF3E2;}
.ab-sign-icon.cat-emotional{background:#FCEBEB;}
.ab-sign-icon.cat-social{background:#FFF0E0;}
.ab-sign-icon.cat-physical{background:#E1F5EE;}

.ab-sign-cat{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;}
.ab-sign-cat.cat-online{color:#854F0B;}
.ab-sign-cat.cat-emotional{color:#A32D2D;}
.ab-sign-cat.cat-social{color:#6B3D00;}
.ab-sign-cat.cat-physical{color:#0F6E56;}
.ab-sign-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;line-height:1.3;color:var(--color-text-primary);}
.ab-sign-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.5;flex:1;}
.ab-sign-watch{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:.625rem .75rem;}
.ab-sign-watch-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:4px;}
.ab-sign-watch-text{font-size:12px;color:var(--color-text-primary);line-height:1.5;}

.ab-action-strip{background:linear-gradient(135deg,#0F2218 60%,#1D4D30);border-radius:var(--border-radius-lg);padding:1.125rem 1.25rem;display:flex;align-items:flex-start;gap:14px;margin-top:.25rem;}
.ab-action-strip-icon{font-size:24px;color:#5DCAA5;flex-shrink:0;margin-top:2px;}
.ab-action-strip-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:5px;}
.ab-action-strip-text{font-size:13px;color:#9FE1CB;line-height:1.6;}
.ab-action-strip-btns{display:flex;gap:8px;margin-top:.75rem;flex-wrap:wrap;}
.ab-action-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--border-radius-md);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;font-family:'DM Sans',sans-serif;border:none;transition:background .15s;}
.ab-action-btn.primary{background:#1D9E75;color:#fff;}
.ab-action-btn.primary:hover{background:#0F6E56;}
.ab-action-btn.secondary{background:rgba(255,255,255,0.12);color:#9FE1CB;border:0.5px solid rgba(255,255,255,0.2);}
.ab-action-btn.secondary:hover{background:rgba(255,255,255,0.2);}

.ab-severity-row{display:flex;align-items:flex-start;gap:8px;padding:.5rem 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-severity-row:last-child{border-bottom:none;padding-bottom:0;}
.ab-severity-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;margin-top:3px;}
.ab-severity-label{font-size:13px;color:var(--color-text-primary);line-height:1.4;}
.ab-severity-sub{font-size:11px;color:var(--color-text-secondary);}

.ab-reminder-box{background:#FAEEDA;border:0.5px solid #F5D99A;border-radius:var(--border-radius-lg);padding:.875rem 1rem;}
.ab-reminder-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;color:#633806;margin-bottom:5px;display:flex;align-items:center;gap:5px;}
.ab-reminder-text{font-size:12px;color:#854F0B;line-height:1.55;}

/* =========================================
   8. CONTACTS DIRECTORY
========================================= */
.ab-issue-bar{padding:.875rem 1.5rem;background:var(--color-background-secondary);border-bottom:0.5px solid var(--color-border-tertiary);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ab-issue-label{font-size:14px;font-weight:500;white-space:nowrap;}
.ab-issue-pills{display:flex;gap:6px;flex-wrap:wrap;}
.ab-issue-pill{font-size:13px;padding:5px 13px;border-radius:20px;border:0.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;color:var(--color-text-secondary);transition:all .15s;display:flex;align-items:center;gap:5px;}
.ab-issue-pill:hover{border-color:#1D9E75;color:var(--color-text-primary);}
.ab-issue-pill.active{background:#1D9E75;color:#fff;border-color:#1D9E75;font-weight:500;}

/* BUG FIX: Scoped Underlined Tabs vs Filter Tabs */
.ab-tabs{display:flex;gap:0;border-bottom:0.5px solid var(--color-border-tertiary);background:var(--color-background-primary);padding:0 1.5rem;}
.ab-tabs .ab-tab{padding:.75rem 1.25rem;font-size:14px;font-weight:500;cursor:pointer;color:var(--color-text-secondary);border-bottom:2px solid transparent;background:transparent;display:flex;align-items:center;gap:6px;transition:all .15s;}
.ab-tabs .ab-tab:hover{color:var(--color-text-primary);}
.ab-tabs .ab-tab.active{color:#1D9E75;border-bottom-color:#1D9E75;font-weight:600;}

.ab-panel{display:none;flex-direction:column;gap:.875rem;}
.ab-panel.active{display:flex;}

.ab-sec-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;}
.ab-sec-label::after{content:'';flex:1;height:0.5px;background:var(--color-border-tertiary);}

.ab-contacts-grid, .ab-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.ab-card.pinned{border-top:2px solid #1D9E75;}
.ab-card.urgent{border-top:2px solid #E24B4A;}
.ab-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.ab-card-icon{width:36px;height:36px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-card-icon.gov{background:#EEF2FF;}
.ab-card-icon.gov i{color:#4F46E5;font-size:18px;}
.ab-card-icon.ngo{background:#E8F7F2;}
.ab-card-icon.ngo i{color:#1D9E75;font-size:18px;}
.ab-card-icon.platform{background:#F0F9FF;}
.ab-card-icon.platform i{color:#0EA5E9;font-size:18px;}
.ab-card-icon.support{background:#FEF5E7;}
.ab-card-icon.support i{color:#EF9F27;font-size:18px;}
.ab-card-badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:10px;white-space:nowrap;}
.ab-card-badge.pinned{background:#E8F7F2;color:#085041;}
.ab-card-badge.intl{background:#EEF2FF;color:#3730A3;}
.ab-card-badge.urgent{background:#FCEBEB;color:#A32D2D;}
.ab-card-name{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;line-height:1.3;}
.ab-card-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.5;}
.ab-card-contact{display:flex;flex-direction:column;gap:4px;}
.ab-card-phone{font-family:'DM Mono',monospace;font-size:14px;font-weight:700;color:#1D9E75;}
.ab-card-phone.urgent{color:#E24B4A;}
.ab-card-meta{font-size:12px;color:var(--color-text-tertiary);display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.ab-card-actions{display:flex;gap:6px;margin-top:2px;}
.ab-card-btn{flex:1;padding:6px 8px;border-radius:var(--border-radius-md);font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s;}
.ab-card-btn.primary{background:#1D9E75;color:#fff;border:none;}
.ab-card-btn.primary:hover{background:#15845F;}
.ab-card-btn.secondary{background:transparent;border:0.5px solid var(--color-border-tertiary);color:var(--color-text-secondary);}
.ab-card-btn.secondary:hover{border-color:#1D9E75;color:#1D9E75;}

.ab-ai-box{background:var(--color-background-primary);border:0.5px dashed #1D9E75;border-radius:var(--border-radius-lg);padding:1rem 1.25rem;display:flex;align-items:center;gap:14px;}
.ab-ai-icon{width:38px;height:38px;border-radius:50%;background:#E8F7F2;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-ai-icon i{font-size:18px;color:#1D9E75;}
.ab-ai-body{flex:1;}
.ab-ai-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;margin-bottom:3px;}
.ab-ai-sub{font-size:13px;color:var(--color-text-secondary);line-height:1.45;}
.ab-ai-btn{background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-md);padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;white-space:nowrap;display:flex;align-items:center;gap:6px;}

.ab-quick-num{display:flex;flex-direction:column;gap:0;}
.ab-qn-item{padding:8px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;}
.ab-qn-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-qn-name{font-size:13px;font-weight:600;margin-bottom:2px;}
.ab-qn-num{font-family:'DM Mono',monospace;font-size:14px;color:#1D9E75;font-weight:700;}
.ab-qn-note{font-size:12px;color:var(--color-text-tertiary);}

.ab-platform-list{display:flex;flex-direction:column;gap:6px;}
.ab-plt-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);cursor:pointer;transition:border-color .15s;}
.ab-plt-item:hover{border-color:#1D9E75;}
.ab-plt-icon{width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
.ab-plt-name{font-size:13px;font-weight:600;flex:1;}
.ab-plt-arrow{font-size:12px;color:var(--color-text-tertiary);}

.ab-tip-box{background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-left:3px solid #1D9E75;border-radius:var(--border-radius-md);padding:.75rem;}
.ab-tip-box p{font-size:13px;color:var(--color-text-secondary);line-height:1.55;}
.ab-tip-box strong{color:var(--color-text-primary);}

/* =========================================
   9. FAMILY AGREEMENT
========================================= */
.ab-agreement{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);overflow:hidden;}
.ab-agree-header{background:#0F2218;padding:1.5rem 1.75rem;display:flex;align-items:center;gap:1rem;}
.ab-agree-header-text .ab-agree-title{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px;}
.ab-agree-header-text .ab-agree-sub{font-size:13px;color:#9FE1CB;line-height:1.5;}
.ab-agree-date-wrap{margin-left:auto;text-align:right;flex-shrink:0;}
.ab-agree-date-label{font-family:'DM Mono',monospace;font-size:11px;color:#5DCAA5;margin-bottom:4px;letter-spacing:.05em;}
.ab-agree-date-field{font-family:'DM Mono',monospace;font-size:14px;color:#fff;border-bottom:1px solid #5DCAA5;padding-bottom:2px;min-width:120px;outline:none;background:transparent;}

.ab-agree-section{padding:1.25rem 1.75rem;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-agree-section:last-child{border-bottom:none;}
.ab-agree-section-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:#0F2218;margin-bottom:.875rem;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.05em;}
.ab-agree-section-title::after{content:'';flex:1;height:1px;background:var(--color-border-tertiary);}

.ab-names-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem;}
.ab-name-field{display:flex;flex-direction:column;gap:4px;}
.ab-name-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;}
.ab-name-input{font-size:15px;font-family:'DM Sans',sans-serif;color:var(--color-text-primary);border:none;border-bottom:1.5px solid var(--color-border-tertiary);padding:4px 0;outline:none;background:transparent;width:100%;transition:border-color .15s;}
.ab-name-input:focus{border-color:#1D9E75;}
.ab-name-input::placeholder{color:var(--color-border-tertiary);}

.ab-rules-list{display:flex;flex-direction:column;gap:10px;}
.ab-rule{display:flex;align-items:flex-start;gap:10px;padding:.75rem .875rem;border-radius:var(--border-radius-md);background:var(--color-background-secondary);cursor:pointer;transition:background .15s;user-select:none;}
.ab-rule:hover{background:#E1F5EE;}
.ab-rule.checked{background:#E1F5EE;}
.ab-rule-check{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--color-border-tertiary);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .15s;background:#fff;}
.ab-rule.checked .ab-rule-check{background:#1D9E75;border-color:#1D9E75;}
.ab-rule-check i{font-size:12px;color:#fff;display:none;}
.ab-rule.checked .ab-rule-check i{display:block;}
.ab-rule-text{font-size:14px;color:var(--color-text-primary);line-height:1.5;flex:1;}
.ab-rule-text strong{font-weight:600;}

.ab-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.ab-time-field{display:flex;flex-direction:column;gap:4px;}
.ab-time-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;}
.ab-time-row{display:flex;align-items:center;gap:8px;}
.ab-time-input{font-size:18px;font-family:'DM Mono',monospace;font-weight:700;color:#0F2218;border:none;border-bottom:1.5px solid var(--color-border-tertiary);padding:4px 0;width:48px;outline:none;background:transparent;text-align:center;}
.ab-time-input:focus{border-color:#1D9E75;}
.ab-time-unit{font-size:13px;color:var(--color-text-secondary);}

.ab-zones-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:.25rem;}
.ab-zone-chip{display:flex;align-items:center;gap:7px;padding:5px 12px;border-radius:20px;border:1.5px solid var(--color-border-tertiary);background:#fff;cursor:pointer;font-size:13px;color:var(--color-text-secondary);user-select:none;transition:all .15s;}
.ab-zone-chip:hover{border-color:#1D9E75;color:#0F6E56;}
.ab-zone-chip.on{background:#1D9E75;border-color:#1D9E75;color:#fff;font-weight:500;}

.ab-apps-intro{font-size:13px;color:var(--color-text-secondary);margin-bottom:.75rem;line-height:1.5;}
.ab-apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:.75rem;}
.ab-app-chip{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:var(--border-radius-md);border:1.5px solid var(--color-border-tertiary);background:#fff;cursor:pointer;font-size:13px;color:var(--color-text-secondary);user-select:none;transition:all .15s;}
.ab-app-chip:hover{border-color:#1D9E75;color:#0F6E56;}
.ab-app-chip.on{background:#E1F5EE;border-color:#1D9E75;color:#0F6E56;font-weight:500;}
.ab-apps-other{display:flex;align-items:center;gap:8px;margin-top:4px;}
.ab-apps-other-label{font-size:13px;color:var(--color-text-secondary);flex-shrink:0;}
.ab-apps-other-input{flex:1;font-size:13px;font-family:'DM Sans',sans-serif;border:none;border-bottom:1px solid var(--color-border-tertiary);outline:none;padding:3px 0;background:transparent;color:var(--color-text-primary);}
.ab-apps-other-input:focus{border-color:#1D9E75;}

.ab-contact-intro{font-size:14px;color:var(--color-text-primary);line-height:1.65;margin-bottom:.875rem;}
.ab-contact-intro em{color:#1D9E75;font-style:normal;font-weight:600;}
.ab-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}

.ab-promise{background:linear-gradient(135deg,#0F2218 60%,#1D4D30);border-radius:var(--border-radius-md);padding:1rem 1.25rem;margin-top:.25rem;}
.ab-promise-text{font-size:14px;color:#9FE1CB;line-height:1.7;font-style:italic;}
.ab-promise-text strong{color:#5DCAA5;font-style:normal;}

.ab-sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:.5rem;}
.ab-sig-col{display:flex;flex-direction:column;gap:.875rem;}
.ab-sig-who{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;}
.ab-sig-name-field{border-bottom:1.5px solid var(--color-text-primary);padding-bottom:4px;min-width:180px;}
.ab-sig-name-input{font-size:15px;font-family:'DM Sans',sans-serif;border:none;outline:none;background:transparent;width:100%;color:var(--color-text-primary);}
.ab-sig-name-input::placeholder{color:var(--color-border-tertiary);}
.ab-sig-date{display:flex;align-items:center;gap:6px;margin-top:.25rem;}
.ab-sig-date-label{font-size:12px;color:var(--color-text-secondary);}
.ab-sig-date-input{font-size:13px;font-family:'DM Mono',monospace;border:none;border-bottom:1px solid var(--color-border-tertiary);padding:2px 0;width:110px;outline:none;background:transparent;color:var(--color-text-primary);}
.ab-sig-pledge{font-size:13px;color:var(--color-text-secondary);line-height:1.55;font-style:italic;margin-top:.25rem;}

/* =========================================
   10. GLOSSARY
========================================= */
.ab-search-bar{background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);padding:.875rem 1.5rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ab-search-input-wrap{display:flex;align-items:center;gap:8px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:0 .875rem;flex:1;max-width:360px;}
.ab-search-input-wrap i{color:var(--color-text-secondary);font-size:15px;flex-shrink:0;}
.ab-search-input{border:none;background:transparent;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--color-text-primary);height:36px;flex:1;outline:none;}
.ab-search-input::placeholder{color:var(--color-text-secondary);}
.ab-term-count{font-family:'DM Mono',monospace;font-size:13px;color:var(--color-text-secondary);}

.ab-alpha-strip{background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);padding:.5rem 1.5rem;display:flex;gap:4px;flex-wrap:wrap;}
.ab-alpha-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-family:'DM Mono',monospace;font-size:13px;cursor:pointer;color:var(--color-text-secondary);border:none;background:transparent;transition:all .15s;}
.ab-alpha-btn:hover{background:var(--color-background-secondary);color:var(--color-text-primary);}
.ab-alpha-btn.has-terms{color:#1D9E75;font-weight:600;}
.ab-alpha-btn.has-terms:hover{background:#E1F5EE;}
.ab-alpha-btn.empty{opacity:.3;cursor:default;}

.ab-letter-group{margin-bottom:1.5rem;}
.ab-letter-group.hidden{display:none;}
.ab-letter-anchor{display:flex;align-items:center;gap:10px;margin-bottom:.75rem;}
.ab-letter-char{font-family:'Sora',sans-serif;font-size:26px;font-weight:700;color:#0F2218;width:40px;flex-shrink:0;line-height:1;}
.ab-letter-line{flex:1;height:0.5px;background:var(--color-border-tertiary);}

.ab-term-cards{display:flex;flex-direction:column;gap:8px;}
.ab-term-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem 1rem;transition:box-shadow .15s;}
.ab-term-card:hover{box-shadow:0 2px 10px rgba(0,0,0,0.06);}
.ab-term-card.hidden{display:none;}

.ab-term-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.ab-term-name{font-family:'Sora',sans-serif;font-size:16px;font-weight:700;color:var(--color-text-primary);}
.ab-term-mono{font-family:'DM Mono',monospace;font-size:13px;color:var(--color-text-secondary);margin-left:2px;}
.ab-term-cat{font-size:11px;font-weight:500;padding:2px 8px;border-radius:20px;flex-shrink:0;}
.ab-term-cat.grooming{background:#FCEBEB;color:#A32D2D;}
.ab-term-cat.platform{background:#E8F0FE;color:#1A3FAA;}
.ab-term-cat.bullying{background:#FAEEDA;color:#854F0B;}
.ab-term-cat.tech{background:#E1F5EE;color:#0F6E56;}
.ab-term-cat.slang{background:#F3E8FF;color:#6B21A8;}
.ab-term-cat.gaming{background:#E0F7FA;color:#006064;}

.ab-term-def{font-size:14px;color:var(--color-text-secondary);line-height:1.65;}
.ab-term-def strong{color:var(--color-text-primary);}

.ab-term-alert{display:flex;align-items:flex-start;gap:8px;background:#FFF5F5;border-left:3px solid #E24B4A;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.625rem .875rem;margin-top:.625rem;}
.ab-term-alert i{font-size:13px;color:#A32D2D;flex-shrink:0;margin-top:1px;}
.ab-term-alert-text{font-size:13px;color:#7A1A1A;line-height:1.5;}

.ab-term-tip{display:flex;align-items:flex-start;gap:8px;background:#F0FBF6;border-left:3px solid #1D9E75;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.625rem .875rem;margin-top:.625rem;}
.ab-term-tip i{font-size:13px;color:#0F6E56;flex-shrink:0;margin-top:1px;}
.ab-term-tip-text{font-size:13px;color:#085041;line-height:1.5;}

.ab-no-results{display:none;text-align:center;padding:2rem;color:var(--color-text-secondary);font-size:15px;}

.ab-cat-key{display:flex;flex-direction:column;gap:7px;}
.ab-cat-key-row{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--color-text-secondary);}
.ab-cat-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0;}

.ab-stats-box{background:linear-gradient(135deg,#0F2218 60%,#1D4D30);border-radius:var(--border-radius-lg);padding:.875rem 1rem;}
.ab-stats-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;color:#5DCAA5;margin-bottom:.625rem;}
.ab-stats-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:0.5px solid rgba(255,255,255,0.08);font-size:13px;}
.ab-stats-row:last-child{border-bottom:none;padding-bottom:0;}
.ab-stats-lbl{color:#9FE1CB;}
.ab-stats-val{font-family:'DM Mono',monospace;font-weight:600;color:#fff;}

/* =========================================
   11. MAP & REGIONS
========================================= */
.ab-filter-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.ab-map-wrap{position:relative;border-bottom:0.5px solid var(--color-border-tertiary);}
#ab-map{width:100%;height:430px;}

.ab-pin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,0.6);cursor:pointer;}
.ab-pin.urgent {background:#E24B4A;animation:pulse-r 2s ease-in-out infinite;}
.ab-pin.warning{background:#EF9F27;animation:pulse-a 2s ease-in-out infinite;}
.ab-pin.safe   {background:#1D9E75;animation:pulse-g 2.5s ease-in-out infinite;}
@keyframes pulse-r{0%,100%{box-shadow:0 0 0 3px rgba(226,75,74,.45);}50%{box-shadow:0 0 0 9px rgba(226,75,74,.0);}}
@keyframes pulse-a{0%,100%{box-shadow:0 0 0 3px rgba(239,159,39,.45);}50%{box-shadow:0 0 0 9px rgba(239,159,39,.0);}}
@keyframes pulse-g{0%,100%{box-shadow:0 0 0 3px rgba(29,158,117,.45);}50%{box-shadow:0 0 0 9px rgba(29,158,117,.0);}}
.ab-you-pin{width:13px;height:13px;border-radius:50%;background:#5DCAA5;border:2px solid #fff;box-shadow:0 0 0 4px rgba(93,202,165,.3);}

.ab-d3-popup{position:absolute;background:#0F2218;border:0.5px solid #1D9E75;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.55);padding:13px 15px;width:215px;z-index:1000;pointer-events:auto;}
.ab-d3-popup-close{position:absolute;top:7px;right:9px;background:none;border:none;color:#5DCAA5;font-size:17px;cursor:pointer;line-height:1;padding:0;}
.ab-pp-flag{font-size:17px;margin-bottom:3px;}
.ab-pp-name{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:5px;}
.ab-pp-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;display:inline-block;margin-bottom:7px;}
.ab-pp-badge.urgent {background:#FCEBEB;color:#A32D2D;}
.ab-pp-badge.warning{background:#FAEEDA;color:#854F0B;}
.ab-pp-badge.safe   {background:#E1F5EE;color:#085041;}
.ab-pp-issue{font-size:13px;color:#9FE1CB;line-height:1.5;margin-bottom:8px;}
.ab-pp-score{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.ab-pp-score-lbl{font-size:12px;color:#5DCAA5;}
.ab-pp-score-val{font-family:'DM Mono',monospace;font-size:15px;font-weight:700;}
.ab-pp-score-val.urgent {color:#E24B4A;}
.ab-pp-score-val.warning{color:#EF9F27;}
.ab-pp-score-val.safe   {color:#1D9E75;}
.ab-pp-btn{width:100%;padding:7px 10px;background:#1D9E75;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.ab-pp-btn:hover{background:#15845F;}

.ab-map-legend{position:absolute;bottom:12px;left:14px;z-index:1000;pointer-events:none;display:flex;gap:10px;align-items:center;background:rgba(15,34,24,.88);border:0.5px solid rgba(29,158,117,.4);border-radius:6px;padding:5px 12px;}
.ab-leg-i{display:flex;align-items:center;gap:5px;font-size:12px;color:#9FE1CB;font-family:'DM Mono',monospace;}
.ab-leg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}

.ab-list-hd{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;display:flex;align-items:center;gap:7px;}
.ab-country-list{display:flex;flex-direction:column;gap:6px;}
.ab-crow{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:.75rem .875rem;display:flex;align-items:center;gap:10px;cursor:pointer;transition:border-color .15s;}
.ab-crow:hover{border-color:var(--color-border-secondary);}
.ab-crow.urgent {border-left:3px solid #E24B4A;}
.ab-crow.warning{border-left:3px solid #EF9F27;}
.ab-crow.safe   {border-left:3px solid #1D9E75;}
.ab-cflag{font-size:16px;flex-shrink:0;}
.ab-cbody{flex:1;min-width:0;}
.ab-cname{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:2px;}
.ab-cissue{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ab-csev{font-family:'DM Mono',monospace;font-size:15px;font-weight:700;flex-shrink:0;}
.ab-csev.urgent {color:#E24B4A;}
.ab-csev.warning{color:#EF9F27;}
.ab-csev.safe   {color:#1D9E75;}

.ab-reg-list{display:flex;flex-direction:column;}
.ab-reg-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;font-size:13px;color:var(--color-text-secondary);}
.ab-reg-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-reg-item:hover{color:var(--color-text-primary);}
.ab-reg-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.ab-reg-name{flex:1;}
.ab-reg-n{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-tertiary);}

.ab-report-cta{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-top:3px solid #EF9F27;border-radius:var(--border-radius-lg);padding:.875rem 1rem;text-align:center;cursor:pointer;}
.ab-report-cta:hover{border-color:#EF9F27;}
.ab-report-icon{font-size:22px;color:#EF9F27;margin-bottom:6px;}
.ab-report-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:4px;}
.ab-report-sub{font-size:13px;color:var(--color-text-secondary);line-height:1.45;margin-bottom:.625rem;}
.ab-report-btn{background:#EF9F27;color:#3D2600;border:none;border-radius:var(--border-radius-md);padding:7px 16px;font-size:14px;font-weight:600;cursor:pointer;width:100%;font-family:'DM Sans',sans-serif;}
.ab-report-btn:hover{background:#D4881C;}

/* =========================================
   12. ABOUT & ADVICE SPECIFIC
========================================= */
.ab-mission{background:linear-gradient(150deg,#0F2218 55%,#1A3D28);padding:2.25rem 1.5rem 2rem;text-align:center;border-bottom:0.5px solid #1D9E75;}
.ab-mission-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(29,158,117,.15);color:#5DCAA5;font-size:13px;font-weight:500;padding:4px 14px;border-radius:20px;margin-bottom:1rem;letter-spacing:.05em;text-transform:uppercase;border:0.5px solid rgba(29,158,117,.3);}
.ab-mission h1{font-family:'Sora',sans-serif;font-size:26px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:.875rem;}
.ab-mission h1 em{font-style:normal;color:#5DCAA5;}
.ab-mission p{font-size:15px;color:#9FE1CB;line-height:1.7;max-width:520px;margin:0 auto 1.5rem;}
.ab-mission-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;}
.ab-mstat{text-align:center;}
.ab-mstat-val{font-family:'Sora',sans-serif;font-size:22px;font-weight:700;color:#5DCAA5;}
.ab-mstat-label{font-size:13px;color:#9FE1CB;margin-top:2px;}

.ab-steps{display:flex;flex-direction:column;gap:0;}
.ab-step{display:flex;gap:14px;align-items:flex-start;padding:.875rem 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-step:last-child{border-bottom:none;padding-bottom:0;}
.ab-step-num{width:30px;height:30px;border-radius:50%;background:#E1F5EE;display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#085041;flex-shrink:0;margin-top:1px;}
.ab-step-title{font-size:15px;font-weight:500;color:var(--color-text-primary);margin-bottom:3px;}
.ab-step-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.6;}

.ab-trust-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px;}
.ab-trust-item{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:.875rem;display:flex;align-items:flex-start;gap:10px;}
.ab-trust-icon{width:32px;height:32px;border-radius:8px;background:#E1F5EE;display:flex;align-items:center;justify-content:center;font-size:16px;color:#0F6E56;flex-shrink:0;}
.ab-trust-title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px;}
.ab-trust-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.45;}

.ab-source-list{display:flex;flex-direction:column;gap:0;}
.ab-source-item{display:flex;align-items:center;gap:10px;padding:.625rem 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-source-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-source-dot{width:7px;height:7px;border-radius:50%;background:#1D9E75;flex-shrink:0;}
.ab-source-name{font-size:14px;font-weight:500;flex:1;}
.ab-source-type{font-size:12px;padding:2px 7px;border-radius:20px;background:#E1F5EE;color:#085041;white-space:nowrap;}

.ab-faq-list{display:flex;flex-direction:column;gap:0;}
.ab-faq-item{border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-faq-item:last-child{border-bottom:none;}
.ab-faq-q{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;cursor:pointer;gap:10px;}
.ab-faq-q-text{font-size:15px;font-weight:500;color:var(--color-text-primary);line-height:1.4;}
.ab-faq-arrow{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .2s;}
.ab-faq-item.open .ab-faq-arrow{transform:rotate(90deg);}
.ab-faq-a{font-size:14px;color:var(--color-text-secondary);line-height:1.65;padding-bottom:.875rem;display:none;}
.ab-faq-item.open .ab-faq-a{display:block;}

.ab-qnav-list{display:flex;flex-direction:column;gap:0;}
.ab-qnav-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;font-size:14px;color:var(--color-text-secondary);}
.ab-qnav-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-qnav-item:hover{color:#1D9E75;}
.ab-qnav-item i{font-size:15px;color:#1D9E75;}

.ab-cta-box{background:#E1F5EE;border:0.5px solid #9FE1CB;border-radius:var(--border-radius-lg);padding:.875rem 1rem;text-align:center;}
.ab-cta-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:#085041;margin-bottom:4px;}
.ab-cta-sub{font-size:13px;color:#0F6E56;margin-bottom:.625rem;line-height:1.45;}
.ab-cta-btn{background:#1D9E75;color:white;border:none;border-radius:var(--border-radius-md);padding:7px 16px;font-size:14px;font-weight:500;cursor:pointer;width:100%;font-family:'DM Sans',sans-serif;}
.ab-cta-btn:hover{background:#0F6E56;}

.ab-featured{background:linear-gradient(135deg,#0F2218 60%,#1D4D30);border-radius:var(--border-radius-lg);padding:1.125rem 1.25rem;display:flex;align-items:flex-start;gap:14px;cursor:pointer;}
.ab-featured:hover{opacity:.95;}
.ab-featured-icon{font-size:28px;color:#5DCAA5;flex-shrink:0;margin-top:2px;}
.ab-featured-tag{font-family:'DM Mono',monospace;font-size:12px;color:#5DCAA5;letter-spacing:.08em;margin-bottom:5px;}
.ab-featured-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:5px;line-height:1.3;}
.ab-featured-desc{font-size:14px;color:#9FE1CB;line-height:1.55;margin-bottom:.75rem;}
.ab-featured-cta{font-size:14px;color:#5DCAA5;font-weight:500;}

.ab-platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ab-platform-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem;cursor:pointer;transition:border-color .15s;display:flex;flex-direction:column;}
.ab-platform-card:hover{border-color:var(--color-border-secondary);}
.ab-platform-logo{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:.625rem;font-size:18px;}
.ab-platform-name{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:3px;}
.ab-platform-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.4;margin-bottom:.5rem;flex:1;}
.ab-platform-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px;border-radius:20px;font-weight:500;margin-top:auto;}
.ab-platform-pill.high{background:#FCEBEB;color:#A32D2D;}
.ab-platform-pill.med{background:#FAEEDA;color:#854F0B;}
.ab-platform-pill.low{background:#E1F5EE;color:#085041;}

.ab-convo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.ab-convo-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-left:3px solid #1D9E75;border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:.875rem 1rem;cursor:pointer;transition:border-color .15s;display:flex;flex-direction:column;}
.ab-convo-card:hover{border-right-color:var(--color-border-secondary);}
.ab-convo-age{font-family:'DM Mono',monospace;font-size:12px;color:#1D9E75;margin-bottom:5px;letter-spacing:.04em;}
.ab-convo-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:4px;line-height:1.3;}
.ab-convo-starter{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.625rem;font-style:italic;flex:1;}
.ab-convo-starter::before{content:'" ';}
.ab-convo-starter::after{content:' "'}
.ab-convo-cta{font-size:13px;color:#1D9E75;font-weight:500;margin-top:auto;}

.ab-age-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.ab-age-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-top:3px solid #1D9E75;border-radius:var(--border-radius-lg);padding:.875rem;cursor:pointer;transition:border-color .15s;text-align:center;display:flex;flex-direction:column;}
.ab-age-card:hover{border-left-color:var(--color-border-secondary);border-right-color:var(--color-border-secondary);border-bottom-color:var(--color-border-secondary);}
.ab-age-icon-wrap{width:48px;height:48px;border-radius:50%;background:#E1F5EE;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;}
.ab-age-icon-wrap i{font-size:22px;color:#0F6E56;}
.ab-age-badge{font-family:'DM Mono',monospace;font-size:13px;font-weight:700;color:#1D9E75;margin-bottom:4px;}
.ab-age-label{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:3px;}
.ab-age-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.45;margin-bottom:.5rem;flex:1;}
.ab-age-topics{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:auto;}
.ab-age-tag{font-size:9px;padding:2px 6px;border-radius:20px;background:var(--color-background-secondary);color:var(--color-text-secondary);}

.ab-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ab-check-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem;cursor:pointer;transition:border-color .15s;display:flex;flex-direction:column;}
.ab-check-card:hover{border-color:var(--color-border-secondary);}
.ab-check-top{display:flex;align-items:center;gap:10px;margin-bottom:.75rem;}
.ab-check-icon{width:34px;height:34px;border-radius:9px;background:#E1F5EE;display:flex;align-items:center;justify-content:center;font-size:17px;color:#0F6E56;flex-shrink:0;}
.ab-check-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;line-height:1.3;}
.ab-check-items{display:flex;flex-direction:column;gap:5px;margin-bottom:.75rem;flex:1;}
.ab-check-item{display:flex;align-items:flex-start;gap:7px;font-size:13px;color:var(--color-text-secondary);line-height:1.4;}
.ab-check-tick{width:14px;height:14px;border-radius:50%;border:1.5px solid #1D9E75;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ab-check-tick i{font-size:8px;color:#1D9E75;}
.ab-check-cta{font-size:13px;color:#1D9E75;font-weight:500;margin-top:auto;}

.ab-tip-strip{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-left:3px solid #1D9E75;border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:.875rem 1rem;display:flex;align-items:flex-start;gap:10px;}
.ab-tip-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#0F6E56;margin-bottom:3px;}
.ab-tip-text{font-size:14px;color:var(--color-text-primary);line-height:1.6;}
.ab-tip-cta{margin-top:6px;font-size:13px;color:#1D9E75;font-weight:500;cursor:pointer;}

.ab-qtip-list{display:flex;flex-direction:column;gap:0;}
.ab-qtip-item{padding:8px 0;border-bottom:0.5px solid var(--color-border-tertiary);display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:13px;line-height:1.45;color:var(--color-text-primary);}
.ab-qtip-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-qtip-item:hover{color:#1D9E75;}
.ab-qtip-num{font-family:'DM Mono',monospace;font-size:12px;color:#1D9E75;flex-shrink:0;padding-top:1px;min-width:14px;}

.ab-help-list{display:flex;flex-direction:column;gap:7px;}
.ab-help-item{border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:8px 10px;cursor:pointer;}
.ab-help-item:hover{border-color:var(--color-border-secondary);}
.ab-help-org{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px;}
.ab-help-line{font-family:'DM Mono',monospace;font-size:14px;color:#1D9E75;margin-bottom:1px;}
.ab-help-sub{font-size:12px;color:var(--color-text-tertiary);}

.ab-advisor-box{background:#E1F5EE;border:0.5px solid #9FE1CB;border-radius:var(--border-radius-lg);padding:.875rem 1rem;}
.ab-advisor-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:#085041;margin-bottom:4px;display:flex;align-items:center;gap:5px;}
.ab-advisor-sub{font-size:13px;color:#0F6E56;margin-bottom:.625rem;line-height:1.45;}
.ab-advisor-input{width:100%;font-size:14px;font-family:'DM Sans',sans-serif;border:0.5px solid #9FE1CB;border-radius:var(--border-radius-md);padding:7px 10px;background:white;color:var(--color-text-primary);outline:none;margin-bottom:6px;}
.ab-advisor-btn{background:#1D9E75;color:white;border:none;border-radius:var(--border-radius-md);padding:7px 16px;font-size:14px;font-weight:500;cursor:pointer;width:100%;font-family:'DM Sans',sans-serif;}
.ab-advisor-btn:hover{background:#0F6E56;}

/* =========================================
   13. MOBILE RESPONSIVENESS (Max Width: 768px)
========================================= */
@media (max-width: 768px) {
  
  .ab-body { grid-template-columns: 1fr; }
  .ab-main, .ab-about-main, .ab-advice-main { padding: 1.25rem 1rem; }
  .ab-ticker-badge { padding: 0 10px; font-size: 10px; }
  .ab-ticker-item { font-size: 12px; padding: 0 12px; }
  .ab-geo-bar { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 1rem; }
  .ab-page-header-top, .ab-page-header { flex-direction: column; align-items: stretch; }
  
  .ab-hero .ab-search-wrap, .ab-page-header .ab-search-wrap, .ab-search-input-wrap { max-width: 100% !important; width: 100%; margin-top: 10px; }
  .ab-two-col { grid-template-columns: 1fr !important; }
  
  /* Grid collapsing */
  .ab-cards-grid, .ab-platform-grid, .ab-check-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ab-scenario-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ab-news-grid { grid-template-columns: 1fr !important; }
  .ab-picks-grid { grid-template-columns: 1fr !important; }
  .ab-cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ab-signs-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ab-contacts-grid, .ab-cards { grid-template-columns: 1fr !important; }
  .ab-names-grid, .ab-time-grid, .ab-contact-grid, .ab-sig-grid, .ab-apps-grid, .ab-convo-grid, .ab-age-grid, .ab-trust-grid { grid-template-columns: 1fr !important; }
  
  .ab-agree-header { flex-direction: column; align-items: flex-start; }
  .ab-agree-date-wrap { margin-left: 0; text-align: left; }

  /* Mobile Nav */
  .ab-nav { flex-wrap: wrap; padding: .75rem 1rem; }
  .ab-nav-links { display: none; width: 100%; flex-direction: column; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 0.5px solid var(--color-border-tertiary); order: 10; }
  .ab-nav-links.mobile-open { display: flex; }
  .ab-hamburger { display: block !important; }
  /* Language switcher — always visible, compact on mobile */
  .ab-lang-switcher { display: inline-flex; align-items: center; }
  .ab-lang-switcher > div > span:nth-child(2) { display: none; } /* hide "Language :" / "Bahasa :" label */
  .ab-lang-switcher > div > i { display: none; }                  /* hide language icon */
  .ab-lang-switcher > div { padding: 3px 7px; gap: 4px; }        /* tighten pill */

  /* Tabs & pills — horizontal scroll instead of wrap */
  .ab-tabs { overflow-x: auto; padding: 0 1rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .ab-tabs::-webkit-scrollbar { display: none; }
  .ab-issue-pills { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
  /* Filter tabs — horizontal scroll on mobile (no wrapping) */
  .ab-filter-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 2px; scrollbar-width: none; margin-bottom: .5rem; }
  .ab-filter-tabs::-webkit-scrollbar { display: none; }
  /* Tighten page header & controls on mobile */
  .ab-page-header { padding: .875rem 1rem 0; }
  .ab-page-sub { font-size: 13px; }
  .ab-controls { gap: 8px; margin-bottom: .75rem; }

  /* Typography */
  .ab-page-title { font-size: 18px !important; }

  /* Footer wrapping */
  .ab-footer { flex-wrap: wrap; gap: 6px; padding: 1rem 1.25rem; }

  /* Emergency note — hide on mobile to save space */
  .ab-em-note { display: none; }

  /* Bottom tab nav */
  .ab-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--color-background-primary);border-top:0.5px solid var(--color-border-tertiary);height:56px;padding-bottom:env(safe-area-inset-bottom,0px);}
  .ab-btn-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--color-text-secondary);font-size:10px;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;min-width:0;padding:6px 2px;}
  .ab-btn-tab i{font-size:20px;}
  .ab-btn-tab.active{color:#1D9E75;}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));}
  a[href="emergency.html"][style*="position:fixed"]{bottom:70px!important;}
  button.ab-back-top{bottom:70px!important;}
}

@media (max-width: 480px) {
  .ab-signs-grid { grid-template-columns: 1fr !important; }
  .ab-cards-grid, .ab-platform-grid, .ab-check-grid { grid-template-columns: 1fr !important; }

  /* Stack card actions vertically on small screens */
  .ab-card-actions { flex-direction: column; gap: 6px; }
  .ab-card-actions a, .ab-card-actions button { width: 100%; justify-content: center; }

  /* Subscribe strip */
  .ab-subscribe { padding: 1rem; }
  .ab-sub-field, .ab-sub-btn { width: 100%; min-width: 0; height: 38px; }
}

.ab-hamburger { display: none; cursor: pointer; color: var(--color-text-primary); }
.ab-bottom-nav { display: none; }

/* =========================================
   14. PRINT STYLES (Family Agreement)
========================================= */
@media print {
  @page { margin: 1.5cm 2cm; size: A4; }

  .ab-nav, .ab-geo-bar, .ab-page-header, .ab-sidebar,
  .ab-footer, .ab-print-btn, .no-print,
  a[href="emergency.html"][style*="position:fixed"],
  button[onclick*="scrollTo"] { display: none !important; }

  body, .ab, .ab-body { background: #fff !important; }
  .ab-body { display: block !important; }
  .ab-main { padding: 0 !important; }
  .ab-agreement { border: none !important; box-shadow: none !important; border-radius: 0 !important; }

  .ab-agree-header {
    background: #0F2218 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    border-radius: 8px 8px 0 0;
  }

  input, [contenteditable] {
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    outline: none !important;
    -webkit-appearance: none;
  }

  .ab-rule { background: transparent !important; page-break-inside: avoid; }
  .ab-rule.checked { background: #f0fbf6 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ab-rule-check { border: 1.5px solid #ccc !important; }
  .ab-rule.checked .ab-rule-check { background: #1D9E75 !important; border-color: #1D9E75 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ab-rule.checked .ab-rule-check i { display: block !important; color: #fff !important; }

  .ab-zone-chip.on, .ab-app-chip.on {
    background: #E1F5EE !important;
    border-color: #1D9E75 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .ab-promise {
    background: #0F2218 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    border-radius: 6px;
  }

  .ab-agree-section { page-break-inside: avoid; }
  .ab-sig-grid { page-break-inside: avoid; margin-top: 1rem; }

  .ab-main::after {
    content: 'armorbee.org — Family Online Safety Agreement';
    display: block;
    margin-top: 1.5rem;
    padding-top: .75rem;
    border-top: 0.5px solid #ccc;
    font-size: 11px;
    color: #999;
    text-align: center;
    font-family: 'DM Mono', monospace;
  }
}
/* =========================================
   15. INDEX PAGE — quick cards, feed, stats
========================================= */
.ab-bottom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
a.ab-quick-card{text-decoration:none;color:inherit;}
.ab-quick-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem;text-align:center;cursor:pointer;transition:border-color .15s;display:flex;flex-direction:column;align-items:center;gap:6px;}
.ab-quick-card:hover{border-color:#1D9E75;}
.ab-quick-card i{font-size:24px;color:#1D9E75;margin-bottom:2px;}
.ab-quick-label{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--color-text-primary);}
.ab-quick-sub{font-size:12px;color:var(--color-text-secondary);}

.ab-feed-box{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);overflow:hidden;}
.ab-feed-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-feed-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;}
.ab-feed-inner{max-height:280px;overflow-y:scroll;scrollbar-width:none;}
.ab-feed-inner::-webkit-scrollbar{width:0;}
.ab-feed-box:hover .ab-feed-inner{scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) transparent;}
.ab-feed-box:hover .ab-feed-inner::-webkit-scrollbar{width:3px;}
.ab-feed-box:hover .ab-feed-inner::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:2px;}
.ab-feed-list{display:flex;flex-direction:column;}
.ab-feed-item{display:flex;align-items:flex-start;gap:8px;padding:7px .875rem;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;}
.ab-feed-item:last-child{border-bottom:none;}
.ab-feed-dot{width:7px;height:7px;border-radius:50%;background:#E24B4A;flex-shrink:0;margin-top:4px;}
.ab-feed-dot2{width:7px;height:7px;border-radius:50%;background:#1D9E75;flex-shrink:0;margin-top:4px;}
.ab-feed-text{font-size:13px;color:var(--color-text-primary);line-height:1.4;flex:1;}
.ab-feed-time{font-family:'DM Mono',monospace;font-size:11px;color:var(--color-text-secondary);flex-shrink:0;padding-top:1px;}

.ab-stat-box{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem 1rem;}
.ab-stat-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;margin-bottom:.625rem;}
.ab-stat-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px;}
.ab-stat-row:last-child{border-bottom:none;padding-bottom:0;}
.ab-stat-label{color:var(--color-text-secondary);}
.ab-stat-val{font-family:'DM Mono',monospace;font-weight:600;font-size:14px;}
.ab-stat-lbl{color:var(--color-text-secondary);font-size:13px;}
.ab-stat-bar-wrap{flex:1;height:6px;background:var(--color-background-secondary);border-radius:3px;margin:0 10px;}
.ab-stat-bar{height:6px;border-radius:3px;}

.ab-alert-banner{background:#FCEBEB;border:0.5px solid #F5C6C6;border-radius:var(--border-radius-md);padding:.625rem 1rem;display:flex;align-items:center;gap:8px;font-size:13px;color:#7A1A1A;position:relative;}
.ab-alert-banner::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#E24B4A;flex-shrink:0;animation:ab-pulse 1.5s ease-in-out infinite;}
[data-theme="dark"] .ab-alert-banner{background:rgba(226,75,74,0.1);border-color:rgba(226,75,74,0.25);color:#FF8080;}
.ab-tag{font-size:11px;font-weight:500;padding:2px 7px;border-radius:20px;background:var(--color-background-secondary);color:var(--color-text-secondary);}
.ab-local-label{font-family:'DM Mono',monospace;font-size:11px;color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;}

/* Issues + tip side-by-side layout */
.ab-issues-and-tip{display:flex;gap:1rem;align-items:flex-start;}
.ab-issues-col{flex:1;min-width:0;}
.ab-tip-col{width:220px;flex-shrink:0;padding-top:3.75rem;}/* padding aligns card below section-header + filter row */

/* Filter row — pills + threat activity on same line */
.ab-filter-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.ab-threat-mini{display:flex;align-items:center;gap:.625rem;flex-shrink:0;}
.ab-threat-mini-title{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;}
.ab-threat-mini-bars{display:flex;gap:.5rem;}
.ab-threat-mini-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-secondary);white-space:nowrap;}
.ab-threat-mini-bar-wrap{width:36px;height:4px;background:var(--color-border-tertiary);border-radius:2px;overflow:hidden;}
.ab-threat-mini-bar-wrap div{height:100%;border-radius:2px;}
@media(max-width:900px){.ab-threat-mini{display:none;}}

.ab-cards-grid--2col{grid-template-columns:repeat(2,1fr)!important;align-items:stretch;}
.ab-cards-grid--2col .ab-issue-card{height:100%;}
.ab-advice-strip--tall{height:100%;box-sizing:border-box;}
@media(max-width:900px){
  .ab-issues-and-tip{flex-direction:column;}
  .ab-tip-col{width:100%;padding-top:0;}
  .ab-cards-grid--2col{grid-template-columns:repeat(2,1fr)!important;align-items:stretch;}
.ab-cards-grid--2col .ab-issue-card{height:100%;}
}
@media(max-width:640px){
  .ab-cards-grid--2col{grid-template-columns:1fr!important;}
}

.ab-advice-strip{background:#E1F5EE;border:0.5px solid #9FE1CB;border-radius:var(--border-radius-lg);padding:.875rem 1rem;display:flex;align-items:flex-start;gap:12px;}
.ab-advice-label{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:#085041;margin-bottom:3px;}
.ab-advice-text{font-size:13px;color:#0F6E56;line-height:1.45;}
.ab-advice-cta{background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-md);padding:7px 16px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:'DM Sans',sans-serif;}

/* =========================================
   16. ALERTS PAGE
========================================= */
.ab-active-list{display:flex;flex-direction:column;gap:8px;}
.ab-active-alert{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:.875rem 1rem;cursor:pointer;display:flex;align-items:flex-start;gap:12px;transition:border-color .15s;}
.ab-active-alert:hover{border-color:var(--color-border-secondary);}
.ab-active-alert.urgent{border-left:3px solid #E24B4A;}
.ab-active-alert.warning{border-left:3px solid #EF9F27;}
.ab-active-alert.safe{border-left:3px solid #1D9E75;}
.ab-alert-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-alert-icon.urgent{background:#FCEBEB;color:#E24B4A;}
.ab-alert-icon.warning{background:#FAEEDA;color:#EF9F27;}
.ab-alert-icon.safe{background:#E1F5EE;color:#1D9E75;}
.ab-alert-body{flex:1;min-width:0;}
.ab-alert-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px;}
.ab-alert-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;line-height:1.3;}
.ab-alert-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:20px;flex-shrink:0;}
.ab-alert-badge.urgent{background:#FCEBEB;color:#A32D2D;}
.ab-alert-badge.warning{background:#FAEEDA;color:#854F0B;}
.ab-alert-badge.safe{background:#E1F5EE;color:#0F6E56;}
.ab-alert-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.45;margin-bottom:6px;}
.ab-alert-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--color-text-secondary);}
.ab-alert-action{font-size:12px;color:#1D9E75;font-weight:500;cursor:pointer;}

.ab-freq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ab-freq-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:.75rem;cursor:pointer;text-align:center;transition:border-color .15s;}
.ab-freq-card:hover,.ab-freq-card.selected{border-color:#1D9E75;background:#E8F7F2;}
.ab-freq-icon{font-size:22px;color:var(--color-text-secondary);margin-bottom:5px;}
.ab-freq-label{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;margin-bottom:2px;}
.ab-freq-sub{font-size:11px;color:var(--color-text-secondary);}

.ab-channel-list{display:flex;flex-direction:column;gap:0;}
.ab-channel-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-channel-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-channel-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-background-secondary);font-size:16px;color:#1D9E75;}
.ab-channel-name{font-size:14px;font-weight:500;flex:1;}
.ab-channel-status{font-size:12px;color:var(--color-text-secondary);}

.ab-toggle{width:36px;height:20px;border-radius:10px;background:#BDBDBD;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;}
.ab-toggle.on{background:#1D9E75;}
.ab-toggle-knob{width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,0.15);}
.ab-toggle.on .ab-toggle-knob{transform:translateX(16px);}

.ab-log-list{display:flex;flex-direction:column;gap:0;}
.ab-log-item{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-log-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-log-dot{width:7px;height:7px;border-radius:50%;background:#1D9E75;flex-shrink:0;margin-top:4px;}
.ab-log-body{flex:1;min-width:0;}
.ab-log-title{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px;}
.ab-log-time{font-family:'DM Mono',monospace;font-size:11px;color:var(--color-text-secondary);}

.ab-pref-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1rem;}
.ab-pref-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:.75rem;}

.ab-cat-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
.ab-cat-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.4;}
.ab-cat-toggle-list{display:flex;flex-direction:column;gap:6px;}
.ab-cat-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;}

.ab-signup-card{background:linear-gradient(135deg,#0F2218 60%,#1D4D30);border-radius:var(--border-radius-lg);padding:1.125rem 1.25rem;}
.ab-signup-icon{font-size:24px;color:#5DCAA5;margin-bottom:.5rem;}
.ab-signup-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:4px;}
.ab-signup-sub{font-size:13px;color:#9FE1CB;line-height:1.5;margin-bottom:.875rem;}
.ab-signup-row{display:flex;gap:8px;}
.ab-signup-input{flex:1;font-size:14px;font-family:'DM Sans',sans-serif;border:0.5px solid rgba(255,255,255,0.2);border-radius:var(--border-radius-md);padding:8px 12px;background:rgba(255,255,255,0.08);color:#fff;outline:none;}
.ab-signup-input::placeholder{color:rgba(255,255,255,0.4);}
.ab-signup-btn{background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-md);padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.ab-signup-note{font-size:11px;color:rgba(255,255,255,0.4);margin-top:6px;line-height:1.4;}

/* =========================================
   17. EMERGENCY PAGE
========================================= */
.ab-emergency-banner-left{display:flex;align-items:center;gap:10px;}
.ab-scenario-icon{font-size:20px;color:var(--color-text-secondary);margin-bottom:5px;}
.ab-scenario-label{font-size:13px;font-weight:600;line-height:1.3;margin-bottom:2px;}
.ab-scenario-text{font-size:11px;color:var(--color-text-secondary);line-height:1.3;}

.ab-step-intro{font-size:14px;color:var(--color-text-secondary);line-height:1.6;padding:.625rem 0 .625rem 40px;margin-bottom:.25rem;}
.ab-step-time{font-family:'DM Mono',monospace;font-size:11px;color:var(--color-text-secondary);margin-left:auto;flex-shrink:0;}
.ab-step-done-btn{background:#E1F5EE;color:#085041;border:none;border-radius:var(--border-radius-md);padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:.5rem;}
.ab-step-done-btn.done{background:#1D9E75;color:#fff;}

.ab-script-label{font-family:'DM Mono',monospace;font-size:11px;color:#0F6E56;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.ab-script-text{font-size:14px;color:var(--color-text-primary);line-height:1.65;font-style:italic;}

.ab-action-list{display:flex;flex-direction:column;gap:8px;}
.ab-action-item{display:flex;align-items:flex-start;gap:10px;}
.ab-action-bullet{width:22px;height:22px;border-radius:50%;background:#E1F5EE;border:0.5px solid #9FE1CB;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;color:#0F6E56;margin-top:1px;}
.ab-action-text{font-size:14px;color:var(--color-text-primary);line-height:1.55;}

.ab-hotline{display:flex;flex-direction:column;gap:6px;}
.ab-hotline-item{display:flex;align-items:flex-start;gap:10px;padding:8px .875rem;background:var(--color-background-secondary);border-radius:var(--border-radius-md);}
.ab-hotline-name{font-size:13px;font-weight:600;margin-bottom:2px;}
.ab-hotline-num{font-family:'DM Mono',monospace;font-size:14px;color:#1D9E75;font-weight:700;}
.ab-hotline-meta{font-size:11px;color:var(--color-text-secondary);}

.ab-reassure{background:#E1F5EE;border:0.5px solid #9FE1CB;border-radius:var(--border-radius-lg);padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:12px;}
.ab-reassure-icon{font-size:22px;color:#0F6E56;flex-shrink:0;margin-top:2px;}
.ab-reassure-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:#085041;margin-bottom:4px;}
.ab-reassure-text{font-size:13px;color:#0F6E56;line-height:1.6;}

.ab-report-links{display:flex;flex-direction:column;gap:6px;}
.ab-report-link{display:flex;align-items:center;gap:10px;padding:.75rem .875rem;background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);cursor:pointer;transition:border-color .15s;text-decoration:none;color:inherit;}
.ab-report-link:hover{border-color:#1D9E75;}
.ab-report-link-left{display:flex;align-items:center;gap:10px;flex:1;}
.ab-report-link-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;}

.ab-for-grooming,.ab-for-images{display:none;}
.ab-for-grooming.active,.ab-for-images.active{display:block;}

.ab-share-btn{display:inline-flex;align-items:center;gap:6px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;color:var(--color-text-secondary);}

/* =========================================
   18. ISSUE DETAIL PAGE
========================================= */
.ab-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);padding:.875rem 1.5rem;background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-breadcrumb a{color:var(--color-text-secondary);text-decoration:none;}
.ab-breadcrumb a:hover{color:#1D9E75;}
.ab-breadcrumb i{font-size:12px;}

.ab-hero-strip{background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);padding:1.5rem 1.5rem 1.25rem;}
.ab-hero-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:1rem;}
.ab-hero-left{flex:1;min-width:0;}
.ab-hero-right{flex-shrink:0;}
.ab-hero-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.ab-hero-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--color-text-secondary);}
.ab-issue-sub{font-size:15px;color:var(--color-text-secondary);line-height:1.55;margin-top:6px;}
.ab-meta-item{display:flex;align-items:center;gap:5px;}

.ab-severity-wrap{display:flex;align-items:center;gap:14px;}
.ab-severity-ring{position:relative;width:64px;height:64px;flex-shrink:0;}
.ab-severity-ring svg{transform:rotate(-90deg);}
.ab-severity-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-size:18px;font-weight:700;}
.ab-severity-text{flex:1;}
.ab-severity-label{font-size:13px;color:var(--color-text-secondary);line-height:1.5;}

.ab-what-text{font-size:14px;color:var(--color-text-secondary);line-height:1.7;}

.ab-who-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.ab-who-item{display:flex;align-items:flex-start;gap:8px;background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:.75rem;}
.ab-who-icon{width:28px;height:28px;border-radius:7px;background:#E1F5EE;display:flex;align-items:center;justify-content:center;font-size:14px;color:#0F6E56;flex-shrink:0;}
.ab-who-label{font-size:13px;font-weight:600;margin-bottom:2px;}
.ab-who-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.4;}

.ab-stat-box{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem 1rem;}
.ab-stat-divider{height:0.5px;background:var(--color-border-tertiary);margin:.5rem 0;}
.ab-stat-change{font-size:11px;font-weight:500;padding:1px 6px;border-radius:20px;}

.ab-age-bar{display:flex;flex-direction:column;gap:6px;}
.ab-age-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.ab-age-name{font-size:13px;color:var(--color-text-primary);}
.ab-age-pct{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-secondary);}
.ab-age-track{height:6px;background:var(--color-background-secondary);border-radius:3px;overflow:hidden;}
.ab-age-fill{height:6px;background:#1D9E75;border-radius:3px;transition:width .4s;}

.ab-warning-strip{background:#FAEEDA;border:0.5px solid #F5D99A;border-left:3px solid #EF9F27;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.75rem 1rem;display:flex;align-items:flex-start;gap:8px;}
.ab-warning-text{font-size:13px;color:#633806;line-height:1.55;}

.ab-steps{display:flex;flex-direction:column;gap:0;}
.ab-step-content{padding:.625rem 0 .625rem 42px;font-size:13px;color:var(--color-text-secondary);line-height:1.6;}

.ab-signs{display:flex;flex-direction:column;gap:6px;}
.ab-sign-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);}
.ab-sign-dot{width:6px;height:6px;border-radius:50%;background:#E24B4A;flex-shrink:0;}

.ab-source-body{flex:1;min-width:0;}
.ab-source-icon{width:28px;height:28px;border-radius:7px;background:var(--color-background-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;}

/* =========================================
   19. ISSUES LISTING PAGE
========================================= */
.ab-view-toggle{display:flex;gap:4px;background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:3px;}
.ab-view-btn{width:30px;height:28px;border:none;background:transparent;border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:15px;}
.ab-view-btn.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:0 1px 3px rgba(0,0,0,0.08);}

.ab-tab-count{font-size:11px;font-weight:600;padding:1px 6px;border-radius:20px;background:var(--color-background-secondary);color:var(--color-text-secondary);}
.ab-filter-tabs .ab-tab.active .ab-tab-count{background:rgba(255,255,255,0.25);color:#fff;}

.ab-row-location{font-size:12px;color:var(--color-text-secondary);display:flex;align-items:center;gap:4px;}
.ab-row-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary);flex-wrap:wrap;}
.ab-row-sev{font-family:'DM Mono',monospace;font-size:13px;font-weight:700;flex-shrink:0;}
.ab-row-arr{font-size:14px;color:var(--color-text-secondary);flex-shrink:0;}
.ab-issue-count{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-secondary);}

.ab-sev-list{display:flex;flex-direction:column;gap:5px;}
.ab-sev-item{display:flex;align-items:center;gap:7px;font-size:13px;}
.ab-sev-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0;}
.ab-sev-name{flex:1;color:var(--color-text-secondary);}
.ab-sev-n{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;}

.ab-trend-list{display:flex;flex-direction:column;gap:0;}
.ab-trend-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;}
.ab-trend-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-trend-rank{font-family:'DM Mono',monospace;font-size:11px;color:var(--color-text-secondary);min-width:16px;}
.ab-trend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.ab-trend-name{font-size:13px;flex:1;color:var(--color-text-primary);}
.ab-trend-arr{font-size:13px;flex-shrink:0;}

.ab-cat-list{display:flex;flex-direction:column;gap:5px;}
.ab-cat-row{display:flex;align-items:center;gap:8px;font-size:13px;}
.ab-cat-name{flex:1;color:var(--color-text-secondary);}
.ab-cat-bar-wrap{width:60px;height:5px;background:var(--color-background-secondary);border-radius:3px;overflow:hidden;flex-shrink:0;}
.ab-cat-bar{height:5px;border-radius:3px;}
.ab-cat-val{font-family:'DM Mono',monospace;font-size:11px;color:var(--color-text-secondary);min-width:28px;text-align:right;}

.ab-alert-cta{background:linear-gradient(135deg,#0F2218 60%,#1D4D30);border-radius:var(--border-radius-lg);padding:1rem 1.25rem;}
.ab-alert-cta-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:#fff;margin-bottom:4px;display:flex;align-items:center;gap:7px;}
.ab-alert-cta-sub{font-size:13px;color:#9FE1CB;line-height:1.5;margin-bottom:.75rem;}
.ab-alert-btn{background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-md);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}

.ab-load-more{display:flex;justify-content:center;padding:.875rem 0;}
.ab-load-btn{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:8px 24px;font-size:14px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;color:var(--color-text-secondary);}
.ab-load-btn:hover{border-color:#1D9E75;color:#1D9E75;}

/* =========================================
   20. NEWS PAGE
========================================= */
.ab-filter-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:.75rem 1.5rem;background:var(--color-background-primary);border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-filter-btn{font-size:13px;padding:5px 13px;border-radius:20px;border:0.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;color:var(--color-text-secondary);transition:all .15s;font-family:'DM Sans',sans-serif;}
.ab-filter-btn:hover{border-color:#1D9E75;color:var(--color-text-primary);}
.ab-filter-btn.active{background:#1D9E75;color:#fff;border-color:#1D9E75;font-weight:500;}
.ab-filter-count{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-secondary);margin-left:auto;}

.ab-picks-header{display:flex;align-items:center;gap:10px;margin-bottom:.875rem;}
.ab-picks-label{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;}
.ab-picks-rule{flex:1;height:0.5px;background:var(--color-border-tertiary);}

.ab-pick-cat{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#5DCAA5;margin-bottom:5px;}
.ab-pick-source{font-size:12px;color:rgba(255,255,255,0.5);}
.ab-pick-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;}
.ab-pick-read{font-size:12px;color:#5DCAA5;font-weight:500;}

.ab-news-card-top{margin-bottom:6px;}
.ab-news-card--urgent{border-left:3px solid #E24B4A;}
.ab-news-card--warning{border-left:3px solid #EF9F27;}
.ab-news-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:5px;}
.ab-news-threat-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap;letter-spacing:.03em;}
.ab-news-threat-urgent{background:#FCEBEB;color:#A32D2D;}
.ab-news-threat-warning{background:#FEF3E2;color:#854F0B;}
.ab-news-region-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;background:rgba(29,158,117,.12);color:#0F6E56;white-space:nowrap;}
.ab-news-cat-chip{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:20px;margin-bottom:0;}
.ab-news-title{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;line-height:1.35;margin-bottom:4px;color:var(--color-text-primary);}
.ab-news-excerpt{font-size:13px;color:var(--color-text-secondary);line-height:1.55;margin-bottom:6px;flex:1;}
.ab-news-footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--color-text-secondary);margin-top:auto;}
.ab-news-source{font-weight:500;color:var(--color-text-primary);}
.ab-news-date{font-family:'DM Mono',monospace;}
.ab-news-ext{font-size:12px;color:var(--color-text-secondary);}

.ab-emerg-card{background:#0F2218;border:0.5px solid #E24B4A;border-radius:var(--border-radius-lg);padding:.875rem 1rem;display:flex;flex-direction:column;gap:6px;margin-bottom:1rem;}
.ab-emerg-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:#E24B4A;margin-bottom:4px;display:flex;align-items:center;gap:6px;}
.ab-emerg-body{font-size:13px;color:#9FE1CB;line-height:1.55;margin-bottom:.625rem;}
.ab-emerg-btn{display:inline-flex;align-items:center;gap:6px;background:#E24B4A;color:#fff;border:none;border-radius:var(--border-radius-md);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none;}

.ab-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:2rem;color:var(--color-text-secondary);}
.ab-loading-spinner{width:20px;height:20px;border:2px solid var(--color-border-tertiary);border-top-color:#1D9E75;border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.ab-loading-text{font-size:14px;}
.ab-empty{text-align:center;padding:2rem;color:var(--color-text-secondary);font-size:14px;}
.ab-error-box{background:#FFF5F5;border:0.5px solid #F5C6C6;border-radius:var(--border-radius-lg);padding:1rem;font-size:14px;color:#7A1A1A;text-align:center;}
.ab-last-updated{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-secondary);}

.ab-sidebar-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem 1rem;margin-bottom:10px;}
.ab-sidebar-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:.625rem;display:flex;align-items:center;gap:6px;}
.ab-sidebar-title i{font-size:14px;color:#1D9E75;}
.ab-sidebar-body{font-size:13px;color:var(--color-text-secondary);line-height:1.6;}
.ab-sidebar-list{display:flex;flex-direction:column;gap:5px;list-style:none;padding:0;margin:0;}
.ab-sidebar-list li{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--color-text-secondary);line-height:1.5;}
.ab-sidebar-list li i{flex-shrink:0;margin-top:2px;}

.ab-submit-body{padding:.625rem 0;}
.ab-submit-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;margin-bottom:3px;}
.ab-submit-tip{font-size:12px;color:var(--color-text-secondary);line-height:1.5;}

/* =========================================
   21. REPORT FORM PAGE
========================================= */
.ab-page-header-inner{display:flex;align-items:flex-start;gap:14px;}
.ab-page-header-icon{width:40px;height:40px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#FCEBEB;font-size:20px;color:#E24B4A;}
.ab-notice-bar{background:#FAEEDA;border:0.5px solid #F5D99A;border-radius:var(--border-radius-md);padding:.625rem 1rem;display:flex;align-items:center;gap:8px;font-size:13px;color:#633806;margin-bottom:.875rem;}
.ab-section-head{display:flex;align-items:center;gap:10px;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-section-num{width:26px;height:26px;border-radius:50%;background:#1D9E75;color:#fff;font-family:'Sora',sans-serif;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-section-head .ab-section-title{flex:1;font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:var(--color-text-primary);}
.ab-section-sub{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;}
.ab-req{color:#E24B4A;font-size:12px;}
.ab-hint{font-size:12px;color:var(--color-text-secondary);margin-top:3px;}
.ab-char-row{display:flex;align-items:center;justify-content:space-between;}
.ab-char-count{font-family:'DM Mono',monospace;font-size:12px;color:var(--color-text-secondary);}

.ab-sev-wrap{margin:.375rem 0;}
.ab-sev-track{display:flex;gap:4px;}
.ab-sev-btn{flex:1;padding:8px 6px;border:1.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);cursor:pointer;font-size:12px;font-weight:500;font-family:'DM Sans',sans-serif;text-align:center;transition:all .15s;}
.ab-sev-btn:hover{border-color:#1D9E75;}
.ab-sev-btn.active{background:#1D9E75;border-color:#1D9E75;color:#fff;}
.ab-sev-btn.active-warn{background:#EF9F27;border-color:#EF9F27;color:#fff;}
.ab-sev-btn.active-crit{background:#E24B4A;border-color:#E24B4A;color:#fff;}
.ab-sev-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-secondary);margin-top:4px;}

.ab-loc-row{display:flex;align-items:center;gap:8px;}
.ab-loc-detect{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#1D9E75;cursor:pointer;font-weight:500;}

.ab-consent-row{display:flex;align-items:flex-start;gap:10px;padding:.75rem;background:var(--color-background-secondary);border-radius:var(--border-radius-md);cursor:pointer;user-select:none;}
.ab-consent-text{font-size:13px;color:var(--color-text-secondary);line-height:1.55;}

.ab-emergency-box{background:#FCEBEB;border:0.5px solid #F5C6C6;border-left:3px solid #E24B4A;border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;padding:1rem 1.25rem;}
.ab-emergency-num{font-family:'DM Mono',monospace;font-size:20px;font-weight:700;color:#E24B4A;margin:5px 0;}
.ab-emergency-sub{font-size:13px;color:#7A1A1A;}
.ab-emergency-note{font-size:12px;color:#A32D2D;margin-top:4px;}

.ab-step-list{display:flex;flex-direction:column;gap:8px;}
.ab-step-list .ab-step{display:flex;align-items:flex-start;gap:10px;}
.ab-step-list .ab-step-body{display:block;flex:1;min-width:0;}
.ab-step-list .ab-step-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;margin-bottom:2px;color:var(--color-text-primary);}
.ab-step-list .ab-step-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.5;}
.ab-step-circle{width:24px;height:24px;border-radius:50%;background:#1D9E75;color:#fff;font-family:'Sora',sans-serif;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

.ab-recent-item{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-recent-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-recent-body{flex:1;min-width:0;}
.ab-recent-meta{display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.ab-recent-tag{font-size:11px;padding:1px 7px;border-radius:20px;font-weight:500;}

.ab-help-name{font-size:13px;font-weight:600;margin-bottom:2px;}
.ab-help-num{font-family:'DM Mono',monospace;font-size:13px;color:#1D9E75;}
.ab-help-note{font-size:11px;color:var(--color-text-secondary);}

.ab-privacy{font-size:12px;color:var(--color-text-secondary);line-height:1.55;padding:.75rem;background:var(--color-background-secondary);border-radius:var(--border-radius-md);}
.ab-draft-btn{background:transparent;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;color:var(--color-text-secondary);}
.ab-submit-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}

.ab-success-icon{font-size:40px;color:#1D9E75;margin-bottom:.5rem;}
.ab-success-title{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;margin-bottom:4px;}
.ab-success-sub{font-size:15px;color:var(--color-text-secondary);line-height:1.5;max-width:360px;}
.ab-success-ref{font-family:'DM Mono',monospace;font-size:13px;color:var(--color-text-secondary);margin:.5rem 0;}
.ab-success-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:.5rem;}
.ab-success-btn{background:#1D9E75;color:#fff;border:none;border-radius:var(--border-radius-md);padding:10px 22px;font-size:15px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}

/* =========================================
   22. REPORTING WALKTHROUGHS PAGE
========================================= */
.ab-platform-bar{display:flex;gap:0;border-bottom:0.5px solid var(--color-border-tertiary);background:var(--color-background-primary);padding:0 1.5rem;overflow-x:auto;}
.ab-platform-tab{padding:.75rem 1.25rem;font-size:14px;font-weight:500;cursor:pointer;color:var(--color-text-secondary);border-bottom:3px solid transparent;white-space:nowrap;transition:all .15s;flex-shrink:0;}
.ab-platform-tab:hover{color:var(--color-text-primary);}
.ab-platform-tab.active{font-weight:600;border-bottom-color:var(--tab-color,#1D9E75);color:var(--color-text-primary);}
.ab-platform-panel{display:none;flex-direction:column;gap:1rem;}
.ab-platform-panel.active{display:flex;}

.ab-platform-hero{display:flex;align-items:flex-start;gap:14px;background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:1.125rem 1.25rem;}
.ab-platform-logo{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-platform-name{font-family:'Sora',sans-serif;font-size:18px;font-weight:700;margin-bottom:4px;}
.ab-platform-desc{font-size:14px;color:var(--color-text-secondary);line-height:1.55;margin-bottom:6px;}
.ab-platform-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:20px;}

/* =========================================
   23. ANIMATIONS & VISUAL POLISH
========================================= */

/* ── Scroll fade-in base / revealed state ─────────── */
.ab-fade{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease;}
.ab-fade.in{opacity:1;transform:translateY(0);}

/* ── Hover lift — cards with border-color transition ── */
/* Override transition to include transform + shadow     */
.ab-issue-card,
.ab-issue-row,
.ab-crow,
.ab-platform-card,
.ab-convo-card,
.ab-age-card,
.ab-check-card,
.ab-active-alert{transition:border-color .15s,transform .2s ease,box-shadow .2s ease;}
.ab-issue-card:hover,
.ab-issue-row:hover,
.ab-crow:hover,
.ab-platform-card:hover,
.ab-convo-card:hover,
.ab-age-card:hover,
.ab-check-card:hover,
.ab-active-alert:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.07);}

/* ── Hover lift — term & sign cards (box-shadow only) ── */
.ab-term-card,.ab-sign-card{transition:box-shadow .2s ease,transform .2s ease;}
.ab-term-card:hover,.ab-sign-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.09);}

/* ── Hover lift — news cards (no prior hover state) ─── */
.ab-news-card{transition:border-color .15s,transform .2s ease,box-shadow .2s ease;}
.ab-news-card:hover{border-color:var(--color-border-secondary);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.07);}

/* ── Hover lift — editor's pick cards ────────────────── */
.ab-pick-card{transition:transform .2s ease,box-shadow .2s ease,opacity .15s;}
.ab-pick-card:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(0,0,0,.2);}

/* ── Emergency button glow (fixed-position pill) ──────── */
@keyframes ab-em-glow{0%,100%{box-shadow:0 0 0 0 rgba(226,75,74,0);}50%{box-shadow:0 0 0 6px rgba(226,75,74,.32);}}
.ab-em-glow{animation:ab-em-glow 2.6s ease-in-out infinite;}

/* ── Animated hero shield (index.html) ───────────────── */
.ab-hero-shield-wrap{display:flex;justify-content:center;margin-bottom:.75rem;}
.ab-hero-shield{width:52px;height:52px;filter:drop-shadow(0 0 10px rgba(29,158,117,.4));}
.ab-shield-stroke{stroke-dasharray:320;stroke-dashoffset:320;animation:ab-shield-draw .9s cubic-bezier(.4,0,.2,1) forwards .1s;}
.ab-shield-fill{opacity:0;animation:ab-shield-fade .5s ease forwards .85s;}
.ab-shield-inner{opacity:0;animation:ab-shield-fade .4s ease forwards 1.15s;}
.ab-shield-check{stroke-dasharray:72;stroke-dashoffset:72;animation:ab-shield-draw .45s cubic-bezier(.4,0,.2,1) forwards 1.15s;}
@keyframes ab-shield-draw{to{stroke-dashoffset:0;}}
@keyframes ab-shield-fade{to{opacity:1;}}
@media(prefers-reduced-motion:reduce){
  .ab-shield-stroke,.ab-shield-fill,.ab-shield-inner,.ab-shield-check{
    animation:none;stroke-dashoffset:0;opacity:1;
  }
}

/* ── Warning-signs: springy card reveal ──────────────── */
/* Override default ab-fade for sign cards — spring scale */
.ab-sign-card.ab-fade{
  opacity:0;
  transform:translateY(10px) scale(0.96);
  transition:opacity .5s ease, transform .5s cubic-bezier(.34,1.25,.64,1);
}
.ab-sign-card.ab-fade.in{opacity:1;transform:translateY(0) scale(1);}

/* Category section labels — slide in from left */
.ab-cat-label.ab-fade{
  opacity:0;
  transform:translateX(-14px);
  transition:opacity .35s ease, transform .35s ease;
}
.ab-cat-label.ab-fade.in{opacity:1;transform:translateX(0);}

/* ── Grooming progression timeline ───────────────────── */
.ab-groom-timeline{display:flex;flex-direction:column;gap:0;padding-top:4px;}
.ab-groom-stage{display:flex;gap:14px;position:relative;}
.ab-groom-stage:not(:last-child)::before{
  content:'';position:absolute;left:19px;top:40px;width:2px;
  height:calc(100% - 16px);
  background:linear-gradient(to bottom,var(--ab-stage-color,#1D9E75),var(--ab-stage-next,#EF9F27));
  transform-origin:top;transform:scaleY(0);
  animation:ab-line-grow .4s ease forwards;
}
.ab-groom-node{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;position:relative;z-index:1;margin-top:0;}
.ab-groom-body{flex:1;padding-bottom:22px;}
.ab-groom-stage:last-child .ab-groom-body{padding-bottom:0;}
.ab-groom-label{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;}
.ab-groom-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:4px;color:var(--color-text-primary);}
.ab-groom-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.6;}
.ab-groom-desc em{font-style:italic;color:var(--color-text-primary);}
/* Staggered entrance */
.ab-groom-stage{opacity:0;transform:translateX(-10px);animation:ab-groom-in .4s ease forwards;}
@keyframes ab-groom-in{to{opacity:1;transform:translateX(0);}}
@keyframes ab-line-grow{to{transform:scaleY(1);}}
.ab-groom-stage:nth-child(1){animation-delay:.1s;}
.ab-groom-stage:nth-child(2){animation-delay:.35s;}
.ab-groom-stage:nth-child(3){animation-delay:.6s;}
.ab-groom-stage:nth-child(4){animation-delay:.85s;}
.ab-groom-stage:nth-child(5){animation-delay:1.1s;}
.ab-groom-stage:nth-child(1)::before{animation-delay:.3s;}
.ab-groom-stage:nth-child(2)::before{animation-delay:.55s;}
.ab-groom-stage:nth-child(3)::before{animation-delay:.8s;}
.ab-groom-stage:nth-child(4)::before{animation-delay:1.05s;}
@media(prefers-reduced-motion:reduce){
  .ab-groom-stage{animation:none;opacity:1;transform:none;}
  .ab-groom-stage::before{animation:none;transform:scaleY(1);}
}

/* ── Issue page SVG illustrations ────────────────────── */
.ab-issue-illus{flex-shrink:0;width:90px;height:90px;display:flex;align-items:center;justify-content:center;}
.ab-issue-illus svg{width:90px;height:90px;display:block;}
@media(max-width:640px){.ab-issue-illus{display:none;}}

/* ── Honeycomb hex background on dark hero sections ──── */
.ab-hero,.ab-mission{position:relative;overflow:hidden;}
.ab-hero::before,.ab-mission::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L0 31.5l12.98 7.5v-2.3L1.01 31.5H0zm0 2.3l12.98 7.5V49h-2v-6.35L0 37.31v-2.01zM28 15l-12.99-7.5V0h2v6.35L28 12.69v2.3zm0 18.5L28 31.5 15.01 39v2.3L28 33.8v-2.3zm0 2.3L15.01 43.25V49h2v-6.35L28 37.31v-2.01zM14 0h2v7.5h-2V0zm0 49h2v-7.5h-2V49z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-size:56px 98px;
  opacity:.07;
  pointer-events:none;
}

/* ── Hero philosophy cards (right column) ────────────── */
.ab-hero-phil-card{display:flex;align-items:flex-start;gap:10px;padding:.75rem .875rem;border-radius:var(--border-radius-md);background:rgba(255,255,255,0.07);border:0.5px solid rgba(255,255,255,0.13);text-align:left;}
.ab-hero-phil-card .ab-phil-icon{background:rgba(29,158,117,0.25);color:#5DCAA5;width:32px;height:32px;border-radius:6px;flex-shrink:0;}
.ab-hero-phil-card .ab-phil-title{color:#fff;font-size:12px;font-family:'Sora',sans-serif;font-weight:600;margin-bottom:.2rem;}
.ab-hero-phil-card .ab-phil-body{font-size:11px;color:rgba(159,225,203,0.8);line-height:1.55;}
@media(max-width:900px){
  .ab-hero-inner{flex-direction:column;gap:1.5rem;}
  .ab-hero-left-col{text-align:center;width:100%;}
  .ab-hero-right-col{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
}
@media(max-width:640px){
  .ab-hero{padding:1.5rem 1.25rem 1.25rem;}
  .ab-hero-right-col{grid-template-columns:1fr;}
}

/* ── ArmorBee Philosophy 3-card strip ────────────────── */
.ab-philosophy{
  padding:1rem 1.5rem;
  background:var(--color-background-secondary);
  border-top:0.5px solid var(--color-border-tertiary);
  border-bottom:0.5px solid var(--color-border-tertiary);
}
.ab-phil-inner{width:100%;}
.ab-phil-label{
  font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.07em;
  text-transform:uppercase;color:#1D9E75;
  margin-bottom:.75rem;text-align:center;
}
.ab-phil-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;}
.ab-phil-card{
  display:flex;align-items:flex-start;gap:12px;
  padding:.875rem 1rem;border-radius:var(--border-radius-md);
  background:var(--color-background-primary);
  border:0.5px solid var(--color-border-tertiary);
}
.ab-phil-icon{
  width:32px;height:32px;border-radius:7px;flex-shrink:0;
  background:#E6F7F2;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:#1D9E75;
}
.ab-phil-content{flex:1;min-width:0;}
.ab-phil-title{
  font-family:'Sora',sans-serif;font-size:13px;font-weight:600;
  color:var(--color-text-primary);margin-bottom:.25rem;
}
.ab-phil-body{font-size:12px;color:var(--color-text-secondary);line-height:1.55;}
@media(max-width:640px){.ab-phil-grid{grid-template-columns:1fr;}}

/* ── Map country risk score bars ─────────────────────── */
.ab-crow{position:relative;overflow:hidden;}
.ab-crow-bar{
  position:absolute;bottom:0;left:0;height:3px;
  width:var(--w,50%);
  transform-origin:left center;
  transform:scaleX(0);
  transition:transform .8s cubic-bezier(.4,0,.2,1);
  border-radius:0 2px 0 0;
}
.ab-crow.urgent .ab-crow-bar{background:#E24B4A;}
.ab-crow.warning .ab-crow-bar{background:#EF9F27;}
.ab-crow.safe .ab-crow-bar{background:#1D9E75;}
.ab-crow.ab-fade.in .ab-crow-bar{transform:scaleX(1);}
/* Waterfall stagger — each row fires .05s after the previous */
.ab-crow:nth-child(1)  .ab-crow-bar{transition-delay:.05s;}
.ab-crow:nth-child(2)  .ab-crow-bar{transition-delay:.10s;}
.ab-crow:nth-child(3)  .ab-crow-bar{transition-delay:.15s;}
.ab-crow:nth-child(4)  .ab-crow-bar{transition-delay:.20s;}
.ab-crow:nth-child(5)  .ab-crow-bar{transition-delay:.25s;}
.ab-crow:nth-child(6)  .ab-crow-bar{transition-delay:.30s;}
.ab-crow:nth-child(7)  .ab-crow-bar{transition-delay:.35s;}
.ab-crow:nth-child(8)  .ab-crow-bar{transition-delay:.40s;}
.ab-crow:nth-child(9)  .ab-crow-bar{transition-delay:.45s;}
.ab-crow:nth-child(10) .ab-crow-bar{transition-delay:.50s;}
.ab-crow:nth-child(11) .ab-crow-bar{transition-delay:.55s;}
.ab-crow:nth-child(12) .ab-crow-bar{transition-delay:.60s;}
.ab-crow:nth-child(13) .ab-crow-bar{transition-delay:.65s;}
.ab-crow:nth-child(14) .ab-crow-bar{transition-delay:.70s;}
.ab-crow:nth-child(15) .ab-crow-bar{transition-delay:.75s;}
@media(prefers-reduced-motion:reduce){
  .ab-crow-bar{transition:none;transform:scaleX(1);}
}

.ab-before-box{background:#F0FBF6;border:0.5px solid #A8D5C2;border-left:3px solid #1D9E75;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.875rem 1rem;}
.ab-before-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;color:#085041;margin-bottom:.5rem;display:flex;align-items:center;gap:6px;}
.ab-before-list{font-size:13px;color:#0F6E56;line-height:1.65;padding-left:1.25rem;}
.ab-before-list li{margin-bottom:4px;}

.ab-steps-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px;}
.ab-steps-title i{font-size:15px;color:#1D9E75;}
.ab-steps{display:flex;flex-direction:column;gap:8px;}
.ab-steps .ab-step{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:.875rem 1rem;display:flex;align-items:flex-start;gap:12px;margin-bottom:0;overflow:visible;}
.ab-steps .ab-step-num{width:26px;height:26px;border-radius:50%;background:#1D9E75;color:#fff;font-family:'Sora',sans-serif;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-steps .ab-step-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ab-steps .ab-step-body{display:block;flex:1;min-width:0;border-top:none;padding:0;}
.ab-steps .ab-step-label{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;margin-bottom:3px;}
.ab-steps .ab-step-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.55;}
.ab-steps .ab-step-tip{font-size:12px;color:#1D9E75;margin-top:5px;display:flex;align-items:center;gap:4px;}

.ab-after-box{background:#FFF5F5;border:0.5px solid #F5C6C6;border-left:3px solid #E24B4A;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;padding:.875rem 1rem;}
.ab-after-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;color:#7A1A1A;margin-bottom:.375rem;display:flex;align-items:center;gap:6px;}
.ab-after-desc{font-size:13px;color:#7A1A1A;line-height:1.6;}

.ab-screenshot-banner{background:#0F2218;border-radius:var(--border-radius-lg);padding:.875rem 1rem;display:flex;align-items:flex-start;gap:12px;}
.ab-screenshot-icon{font-size:22px;color:#5DCAA5;flex-shrink:0;margin-top:2px;}
.ab-screenshot-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:600;color:#fff;margin-bottom:3px;}
.ab-screenshot-desc{font-size:13px;color:#9FE1CB;line-height:1.55;}
.ab-mobile-menu-btn{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-text-primary);}

/* =========================================
   23. SHARED — filter bar, link list, misc
========================================= */
.ab-link-list{display:flex;flex-direction:column;gap:0;}
.ab-link-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;font-size:14px;color:var(--color-text-secondary);text-decoration:none;}
.ab-link-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-link-item:hover{color:#1D9E75;}
.ab-link-item i{font-size:14px;color:#1D9E75;flex-shrink:0;}

.ab-tip-list{display:flex;flex-direction:column;gap:6px;}
.ab-tip-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--color-text-secondary);line-height:1.5;}
.ab-tip-item i{font-size:14px;color:#1D9E75;flex-shrink:0;margin-top:1px;}
.ab-tip-item span{flex:1;min-width:0;}

.ab-cat-section{margin-bottom:1.5rem;}

/* =========================================
   24. ABOUT & ADVICE — missing classes
========================================= */
.ab-contact-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.ab-contact-item:last-child{border-bottom:none;padding-bottom:0;}
.ab-contact-icon{width:30px;height:30px;border-radius:8px;background:#E1F5EE;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;color:#0F6E56;}
.ab-contact-label{font-size:14px;font-weight:500;}
.ab-contact-sub{font-size:12px;color:var(--color-text-secondary);}
.ab-see-all{font-size:13px;color:#1D9E75;font-weight:500;cursor:pointer;text-decoration:none;}

/* =========================================
   25. MOBILE ADDITIONS (Max Width: 768px)
========================================= */
@media (max-width: 768px) {
  .ab-bottom-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ab-freq-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ab-who-grid { grid-template-columns: 1fr !important; }
  .ab-platform-bar { padding: 0 1rem; }
  .ab-platform-tab { padding: .625rem .875rem; font-size: 13px; }
  .ab-hero-strip { padding: 1rem; }
  .ab-hero-top { flex-direction: column; }
  .ab-filter-bar { padding: .625rem 1rem; }
}

/* =========================================
   26. DARK MODE
========================================= */

/* Theme toggle button */
.ab-theme-toggle{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:4px 6px;border-radius:var(--border-radius-sm);display:flex;align-items:center;line-height:1;transition:color .15s,background .15s;}
.ab-theme-toggle:hover{background:var(--color-background-secondary);color:var(--color-text-primary);}
.ab-theme-sun{display:none;}
.ab-theme-moon{display:block;}
html[data-theme="dark"] .ab-theme-sun{display:block;}
html[data-theme="dark"] .ab-theme-moon{display:none;}

/* Dark palette — override CSS variables */
html[data-theme="dark"]{
  --color-background-primary:#111827;
  --color-background-secondary:#1F2937;
  --color-text-primary:#F3F4F6;
  --color-text-secondary:#9CA3AF;
  --color-text-tertiary:#6B7280;
  --color-border-tertiary:#374151;
  --color-border-secondary:#4B5563;
  color-scheme:dark;
}
html[data-theme="dark"] body{background:var(--color-background-primary);}

/* Semantic status badges & icon wraps */
html[data-theme="dark"] .ab-badge.urgent,
html[data-theme="dark"] .ab-issue-icon-wrap.urgent,
html[data-theme="dark"] .ab-row-icon.urgent,
html[data-theme="dark"] .ab-platform-pill.high,
html[data-theme="dark"] .ab-card-badge.urgent,
html[data-theme="dark"] .ab-pp-badge.urgent,
html[data-theme="dark"] .ab-term-cat.grooming,
html[data-theme="dark"] .cat-grooming{background:rgba(162,45,45,.3)!important;color:#FCA5A5!important;}

html[data-theme="dark"] .ab-badge.warning,
html[data-theme="dark"] .ab-issue-icon-wrap.warning,
html[data-theme="dark"] .ab-row-icon.warning,
html[data-theme="dark"] .ab-platform-pill.med,
html[data-theme="dark"] .ab-pp-badge.warning,
html[data-theme="dark"] .ab-term-cat.bullying,
html[data-theme="dark"] .cat-bullying{background:rgba(133,79,11,.3)!important;color:#FCD34D!important;}

html[data-theme="dark"] .ab-badge.safe,
html[data-theme="dark"] .ab-issue-icon-wrap.safe,
html[data-theme="dark"] .ab-row-icon.safe,
html[data-theme="dark"] .ab-platform-pill.low,
html[data-theme="dark"] .ab-card-badge.pinned,
html[data-theme="dark"] .ab-pp-badge.safe,
html[data-theme="dark"] .ab-term-cat.tech,
html[data-theme="dark"] .cat-threats{background:rgba(15,110,86,.3)!important;color:#6EE7B7!important;}

html[data-theme="dark"] .ab-term-cat.platform,
html[data-theme="dark"] .cat-platform,
html[data-theme="dark"] .ab-card-badge.intl{background:rgba(26,63,170,.3)!important;color:#93C5FD!important;}

html[data-theme="dark"] .ab-term-cat.slang,
html[data-theme="dark"] .cat-legislation{background:rgba(107,33,168,.3)!important;color:#C4B5FD!important;}

html[data-theme="dark"] .ab-term-cat.gaming,
html[data-theme="dark"] .cat-general{background:rgba(255,255,255,.08)!important;color:var(--color-text-secondary)!important;}

/* Contact card icon backgrounds */
html[data-theme="dark"] .ab-card-icon.gov{background:rgba(79,70,229,.2);}
html[data-theme="dark"] .ab-card-icon.gov i{color:#818CF8;}
html[data-theme="dark"] .ab-card-icon.ngo{background:rgba(29,158,117,.2);}
html[data-theme="dark"] .ab-card-icon.platform{background:rgba(14,165,233,.2);}
html[data-theme="dark"] .ab-card-icon.platform i{color:#38BDF8;}
html[data-theme="dark"] .ab-card-icon.support{background:rgba(239,159,39,.2);}
html[data-theme="dark"] .ab-contact-icon{background:rgba(15,110,86,.2);}

/* Highlighted boxes */
html[data-theme="dark"] .ab-script-box{background:rgba(29,158,117,.1);border-color:rgba(29,158,117,.35);}
html[data-theme="dark"] .ab-warning-box{background:rgba(162,45,45,.12);border-color:rgba(162,45,45,.3);color:#FCA5A5;}
html[data-theme="dark"] .ab-reminder-box{background:rgba(133,79,11,.2);border-color:rgba(245,217,154,.2);}
html[data-theme="dark"] .ab-reminder-title{color:#FCD34D;}
html[data-theme="dark"] .ab-reminder-text{color:#FDE68A;}
html[data-theme="dark"] .ab-term-alert{background:rgba(162,45,45,.15);border-left-color:#E24B4A;}
html[data-theme="dark"] .ab-term-alert-text{color:#FCA5A5;}
html[data-theme="dark"] .ab-term-alert i{color:#F87171;}
html[data-theme="dark"] .ab-term-tip{background:rgba(29,158,117,.12);border-left-color:#1D9E75;}
html[data-theme="dark"] .ab-term-tip-text{color:#6EE7B7;}
html[data-theme="dark"] .ab-term-tip i{color:#34D399;}
html[data-theme="dark"] .ab-cta-box,
html[data-theme="dark"] .ab-advisor-box{background:rgba(15,110,86,.18);border-color:rgba(159,225,203,.2);}
html[data-theme="dark"] .ab-cta-title,
html[data-theme="dark"] .ab-advisor-title{color:#6EE7B7;}
html[data-theme="dark"] .ab-cta-sub,
html[data-theme="dark"] .ab-advisor-sub{color:#A7F3D0;}
html[data-theme="dark"] .ab-advisor-input{background:var(--color-background-primary);border-color:rgba(29,158,117,.4);}

/* Scenario buttons */
html[data-theme="dark"] .ab-scenario-btn.active{background:rgba(162,45,45,.2);border-color:#E24B4A;}

/* Inputs & interactive chips with hardcoded white */
html[data-theme="dark"] .ab-sub-field{background:var(--color-background-secondary);}
html[data-theme="dark"] .ab-zone-chip{background:var(--color-background-secondary);}
html[data-theme="dark"] .ab-app-chip{background:var(--color-background-secondary);}
html[data-theme="dark"] .ab-app-chip.on{background:rgba(15,110,86,.25);}
html[data-theme="dark"] .ab-rule-check{background:var(--color-background-secondary);}
html[data-theme="dark"] .ab-rule:hover,
html[data-theme="dark"] .ab-rule.checked{background:rgba(15,110,86,.2);}

/* Alpha strip */
html[data-theme="dark"] .ab-alpha-btn.has-terms:hover{background:rgba(29,158,117,.2);}

/* Step numbers in about/how-it-works */
html[data-theme="dark"] .ab-steps .ab-step-num{background:rgba(15,110,86,.2);color:#6EE7B7;}

/* Icon wraps */
html[data-theme="dark"] .ab-age-icon-wrap,
html[data-theme="dark"] .ab-trust-icon,
html[data-theme="dark"] .ab-check-icon,
html[data-theme="dark"] .ab-ai-icon{background:rgba(15,110,86,.2);}
html[data-theme="dark"] .ab-age-icon-wrap i,
html[data-theme="dark"] .ab-check-icon i,
html[data-theme="dark"] .ab-trust-icon i,
html[data-theme="dark"] .ab-ai-icon i{color:#34D399;}

/* Hardcoded dark-green text that needs lightening */
html[data-theme="dark"] .ab-agree-section-title{color:var(--color-text-primary);}
html[data-theme="dark"] .ab-letter-char{color:var(--color-text-primary);}
html[data-theme="dark"] .ab-time-input{color:var(--color-text-primary);}

/* Source type badge */
html[data-theme="dark"] .ab-source-type{background:rgba(15,110,86,.2);color:#6EE7B7;}

/* AI suggestion box */
html[data-theme="dark"] .ab-ai-box{background:var(--color-background-primary);}

/* Sign-card watch boxes */
html[data-theme="dark"] .ab-sign-watch{background:var(--color-background-primary);}

/* Select elements */
html[data-theme="dark"] .ab-sort-wrap select{background:var(--color-background-secondary);}

/* Print button (dark in light mode — stay roughly the same) */
html[data-theme="dark"] .ab-print-btn{background:#1F2937;border:0.5px solid #374151;}
