/* ==========================================================================
   Sadaa / Fkra — Truth Social–inspired theme
   Modern, professional, fully responsive, light + dark, RTL/LTR
   ========================================================================== */

/* ===== Design tokens ===== */
:root{
  --bg:#f6f6fb;
  --bg-grad-1:#f8f8fd;
  --bg-grad-2:#eeecf8;
  --surface:#ffffff;
  --surface-2:#f5f4fb;
  --surface-hover:#f2f0fd;
  --ink:#15131f;
  --ink-2:#403c53;
  --muted:#6d6a82;
  --line:#ecebf4;
  --line-strong:#dcd9ea;
  --brand:#4a37c9;
  --brand-2:#7c5cff;
  --accent:#5b45e0;
  --accent-2:#8163ff;
  --accent-strong:#4a34cf;
  --accent-ink:#ffffff;
  --accent-soft:#efeafe;
  --blue:#5b45e0;
  --like:#f4245e;
  --like-soft:#fdeaf1;
  --green:#12b76a;
  --amber:#f79009;
  --radius:16px;
  --radius-sm:11px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(20,19,31,.05);
  --shadow:0 4px 18px rgba(20,19,31,.07);
  --shadow-lg:0 18px 50px rgba(20,19,31,.14);
  --ring:0 0 0 3px rgba(91,69,224,.20);
  --transition:.18s cubic-bezier(.4,0,.2,1);
}

/* ===== Dark theme ===== */
html[data-theme="dark"]{
  --bg:#0a0a12;
  --bg-grad-1:#0c0b16;
  --bg-grad-2:#08080e;
  --surface:#14131f;
  --surface-2:#1b1a29;
  --surface-hover:#211f34;
  --ink:#ecebf5;
  --ink-2:#c4c1d8;
  --muted:#8b88a3;
  --line:#25233a;
  --line-strong:#322f4a;
  --brand:#6d4be6;
  --brand-2:#9d84ff;
  --accent:#7c5cff;
  --accent-2:#9d84ff;
  --accent-strong:#6b4bff;
  --accent-ink:#ffffff;
  --accent-soft:#231d3f;
  --blue:#9d84ff;
  --like:#ff5c8a;
  --like-soft:#2a1622;
  --green:#34d399;
  --amber:#fbbf24;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow:0 4px 18px rgba(0,0,0,.45);
  --shadow-lg:0 20px 54px rgba(0,0,0,.6);
  --ring:0 0 0 3px rgba(124,92,255,.32);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter","Cairo","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI","Noto Kufi Arabic",Tahoma,sans-serif;
  background:linear-gradient(180deg,var(--bg-grad-1),var(--bg-grad-2));
  background-attachment:fixed;
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  min-height:100vh;
}
body.rtl{direction:rtl;font-family:"Cairo","IBM Plex Sans Arabic","Noto Kufi Arabic","Inter",system-ui,Tahoma,sans-serif}
body.ltr{direction:ltr}
/* Arabic reads better without negative tracking; reset it in RTL */
body.rtl h1,body.rtl h2,body.rtl h3,body.rtl h4,
body.rtl .feed-title,body.rtl .profile-name,body.rtl .brand-name,
body.rtl .admin-h,body.rtl .admin-header h1,body.rtl .auth-card h1,
body.rtl .wc-value,body.rtl .reels-title,body.rtl .hero h1,
body.rtl .section-title,body.rtl .feed>.feed-title{letter-spacing:0}
body.rtl{line-height:1.75}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}

/* ===== Top bar ===== */
.topbar{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb,var(--surface) 78%,transparent);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 18px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--ink)}
.brand-mark{
  display:grid;place-items:center;width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;font-weight:900;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent);
}
.brand-name{letter-spacing:-.01em;color:var(--ink)}
.search{flex:1;max-width:400px;position:relative}
.search input{
  width:100%;padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);
  background:var(--surface-2);color:var(--ink);font:inherit;transition:var(--transition);
}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:var(--ring)}
.topnav{display:flex;align-items:center;gap:6px;margin-inline-start:auto;font-weight:600;font-size:15px}
.topnav a{color:var(--ink-2);padding:8px 12px;border-radius:10px;transition:var(--transition)}
.topnav a:hover{color:var(--ink);background:var(--surface-hover)}
.topnav .muted{color:var(--muted)}
.topnav .desktop-only{display:inline-flex}
.wallet-link{color:var(--accent) !important;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.btn-sm{
  background:var(--accent);color:#fff !important;padding:8px 18px;border-radius:var(--radius-pill);font-weight:700;
  box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 34%,transparent);transition:var(--transition);
}
.btn-sm:hover{background:var(--accent-strong)}
.icon-btn{
  border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);
  border-radius:var(--radius-pill);width:38px;height:38px;display:grid;place-items:center;
  font-size:16px;cursor:pointer;transition:var(--transition);flex-shrink:0;
}
.icon-btn:hover{background:var(--surface-hover);border-color:var(--accent)}
.lang-switch{
  border:1px solid var(--line-strong);border-radius:var(--radius-pill);
  min-width:38px;height:38px;padding:0 10px;display:grid;place-items:center;font-size:13px;font-weight:700;
  color:var(--ink);transition:var(--transition);
}
.lang-switch:hover{background:var(--surface-hover);border-color:var(--accent)}

