/* ════════════════════════════════════════════
   MSIGN PORTAL.CSS — Complete Stylesheet
   Upload to: /uploads/msign/portal.css
════════════════════════════════════════════ */

/* ── FONTS (fallback if not in headerinclude) ── */
@import url(https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Rajdhani:wght@400;500;600;700&family=Barlow+Condensed:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&family=Barlow:wght@400;500;600&display=swap);

/* ── CSS VARS ── */
:root {
    --bg:      #0b0b0d;
    --bg-tile: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAALklEQVR4nGMUE5P6+vUzKyvr79+/mb5+/czNzfv7929WVlYmVlZWOJ8JIgbhAwB3fhgrnF/1GAAAAABJRU5ErkJggg==);
    --mid:     #161618;
    --card:    #111113;
    --card2:   #0e0e10;
    --border:  #222226;
    --border2: #1a1a1e;
    --red:     #cc0000;
    --redline: #cc6600;
    --cyan:    #00ccff;
    --green:   #00cc55;
    --orange:  #ff8800;
    --pink:    #ff33ff;
    --yellow:  #ffcc00;
    --white:   #e8e8e8;
    --grey:    #999999;
    --dim:     #555555;
}

/* ── RESET + BASE ── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
body {
    background-color: var(--bg);
    background-image: var(--bg-tile);
    background-repeat: repeat;
    font-family: 'Rajdhani', sans-serif;
    color: var(--white);
    font-size: 13px;
}
a { text-decoration: none; color: var(--cyan); }
a:hover { color: #fff; }

/* ════ HEADER ════ */
@keyframes gradshift { to { background-position: 200% center; } }

