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

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   Mobile-first approach: styles start at 320px, then scale up
   ═════════════════════════════════════════════════════════════════════════*/

/* Breakpoints */
:root {
  --orange:#ff6600; --orange-dim:#7a3000;
  --green:#00ff41;  --green-dim:#00aa2b;
  --red:#ff3333;    --red-dim:#aa1111;
  --yellow:#ffcc00; --cyan:#00ccff;
  --white:#e8e8e8;  --gray:#888;  --dim:#444;
  --bg:#000; --bg1:#0a0a0a; --bg2:#111; --bg3:#181818;
  --border:#222; --border-hi:#ff6600;
  
  /* Mobile-first sizing */
  --font-base: 1em;
  --font-sm: 10px;
  --spacing-base: 8px;
}

/* Tablet and up */
@media (min-width: 768px) {
  :root {
    --font-base: 1em;
    --spacing-base: 10px;
  }
}

/* Desktop and up */
@media (min-width: 1024px) {
  :root {
    --font-base: 1em;
    --spacing-base: 12px;
  }
}

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'IBM Plex Mono','Courier New',monospace;background:var(--bg);color:var(--white);font-size:var(--font-base);line-height:1.4;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--orange-dim);}

/* ─── Top bar ─── */
.topbar{background:var(--orange);color:#000;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:10px;font-weight:700;letter-spacing:1px;flex-wrap:wrap;gap:8px;min-height:32px;}
.topbar-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}

@media (max-width: 640px) {
  .topbar{padding:4px 8px;font-size:9px;min-height:28px;}
  .topbar-right{gap:6px;}
}