/* ===== Layout ===== */
.container{max-width:640px;margin:22px auto;padding:0 16px}
.col-center{display:flex;flex-direction:column;gap:14px;min-width:0}
.section-title{margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em;padding:14px 18px 6px}

/* ===== Card base ===== */
.composer,.post,.auth-card,.reply-box,.comment,.edit-panel,.user-results,.stat,.table-wrap,.empty,.panel,.profile-cover-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}

/* ===== Unified feed column (Truth Social / X style) ===== */
.feed{
  display:flex;flex-direction:column;gap:0;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.feed>.feed-title{margin:0;padding:16px 18px;font-size:20px;font-weight:800;letter-spacing:-.02em;border-bottom:1px solid var(--line)}
.feed>.composer,
.feed>.post,
.feed>.reply-box,
.feed>.comment{border:0;border-radius:0;box-shadow:none;margin:0;border-bottom:1px solid var(--line);animation:none}
.feed>.post:hover{background:var(--surface-hover);box-shadow:none}
.feed>.post:last-child,
.feed>.comment:last-child{border-bottom:0}
.feed>.hero{border:0;border-radius:0;box-shadow:none;margin:0}
.feed>.empty{border:0;border-radius:0;box-shadow:none;background:transparent}
.feed>.section-title{border-bottom:1px solid var(--line);padding:14px 18px}
.feed>.ad-card{border-radius:0;border-inline:0;border-top:0;margin:0}
.feed>.pager{border-top:1px solid var(--line);padding:14px}

/* ===== Feed tabs (profile) ===== */
.feed-tabs{display:flex;border-bottom:1px solid var(--line)}
.feed-tab{
  flex:1;text-align:center;padding:15px 8px;font:inherit;font-weight:700;font-size:15px;
  color:var(--muted);cursor:pointer;background:none;border:0;position:relative;transition:var(--transition);
}
.feed-tab:hover{color:var(--ink);background:var(--surface-hover)}
.feed-tab.active{color:var(--ink)}
.feed-tab.active::after{
  content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:54px;height:3px;border-radius:3px;background:var(--accent);
}

/* ===== Composer ===== */
.composer{padding:16px 18px;display:flex;gap:14px;transition:var(--transition)}
.composer-form{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}
.composer textarea{width:100%;border:0;resize:vertical;font:inherit;font-size:19px;line-height:1.5;background:transparent;color:var(--ink);outline:none;min-height:54px}
.composer textarea::placeholder{color:var(--muted)}
.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}