.zs-topnav { background: var(--mid); border-bottom: 2px solid var(--orange); }
.zs-topnav-inner {
    max-width: 1100px; margin: 0 auto; width: 100%;
    display: flex; justify-content: space-between; align-items: stretch;
    padding: 0 16px;
}
.zs-topnav-links { display: flex; width: 100%; }
.zs-topnav-links a {
    display: flex; align-items: center; justify-content: center;
    flex: 1; padding: 0 10px; height: 38px;
    font-family: 'Oswald', sans-serif;
    font-size: 13px; font-weight: 600;
    letter-spacing: 0.5px; color: var(--white);
    text-decoration: none; border-right: 1px solid #111;
    transition: background 0.15s; text-transform: uppercase; cursor: pointer;
}
.zs-topnav-links a:hover,
.zs-topnav-links a.active { background: rgba(255,255,255,0.05); }
.zs-topnav-links a.portal  { color: var(--cyan); }
.zs-topnav-links a.forum   { color: #a066ff; }
.zs-topnav-links a.credits { color: var(--orange); }
.zs-topnav-links a.upgrade { color: var(--green); }
.zs-topnav-links a.regs    { color: var(--orange); }
.zs-topnav-links a.faq     { color: var(--pink); }

.zs-subnav { background: var(--bg); border-bottom: 1px solid #1c1c1c; padding: 0; }
.zs-subnav-inner {
    max-width: 1100px; margin: 0 auto; width: 100%;
    padding: 5px 16px; display: flex; gap: 20px;
}
.zs-subnav a { color:var(--grey); font-size:13px; font-weight:600; text-decoration:none; transition:color 0.15s; }
.zs-subnav a:hover { color:var(--cyan); }

/* ── HEADER BAND ── */
.zs-header-band { background: var(--card); border-bottom: 1px solid var(--border); }
.zs-header-band-inner {
    max-width: 1100px; margin: 0 auto; width: 100%;
    display: flex; min-height: 90px;
    padding: 0 16px; box-sizing: border-box;
}
.zs-logo-box {
    background:#111; display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    padding:14px 20px; border-right:1px solid var(--border);
    min-width:160px; flex-shrink:0; text-decoration:none;
}
.zs-logo-text { font-family:'Oswald',sans-serif; font-size:34px; font-weight:900; letter-spacing:6px; color:#fff; line-height:1; }
.zs-logo-sub { background:var(--orange); color:#fff; font-size:8px; font-weight:700; letter-spacing:2px; padding:2px 8px; margin-top:7px; text-transform:uppercase; }

/* Staff Picks in header band */
.zs-staff-picks-bar {
    display:flex; flex-direction:column; justify-content:center;
    flex:1; border-right:1px solid var(--border); overflow:hidden;
    background: linear-gradient(135deg, rgba(255,204,0,0.03) 0%, transparent 60%);
}
.zs-staff-pick-label {
    display:flex; flex-direction:row; align-items:center;
    padding:6px 12px 4px; gap:6px;
    border-bottom:1px solid var(--border2); flex-shrink:0;
    background:rgba(255,204,0,0.05);
}
.zs-staff-pick-label i { color:var(--yellow); font-size:10px; }
.zs-staff-pick-label span { font-family:'Oswald',sans-serif; font-size:9px; font-weight:700; color:var(--yellow); letter-spacing:2px; text-transform:uppercase; white-space:nowrap; }
.zs-hdr-pick-card {
    display:flex; align-items:center; gap:9px; padding:7px 12px;
    border-bottom:1px solid var(--border2); cursor:pointer; transition:background 0.15s; min-width:0;
}
.zs-hdr-pick-card:last-child { border-bottom:none; }
.zs-hdr-pick-card:hover { background:rgba(255,204,0,0.05); }
.zs-hdr-pick-ico {
    width:32px; height:32px; border-radius:7px; flex-shrink:0; overflow:hidden;
    background:#111; border:1px solid rgba(255,255,255,0.07); position:relative;
}
.zs-hdr-pick-ico img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.zs-hdr-pick-info { flex:1; min-width:0; }
.zs-hdr-pick-name { font-family:'Oswald',sans-serif; font-size:12px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.2; }
.zs-hdr-pick-sub { font-size:9px; color:var(--dim); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zs-hdr-pick-badge { font-size:7px; font-family:'Oswald',sans-serif; font-weight:700; letter-spacing:0.5px; background:rgba(255,204,0,0.15); color:var(--yellow); border:1px solid rgba(255,204,0,0.3); padding:1px 5px; border-radius:2px; flex-shrink:0; white-space:nowrap; }

/* User panel */
.zs-user-panel {
    width:220px; flex-shrink:0; padding:12px 0 12px 16px;
    display:flex; flex-direction:column; justify-content:center; gap:6px;
}
.zs-user-top { display:flex; align-items:center; gap:10px; }
.zs-user-av {
    width:40px; height:40px; border-radius:50%;
    background:var(--card2); border:2px solid var(--cyan);
    display:flex; align-items:center; justify-content:center;
    font-family:'Oswald',sans-serif; font-size:15px; font-weight:700; color:var(--cyan);
    flex-shrink:0;
}
.zs-user-name { font-family:'Oswald',sans-serif; font-size:16px; font-weight:700; color:#fff; }
.zs-user-tier { font-size:10px; color:var(--orange); letter-spacing:1px; text-transform:uppercase; }
.zs-user-quota { display:flex; gap:4px; align-items:center; font-size:11px; color:var(--dim); }
.zs-quota-bar { flex:1; height:4px; background:var(--border); border-radius:2px; overflow:hidden; }
.zs-quota-fill { height:100%; background:var(--cyan); border-radius:2px; width:20%; }
.zs-quota-fill.warn { background:var(--orange); }
.zs-quota-fill.full { background:var(--orange); }
.zs-user-actions { display:flex; gap:6px; margin-top:2px; }
.zs-user-actions a {
    flex:1; text-align:center; padding:4px 0;
    font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
    letter-spacing:0.5px; text-transform:uppercase; border:1px solid var(--border);
    color:var(--grey); text-decoration:none; transition:all 0.15s;
}
.zs-user-actions a:hover { border-color:var(--cyan); color:var(--cyan); }
.zs-user-actions a.primary { background:var(--cyan); color:#000; border-color:var(--cyan); }
.zs-user-actions a.primary:hover { background:#00e5ff; }

/* Desktop panel slot */
#zs-desk-panel-slot { display:flex; align-items:stretch; }
#desk-user-panel,
#desk-guest-panel { display:none; }
#zs-desk-panel-slot #desk-user-panel,
#zs-desk-panel-slot #desk-guest-panel { display:flex; }

/* ════ PAGE SHELL ════ */
.wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px; }

.page-wrap {
    max-width: 1100px; margin: 0 auto; padding: 20px 16px 40px;
    display: none; flex-direction: column; gap: 16px;
}
.page-wrap.active { display: flex; }

/* ════ SECTION CARD ════ */
.sec-card { background:var(--card); border:1px solid var(--border); overflow:hidden; }
.sec-head {
    background: linear-gradient(90deg,#1a1a1e,#111113);
    border-left:3px solid var(--cyan); padding:7px 12px;
    display:flex; align-items:center; justify-content:space-between;
    border-bottom:1px solid var(--border);
}
.sec-head.orange { border-left-color:var(--orange); }
.sec-head.red    { border-left-color:var(--orange); }
.sec-head.green  { border-left-color:var(--green); }
.sec-head.pink   { border-left-color:var(--pink); }
.sec-head.purple { border-left-color:#a066ff; }
.sec-head-title {
    font-family:'Oswald',sans-serif; font-size:13px; font-weight:600;
    letter-spacing:1px; color:#fff; text-transform:uppercase;
    display:flex; align-items:center; gap:8px;
}
.sec-head-title i { color:var(--cyan); font-size:11px; }
.sec-head.orange .sec-head-title i { color:var(--orange); }
.sec-head.red    .sec-head-title i { color:var(--red); }
.sec-head.green  .sec-head-title i { color:var(--green); }
.sec-head.pink   .sec-head-title i { color:var(--pink); }
.sec-head.purple .sec-head-title i { color:#a066ff; }
.sec-head-meta { font-size:11px; color:var(--dim); font-family:'Oswald',sans-serif; letter-spacing:0.5px; }

/* ════ LAYOUT GRIDS ════ */
.two-col      { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.three-col    { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.portal-layout { display:grid; grid-template-columns:1fr 300px; gap:16px; }
.forum-layout  { display:grid; grid-template-columns:1fr 260px; gap:16px; }
.portal-sidebar { display:flex; flex-direction:column; gap:16px; }

/* ════ PORTAL PAGE ════ */

/* News rows */
.news-row { display:flex; gap:0; border-bottom:1px solid var(--border2); transition:background .15s; cursor:pointer; }
.news-row:last-child { border-bottom:none; }
.news-row:hover { background:rgba(255,255,255,.015); }
.news-thumb { width:80px; flex-shrink:0; background:var(--card2); border-right:1px solid var(--border2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:14px 8px; position:relative; }
.news-badge { position:absolute; top:6px; left:6px; font-size:8px; font-weight:700; letter-spacing:.5px; padding:2px 5px; text-transform:uppercase; }
.news-badge.update    { background:var(--orange); color:#000; }
.news-badge.guide     { background:#5588ff; color:#fff; }
.news-badge.new-badge { background:var(--green); color:#000; }
.news-thumb-icon { font-size:28px; color:var(--dim); }
.news-body { flex:1; padding:12px 16px; min-width:0; }
.news-title { font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; color:#fff; margin-bottom:5px; line-height:1.3; transition:color .15s; }
.news-title:hover { color:var(--cyan); }
.news-desc { font-size:12px; color:var(--dim); line-height:1.6; margin-bottom:8px; }
.news-meta { display:flex; gap:14px; font-size:11px; color:var(--dim); flex-wrap:wrap; }
.news-meta span { display:flex; align-items:center; gap:4px; }
.news-meta i { font-size:10px; }

/* App filter tabs */
.app-filter-tabs { display:flex; gap:6px; flex-wrap:nowrap; padding:10px 16px; justify-content:center; border-bottom:1px solid var(--border2); overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; }
.app-filter-tabs::-webkit-scrollbar { display:none; }
.app-tab { display:inline-flex; align-items:center; gap:5px; padding:5px 11px; font-family:'Barlow Condensed',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--grey); cursor:pointer; border:1px solid var(--border); border-radius:5px; background:transparent; transition:all .15s; white-space:nowrap; flex-shrink:0; user-select:none; }
.app-tab i { font-size:10px; }
.app-tab:hover { color:var(--white); border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.04); }
.app-tab.active { color:#000; background:var(--orange); border-color:var(--orange); box-shadow:0 0 10px rgba(255,136,0,.3); }

/* Staff picks banner (inside Latest Apps card) */
.staff-picks-wrap { margin:0; border-bottom:1px solid var(--border2); }
.staff-picks-label { padding:6px 14px 5px; display:flex; align-items:center; gap:7px; background:rgba(255,204,0,.04); border-bottom:1px solid var(--border2); }
.staff-picks-label i { color:var(--yellow); font-size:10px; }
.staff-picks-label span { font-family:'Oswald',sans-serif; font-size:9px; font-weight:700; color:var(--yellow); letter-spacing:2px; text-transform:uppercase; }
.staff-picks-label em { font-style:normal; font-size:10px; color:var(--dim); margin-left:2px; }

/* App grid v2 */
.app-grid2 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--border2); }
.app-card2 { background:var(--card); padding:14px 16px; display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:12px; cursor:pointer; transition:background .15s; }
.app-card2:hover { background:rgba(0,204,255,.03); }
.app-card2-icon { width:54px; height:54px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; background:var(--card2); border:1px solid var(--border); }
.app-card2-icon img { width:32px; height:32px; object-fit:contain; }
.app-card2-info { min-width:0; }
.app-card2-name { font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.app-card2-bundle { font-size:10px; color:var(--cyan); margin-top:2px; font-family:'Courier New',monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.app-card2-ver { font-size:10px; color:var(--dim); margin-top:3px; }
.app-card2-dl { font-size:11px; color:var(--green); flex-shrink:0; display:flex; align-items:center; gap:4px; font-weight:600; white-space:nowrap; }
.app-card2-dl i { font-size:10px; }

/* Forum stats bar */
.fstats-bar { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; border-top:1px solid var(--border2); }
.fstats-cell { padding:14px 18px; border-right:1px solid var(--border2); display:flex; flex-direction:column; gap:4px; }
.fstats-cell:last-child { border-right:none; }
.fstats-label { font-size:10px; letter-spacing:1px; text-transform:uppercase; color:var(--dim); font-family:'Oswald',sans-serif; font-weight:600; }
.fstats-val { font-family:'Oswald',sans-serif; font-size:26px; font-weight:700; line-height:1; }
.fstats-val.cyan  { color:var(--cyan); }
.fstats-val.green { color:var(--green); }

/* Latest posts grid */
.lp-grid { display:grid; grid-template-columns:1fr 1fr; }
.lp-col { padding:12px 14px; display:flex; flex-direction:column; gap:10px; }
.lp-col:first-child { border-right:1px solid var(--border2); }
.lp-row { display:flex; align-items:flex-start; gap:8px; }
.lp-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; margin-top:4px; }
.lp-info { flex:1; min-width:0; }
.lp-title { font-size:12px; font-weight:600; color:var(--grey); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .15s; }
.lp-title:hover { color:var(--cyan); }
.lp-meta { font-size:10px; color:var(--dim); margin-top:2px; display:flex; align-items:center; gap:4px; }

/* Trending */
.trending-row { display:flex; align-items:center; gap:10px; padding:9px 12px; border-bottom:1px solid var(--border2); font-size:12px; cursor:pointer; transition:background .15s; }
.trending-row:last-child { border-bottom:none; }
.trending-row:hover { background:rgba(255,255,255,.02); }
.trending-rank { font-family:'Oswald',sans-serif; font-size:20px; font-weight:700; color:var(--border); width:22px; flex-shrink:0; text-align:center; }
.trending-row:first-child .trending-rank { color:var(--yellow); }
.trending-row:nth-child(2) .trending-rank { color:var(--grey); }
.trending-row:nth-child(3) .trending-rank { color:var(--orange); }
.trending-icon { width:34px; height:34px; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.trending-icon img { width:22px; height:22px; object-fit:contain; }
.trending-info { flex:1; }
.trending-name { font-weight:700; color:#fff; }
.trending-signs { font-size:11px; color:var(--dim); margin-top:1px; }

/* Recent activity */
.activity-row { display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid var(--border2); font-size:12px; }
.activity-row:last-child { border-bottom:none; }
.activity-icon { width:26px; height:26px; border-radius:50%; background:var(--card2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:10px; flex-shrink:0; }
.activity-icon.sign { border-color:rgba(0,204,255,.3); color:var(--cyan); }
.activity-icon.user { border-color:rgba(0,204,85,.3); color:var(--green); }
.activity-icon.warn { border-color:rgba(255,136,0,.3); color:var(--orange); }
.activity-icon.up   { border-color:rgba(255,136,0,.3); color:var(--orange); }
.activity-text { flex:1; color:var(--grey); line-height:1.4; }
.activity-text strong { color:var(--white); }
.activity-time { color:var(--dim); font-size:10px; flex-shrink:0; }

/* Online users */
.online-list { display:flex; flex-wrap:wrap; gap:4px; padding:12px; }
.online-tag { display:flex; align-items:center; gap:5px; padding:3px 8px; background:var(--card2); border:1px solid var(--border); font-size:11px; color:var(--grey); border-radius:2px; cursor:default; transition:all .15s; }
.online-tag:hover { border-color:var(--cyan); color:var(--cyan); }
.online-dot { width:5px; height:5px; border-radius:50%; background:var(--green); flex-shrink:0; }
.online-dot.away { background:var(--orange); }
.online-dot.busy { background:var(--orange); }

/* ════ FORUM / BOARD STYLES ════ */
.board-cat-header { background:var(--card2); padding:6px 14px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--border2); }
.board-cat-name { font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--dim); }
.board-row { display:flex; align-items:center; padding:10px 14px; border-bottom:1px solid var(--border2); gap:12px; cursor:pointer; transition:background .15s; }
.board-row:last-child { border-bottom:none; }
.board-row:hover { background:rgba(255,255,255,.015); }
.board-icon { width:38px; height:38px; border-radius:4px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.board-icon.purple { background:rgba(160,102,255,.1); color:#a066ff; border:1px solid rgba(160,102,255,.2); }
.board-icon.cyan   { background:rgba(0,204,255,.08); color:var(--cyan); border:1px solid rgba(0,204,255,.15); }
.board-icon.orange { background:rgba(255,136,0,.08); color:var(--orange); border:1px solid rgba(255,136,0,.15); }
.board-icon.red    { background:rgba(204,0,0,.08); color:var(--red); border:1px solid rgba(204,0,0,.15); }
.board-icon.green  { background:rgba(0,204,85,.08); color:var(--green); border:1px solid rgba(0,204,85,.15); }
.board-icon.yellow { background:rgba(255,204,0,.08); color:var(--yellow); border:1px solid rgba(255,204,0,.15); }
.board-info { flex:1; min-width:0; }
.board-name { font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; color:#fff; }
.board-desc { font-size:11px; color:var(--dim); margin-top:2px; }
.board-stats { display:flex; gap:18px; flex-shrink:0; text-align:center; }
.board-stat-num { font-family:'Oswald',sans-serif; font-size:16px; font-weight:600; color:var(--grey); line-height:1; }
.board-stat-lbl { font-size:10px; color:var(--dim); letter-spacing:.5px; text-transform:uppercase; }
.board-last { width:170px; flex-shrink:0; font-size:11px; color:var(--dim); }
.board-last-title { color:var(--grey); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.board-last-user  { color:var(--dim); margin-top:2px; }
.board-new-dot { width:8px; height:8px; border-radius:50%; background:var(--cyan); flex-shrink:0; box-shadow:0 0 4px var(--cyan); }
.board-last-av { width:20px; height:20px; border-radius:50%; background:var(--card2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:8px; font-weight:700; flex-shrink:0; }
.board-last-meta { display:flex; align-items:center; gap:5px; margin-top:3px; font-size:11px; }
.board-unread { width:8px; height:8px; border-radius:50%; background:var(--cyan); flex-shrink:0; box-shadow:0 0 4px var(--cyan); }
.board-read { width:8px; height:8px; border-radius:50%; background:var(--border); flex-shrink:0; }
.bs-num { font-family:'Oswald',sans-serif; font-size:16px; font-weight:600; color:var(--grey); line-height:1; }
.bs-lbl { font-size:10px; color:var(--dim); letter-spacing:.5px; text-transform:uppercase; }

/* Thread rows */
.thread-row { display:flex; align-items:center; padding:9px 14px; border-bottom:1px solid var(--border2); gap:10px; cursor:pointer; transition:background .15s; }
.thread-row:last-child { border-bottom:none; }
.thread-row:hover { background:rgba(255,255,255,.015); }
.thread-icon { width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:12px; flex-shrink:0; color:var(--dim); }
.thread-icon.new    { color:var(--cyan); }
.thread-icon.hot    { color:var(--orange); }
.thread-icon.pinned { color:var(--yellow); }
.thread-icon.locked { color:var(--dim); }
.thread-info { flex:1; min-width:0; }
.thread-title { font-size:13px; font-weight:600; color:var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.thread-title.read { color:var(--grey); font-weight:400; }
.thread-sub { font-size:11px; color:var(--dim); margin-top:2px; }
.thread-badge { font-size:9px; font-weight:700; padding:1px 5px; letter-spacing:.5px; text-transform:uppercase; border-radius:2px; flex-shrink:0; margin-left:6px; }
.tb-pin  { background:rgba(255,204,0,.12); color:var(--yellow); border:1px solid rgba(255,204,0,.25); }
.tb-hot  { background:rgba(255,136,0,.12); color:var(--orange); border:1px solid rgba(255,136,0,.25); }
.tb-new  { background:rgba(0,204,255,.1); color:var(--cyan); border:1px solid rgba(0,204,255,.2); }
.thread-stats { display:flex; gap:14px; flex-shrink:0; text-align:center; }
.ts-num { font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; color:var(--dim); line-height:1; }
.ts-lbl { font-size:10px; color:var(--dim); text-transform:uppercase; letter-spacing:.5px; }
.thread-last { width:140px; flex-shrink:0; font-size:11px; }
.thread-last-user { color:var(--grey); font-weight:600; }
.thread-last-time { color:var(--dim); margin-top:2px; }

/* Forum sidebar */
.forum-sidebar { display:flex; flex-direction:column; gap:16px; }
.fstat-row { display:flex; justify-content:space-between; align-items:center; padding:7px 12px; border-bottom:1px solid var(--border2); font-size:12px; }
.fstat-row:last-child { border-bottom:none; }
.fstat-label { color:var(--dim); }
.fstat-val   { font-weight:700; color:var(--white); }
.whos-online-list { padding:10px 12px; display:flex; flex-direction:column; gap:5px; }
.whos-row { display:flex; align-items:center; gap:7px; font-size:12px; }
.whos-av { width:22px; height:22px; border-radius:50%; background:var(--card2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:var(--dim); flex-shrink:0; }
.whos-name  { color:var(--grey); flex:1; }
.whos-where { color:var(--dim); font-size:10px; }

/* Breadcrumb */
.breadcrumb { display:flex; align-items:center; gap:8px; padding:10px 0; font-size:12px; color:var(--dim); flex-wrap:wrap; }
.breadcrumb a { color:var(--dim); transition:color .15s; }
.breadcrumb a:hover { color:var(--cyan); }
.breadcrumb i { font-size:9px; }

/* Animations */
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ════ DESKTOP VISIBILITY ════ */
.zs-desktop-only { display:block; }
.zs-mobile-header { display:none; }

/* ════ RESPONSIVE ════ */
@media (max-width:768px) {
  .zs-desktop-only { display:none !important; }
  .zs-mobile-header { display:block; background:var(--mid); border-bottom:2px solid var(--orange); }

  .zs-mob-topbar { display:flex; align-items:stretch; height:46px; background:var(--mid); border-bottom:2px solid var(--orange); overflow:hidden; }
  .zs-mob-logo { font-family:'Oswald',sans-serif; font-size:20px; font-weight:900; letter-spacing:3px; color:#fff; text-decoration:none; display:flex; align-items:center; padding:0 12px; flex-shrink:0; border-right:1px solid #111; }
  .zs-mob-mainnav { display:flex; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; flex:1; min-width:0; }
  .zs-mob-mainnav::-webkit-scrollbar { display:none; }
  .zs-mob-mainnav a { display:inline-flex; align-items:center; justify-content:center; padding:0 12px; height:46px; font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; white-space:nowrap; flex-shrink:0; text-decoration:none; border-right:1px solid #111; transition:background .15s; }
  .zs-mob-mainnav a:hover,.zs-mob-mainnav a.active { background:rgba(255,255,255,.05); }
  .zs-mob-mainnav a.portal  { color:var(--cyan); }
  .zs-mob-mainnav a.forum   { color:#a066ff; }
  .zs-mob-mainnav a.credits { color:var(--orange); }
  .zs-mob-mainnav a.upgrade { color:var(--green); }
  .zs-mob-mainnav a.regs    { color:var(--orange); }
  .zs-mob-mainnav a.faq     { color:var(--pink); }
  .zs-mob-topbar-right { display:flex; align-items:center; flex-shrink:0; border-left:1px solid #111; }
  .zs-mob-search-icon { background:transparent; border:none; color:#fff; font-size:16px; cursor:pointer; padding:0 12px; height:46px; border-right:1px solid #111; }
  .zs-mob-hamburger { background:transparent; border:none; color:#fff; font-size:18px; cursor:pointer; padding:0 12px; height:46px; line-height:1; }
  .zs-mob-search { display:none; border-bottom:1px solid var(--border2); }
  .zs-mob-search.open { display:flex; }
  .zs-mob-search input { flex:1; background:var(--bg); border:none; color:#fff; padding:0 14px; font-size:13px; height:40px; outline:none; font-family:inherit; }
  .zs-mob-search input::placeholder { color:#555; }
  .zs-mob-search button { background:var(--orange); border:none; color:#fff; padding:0 16px; height:40px; cursor:pointer; font-size:15px; flex-shrink:0; }
  .zs-mob-subnav { display:flex; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:0 4px; border-bottom:1px solid var(--border2); background:var(--bg); }
  .zs-mob-subnav::-webkit-scrollbar { display:none; }
  .zs-mob-subnav a { display:inline-flex; align-items:center; gap:4px; padding:8px 10px; font-size:12px; font-weight:600; white-space:nowrap; flex-shrink:0; color:var(--grey); text-decoration:none; transition:color .15s; font-family:inherit; }
  .zs-mob-subnav a:hover { color:#fff; }
  .zs-mob-userband { display:flex; align-items:center; padding:10px 14px 6px; gap:10px; background:var(--mid); }
  .zs-mob-av { width:42px; height:42px; border-radius:50%; flex-shrink:0; border:2px solid var(--orange); display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif; font-size:15px; font-weight:700; color:var(--orange); cursor:pointer; background:rgba(255,136,0,.1); }
  .zs-mob-userinfo { display:flex; flex-direction:column; flex-shrink:0; }
  .zs-mob-username { font-family:'Oswald',sans-serif; font-size:17px; font-weight:700; color:#fff; cursor:pointer; line-height:1.15; }
  .zs-mob-userrole { font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
  .zs-mob-quota-right { margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
  .zs-mob-quota-labels { display:flex; align-items:center; justify-content:space-between; width:130px; font-size:10px; color:var(--grey); }
  .zs-mob-quota-bar { width:130px; height:3px; background:var(--border); border-radius:2px; overflow:hidden; }
  .zs-mob-quota-fill { height:100%; background:var(--cyan); border-radius:2px; }
  .zs-mob-actions { display:flex; width:100%; border-top:1px solid var(--border2); overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; background:var(--mid); }
  .zs-mob-actions::-webkit-scrollbar { display:none; }
  .zs-mob-btn { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; gap:5px; padding:10px 8px; white-space:nowrap; font-family:'Oswald',sans-serif; font-size:11px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; color:var(--grey); text-decoration:none; border-right:1px solid var(--border2); background:transparent; transition:all .15s; }
  .zs-mob-btn:last-child { border-right:none; }
  .zs-mob-btn:hover { color:#fff; background:rgba(255,255,255,.04); }
  .zs-mob-btn-primary { background:rgba(0,204,255,.12); color:var(--cyan) !important; border-color:rgba(0,204,255,.25) !important; font-weight:700; }
  .zs-mob-btn-primary:hover { background:rgba(0,204,255,.2); }
  .zs-mob-btn-orange { color:var(--orange) !important; }
  .zs-mob-btn-red    { color:#ff5555 !important; }
  .zs-mob-btn-icon   { flex:0 0 auto; padding:10px 14px; position:relative; }
  .zs-mob-badge-inline { position:absolute; top:5px; right:3px; background:var(--orange); color:#000; font-size:8px; font-weight:800; padding:1px 4px; border-radius:8px; line-height:1.3; font-family:'Oswald',sans-serif; }

  /* Layout */
  .two-col,.three-col,.portal-layout,.forum-layout { grid-template-columns:1fr; }
  .app-grid2 { grid-template-columns:1fr; }
  .app-card2 { grid-template-columns:44px 1fr auto; gap:10px; }
  .app-card2-icon { width:44px; height:44px; border-radius:10px; }
  .news-thumb { width:60px; }
  .news-body { padding:10px 12px; }
  .news-title { font-size:13px; }
  .news-desc { display:none; }
  .fstats-bar { grid-template-columns:1fr 1fr; }
  .fstats-val { font-size:20px; }
  .fstats-cell { padding:10px 12px; }
  .lp-grid { grid-template-columns:1fr; }
  .lp-col:first-child { border-right:none; border-bottom:1px solid var(--border2); }
  .app-filter-tabs { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; padding:8px 10px; }
  .app-tab { flex-shrink:0; min-height:36px; }
  .page-wrap { padding:10px 10px 40px; gap:10px; }
}

@media (max-width:480px) {
  .zs-user-actions a { font-size:9px; }
  .zs-subnav a { padding:8px 11px; font-size:11px; }
  .app-card2 { grid-template-columns:40px 1fr; }
  .app-card2-dl { display:none; }
  .fstats-bar { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════
   THREAD LIST — forumdisplay
═══════════════════════════════════════ */
.thread-layout { display:grid; grid-template-columns:1fr 240px; gap:16px; }

.breadcrumb { display:flex; align-items:center; gap:6px; font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:0.5px; text-transform:uppercase; color:var(--dim); }
.breadcrumb a { color:var(--dim); text-decoration:none; }
.breadcrumb a:hover { color:var(--cyan); }

.thread-controls {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 14px; background:var(--card2); border-bottom:1px solid var(--border2);
}
.thread-controls-left { display:flex; gap:6px; }
.tc-btn {
  padding:4px 12px; background:transparent; border:1px solid var(--border);
  color:var(--grey); font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:0.5px; text-transform:uppercase; cursor:pointer; transition:all 0.15s;
  text-decoration:none; display:inline-flex; align-items:center; gap:5px;
}
.tc-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.tc-btn.primary { background:var(--orange); border-color:var(--orange); color:#000; }
.tc-btn.primary:hover { background:#ff9900; color:#000; }

/* Thread rows */
.thread-row {
  display:flex; align-items:center; padding:9px 14px;
  border-bottom:1px solid var(--border2); gap:10px;
  cursor:pointer; transition:background 0.15s;
}
.thread-row:last-child { border-bottom:none; }
.thread-row:hover { background:rgba(255,255,255,0.015); }

/* Section labels (Pinned / All Threads) */
.thread-section-label {
  padding:4px 14px; border-bottom:1px solid var(--border2);
  font-size:9px; font-family:'Oswald',sans-serif; letter-spacing:1px;
  text-transform:uppercase; color:var(--dim);
}
.thread-section-label.pinned { background:rgba(255,204,0,0.03); }
.thread-section-label.all    { background:rgba(0,204,255,0.02); border-top:1px solid var(--border2); }

/* Thread type icon */
.t-type {
  width:28px; height:28px; display:flex; align-items:center;
  justify-content:center; font-size:12px; flex-shrink:0;
}
.t-type.new    { color:var(--cyan); }
.t-type.hot    { color:var(--orange); }
.t-type.pinned { color:var(--yellow); }
.t-type.locked { color:var(--dim); }
.t-type.normal { color:var(--dim); }
.t-type.read   { color:var(--dim); opacity:0.5; }

/* Thread info */
.t-info { flex:1; min-width:0; }
.t-title {
  font-size:13px; font-weight:600; color:var(--white);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.t-title.read { color:var(--grey); font-weight:400; }
.t-sub { font-size:11px; color:var(--dim); margin-top:2px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.t-sub a { color:var(--dim); text-decoration:none; }
.t-sub a:hover { color:var(--cyan); }

/* Badges */
.t-badge {
  font-size:8px; font-weight:700; padding:1px 5px; letter-spacing:0.5px;
  text-transform:uppercase; border-radius:2px; flex-shrink:0;
}
.tb-pin  { background:rgba(255,204,0,0.12); color:var(--yellow); border:1px solid rgba(255,204,0,0.25); }
.tb-hot  { background:rgba(255,136,0,0.12); color:var(--orange); border:1px solid rgba(255,136,0,0.25); }
.tb-new  { background:rgba(0,204,255,0.10); color:var(--cyan);   border:1px solid rgba(0,204,255,0.20); }
.tb-lock { background:rgba(80,80,80,0.2);   color:var(--dim);    border:1px solid rgba(80,80,80,0.3); }

/* Stats */
.t-stats { display:flex; gap:16px; flex-shrink:0; text-align:center; }
.ts-num { font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; color:var(--dim); line-height:1; }
.ts-lbl { font-size:9px; color:var(--dim); text-transform:uppercase; letter-spacing:0.5px; }

/* Last post */
.t-last { width:145px; flex-shrink:0; font-size:11px; color:var(--grey); }
.t-last-user { font-weight:600; display:flex; align-items:center; gap:5px; }
.t-last-time { color:var(--dim); margin-top:2px; }
.t-av {
  width:18px; height:18px; border-radius:50%; background:var(--card2);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:7px; font-weight:700; flex-shrink:0; border:1px solid var(--border);
}

/* Pagination */
.pagination {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px; border-top:1px solid var(--border2); flex-wrap:wrap; gap:8px;
}
.pg-info { font-size:11px; color:var(--dim); }
.pg-pages { display:flex; gap:3px; flex-wrap:wrap; }
.pg-btn, .pagination a, .pagination span {
  width:26px; height:26px; background:var(--card2); border:1px solid var(--border);
  color:var(--grey); font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; transition:all 0.15s;
}
.pagination a:hover { border-color:var(--cyan); color:var(--cyan); }
.pagination .active, .pagination strong { background:var(--orange); border-color:var(--orange); color:#000; font-weight:700; }

/* Hot threads sidebar */
.hot-thread-row {
  padding:8px 12px; border-bottom:1px solid var(--border2);
  font-size:12px; color:var(--grey);
}
.hot-thread-row:last-child { border-bottom:none; }
.hot-thread-row a { color:var(--grey); text-decoration:none; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hot-thread-row a:hover { color:var(--cyan); }
.hot-thread-meta { font-size:10px; color:var(--dim); margin-top:2px; }

@media (max-width:900px) {
  .thread-layout { grid-template-columns:1fr; }
  .t-last { display:none; }
}
@media (max-width:600px) {
  .t-stats { display:none; }
  .t-title { font-size:12px; }
}
/* ═══════════════════════════════════════
   POSTBIT
═══════════════════════════════════════ */
.post-row {
  display:flex; border-bottom:1px solid var(--border2); min-height:160px;
}
.post-row:last-child { border-bottom:none; }

.poster-card {
  width:180px; flex-shrink:0; background:var(--card);
  border-right:1px solid var(--border2);
  padding:16px 12px; display:flex; flex-direction:column;
  align-items:center; gap:6px; text-align:center;
}
.pb-avatar img { width:64px; height:64px; border-radius:50%; border:2px solid var(--border); }
.pb-username a { font-family:'Oswald',sans-serif; font-size:14px; font-weight:700; color:var(--white); text-decoration:none; }
.pb-username a:hover { color:var(--cyan); }
.pb-title { font-size:10px; color:var(--dim); text-transform:uppercase; letter-spacing:0.5px; }
.pb-stats { font-size:11px; color:var(--dim); width:100%; margin-top:4px; }
.pb-stats div { display:flex; justify-content:space-between; padding:2px 0; border-bottom:1px solid var(--border2); }
.pb-actions { display:flex; gap:6px; margin-top:6px; flex-wrap:wrap; justify-content:center; }
.pb-actions a img { width:16px; height:16px; opacity:0.5; }
.pb-actions a:hover img { opacity:1; }

.post-content { flex:1; min-width:0; display:flex; flex-direction:column; }

.post-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 14px; background:var(--card2); border-bottom:1px solid var(--border2);
  font-size:11px; color:var(--dim);
}
.post-head-left { display:flex; align-items:center; gap:10px; }
.post-num a { font-family:'Oswald',sans-serif; font-weight:700; color:var(--dim); text-decoration:none; }
.post-num a:hover { color:var(--cyan); }
.post-date { color:var(--dim); }
.post-edit { color:var(--dim); font-style:italic; }
.post-head-right { display:flex; gap:4px; }
.post-head-right a { font-size:10px; color:var(--dim); text-decoration:none; padding:2px 6px; border:1px solid var(--border2); }
.post-head-right a:hover { color:var(--cyan); border-color:var(--cyan); }

.post-body { padding:16px; flex:1; font-size:13px; color:var(--grey); line-height:1.7; }
.post-body a { color:var(--cyan); }

.post-foot {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 14px; border-top:1px solid var(--border2);
  font-size:11px;
}
.post-foot-left { display:flex; gap:6px; }
.post-foot-left a {
  padding:3px 10px; border:1px solid var(--border); color:var(--dim);
  font-family:'Oswald',sans-serif; font-size:10px; font-weight:600;
  letter-spacing:0.5px; text-transform:uppercase; text-decoration:none;
}
.post-foot-left a:hover { border-color:var(--cyan); color:var(--cyan); }
.post-foot-right { font-size:10px; color:var(--dim); }

@media (max-width:700px) {
  .post-row { flex-direction:column; }
  .poster-card { width:100%; flex-direction:row; text-align:left; padding:10px 14px; }
  .pb-stats { display:none; }
}
.post-body img { max-width:100%; height:auto; }
.post-body img[src*="smilies"] { width:20px; height:20px; }

.post-row { display:flex !important; flex-direction:row !important; }
.poster-card { width:180px !important; min-width:180px !important; }
.post-content { flex:1 !important; min-width:0 !important; }

/* Quick Reply */
.sec-card textarea { 
  width:100%; background:var(--card2); border:1px solid var(--border);
  color:var(--grey); padding:10px; font-size:13px; resize:vertical;
  font-family:inherit; outline:none; box-sizing:border-box;
}
.sec-card textarea:focus { border-color:var(--cyan); }
.sec-card input[type="submit"] {
  background:var(--orange); border:none; color:#000;
  font-family:'Oswald',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:1px; text-transform:uppercase; padding:8px 20px; cursor:pointer;
}
.sec-card input[type="submit"]:hover { background:#ff9900; }

/* ═══════════════════════════════════════════════════════
   MSIGN FORUM CSS — NO PLUGIN VERSION
   Paste at bottom of portal.css
═══════════════════════════════════════════════════════ */

/* ── Layout ── */
.forum-layout { display:grid; grid-template-columns:1fr 260px; gap:16px; }
.thread-layout { display:grid; grid-template-columns:1fr 240px; gap:16px; }

/* ── Breadcrumb ── */
.breadcrumb { display:flex; align-items:center; gap:6px; font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:0.5px; text-transform:uppercase; color:var(--dim); }
.breadcrumb a { color:var(--dim); text-decoration:none; }
.breadcrumb a:hover { color:var(--cyan); }

/* ── Board rows (forum index) ── */
.board-row {
  display:flex; align-items:center; padding:10px 14px;
  border-bottom:1px solid var(--border2); gap:12px;
  cursor:pointer; transition:background 0.15s;
}
.board-row:last-child { border-bottom:none; }
.board-row:hover { background:rgba(255,255,255,0.015); }

.board-dot {
  width:7px; height:7px; border-radius:50%; flex-shrink:0;
  background:var(--dim);
}
.board-dot.newfolder,
.board-dot.newhotfolder {
  background:var(--cyan);
  box-shadow:0 0 6px var(--cyan);
}

.board-icon {
  width:40px; height:40px; border-radius:6px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.board-icon.purple { background:rgba(160,102,255,0.12); color:#a066ff; border:1px solid rgba(160,102,255,0.2); }
.board-icon.cyan   { background:rgba(0,204,255,0.10);   color:var(--cyan);   border:1px solid rgba(0,204,255,0.15); }
.board-icon.orange { background:rgba(255,136,0,0.10);   color:var(--orange); border:1px solid rgba(255,136,0,0.15); }
.board-icon.green  { background:rgba(0,204,85,0.10);    color:var(--green);  border:1px solid rgba(0,204,85,0.15); }
.board-icon.yellow { background:rgba(255,204,0,0.10);   color:var(--yellow); border:1px solid rgba(255,204,0,0.15); }
.board-icon.red    { background:rgba(204,0,0,0.10);     color:var(--red);    border:1px solid rgba(204,0,0,0.15); }

.board-info { flex:1; min-width:0; }
.board-name { font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; }
.board-name a { color:var(--white); text-decoration:none; }
.board-name a:hover { color:var(--cyan); }
.board-desc { font-size:11px; color:var(--dim); margin-top:2px; }
.board-stats { display:flex; gap:16px; flex-shrink:0; text-align:center; }
.bs-num { font-family:'Oswald',sans-serif; font-size:16px; font-weight:700; color:var(--grey); line-height:1; }
.bs-lbl { font-size:9px; color:var(--dim); text-transform:uppercase; letter-spacing:0.5px; }
.board-last { width:160px; flex-shrink:0; font-size:11px; }
.board-last-title { color:var(--grey); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.board-last-meta { color:var(--dim); margin-top:3px; display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.board-last-av {
  width:18px; height:18px; border-radius:50%; background:var(--card2);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:7px; font-weight:700; border:1px solid var(--border); flex-shrink:0;
}
.board-cat-header { padding:5px 14px; background:rgba(255,255,255,0.02); border-bottom:1px solid var(--border2); }
.board-cat-name { font-size:9px; font-family:'Oswald',sans-serif; letter-spacing:1px; text-transform:uppercase; color:var(--dim); }

/* ── Forum stats sidebar ── */
.fstat-row { display:flex; justify-content:space-between; align-items:center; padding:7px 14px; border-bottom:1px solid var(--border2); font-size:12px; }
.fstat-row:last-child { border-bottom:none; }
.fstat-label { color:var(--dim); }
.fstat-val { font-family:'Oswald',sans-serif; font-weight:600; color:var(--grey); }

/* ── Who's Online ── */
.whos-row { display:flex; align-items:center; gap:8px; padding:6px 12px; border-bottom:1px solid var(--border2); font-size:12px; }
.whos-row:last-child { border-bottom:none; }
.whos-av {
  width:26px; height:26px; border-radius:50%; background:var(--card2);
  display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:700; border:1px solid var(--border); flex-shrink:0;
}
.whos-name { font-weight:600; color:var(--grey); flex:1; }
.whos-where { color:var(--dim); font-size:10px; }
.online-dot { width:5px; height:5px; border-radius:50%; background:var(--green); flex-shrink:0; }
.online-dot.away { background:var(--orange); }

/* ── Thread controls ── */
.thread-controls {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 14px; background:var(--card2); border-bottom:1px solid var(--border2);
}
.thread-controls-left { display:flex; gap:6px; flex-wrap:wrap; }
.tc-btn {
  padding:4px 12px; background:transparent; border:1px solid var(--border);
  color:var(--grey); font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:0.5px; text-transform:uppercase; cursor:pointer; transition:all 0.15s;
  text-decoration:none; display:inline-flex; align-items:center; gap:5px;
}
.tc-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.tc-btn.primary { background:var(--orange); border-color:var(--orange); color:#000; }
.tc-btn.primary:hover { background:#ff9900; color:#000; }

/* forumdisplay_newthread outputs a link — style it */
.tc-btn-wrap a, #newthread_btn {
  padding:4px 12px; background:var(--orange); border:1px solid var(--orange);
  color:#000; font-family:'Oswald',sans-serif; font-size:11px; font-weight:700;
  letter-spacing:0.5px; text-transform:uppercase; text-decoration:none;
  display:inline-flex; align-items:center; gap:5px;
}

/* ── Thread rows ── */
.thread-row {
  display:flex; align-items:center; padding:9px 14px;
  border-bottom:1px solid var(--border2); gap:10px;
  cursor:pointer; transition:background 0.15s;
}
.thread-row:last-child { border-bottom:none; }
.thread-row:hover { background:rgba(255,255,255,0.015); }

.t-type { width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; color:var(--dim); }
.t-type.newfolder    { color:var(--cyan); }
.t-type.newhotfolder { color:var(--orange); }
.t-type.hotfolder    { color:var(--orange); }
.t-type.closefolder  { color:var(--dim); }
.t-type.dot_folder   { color:var(--green); }

.t-info { flex:1; min-width:0; }
.t-title { font-size:13px; font-weight:600; color:var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.t-title a { color:var(--white); text-decoration:none; }
.t-title a:hover { color:var(--cyan); }
.t-title.read a { color:var(--grey); font-weight:400; }
.t-sub { font-size:11px; color:var(--dim); margin-top:2px; }
.t-sub a { color:var(--dim); text-decoration:none; }
.t-sub a:hover { color:var(--cyan); }

.t-stats { display:flex; gap:16px; flex-shrink:0; text-align:center; }
.ts-num { font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; color:var(--dim); line-height:1; }
.ts-lbl { font-size:9px; color:var(--dim); text-transform:uppercase; letter-spacing:0.5px; }

.t-last { width:145px; flex-shrink:0; font-size:11px; color:var(--grey); }
.t-last-user { font-weight:600; }
.t-last-time { color:var(--dim); margin-top:2px; }

/* Pagination */
.pagination { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; border-top:1px solid var(--border2); flex-wrap:wrap; gap:8px; }
.pg-info { font-size:11px; color:var(--dim); }
.pg-pages { display:flex; gap:3px; flex-wrap:wrap; }
.pagination a, .pagination span.pagination_current {
  width:26px; height:26px; background:var(--card2); border:1px solid var(--border);
  color:var(--grey); font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none; transition:all 0.15s;
}
.pagination a:hover { border-color:var(--cyan); color:var(--cyan); }
.pagination span.pagination_current { background:var(--orange); border-color:var(--orange); color:#000; }

/* ── Postbit ── */
.post-row { display:flex !important; flex-direction:row !important; border-bottom:1px solid var(--border2); min-height:160px; }
.post-row:last-child { border-bottom:none; }
.poster-card {
  width:180px; min-width:180px; flex-shrink:0; background:var(--card);
  border-right:1px solid var(--border2); padding:16px 12px;
  display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center;
}
.pb-avatar img { width:60px; height:60px; border-radius:50%; border:2px solid var(--border); }
.pb-avatar img[src*="default"] { opacity:0.3; }
.pb-username a { font-family:'Oswald',sans-serif; font-size:14px; font-weight:700; color:var(--white); text-decoration:none; }
.pb-username a:hover { color:var(--cyan); }
.pb-title { font-size:10px; color:var(--dim); text-transform:uppercase; letter-spacing:0.5px; }
.pb-stats { font-size:11px; color:var(--dim); width:100%; margin-top:4px; }
.pb-actions { display:flex; gap:6px; margin-top:4px; flex-wrap:wrap; justify-content:center; }
.pb-actions a img { width:16px; height:16px; opacity:0.4; transition:opacity 0.15s; }
.pb-actions a:hover img { opacity:1; }

.post-content { flex:1 !important; min-width:0 !important; display:flex; flex-direction:column; }
.post-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:7px 14px; background:var(--card2); border-bottom:1px solid var(--border2);
  font-size:11px; color:var(--dim); flex-wrap:wrap; gap:6px;
}
.post-head-left { display:flex; align-items:center; gap:10px; }
.post-head a { color:var(--dim); text-decoration:none; }
.post-head a:hover { color:var(--cyan); }
.post-head-right { display:flex; gap:4px; }
.post-head-right a { font-size:10px; color:var(--dim); text-decoration:none; padding:2px 6px; border:1px solid var(--border2); }
.post-head-right a:hover { color:var(--cyan); border-color:var(--cyan); }

.post-body { padding:14px 16px; flex:1; font-size:13px; color:var(--grey); line-height:1.7; }
.post-body a { color:var(--cyan); }
.post-body img { max-width:100%; height:auto; }
.post-body img[src*="smilies"] { width:20px; height:20px; vertical-align:middle; }
.post-body blockquote { background:var(--card2); border-left:3px solid var(--cyan); padding:10px 14px; margin:10px 0; font-size:12px; color:var(--dim); }
.post-body code { background:var(--card2); border:1px solid var(--border); padding:1px 5px; font-size:12px; color:var(--cyan); }
.post-body pre { background:var(--card2); border:1px solid var(--border); padding:12px; overflow-x:auto; font-size:12px; color:var(--grey); }

.post-foot {
  display:flex; align-items:center; justify-content:space-between;
  padding:7px 14px; border-top:1px solid var(--border2); font-size:11px; flex-wrap:wrap; gap:6px;
}
.post-foot-left { display:flex; gap:6px; }
.post-foot-left a {
  padding:3px 10px; border:1px solid var(--border); color:var(--dim);
  font-family:'Oswald',sans-serif; font-size:10px; font-weight:600;
  letter-spacing:0.5px; text-transform:uppercase; text-decoration:none; transition:all 0.15s;
}
.post-foot-left a:hover { border-color:var(--cyan); color:var(--cyan); }
.post-foot-right { font-size:10px; color:var(--dim); }

/* ── Responsive ── */
@media (max-width:1024px) {
  .forum-layout { grid-template-columns:1fr; }
  .thread-layout { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .board-last { display:none; }
  .t-last { display:none; }
}
@media (max-width:700px) {
  .post-row { flex-direction:column !important; }
  .poster-card { width:100% !important; min-width:unset !important; flex-direction:row; padding:10px 14px; }
  .pb-stats { display:none; }
  .board-stats { display:none; }
  .t-stats { display:none; }
}

.zs-header-band { min-height: unset !important; }
.zs-header-band-inner { padding: 0 !important; min-height: unset !important; }

.zs-staff-pick-label {
    padding: 0 16px !important;
    font-size: 10px !important;
    white-space: nowrap;
}

.zs-hdr-pick-card {
    padding: 8px 16px !important;
    gap: 8px !important;
    min-height: unset !important;
    height: 150px !important;
}

.zs-hdr-pick-ico {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
}

.zs-hdr-pick-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
}

.zs-hdr-pick-info > div:first-child {
    font-size: 12px !important;
    font-weight: 600;
    color: var(--white);
}

.zs-hdr-pick-info > div:last-child {
    font-size: 10px !important;
    color: var(--dim);
}

/* ── Who's Online Widget ─────────────────────────────────────────────────── */
.whos-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-bottom: 1px solid var(--border2);
    font-size: 12px;
    transition: background 0.15s;
}
.whos-row:last-of-type { border-bottom: none; }
.whos-row:hover { background: rgba(255,255,255,0.02); }

/* Avatar — circular, 28px, holds either a profile pic or initials */
.whos-av {
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: var(--card2);
    border: 2px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Oswald', sans-serif;
    font-size: 9px;
    font-weight: 700;
    color: var(--dim);
    flex-shrink: 0;
    overflow: hidden;
    padding: 0;
}

/* Username */
.whos-name {
    color: var(--grey);
    flex: 1;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Location label */
.whos-where {
    color: var(--dim);
    font-size: 10px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Online dot */
.online-dot {
    width: 5px;
    height: 5px;
    border-radius: 4px;
    background: var(--green);
    flex-shrink: 0;
    box-shadow: 0 0 4px var(--green);
}
.online-dot.away {
    background: var(--orange);
    box-shadow: 0 0 4px var(--orange);
}
.online-dot.busy {
    background: #cc0000;
    box-shadow: 0 0 4px #cc0000;
}

/* ══════════════════════════════════════════════════════
   mSIGN Postbit Classic CSS v2.2
   Forces side-by-side layout: poster card LEFT, post body RIGHT
══════════════════════════════════════════════════════ */

:root {
  --purple: #a066ff;
  --pink:   #ff33ff;
}

/* ══ CRITICAL LAYOUT — card LEFT + body RIGHT ══ */
.post-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  border-bottom: 1px solid var(--border2) !important;
  min-height: 180px;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.post-row:last-child { border-bottom: none !important; }

/* ══ POSTER CARD (LEFT, fixed 188px) ══ */
.post-row > .poster-card {
  width: 188px !important;
  min-width: 188px !important;
  max-width: 188px !important;
  flex: 0 0 188px !important;
  background: var(--card) !important;
  border-right: 1px solid var(--border2) !important;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* ══ POST BODY (RIGHT, fills remaining) ══ */
.post-row > .post-body {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
}

/* ── Reset inherited junk inside poster-card ── */
.poster-card * { box-sizing: border-box; }
.poster-card div { float: none !important; }

/* ══ RANK CORNER ══ */
.poster-card .pb-rank-corner {
  position: absolute; top: 0; left: 0;
  width: 0; height: 0; border-style: solid;
  border-width: 40px 40px 0 0; z-index: 10; pointer-events: none;
}
.poster-card .pb-rank-icon {
  position: absolute; top: -37px; left: 3px;
  font-size: 13px; filter: drop-shadow(0 0 4px currentColor);
}

/* ══ GROUP BAR ══ */
.poster-card .pb-group-bar {
  height: 3px !important; width: 100% !important;
  flex-shrink: 0; padding: 0 !important; margin: 0 !important;
}

/* ══ AVATAR SECTION ══ */
.poster-card .pb-avatar-wrap {
  background: linear-gradient(180deg, #0a0a0c, #111113) !important;
  border-bottom: 1px solid var(--border2);
  padding: 18px 0 0 !important;
  display: flex !important; flex-direction: column !important; align-items: center !important;
  margin: 0 !important;
}
.poster-card .pb-avatar {
  width: 80px !important; height: 80px !important; border-radius: 6px;
  overflow: hidden; position: relative; border: 2px solid;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-family: 'Oswald', sans-serif; font-size: 28px; font-weight: 700;
  padding: 0 !important; margin: 0 !important;
}
.poster-card .pb-avatar img {
  width: 100% !important; height: 100% !important; object-fit: cover;
}
.poster-card .pb-online-dot {
  position: absolute; bottom: 4px; right: 4px;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--green); border: 2px solid var(--card2);
  box-shadow: 0 0 5px var(--green);
}
.poster-card .pb-online-dot.away    { background: var(--yellow); box-shadow: 0 0 5px var(--yellow); }
.poster-card .pb-online-dot.offline { background: var(--dim);    box-shadow: none; }

/* ══ USERNAME ══ */
.poster-card .pb-username {
  font-family: 'Oswald', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: 1px; text-transform: uppercase;
  margin: 9px 0 0 0 !important; padding: 0 !important;
  text-align: center; cursor: pointer;
  line-height: 1.3 !important; display: block !important; width: 100%;
}
.poster-card .pb-username:hover { opacity: 0.8; }

/* ══ USER TITLE ══ */
.poster-card .pb-usertitle {
  font-size: 9px !important; font-weight: 600;
  color: var(--dim) !important; text-align: center;
  padding: 1px 8px 3px !important; margin: 0 !important;
  font-style: italic; display: block !important; width: 100%;
}

/* ══ GROUP BADGE ══ */
.poster-card .pb-group-badge {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 6px; padding: 4px 10px !important; margin: 5px 10px 10px !important;
  border: 1px solid; font-family: 'Oswald', sans-serif;
  font-size: 10px !important; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; width: calc(100% - 20px); box-sizing: border-box;
}

/* ══ REP / LIKES ROW ══ */
.poster-card .pb-rep-row {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 1px; background: var(--border2);
  border-top: 1px solid var(--border2);
  padding: 0 !important; margin: 0 !important;
}
.poster-card .pb-rep-cell {
  background: var(--card2) !important; padding: 7px 5px !important; text-align: center !important;
}
.poster-card .pb-rep-val {
  font-family: 'Oswald', sans-serif !important;
  font-size: 16px !important; font-weight: 700 !important;
  line-height: 1; display: block !important;
}
.poster-card .pb-rep-lbl {
  font-size: 8px !important; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--dim) !important;
  margin-top: 1px; display: block !important;
}

/* ══ VOUCHES ══ */
.poster-card .pb-vouches {
  padding: 4px 10px !important;
  display: flex !important; flex-direction: row !important;
  align-items: center !important; justify-content: space-between !important;
  border-top: 1px solid var(--border2);
  margin: 0 !important; width: 100% !important;
}
.poster-card .pb-vouches-label {
  display: flex !important; align-items: center !important; gap: 5px !important;
  font-family: 'Oswald', sans-serif !important; font-size: 9px !important; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase; color: var(--dim) !important;
}
.poster-card .pb-vouches-val {
  font-family: 'Oswald', sans-serif !important; font-size: 12px !important;
  font-weight: 700; color: var(--green) !important;
  margin-left: auto !important;
}

/* ══ STATS ══ */
.poster-card .pb-stats { border-top: 1px solid var(--border2); padding: 0 !important; margin: 0 !important; }
.poster-card .pb-stat-row {
  display: flex !important; flex-direction: row !important;
  align-items: center !important; justify-content: space-between !important;
  padding: 4px 10px !important; margin: 0 !important;
  border-bottom: 1px solid var(--border2);
}
.poster-card .pb-stat-row:last-child { border-bottom: none; }
.poster-card .pb-stat-key {
  display: flex !important; align-items: center !important; gap: 6px !important;
  color: var(--dim) !important;
  font-family: 'Oswald', sans-serif !important; font-size: 9px !important; font-weight: 600;
  letter-spacing: 1px; text-transform: uppercase;
}
.poster-card .pb-stat-key i { width: 11px; text-align: center; }
.poster-card .pb-stat-val {
  font-family: 'Oswald', sans-serif !important; font-size: 11px !important; font-weight: 700 !important;
  margin-left: auto !important;
}

/* ══ SIGN QUOTA ══ */
.poster-card .pb-quota {
  border-top: 1px solid var(--border2); padding: 6px 10px !important; margin: 0 !important;
}
.poster-card .pb-quota-header {
  display: flex !important; flex-direction: row !important;
  justify-content: space-between !important; align-items: center !important;
  margin-bottom: 4px !important; padding: 0 !important;
  width: 100% !important; gap: 4px !important;
  flex-wrap: nowrap !important;
}
.poster-card .pb-quota-label {
  font-family: 'Oswald', sans-serif !important; font-size: 9px !important; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase; color: var(--dim) !important;
  display: flex !important; align-items: center !important; gap: 4px !important;
}
.poster-card .pb-quota-count {
  font-family: 'Oswald', sans-serif !important; font-size: 10px !important; font-weight: 700;
  margin-left: auto !important;
}
.poster-card .pb-quota-track {
  height: 3px !important; background: var(--border) !important;
  border-radius: 2px; overflow: hidden; margin: 0 !important; padding: 0 !important;
}
.poster-card .pb-quota-fill { height: 100% !important; border-radius: 2px; }

/* ══ BADGES ══ */
.poster-card .pb-badges {
  border-top: 1px solid var(--border2); padding: 6px 8px !important; margin: 0 !important;
}
.poster-card .pb-badges-grid {
  display: grid !important; grid-template-columns: repeat(5, 1fr) !important;
  gap: 3px !important; padding: 0 !important; margin: 0 !important;
}
.poster-card .pb-badge {
  aspect-ratio: 1; border-radius: 4px;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 11px !important; border: 1px solid transparent;
  cursor: pointer; transition: transform 0.15s; position: relative;
  padding: 0 !important; margin: 0 !important;
}
.poster-card .pb-badge:hover { transform: scale(1.2); z-index: 5; }
.poster-card .pb-badge.locked {
  background: rgba(255,255,255,0.02) !important; border-color: var(--border2) !important;
  color: var(--dim) !important; font-size: 9px !important;
}
.poster-card .pb-badge[data-tip]:hover::after {
  content: attr(data-tip); position: absolute;
  bottom: calc(100% + 5px); left: 50%; transform: translateX(-50%);
  background: #000; border: 1px solid var(--border); color: var(--white);
  font-family: 'Rajdhani', sans-serif; font-size: 10px; font-weight: 600;
  white-space: nowrap; padding: 2px 6px; border-radius: 2px;
  pointer-events: none; z-index: 99;
}

/* ══ MILESTONE ══ */
.poster-card .pb-milestone {
  border-top: 1px solid var(--border2); padding: 5px 10px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 6px !important;
  font-family: 'Oswald', sans-serif !important; font-size: 8px !important;
  font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  margin: 0 !important;
}

/* ══ ACTION BUTTONS ══ */
.poster-card .pb-actions {
  border-top: 1px solid var(--border2);
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 1px; background: var(--border2);
  margin-top: auto !important; padding: 0 !important;
}
.poster-card .pb-action-btn {
  background: var(--card2) !important; border: none !important;
  color: var(--dim) !important; padding: 6px 4px !important;
  font-family: 'Oswald', sans-serif !important; font-size: 9px !important;
  font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase;
  cursor: pointer; transition: all 0.15s;
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 4px !important;
  margin: 0 !important; border-radius: 0 !important; line-height: 1 !important;
}
.poster-card .pb-action-btn:hover         { background: var(--card) !important; color: var(--white) !important; }
.poster-card .pb-action-btn.rep:hover     { color: var(--green) !important; }
.poster-card .pb-action-btn.vouch:hover   { color: var(--cyan) !important; }
.poster-card .pb-action-btn:disabled      { opacity: 0.35; cursor: not-allowed; }

/* ══ POST META BAR ══ */
.post-row > .post-body > .post-meta-bar {
  display: flex !important; align-items: center !important; gap: 10px;
  padding: 8px 16px !important;
  background: rgba(255,255,255,0.02) !important;
  border-bottom: 1px solid var(--border2); flex-wrap: wrap;
}
.post-meta-bar .post-num {
  font-family: 'Oswald', sans-serif; font-size: 11px; color: var(--dim); letter-spacing: 0.5px;
}
.post-meta-bar .post-time { font-size: 11px; color: var(--dim); margin-left: auto; }
.post-meta-bar .post-time i { margin-right: 3px; font-size: 9px; }
.post-meta-bar .post-permalink { font-size: 10px; color: var(--dim); transition: color 0.15s; }
.post-meta-bar .post-permalink:hover { color: var(--cyan); }

/* ══ POST CONTENT ══ */
.post-row > .post-body > .post-content {
  padding: 18px 20px !important; font-size: 14px; color: var(--grey);
  line-height: 1.85; flex: 1;
}
.post-body .post-content p              { margin-bottom: 14px; }
.post-body .post-content p:last-child   { margin-bottom: 0; }
.post-body .post-content strong         { color: var(--white); }
.post-body .post-content a              { color: var(--cyan); }
.post-body .post-content code {
  background: var(--card2); border: 1px solid var(--border);
  padding: 1px 6px; font-size: 11px; color: var(--cyan);
  font-family: 'Courier New', monospace; border-radius: 2px;
}
.post-body .post-content ul,
.post-body .post-content ol {
  padding-left: 20px; margin: 10px 0;
  display: flex; flex-direction: column; gap: 5px;
}
.post-body .post-content blockquote {
  background: rgba(255,255,255,0.03) !important;
  border-left: 3px solid var(--border) !important;
  padding: 10px 14px !important; margin: 12px 0;
  font-size: 13px; border-radius: 0 3px 3px 0;
}
.post-body .post-content .info-box {
  background: rgba(0,204,255,0.05); border-left: 3px solid var(--cyan);
  padding: 10px 14px; margin: 12px 0; font-size: 13px;
}
.post-body .post-content .warn-box {
  background: rgba(255,136,0,0.05); border-left: 3px solid var(--orange);
  padding: 10px 14px; margin: 12px 0; font-size: 13px; color: var(--white);
}

/* ══ POST ACTIONS BAR ══ */
.post-row > .post-body > .post-actions {
  padding: 8px 16px !important; border-top: 1px solid var(--border2);
  display: flex !important; align-items: center !important; gap: 8px;
  background: rgba(0,0,0,0.15) !important; flex-wrap: wrap;
}
.post-actions a,
.post-actions input[type=submit],
.post-actions input[type=button] {
  display: inline-flex !important; align-items: center !important; gap: 4px;
  font-size: 11px !important; color: var(--dim) !important; cursor: pointer;
  transition: color 0.15s; padding: 4px 8px !important;
  border: 1px solid transparent !important; background: transparent !important;
  font-family: 'Oswald', sans-serif; font-weight: 600;
  letter-spacing: 0.5px; text-transform: uppercase; text-decoration: none;
}
.post-actions a:hover,
.post-actions input:hover { color: var(--white) !important; border-color: var(--border) !important; }

/* ══ HIDE DEFAULT MYBB POSTBIT JUNK ══ */
.post_author   { display: none !important; }
.post_content  { display: none !important; }
.author_avatar { display: none !important; }