/* ─── Menu bar ─── */
/*---.menubar{background:var(--bg2);border-bottom:1px solid var(--orange);display:flex;align-items:center;justify-content:space-between;padding:6px 12px;flex-wrap:wrap;gap:8px;overflow-x:auto;}
.menu-title{color:var(--orange);font-size:21.43px;font-weight:700;letter-spacing:2px;white-space:nowrap;text-decoration:none;}
.menu-sub{color:var(--gray);font-size:10px;letter-spacing:1px;white-space:nowrap;}
.menu-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;overflow-x:auto;}--*/
.nav-link{color:var(--gray);font-size:11px;text-decoration:none;letter-spacing:1px;font-weight:600;padding:6px 10px;border:1px solid transparent;white-space:nowrap;min-height:32px;display:flex;align-items:center;}
.nav-link:hover{color:var(--orange);border-color:var(--orange);}
.fnav-link{color:var(--gray);font-size:11px;text-decoration:none;letter-spacing:1px;font-weight:600;padding:6px 10px;border:1px solid transparent;white-space:nowrap;min-height:32px;display:flex;align-items:center;}
.fnav-link:hover{color:var(--orange);}
select{background:var(--bg3);color:var(--orange);border:1px solid var(--border);padding:6px 8px;font-size:11px;font-family:inherit;font-weight:600;letter-spacing:1px;cursor:pointer;outline:none;min-height:32px;}
select:hover{border-color:var(--orange);}
.btn{background:var(--orange);color:#000;border:none;padding:8px 14px;font-size:11px;font-family:inherit;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;white-space:nowrap;}
.btn:hover{background:#ff8833;}
.btn:disabled{background:var(--dim);color:var(--gray);cursor:not-allowed;}
.btn-outline{background:transparent;color:var(--orange);border:1px solid var(--orange);padding:6px 12px;font-size:10px;font-family:inherit;font-weight:600;letter-spacing:1px;cursor:pointer;min-height:32px;display:inline-flex;align-items:center;}
.btn-outline:hover{background:var(--orange);color:#000;}
.btn-sm{padding:8px 14px;font-size:10px;min-height:28px;text-decoration:none;}
.breadcrumb{font-size:0.65rem;color:#444;letter-spacing:1px;margin-bottom:12px;}
.breadcrumb a{color:#ff6600;text-decoration:none;}

@media (max-width: 640px) {
  /*--.menubar{padding:4px 8px;}
  .menu-title{font-size:11px;}--*/
  .nav-link{padding:4px 6px;font-size:10px;min-height:28px;}
  .btn{padding:6px 10px;min-height:32px;font-size:10px;}
}

.menubar {
  background: var(--bg2);
  border-bottom: 1px solid var(--orange);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  position: relative;
  z-index: 100;
}
.menu-title { color:var(--orange);font-size:21px;font-weight:700;letter-spacing:2px;white-space:nowrap; }
.menu-sub   { color:var(--gray);font-size:10px;letter-spacing:1px;white-space:nowrap; }

/* Desktop: normal inline row */
.menu-right { display:flex;align-items:center;gap:6px; }
.menu-right .btn.active { background:var(--orange);color:#000;border-color:var(--orange); }
.menu-hamburger { display:none; }

/* Mobile: hamburger + drawer */
@media (max-width: 640px) {
  .menubar { padding: 6px 10px; }
  .menu-title { font-size: 15px; }
  .menu-hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 1px solid var(--orange);
    color: var(--orange);
    font-size: 18px;
    width: 36px;
    height: 36px;
    cursor: pointer;
    flex-shrink: 0;
  }
  .menu-right {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg2);
    border-bottom: 1px solid var(--orange);
    padding: 8px 10px;
    z-index: 99;
  }
  .menu-right.open { display: flex; }
  .menu-right .btn {
    width: 100%;
    justify-content: flex-start;
    font-size: 12px;
    padding: 10px 12px;
    min-height: 40px;  /* thumb-friendly tap target */
  }
  .menu-right form { width: 100%; }
  .menu-right form .btn { width: 100%; }
}

/* ─── Status / ticker tape ─── */
.statusbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:6px 12px;font-size:11px;color:var(--cyan);display:flex;align-items:center;gap:8px;min-height:32px;letter-spacing:.5px;flex-wrap:wrap;}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:blink 1s infinite;flex-shrink:0;}
.status-dot.idle{background:var(--dim);animation:none;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.1}}
.status-log{font-size:10px;color:var(--dim);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;}

@media (min-width: 640px) {
  .status-log{max-width:300px;}
}

@media (max-width: 640px) {
  .statusbar{padding:4px 8px;font-size:10px;min-height:28px;}
  .status-log{max-width:120px;}
}

/* ─── Layout ─── */
.main{padding:12px;padding-bottom:80px;}

@media (max-width: 640px) {
  .main{padding:8px;padding-bottom:100px;}
}

@media (min-width: 1024px) {
  .main{padding:12px 20px;padding-bottom:60px;}
}

/* ─── Stats ─── */
.stats-row{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:8px;}

@media (min-width: 640px) {
  .stats-row{grid-template-columns:repeat(2,1fr);}
}

@media (min-width: 1024px) {
  .stats-row{grid-template-columns:repeat(3,1fr);}
}

.stat-box{background:var(--bg2);border:1px solid var(--border);border-top:2px solid var(--orange);padding:10px 12px;}
.stat-label{font-size:10px;color:var(--gray);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.stat-value{font-size:15px;font-weight:700;color:var(--orange);letter-spacing:1px;}
.stat-sub{font-size:10px;color:var(--dim);margin-top:2px;}

@media (min-width: 1024px) {
  .stat-value{font-size:17px;}
}

/* ─── Scheduler bar ─── */
.sched-label{font-size:10px;color:var(--cyan);letter-spacing:1px;font-weight:700;}
.sched-val{font-size:11px;color:var(--white);}
.sched-next{font-size:10px;color:var(--gray);}
.interval-input{background:var(--bg3);color:var(--white);border:1px solid var(--border);padding:6px 7px;width:60px;font-size:11px;font-family:inherit;outline:none;min-height:32px;}
.interval-input:focus{border-color:var(--orange);}

@media (max-width: 640px) {
  .interval-input{min-height:28px;padding:4px 6px;font-size:10px;}
}

/* ─── Panel ─── */
.panel{margin-bottom:10px;}
.panel-header{display:flex;align-items:center;gap:0;margin-bottom:8px;}
.panel-title{background:var(--orange);color:#000;font-size:1em;font-weight:700;letter-spacing:2px;padding:4px 10px;text-transform:uppercase;}
.panel-line{flex:1;height:1px;background:var(--orange);opacity:.35;}
.panel-body{border:1px solid var(--border);border-top:none;overflow-x:auto;}
.panel-hdr{display:flex;align-items:center;gap:0;margin-bottom:0;}

@media (max-width: 640px) {
  .panel-title{font-size:1em;padding:3px 8px;min-width:calc(33.3333% - 4px);min-height:44px;align-content:center;margin-right:6px;}
}

/* ─── Overall summary ─── */
.overall-box{display:none;background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--orange);padding:10px 12px;margin-bottom:8px;color:var(--yellow);font-size:11px;line-height:1.7;}
.overall-label{color:var(--orange);font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:4px;}

/* ─── Tables ─── */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;font-size:11px;}
thead tr{background:var(--bg2);border-bottom:1px solid var(--orange);}
th{padding:6px 10px;text-align:left;font-size:10px;font-weight:700;color:var(--orange);letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;}
th.r,td.r{text-align:right;}
tbody tr{border-bottom:1px solid #181818;transition:background .08s;}
tbody tr:hover{background:#0d0d00;}
tbody tr:last-child{border-bottom:none;}
td{padding:6px 10px;vertical-align:middle;white-space:nowrap;}
.td-rank{color:var(--dim);font-size:10px;width:24px;}
.td-ticker{font-weight:700;font-size:13px;color:var(--yellow);letter-spacing:1px;width:90px;}
.td-co{font-size:11px;color:var(--white);max-width:160px;overflow:hidden;text-overflow:ellipsis;}
.td-sector{font-size:10px;color:var(--gray);max-width:120px;overflow:hidden;text-overflow:ellipsis;}
.td-mentions{color:var(--cyan);font-size:11px;}
.td-mktcap{font-size:11px;color:var(--cyan);font-weight:600;}
.td-user{color:var(--orange);font-size:11px;font-weight:600;}
.td-price{font-size:11px;color:var(--white);}
.td-size{font-size:11px;color:var(--cyan);}
.td-assumed{font-size:10px;color:var(--dim);font-style:italic;}
.td-date{font-size:10px;color:var(--gray);}
.na{color:var(--dim);font-size:10px;}
.loading-val{color:var(--dim);font-size:10px;font-style:italic;}

@media (max-width: 640px) {
  table{font-size:10px;}
  th{padding:4px 6px;font-size:9px;}
  td{padding:4px 6px;}
  .td-co{max-width:100px;}
  .td-sector{max-width:80px;}
}

/* Chips */
.chip{font-size:10px;font-weight:700;letter-spacing:.8px;padding:2px 6px;border:1px solid;display:inline-block;}
.chip-bull{color:var(--green);border-color:var(--green);background:rgba(0,255,65,.06);}
.chip-bear{color:var(--red);border-color:var(--red);background:rgba(255,51,51,.06);}
.chip-neut{color:var(--yellow);border-color:var(--yellow);background:rgba(255,204,0,.06);}

/* PnL */
.pnl-pos{color:var(--green);font-weight:700;}
.pnl-neg{color:var(--red);font-weight:700;}
.pnl-flat{color:var(--gray);}

/* Short float */
.sf-hi{color:var(--red);font-weight:700;}
.sf-mid{color:var(--yellow);font-weight:600;}
.sf-lo{color:var(--gray);}

/* Pct */
.pct-up{color:var(--green);font-weight:700;}
.pct-dn{color:var(--red);font-weight:700;}
.pct-flat{color:var(--gray);}

/* Vote bar */
.vote-bar{display:flex;align-items:center;gap:6px;}
.bar-bg{width:70px;height:3px;background:var(--bg3);border:1px solid var(--border);}
.bar-fill{height:100%;}
.bar-green{background:var(--green);}
.bar-red{background:var(--red);}
.bar-pct{font-size:10px;color:var(--gray);}

/* ─── DD Feed ─── */
.dd-list{display:flex;flex-direction:column;gap:5px;}
.dd-card{background:var(--bg1);border:1px solid var(--border);border-left:3px solid var(--dim);padding:10px 12px;margin-bottom:0;}
.dd-card.bull{border-left-color:var(--green-dim);}
.dd-card.bear{border-left-color:var(--red-dim);}
.dd-card.new-flash{animation:flashin .8s ease-out;}
@keyframes flashin{0%{background:#1a1400}100%{background:var(--bg1)}}
.dd-title{font-size:12px;font-weight:600;color:var(--white);line-height:1.5;margin-bottom:6px;word-break:break-word;}
.dd-title a{color:inherit;text-decoration:none;word-break:break-word;}
.dd-title a:hover{color:var(--orange);}
.dd-meta{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap;align-items:center;font-size:10px;}
.meta-item{color:var(--gray);}
.meta-up{color:var(--cyan);}
.meta-author{color:var(--orange);font-weight:600;}
.meta-sep{color:var(--dim);}
.dd-summary{font-size:11px;color:#aaa;line-height:1.7;}
.dd-summary.loading{color:var(--dim);font-style:italic;}
.dd-tickers{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;}
.t-tag{font-size:10px;font-weight:700;color:var(--yellow);background:rgba(255,204,0,.08);border:1px solid rgba(255,204,0,.25);padding:2px 6px;letter-spacing:1px;}
.dd-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:6px;border-top:1px solid #151515;flex-wrap:wrap;gap:8px;}
.read-more{font-size:10px;color:var(--orange);text-decoration:none;letter-spacing:1px;font-weight:700;white-space:nowrap;}
.read-more:hover{color:#ff8833;}

@media (max-width: 640px) {
  .dd-card{padding:8px 10px;}
  .dd-title{font-size:11px;margin-bottom:4px;}
  .dd-meta{gap:4px;font-size:9px;}
  .dd-footer{flex-direction:column;align-items:flex-start;}
}

/* ─── Expand button ─── */
.expand-btn{background:transparent;color:var(--orange);border:1px solid var(--orange);padding:4px 10px;font-size:10px;font-family:inherit;font-weight:700;letter-spacing:1px;cursor:pointer;white-space:nowrap;margin-left:auto;min-height:28px;display:inline-flex;align-items:center;}
.expand-btn:hover{background:var(--orange);color:#000;}

@media (max-width: 640px) {
  .expand-btn{margin-left:0;width:100%;min-height:44px;}
}

/* ─── Sortable table headers ─── */
th.sortable{cursor:pointer;user-select:none;}
th.sortable:hover{color:var(--white);background:var(--bg3);}
th.sort-asc::after{content:' ▲';color:var(--orange);font-size:9px;}
th.sort-desc::after{content:' ▼';color:var(--orange);font-size:9px;}

/* ─── Scan history ─── */
.scan-hist-row{display:flex;gap:8px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid #161616;font-size:10px;}
.scan-hist-row:last-child{border-bottom:none;}
.sh-id{color:var(--dim);min-width:28px;flex-shrink:0;}
.sh-time{color:var(--gray);}
.sh-posts{color:var(--cyan);}
.sh-new{color:var(--green);}
.sh-status-complete{color:var(--green);font-weight:700;}
.sh-status-running{color:var(--yellow);font-weight:700;animation:blink 1s infinite;}
.sh-status-error{color:var(--red);font-weight:700;}

@media (max-width: 640px) {
  .scan-hist-row{padding:6px 8px;gap:4px;font-size:9px;}
}

/* ─── Sentiment bars ─── */
.sent-bar-bull{background:var(--green);height:4px;display:inline-block;}
.sent-bar-bear{background:var(--red);height:4px;display:inline-block;}
.sent-bar-neut{background:var(--yellow);height:4px;display:inline-block;}
.sent-bull{color:var(--green);font-weight:700;}
.sent-bear{color:var(--red);font-weight:700;}
.sent-neut{color:var(--yellow);font-weight:700;}

/* ─── Utility classes ─── */
.muted{color:#888;font-size:12px;}
.link{color:var(--orange);text-decoration:none;}
.link:hover{color:#ff8833;}
.reddit-badge{background:rgba(255,69,0,.15);color:#ff4500;padding:2px 6px;border-radius:2px;font-size:10px;font-weight:600;display:inline-block;}
.ticker-tag{background:rgba(255,204,0,.08);color:var(--yellow);padding:2px 6px;border:1px solid rgba(255,204,0,.25);font-size:10px;font-weight:700;letter-spacing:1px;display:inline-block;}
.empty{color:var(--dim);text-align:center;padding:30px 20px;}

@media (max-width: 640px) {
  .empty{padding:20px 15px;}
}

.text-center{text-align:center;}
.text-right{text-align:right;}

/* ─── Color utilities ─── */
.color-orange{color:var(--orange);}
.color-white{color:var(--white);}
.color-gray{color:var(--gray);}
.color-dim{color:var(--dim);}
.color-green{color:var(--green);}
.color-red{color:var(--red);}
.color-yellow{color:var(--yellow);}
.color-cyan{color:var(--cyan);}

/* ─── Background utilities ─── */
.bg-dark{background:var(--bg1);}
.bg-darker{background:var(--bg3);}
.border-orange{border:1px solid var(--orange);}
.border-bottom-orange{border-bottom:1px solid var(--orange);}
.border-left-orange{border-left:3px solid var(--orange);}

/* ─── Flex utilities ─── */
.flex{display:flex;}
.flex-col{flex-direction:column;}
.flex-center{align-items:center;justify-content:center;}
.flex-between{display:flex;justify-content:space-between;align-items:center;}
.gap-4{gap:4px;}
.gap-5{gap:5px;}
.gap-6{gap:6px;}
.gap-8{gap:8px;}
.gap-10{gap:10px;}
.gap-12{gap:12px;}
.gap-16{gap:16px;}
.gap-20{gap:20px;}

/* ─── Spacing utilities ─── */
.mb-4{margin-bottom:4px;}
.mb-6{margin-bottom:6px;}
.mb-8{margin-bottom:8px;}
.mb-10{margin-bottom:10px;}
.mb-12{margin-bottom:12px;}
.mb-14{margin-bottom:14px;}
.mb-16{margin-bottom:16px;}
.mb-20{margin-bottom:20px;}
.mt-4{margin-top:4px;}
.mt-8{margin-top:8px;}
.mt-10{margin-top:10px;}
.mt-12{margin-top:12px;}
.mt-14{margin-top:14px;}
.mt-16{margin-top:16px;}
.mt-20{margin-top:20px;}
.p-4{padding:4px;}
.p-8{padding:8px;}
.p-10{padding:10px;}
.p-12{padding:12px;}
.p-16{padding:16px;}
.p-20{padding:20px;}
.p-24{padding:24px;}
.p-32{padding:32px;}

/* ─── Typography utilities ─── */
.font-small{font-size:10px;}
.font-base{font-size:11px;}
.font-md{font-size:12px;}
.font-lg{font-size:14px;}
.font-xl{font-size:15px;}
.font-2xl{font-size:16px;}
.font-3xl{font-size:17px;}
.font-bold{font-weight:700;}
.font-semi{font-weight:600;}
.uppercase{text-transform:uppercase;}
.no-wrap{white-space:nowrap;}
.letter-sp{letter-spacing:1px;}
.letter-sp-sm{letter-spacing:.5px;}
.letter-sp-md{letter-spacing:1.5px;}
.letter-sp-lg{letter-spacing:2px;}

/* ─── Max width for centered content ─── */
.max-w-480{max-width:480px;}

/* ─── Inline forms and buttons ─── */
form.inline{display:inline;}
button.nav-link{background:none;border:none;cursor:pointer;padding:6px 10px;font-family:inherit;font-size:11px;letter-spacing:1px;color:var(--gray);min-height:32px;display:flex;align-items:center;}
button.nav-link:hover{color:var(--orange);}

@media (max-width: 640px) {
  button.nav-link{padding:4px 6px;font-size:10px;min-height:28px;}
}

/* ─── Chart/graph containers ─── */
.chart-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ─── Post and article styles ─── */
.post-title{color:var(--white);font-size:16px;font-weight:700;line-height:1.4;margin-bottom:8px;word-break:break-word;}
.post-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.post-meta-flex{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:10px;}
.post-summary{background:#0d1a0d;border:1px solid #1e3b1e;border-left:3px solid var(--green);padding:10px 12px;margin-top:12px;font-size:11px;color:var(--white);line-height:1.7;}

@media (max-width: 640px) {
  .post-title{font-size:14px;}
  .post-header{gap:8px;}
  .post-summary{padding:8px 10px;font-size:10px;}
}

/* ─── Form styles ─── */
.form-section{margin-bottom:14px;}
.form-section-title{color:var(--orange);font-size:14px;font-weight:700;letter-spacing:2px;margin-bottom:14px;}
.form-group{margin-bottom:10px;}
input[type="text"],
input[type="email"],
input[type="password"],
textarea{background:var(--bg3);color:var(--white);border:1px solid var(--border);padding:8px 10px;font-size:11px;font-family:inherit;outline:none;width:100%;min-height:36px;box-sizing:border-box;}
input:focus,
textarea:focus{border-color:var(--orange);}
textarea{resize:vertical;min-height:100px;}

@media (max-width: 640px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  textarea{padding:6px 8px;font-size:10px;min-height:32px;}
}

/* ─── Layout containers ─── */
.container-center{max-width:480px;margin:40px auto;padding:0 16px;}
.container-grid-2{display:grid;grid-template-columns:1fr;gap:16px;}

@media (min-width: 640px) {
  .container-grid-2{grid-template-columns:280px 1fr;}
}

@media (max-width: 640px) {
  .container-center{margin:20px auto;padding:0 12px;}
}

/* ─── Admin/moderation styles ─── */
.admin-nav-flex{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.admin-nav-link{color:#888;font-size:11px;text-decoration:none;letter-spacing:1px;}
.admin-nav-link.active{color:var(--yellow);}
.admin-nav-link:hover{color:var(--orange);}

@media (max-width: 640px) {
  .admin-nav-flex{gap:4px;}
  .admin-nav-link{font-size:10px;padding:4px 6px;border:1px solid transparent;}
}

/* ─── Button variations ─── */
.btn-preview{background:#333;color:#aaa;}
.btn-preview:hover{background:#444;}
.btn-reddit{background:#ff4500;color:#fff;}
.btn-reddit:hover{background:#ff5722;}
.btn-cancel{background:#333;color:#aaa;}
.btn-cancel:hover{background:#444;}

/* ─── Short float indicator styles ─── */
.sf-indicator{font-weight:700;}
.sf-high{color:var(--red);}
.sf-medium{color:var(--yellow);}
.sf-low{color:var(--gray);}

/* ─── Analytics/dashboard ─── */
.analytics-row{display:flex;flex-wrap:wrap;gap:12px;}
.analytics-item{font-size:10px;}
.view-bar{display:flex;gap:4px;margin:8px 0;align-items:center;}

/* ─── Fixed Footer (F-key bar) ─── */
.fkeybar{position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--orange);display:flex;justify-content: flex-end;padding:4px 8px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;z-index:100;}
.fkey{font-size:10px;font-weight:700;letter-spacing:.5px;white-space:nowrap;padding:2px 5px;min-height:42px;display:flex;align-items:center;}
.fkey-n{color:var(--orange);}
.fkey-l{color:var(--gray);margin-right:5px;}

@media (max-width: 640px) {
  .fkeybar{padding:2px 4px;}
  .fkey{font-size:11px;padding:1px 4px;min-height:42px;}
}

.disc{font-size:10px;color:var(--dim);padding:8px 10px;border-top:1px solid #111;margin-top:8px;}

/* ─── Empty states ─── */
.empty-state{text-align:center;padding:40px 20px;color:var(--dim);}
.empty-state pre{font-size:10px;color:#222;line-height:1.4;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;}

@media (max-width: 640px) {
  .empty-state{padding:20px 15px;}
  .empty-state pre{font-size:9px;}
}

/* ─── New badge ─── */
.new-badge{background:var(--green);color:#000;font-size:9px;font-weight:700;padding:1px 5px;letter-spacing:.5px;margin-left:6px;animation:blink 1s infinite;}

/* ─── Responsive visibility utilities ─── */
.hide-mobile{display:none;}
.hide-desktop{display:block;}

@media (min-width: 768px) {
  .hide-mobile{display:block;}
  .hide-desktop{display:none;}
}

/* ─── Mobile stack utilities ─── */
.stack-mobile{display:flex;flex-direction:column;}

@media (min-width: 768px) {
  .stack-mobile{display:flex;flex-direction:row;}
}

/* ─── Touch-friendly sizing ─── */
@media (max-width: 640px) {
  /* Increase touch targets to 44x44px minimum */
  a, button, select, input[type="checkbox"], input[type="radio"] {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
  }
  
  /* Reduce padding on small screens */
  .stats-row{grid-template-columns: repeat(3, 1fr); width:100%;}
  .stat-box{padding:8px 10px;}
  .dd-card{padding:8px 10px;}
  .panel-body{padding:8px;}
  /*general cleanup of mobiile*/
  .stats-label{font-size:14px;letter-spacing:0px;}
  .stat-value{font-size:24px;}


}

/* ─── Responsive typography scale ─── */
@media (max-width: 480px) {
  body{font-size:10px;}
  .stat-value{font-size:13px;}
  .dd-title{font-size:10px;}
  .post-title{font-size:13px;}
}

@media (min-width: 768px) {
  body{font-size:12px;}
  .stat-value{font-size:16px;}
}

@media (min-width: 1024px) {
  body{font-size:13px;}
  .stat-value{font-size:17px;}
}