/* ===== Buttons ===== */
.btn{
  background:var(--accent);color:#fff;border:0;border-radius:var(--radius-pill);
  padding:10px 22px;font-weight:700;font-size:15px;cursor:pointer;transition:var(--transition);
  box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent);
}
.btn:hover{background:var(--accent-strong);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn-outline{
  background:transparent;border:1.5px solid var(--line-strong);color:var(--ink);border-radius:var(--radius-pill);
  padding:9px 20px;font-weight:700;cursor:pointer;transition:var(--transition);
}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.btn-tiny{
  font-size:12.5px;padding:6px 12px;border-radius:9px;border:1px solid var(--line-strong);
  background:var(--surface);color:var(--ink-2);cursor:pointer;font-weight:600;transition:var(--transition);
}
.btn-tiny:hover{background:var(--surface-hover);border-color:var(--accent)}
.btn-tiny.danger{border-color:color-mix(in srgb,var(--like) 40%,transparent);color:var(--like);background:var(--like-soft)}
.btn-tiny.danger:hover{background:color-mix(in srgb,var(--like) 14%,transparent)}
.btn-tiny.ok{border-color:color-mix(in srgb,var(--green) 45%,transparent);color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}

/* ===== Post card ===== */
.post{padding:16px 18px;transition:background var(--transition)}
.post:hover{box-shadow:var(--shadow)}
.repost-label{font-size:13px;color:var(--muted);margin-bottom:10px;font-weight:600;display:flex;align-items:center;gap:6px}
.post-main{display:flex;gap:12px}
.avatar{
  flex-shrink:0;width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;
  box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 30%,transparent);
}
.avatar.sm{width:38px;height:38px;font-size:15px}
.avatar.lg{width:84px;height:84px;font-size:34px;border-radius:50%}
.avatar.xl{width:96px;height:96px;font-size:40px;border-radius:50%;border:4px solid var(--surface);box-shadow:var(--shadow)}
.post-body{flex:1;min-width:0}
.post-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.name{font-weight:800;color:var(--ink)}
.badge{color:var(--accent);font-size:13px;font-weight:700}
.handle,.muted{color:var(--muted);font-size:14px}
.dot{color:var(--muted)}
.ts{color:var(--muted);font-size:14px;transition:var(--transition)}
.ts:hover{color:var(--accent)}
.post-text{display:block;margin:6px 0 10px;font-size:16px;color:var(--ink);word-wrap:break-word;line-height:1.6}
.post-text a,.comment-text a,.bio a{color:var(--accent);font-weight:600}
.post-text a:hover,.bio a:hover{text-decoration:underline}
.post-image{width:100%;border-radius:16px;border:1px solid var(--line);margin-top:8px;display:block}
.post-actions{display:flex;gap:4px;align-items:center;margin-top:12px}
.act{
  background:none;border:0;cursor:pointer;color:var(--muted);font-size:14px;
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-pill);
  transition:var(--transition);
}
.act:hover{color:var(--accent);background:var(--accent-soft)}
.act.liked{color:var(--like)}
.act.liked:hover{color:var(--like);background:var(--like-soft)}
.act.danger{margin-inline-start:auto}
.act.danger:hover{color:var(--like);background:var(--like-soft)}
.act-form{display:inline}
.act-form.inline{margin-inline-start:auto}

/* ===== Auth ===== */
.auth-card{padding:30px;max-width:420px;margin:30px auto;box-shadow:var(--shadow)}
.auth-card h1{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em}
.auth-sub{color:var(--muted);margin:0 0 18px;font-size:14px}
.form{display:flex;flex-direction:column;gap:4px}
.form label{font-size:13.5px;color:var(--muted);margin-top:12px;font-weight:600}
.form input,.form textarea,.form select{
  padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  font:inherit;background:var(--surface-2);color:var(--ink);transition:var(--transition);
}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--surface)}
.form .btn{margin-top:18px}
.switch{text-align:center;margin-top:18px;color:var(--muted);font-size:14px}
.switch a{color:var(--accent);font-weight:700}
.alert{background:var(--like-soft);border:1px solid color-mix(in srgb,var(--like) 30%,transparent);color:var(--like);padding:11px 14px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:14px}

/* ===== Hero (logged-out) ===== */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--brand),var(--accent) 55%,var(--brand-2));
  color:#fff;border-radius:var(--radius);padding:46px 34px;text-align:center;box-shadow:var(--shadow);
}
.hero::after{content:"";position:absolute;inset:auto -40px -60px auto;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%)}
.hero h1{margin:0 0 10px;font-size:30px;font-weight:800;letter-spacing:-.02em;position:relative}
.hero p{color:rgba(255,255,255,.85);margin:0 0 22px;position:relative}
.hero .btn{position:relative;background:#fff;color:var(--accent)}
.hero .btn:hover{background:#fff;filter:brightness(.97)}

/* ===== Reply / comments ===== */
.reply-box{padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.reply-box textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px;font:inherit;resize:vertical;background:var(--surface-2);color:var(--ink)}
.reply-box textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
.reply-box .btn{align-self:flex-end}
.comment{padding:14px 18px;display:flex;gap:12px}
.comment-body{flex:1;min-width:0}
.comment-text{margin-top:2px;line-height:1.55}

/* ===== Professional profile header ===== */
.profile-cover-card{overflow:hidden}
.profile-cover{
  height:160px;
  background:linear-gradient(120deg,var(--brand),var(--accent) 50%,var(--brand-2));
  position:relative;
}
.profile-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 20% -40%,rgba(255,255,255,.25),transparent)}
.profile-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 20px;margin-top:-46px;position:relative}
.profile-cta{padding-bottom:6px}
.profile-identity{padding:14px 20px 20px}
.profile-name{margin:0;font-size:23px;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:7px;color:var(--ink)}
.profile-identity .handle{font-size:15px;margin-top:2px;color:var(--muted)}
.profile-identity .bio{margin:14px 0;color:var(--ink-2);font-size:15px;line-height:1.65}
.profile-meta{color:var(--muted);font-size:13.5px;margin-top:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.profile-stats{display:flex;gap:22px;margin-top:14px;font-size:14.5px;color:var(--muted);flex-wrap:wrap}
.profile-stats a,.profile-stats span{color:var(--muted);transition:var(--transition)}
.profile-stats a:hover{color:var(--ink)}
.profile-stats strong{color:var(--ink);font-weight:800}
.verified-chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:2px 9px;border-radius:var(--radius-pill)}
.edit-panel{padding:18px 20px}

.user-results{overflow:hidden;padding:0}
.user-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);transition:var(--transition)}
.user-row:last-child{border-bottom:0}
.user-row:hover{background:var(--surface-hover)}

/* ===== Admin dashboard ===== */
.admin{display:flex;flex-direction:column;gap:18px}
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.admin-header h1{font-size:26px;font-weight:800;margin:0;letter-spacing:-.02em}
.admin-header .sub{color:var(--muted);font-size:14px;margin-top:2px}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:0}
.stat{padding:18px 20px;display:flex;align-items:center;gap:14px;transition:var(--transition)}
.stat:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--line-strong)}
.stat-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px;flex-shrink:0;background:var(--accent-soft);color:var(--accent)}
.stat.s-users .stat-ic{background:var(--accent-soft);color:var(--accent)}
.stat.s-posts .stat-ic{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}
.stat.s-comments .stat-ic{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}
.stat.s-likes .stat-ic{background:var(--like-soft);color:var(--like)}
.stat.s-verified .stat-ic{background:var(--accent-soft);color:var(--accent)}
.stat.s-banned .stat-ic{background:var(--like-soft);color:var(--like)}
.stat-text{display:flex;flex-direction:column;line-height:1.25}
.stat strong{font-size:24px;color:var(--ink);font-weight:800}
.stat span{color:var(--muted);font-size:13px}

.panel{padding:0;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.panel-head h2{font-size:17px;font-weight:800;margin:0}
.panel-tools{display:flex;align-items:center;gap:8px}
.mini-search{padding:8px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);font:inherit;font-size:13.5px;width:200px;max-width:46vw}
.mini-search:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}

.tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:5px;box-shadow:var(--shadow-sm);width:fit-content;max-width:100%;overflow:auto}
.tab-btn{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:14px;padding:8px 18px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:var(--transition)}
.tab-btn:hover{color:var(--ink)}
.tab-btn.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}
.tab-panel{display:none}
.tab-panel.active{display:block}

.table-wrap{overflow-x:auto;margin-top:0;border-radius:0;border:0;box-shadow:none;background:transparent}
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:12px 16px;text-align:start;border-bottom:1px solid var(--line);vertical-align:middle}
.table th{background:var(--surface-2);color:var(--muted);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}
.table tbody tr{transition:var(--transition)}
.table tbody tr:hover{background:var(--surface-hover)}
.table tr:last-child td{border-bottom:0}
.row-banned{background:var(--like-soft)}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.row-actions form{display:inline}

.pill{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:var(--radius-pill);line-height:1.7}
.pill.admin{background:var(--accent-soft);color:var(--accent)}
.pill.verified{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}
.pill.banned{background:var(--like-soft);color:var(--like)}

.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);background:var(--surface)}
.pager{text-align:center;padding:8px}
.site-footer{text-align:center;color:var(--muted);padding:28px 16px 96px;font-size:13px}

/* ===== Mobile bottom nav ===== */
.mobilenav{
  display:none;position:fixed;inset:auto 0 0 0;z-index:70;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  backdrop-filter:saturate(160%) blur(12px);
  border-top:1px solid var(--line);
  padding:6px max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));
  justify-content:space-around;box-shadow:0 -6px 24px rgba(20,19,31,.10);
}
.mobilenav a{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  color:var(--muted);font-size:11px;font-weight:700;padding:6px 12px;border-radius:12px;
  transition:var(--transition);
}
.mobilenav a .mi{font-size:20px;line-height:1}
.mobilenav a.active,.mobilenav a:hover{color:var(--accent)}
.mobilenav a.cta .mi{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin-top:-18px;
  box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 42%,transparent);
}

/* ===== Control center (admin shell) ===== */
.admin-shell{display:flex;gap:18px;align-items:flex-start}
.admin-side{width:214px;flex-shrink:0;position:sticky;top:80px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px}
.admin-side-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;padding:10px 12px 6px}
.admin-side nav{display:flex;flex-direction:column;gap:2px}
.admin-side nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font-weight:600;font-size:14px;transition:var(--transition)}
.admin-side nav a:hover{background:var(--surface-hover)}
.admin-side nav a.active{background:var(--accent);color:#fff}
.admin-side nav a.active .ai-ic{filter:none}
.admin-side .ai-ic{font-size:16px;width:22px;text-align:center}
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.admin-h{font-size:24px;font-weight:800;margin:0;letter-spacing:-.02em}
.admin-sub{color:var(--muted);font-size:14px;margin:2px 0 0}
.ok-note{background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 40%,transparent);color:var(--green);padding:10px 14px;border-radius:12px;font-size:14px;font-weight:600}
.field-hint{color:var(--muted);font-size:12.5px;margin-top:-2px}
.switch-row{display:flex;align-items:center;gap:8px;font-weight:600;margin:6px 0}
.switch-row input{width:18px;height:18px;accent-color:var(--accent)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.link{color:var(--accent);font-weight:600}

/* ===== Wallet ===== */
.wallet-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wallet-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;display:flex;flex-direction:column;gap:4px}
.wallet-card.accent{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;border:0}
.wallet-card.accent .wc-label,.wallet-card.accent .wc-sub{color:rgba(255,255,255,.82)}
.wc-label{font-size:13px;color:var(--muted);font-weight:700}
.wc-value{font-size:28px;font-weight:800;letter-spacing:-.02em}
.wc-sub{font-size:12.5px;color:var(--muted)}
.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.inline-form input,.inline-form select{padding:11px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-2);color:var(--ink);font:inherit}
.inline-form input:focus,.inline-form select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}

/* ===== Ads ===== */
.ad-card{position:relative;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:14px 18px;overflow:hidden}
.ad-tag{position:absolute;inset-inline-end:12px;top:12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);padding:2px 8px;border-radius:999px}
.ad-img{width:100%;border-radius:12px;display:block;margin-bottom:8px}
.ad-title{font-weight:700;color:var(--ink)}

/* ===== Animations ===== */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.feed,.auth-card,.profile-cover-card,.stat,.panel,.hero,.user-results,.wallet-card{animation:rise .34s ease both}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

/* ===== Responsive ===== */
@media(max-width:820px){
  .admin-shell{flex-direction:column}
  .admin-side{width:100%;position:static}
  .admin-side nav{flex-direction:row;flex-wrap:wrap}
  .admin-side nav a{flex:1;min-width:120px;justify-content:center}
}
@media(max-width:720px){
  .container{margin:16px auto;padding:0 12px}
  .admin-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .topbar-inner{padding:9px 12px;gap:10px}
  .search{display:none}
  .topnav a.desktop-only{display:none}
  .topnav{gap:4px;margin-inline-start:auto}
  .brand-name{display:none}
  .mobilenav{display:flex}
  .site-footer{padding-bottom:96px}
  .composer textarea{font-size:17px}
  .avatar.xl{width:82px;height:82px;font-size:34px}
  .profile-topline{margin-top:-40px}
  .profile-name{font-size:20px}
  .hero{padding:34px 22px}
  .hero h1{font-size:24px}
  .mini-search{width:150px}
  .grid-2{grid-template-columns:1fr}
  .wallet-cards{grid-template-columns:1fr}
}
@media(max-width:380px){
  .admin-stats{grid-template-columns:1fr}
}

/* ==========================================================================
   v6 — Clean light professional refresh + SVG icon system
   ========================================================================== */
:root{
  --bg:#f6f8fa;
  --bg-grad-1:#f8fafc;
  --bg-grad-2:#f1f4f8;
  --surface:#ffffff;
  --surface-2:#f4f6f9;
  --surface-hover:#eef2f7;
  --ink:#0f1722;
  --ink-2:#3a4657;
  --muted:#64748b;
  --line:#e6eaf0;
  --line-strong:#d4dbe5;
  --brand:#1d4ed8;
  --brand-2:#3b82f6;
  --accent:#2563eb;
  --accent-2:#3b82f6;
  --accent-strong:#1d4ed8;
  --accent-soft:#e8f0fe;
  --blue:#2563eb;
  --like:#e11d55;
  --like-soft:#fdeaf1;
  --radius:14px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(15,23,34,.05);
  --shadow:0 2px 12px rgba(15,23,34,.06);
  --shadow-lg:0 16px 44px rgba(15,23,34,.12);
  --ring:0 0 0 3px rgba(37,99,235,.18);
}
html[data-theme="dark"]{
  --bg:#0b1016;
  --bg-grad-1:#0d131a;
  --bg-grad-2:#0a0f15;
  --surface:#121924;
  --surface-2:#182130;
  --surface-hover:#1d2839;
  --ink:#e8edf4;
  --ink-2:#c0cad8;
  --muted:#8a97a8;
  --line:#22304256;
  --line-strong:#2c3c52;
  --brand:#3b82f6;
  --brand-2:#60a5fa;
  --accent:#3b82f6;
  --accent-2:#60a5fa;
  --accent-strong:#2563eb;
  --accent-soft:#152740;
  --blue:#60a5fa;
  --like:#fb527f;
  --like-soft:#2a1622;
  --ring:0 0 0 3px rgba(59,130,246,.28);
}
body{background:var(--bg)}

/* ---- SVG icons ---- */
.svgi{vertical-align:-.22em;flex:none}
.sn-ic .svgi,.mi .svgi{vertical-align:middle}
.badge .svgi{color:var(--accent);vertical-align:-.28em}
.brand-mark{border-radius:11px;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 32%,transparent)}

/* ---- Post actions ---- */
.post-actions{display:flex;align-items:center;gap:4px;margin-top:10px}
.post-actions .act{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border-radius:var(--radius-pill);
  color:var(--muted);font-size:13px;font-weight:600;
  border:none;background:transparent;cursor:pointer;font-family:inherit;
  transition:var(--transition);line-height:1;
}
.post-actions .act:hover{background:var(--accent-soft);color:var(--accent)}
.post-actions .act.like:hover{background:var(--like-soft);color:var(--like)}
.post-actions .act.liked{color:var(--like)}
.post-actions .act.liked .svgi{fill:var(--like);stroke:var(--like)}
.post-actions .act.rt.reposted,.post-actions .act.rt.reposted .svgi{color:#12b76a;stroke:#12b76a}
.post-actions .act.save.saved{color:var(--accent)}
.post-actions .act.save.saved .svgi{fill:var(--accent);stroke:var(--accent)}
.post-actions .cnt{min-width:10px}

/* ---- Post card polish ---- */
.post{border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.post:hover{box-shadow:var(--shadow)}
.post-menu summary{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:var(--muted)}
.post-menu summary:hover{background:var(--surface-hover);color:var(--ink)}
.menu-item{display:flex;align-items:center;gap:9px;font-weight:500}
.repost-label{display:flex;align-items:center;gap:6px}

/* ---- Composer tools ---- */
.ctool{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:var(--accent);background:transparent;border:none;cursor:pointer;transition:var(--transition)}
.ctool:hover{background:var(--accent-soft)}
.ctool.on{background:var(--accent-soft);color:var(--accent-strong)}

/* ---- Side nav ---- */
.side-nav a{display:flex;align-items:center;gap:13px;font-weight:600;color:var(--ink-2)}
.side-nav a .sn-ic{display:inline-flex;width:24px;justify-content:center;color:var(--muted)}
.side-nav a.active{color:var(--accent-strong)}
.side-nav a.active .sn-ic{color:var(--accent)}
.side-nav a:hover .sn-ic{color:var(--ink)}

/* ---- Top bar icons ---- */
.icon-btn.nav-ic{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2)}
.icon-btn.nav-ic:hover{color:var(--accent)}
.wallet-link{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);font-weight:600}
.compose-top{display:inline-flex;align-items:center;gap:7px}
.mobilenav .mi{display:inline-flex;align-items:center;justify-content:center}

/* ---- Announcement bar ---- */
.announce-bar{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(90deg,var(--accent-strong),var(--accent-2));
  color:#fff;font-size:13.5px;font-weight:600;padding:9px 16px;text-align:center;
}

/* ---- Buttons ---- */
.btn,.btn-sm{box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 26%,transparent)}
.btn:hover,.btn-sm:hover{box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 34%,transparent)}

/* ---- Admin polish ---- */
.admin-stats{gap:12px}
.stat{border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.table td{vertical-align:middle}
.admin-side nav a{font-weight:600}
.panel{border:1px solid var(--line)}

/* ---- Mini bar chart (admin) ---- */
.bars{display:flex;align-items:flex-end;gap:5px;height:120px;padding:8px 2px 0}
.bars .bar{flex:1;min-width:8px;background:linear-gradient(180deg,var(--accent-2),var(--accent));border-radius:5px 5px 2px 2px;position:relative;transition:var(--transition)}
.bars .bar:hover{opacity:.85}
.bars .bar span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted);white-space:nowrap}
.bars-wrap{padding-bottom:22px}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip-tag{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.chip-tag small{color:var(--muted);font-weight:500}


/* ---- Composer refinements ---- */
.composer{border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.composer-bar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:10px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap;
}
.composer-tools{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.composer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.char-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:52px;text-align:end}
.vis-select{border-radius:var(--radius-pill);padding:8px 14px;border:1px solid var(--line-strong);background:var(--surface-2);font-weight:600;font-size:12.5px;color:var(--ink);cursor:pointer}
.btn-draft{padding:9px 16px;font-size:13.5px}
.sched-wrap{
  display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);
}
.sched-wrap .mini-label{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--muted);margin:0}
.sched-input{
  flex:1;max-width:230px;padding:8px 12px;border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;
}
.sched-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
@media(max-width:560px){
  .composer-actions{width:100%;justify-content:flex-end}
  .composer-tools{order:2;width:100%}
}

/* ============================================================
   Truth-style composer + Messages (DM) — v8 additions
   ============================================================ */
.ts-composer{display:block;padding:14px 16px}
.tsc-form{gap:8px}
.tsc-head{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.tsc-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800;font-size:18px;text-decoration:none}
.tsc-vis{position:relative;display:inline-flex}
.tsc-vis::after{content:"▾";position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);font-size:11px}
.tsc-vis .vis-select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:14px;padding-block:7px;padding-inline:14px 28px;border-radius:var(--radius-pill);cursor:pointer}
.tsc-vis .vis-select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
.ts-composer textarea#composerBody{min-height:46px;font-size:20px}
.tsc-bar{border-top:1px solid var(--line);padding-top:10px}
.tsc-tools{gap:2px}
.tsc-actions{display:flex;align-items:center;gap:10px}
.tsc-counter{position:relative;display:inline-flex;align-items:center;gap:6px}
.tsc-counter svg{transform:rotate(-90deg)}
.tsc-counter .ring-bg{fill:none;stroke:var(--line);stroke-width:2.5}
.tsc-counter .ring-fg{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dashoffset:0;transition:stroke-dashoffset .18s ease}
.tsc-counter.warn .ring-fg{stroke:#e0a100}
.tsc-counter.danger .ring-fg{stroke:#e0245e}
.tsc-count-num{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:20px;text-align:end}
.tsc-counter.danger .tsc-count-num{color:#e0245e;font-weight:700}
.tsc-post{border-radius:var(--radius-pill);padding:9px 24px;font-weight:800;font-size:15px}
.tsc-sched{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:10px;margin-top:4px}
.tsc-sched .sched-input{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font:inherit;background:var(--bg);color:var(--ink)}
.tsc-tabs{margin-top:2px}
.tsc-tabs .feed-tab{flex:1;text-align:center;font-weight:700;font-size:15px}
.emoji-panel{display:flex;flex-wrap:wrap;gap:2px;max-height:168px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.emoji-btn{border:none;background:transparent;font-size:21px;line-height:1;padding:5px;border-radius:8px;cursor:pointer}
.emoji-btn:hover{background:var(--surface-hover)}
.media-name{font-size:13px;color:var(--muted)}

/* ===== Messages / DM ===== */
.dm-wrap{display:grid;grid-template-columns:310px 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:calc(100vh - 170px);min-height:480px;background:var(--surface)}
.dm-list{border-inline-end:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.dm-list-head{padding:13px 15px;font-weight:800;font-size:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}
.dm-new{border:none;background:var(--accent-soft);color:var(--accent);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;display:grid;place-items:center;text-decoration:none}
.dm-search-wrap{padding:9px 11px;border-bottom:1px solid var(--line)}
#dmSearch{width:100%;border:1px solid var(--line);border-radius:var(--radius-pill);padding:8px 15px;font:inherit;background:var(--bg);color:var(--ink)}
#dmSearch:focus{outline:none;border-color:var(--accent)}
#dmSearchResults:not(:empty){border-bottom:1px solid var(--line);max-height:220px;overflow:auto}
.dm-user-row{margin:0}
.dm-user-btn{display:flex;align-items:center;gap:9px;width:100%;border:none;background:transparent;padding:9px 13px;cursor:pointer;text-align:start;color:inherit}
.dm-user-btn:hover{background:var(--surface-hover)}
.dm-user-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.dm-user-txt .handle{color:var(--muted);font-size:12px}
.dm-convos{overflow:auto;flex:1}
.dm-convo{display:flex;align-items:center;gap:11px;padding:12px 14px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line)}
.dm-convo:hover{background:var(--surface-hover)}
.dm-convo.active{background:var(--accent-soft)}
.dm-convo .avatar{flex:0 0 auto;width:46px;height:46px;font-size:18px}
.dm-convo-main{min-width:0;flex:1}
.dm-convo-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.dm-convo-name{font-weight:700;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-convo-snip{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-convo.unread .dm-convo-snip{color:var(--ink);font-weight:600}
.dm-unread-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.dm-time{color:var(--muted);font-size:11px;flex:0 0 auto}
.dm-thread{display:flex;flex-direction:column;min-width:0}
.dm-thread-head{display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line)}
.dm-thread-head .avatar{flex:0 0 auto}
.dm-thread-head .dm-name{font-weight:800}
.dm-thread-head .handle{color:var(--muted);font-size:13px;font-weight:400}
.dm-back{display:none;border:none;background:transparent;color:var(--accent);font-size:22px;cursor:pointer;text-decoration:none;padding:0 4px}
.dm-messages{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:7px;background:var(--bg)}
.dm-msg{max-width:76%;padding:9px 13px;border-radius:16px;word-wrap:break-word;overflow-wrap:anywhere;font-size:15px;line-height:1.45}
.dm-msg.theirs{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-inline-start-radius:5px}
.dm-msg.mine{align-self:flex-end;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-bottom-inline-end-radius:5px}
.dm-text{display:block;white-space:pre-wrap}
.dm-meta{display:block;font-size:10px;opacity:.75;margin-top:3px;text-align:end}
.dm-tick{margin-inline-start:3px}
.dm-tick.read{color:#8fe9ff}
.dm-img{max-width:230px;max-height:250px;border-radius:12px;display:block;margin-bottom:2px}
.dm-file{color:inherit;text-decoration:underline;display:inline-block}
.dm-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.dm-composer textarea{flex:1;border:1px solid var(--line);border-radius:20px;padding:10px 15px;resize:none;font:inherit;max-height:120px;background:var(--bg);color:var(--ink);min-height:22px}
.dm-composer textarea:focus{outline:none;border-color:var(--accent)}
.dm-attach{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:none;background:var(--accent-soft);color:var(--accent);cursor:pointer;display:grid;place-items:center}
.dm-send{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center}
.dm-send:disabled{opacity:.5;cursor:default}
.dm-file-name{font-size:12px;color:var(--muted);padding:2px 14px}
.dm-empty,.dm-empty-sm{color:var(--muted);text-align:center;padding:26px 12px}
.dm-placeholder{flex:1;display:grid;place-items:center;color:var(--muted);text-align:center;padding:24px}
@media (max-width:720px){
  .dm-wrap{grid-template-columns:1fr;height:calc(100vh - 140px);border-radius:12px}
  .dm-back{display:inline-block}
  body.dm-has-active .dm-list{display:none}
  body:not(.dm-has-active) .dm-thread{display:none}
  .dm-msg{max-width:86%}
}

/* ===== AI assistant (composer + posts) ===== */
.tsc-ai{margin-inline-start:auto;border:none;background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--accent) 16%,transparent));color:var(--accent);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:16px;display:grid;place-items:center;transition:var(--transition)}
.tsc-ai:hover,.tsc-ai.on{background:var(--accent);color:#fff}
.ai-panel{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface)}
.ai-row{display:flex;gap:8px;align-items:center}
.ai-prompt{flex:1;border:1px solid var(--line);border-radius:var(--radius-pill);padding:8px 14px;font:inherit;background:var(--bg);color:var(--ink)}
.ai-prompt:focus{outline:none;border-color:var(--accent)}
.ai-quick{display:flex;flex-wrap:wrap;gap:6px}
.ai-act.ai-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.ai-status{font-size:13px;color:var(--muted)}
.ai-status.ok{color:var(--green,#1a9e5f)}
.ai-status.err{color:#e0245e}
.ai-post-tools{display:flex;gap:6px;margin:6px 0 2px}
.ai-post-btn{border:1px solid var(--line);background:var(--surface);color:var(--accent);border-radius:var(--radius-pill);font-size:12px;padding:3px 12px;cursor:pointer;transition:var(--transition)}
.ai-post-btn:hover{background:var(--accent-soft);border-color:var(--accent)}
.ai-post-result{margin:6px 0;padding:10px 12px;border-inline-start:3px solid var(--accent);background:var(--accent-soft);border-radius:8px;font-size:14px;line-height:1.55;white-space:pre-wrap}

/* ===== Admin: pages CMS + provider presets ===== */
.pg-table{width:100%;border-collapse:collapse}
.pg-table th,.pg-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:start;font-size:14px}
.pg-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}
.pg-badge.off{background:color-mix(in srgb,#e0245e 12%,transparent);color:#e0245e}
.pg-actions{display:flex;gap:6px}
.ai-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.ai-provider-grid{grid-template-columns:1fr}}
