/* Minimal overrides — Tailwind handles all styling */

/* DataTable widget */
.dt-wrap { border-radius:.5rem; border:1px solid #1f2937; overflow-x:auto; }
.dt-toolbar { display:flex; justify-content:flex-end; padding:.2rem .4rem; background:#111827; border-bottom:1px solid #1f2937; }
.dt-col-btn { font-size:.65rem; color:#6b7280; background:#1f2937; border:1px solid #374151; border-radius:.25rem; padding:.12rem .45rem; cursor:pointer; }
.dt-col-btn:hover { color:#e5e7eb; }
.dt-col-picker { z-index:50; background:#1f2937; border:1px solid #374151; border-radius:.375rem; padding:.4rem .6rem; min-width:9rem; }
.dt-col-picker label { display:flex; align-items:center; gap:.35rem; font-size:.7rem; color:#d1d5db; cursor:pointer; padding:.1rem 0; white-space:nowrap; }
.dt-col-picker input[type=checkbox] { accent-color:#3b82f6; }
.dt-table { width:100%; border-collapse:collapse; font-size:var(--tbl-font,.72rem); }
.dt-table thead th { background:#111827; color:#6b7280; padding:.18rem .4rem; text-align:left; user-select:none; white-space:nowrap; position:sticky; top:0; z-index:1; }
.dt-table thead th.sortable { cursor:pointer; }
.dt-table thead th.sortable:hover { color:#e5e7eb; }
.dt-table thead th.sort-active { color:#93c5fd; }
.dt-table thead th.num { text-align:right; }
.dt-table tbody tr { border-top:1px solid #1f2937; }
.dt-table tbody tr:hover { background:rgba(31,41,55,.5); }
.dt-table tbody tr:nth-child(odd) { background:rgba(17,24,39,.3); }
.dt-table tbody tr:nth-child(odd):hover { background:rgba(31,41,55,.5); }
.dt-table td, .dt-table th { padding:.18rem .4rem; }
.dt-table td.num { text-align:right; font-variant-numeric:tabular-nums; }

/* Research page */
#research-layout { display:flex; height:calc(100vh - 3.5rem); width:100%; }
#research-sidebar { width:22rem; flex-shrink:0; background:#111827; border-right:1px solid #1f2937; display:flex; flex-direction:column; overflow:hidden; }
#upload-container { margin:.75rem; display:flex; gap:.5rem; flex-shrink:0; }
#upload-zone { flex:0 0 40%; border:2px dashed #374151; border-radius:.5rem; padding:1.25rem .75rem; text-align:center; cursor:pointer; color:#6b7280; font-size:.8rem; transition:border-color .15s, background .15s; }
#upload-zone.drag-over { border-color:#3b82f6; background:rgba(59,130,246,.06); color:#93c5fd; }
#upload-zone.uploading { border-color:#f59e0b; color:#f59e0b; }
#fermi-zone { flex:0 0 60%; border:2px solid #1f2937; border-radius:.5rem; padding:1rem; background:#0f1419; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:.5rem; }
#fermi-zone.disabled { opacity:0.5; pointer-events:none; }
#fermi-zone.generating { border-color:#3b82f6; background:rgba(59,130,246,.03); }
#fermi-symbol-input { width:100%; padding:.4rem; background:#111827; border:1px solid #374151; color:#e5e7eb; font-size:.8rem; border-radius:.25rem; cursor:text; text-transform:uppercase; outline:none; }
#fermi-symbol-input:focus { border-color:#3b82f6; }
#fermi-model-select { width:100%; padding:.4rem; background:#111827; border:1px solid #374151; color:#e5e7eb; font-size:.75rem; border-radius:.25rem; cursor:pointer; }
#fermi-generate-btn { width:100%; padding:.5rem .75rem; background:#2563eb; color:#fff; border:none; border-radius:.375rem; font-size:.75rem; font-weight:600; cursor:pointer; transition:background .15s; }
#fermi-generate-btn:hover:not(:disabled) { background:#1d4ed8; }
#fermi-generate-btn:disabled { opacity:0.5; cursor:not-allowed; }
#fermi-progress-text { font-size:.7rem; color:#9ca3af; min-height:1rem; text-align:center; }
#fermi-progress { width:100%; height:3px; background:#1f2937; border-radius:2px; overflow:hidden; }
#fermi-progress-bar { height:100%; background:#3b82f6; width:0%; transition:width .3s; }
#report-list { flex:1; overflow-y:auto; }
#report-table { width:100%; border-collapse:collapse; font-size:var(--tbl-font,.72rem); }
#report-table thead th { padding:.4rem .6rem; text-align:left; color:#6b7280; font-weight:500; border-bottom:1px solid #1f2937; cursor:pointer; user-select:none; white-space:nowrap; position:sticky; top:0; background:#111827; z-index:1; }
#report-table thead th:hover { color:#d1d5db; }
#report-table thead th.sort-active { color:#93c5fd; }
#report-table tbody tr { cursor:pointer; border-bottom:1px solid #1f2937; }
#report-table tbody tr:hover td { background:#1f2937; }
#report-table tbody tr.active td { background:#1d4ed8; color:#fff; }
#report-table tbody td { padding:.2rem .6rem; white-space:nowrap; color:#d1d5db; }
#report-table tbody tr.older-row td { background:#0d1117; }
#report-table tbody tr.older-row:hover td { background:#1a2234; }
#report-table tbody tr.older-row.active td { background:#1d4ed8; }
.sym-chip { display:inline-flex; align-items:center; padding:.1rem .4rem; border-radius:.25rem; font-size:.7rem; font-weight:700; letter-spacing:.03em; background:#1e3a5f; color:#60a5fa; }
#research-main { flex:1; display:flex; flex-direction:column; overflow:hidden; }
#detail-empty { flex:1; display:flex; align-items:center; justify-content:center; color:#4b5563; font-size:.9rem; }
#detail-view { display:none; flex:1; flex-direction:column; overflow-y:auto; padding:1.5rem; }
.target-card { flex:1; background:#111827; border-radius:.5rem; padding:1rem; text-align:center; border:1px solid #1f2937; min-width:7rem; }
.target-card .tc-label { font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
.target-card.bear .tc-label { color:#ef4444; }
.target-card.base .tc-label { color:#9ca3af; }
.target-card.bull .tc-label { color:#22c55e; }
.target-card input { width:100%; background:transparent; border:none; border-bottom:1px solid #374151; color:#f3f4f6; font-size:1.1rem; font-weight:600; text-align:center; outline:none; padding:.2rem 0; }
.target-card input:focus { border-bottom-color:#3b82f6; }
.target-card input::placeholder { color:#4b5563; font-weight:400; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(7rem,1fr)); gap:.5rem; }
.stat-box { background:#111827; border:1px solid #1f2937; border-radius:.375rem; padding:.5rem .75rem; }
.stat-box .sb-label { font-size:.65rem; color:#6b7280; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.2rem; }
.stat-box .sb-value { font-size:.85rem; font-weight:600; color:#f3f4f6; }
#filter-row { padding:.5rem .75rem; border-bottom:1px solid #1f2937; flex-shrink:0; }
.expand-btn { display:inline-flex; align-items:center; justify-content:center; height:1rem; min-width:1.25rem; padding:0 .2rem; background:#1f2937; border:1px solid #374151; border-radius:.2rem; font-size:.6rem; font-weight:700; color:#9ca3af; margin-left:.3rem; cursor:pointer; vertical-align:middle; line-height:1; }
.expand-btn:hover { background:#374151; color:#e5e7eb; }
.folder-header-row td { padding:.35rem .6rem; background:#0d1117; border-bottom:1px solid #1f2937; user-select:none; cursor:pointer; }
.folder-toggle { font-size:.6rem; color:#6b7280; margin-right:.3rem; }
.folder-name { font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:#9ca3af; }
.folder-name[contenteditable="true"] { outline:1px solid #3b82f6; border-radius:2px; padding:0 2px; color:#f3f4f6; text-transform:none; user-select:text; }
.folder-rename { font-size:.7rem; color:#374151; cursor:pointer; margin-left:.3rem; opacity:0; transition:opacity .15s; vertical-align:middle; }
.folder-header-row:hover .folder-rename { opacity:1; }
.folder-rename:hover { color:#9ca3af; }
.folder-delete { float:right; font-size:.8rem; color:#4b5563; cursor:pointer; line-height:1; padding:0 .15rem; }
.folder-delete:hover { color:#ef4444; }
.unfiled-sep td { padding:.25rem .6rem; font-size:.65rem; color:#374151; text-transform:uppercase; letter-spacing:.06em; background:#0d1117; }
.drag-over td { background:#1e3a5f !important; }
tr[draggable="true"] { cursor:grab; }
tr[draggable="true"]:active { cursor:grabbing; }
#new-folder-btn { display:block; width:100%; padding:.35rem .75rem; font-size:.72rem; color:#6b7280; text-align:left; background:transparent; border:none; border-bottom:1px solid #1f2937; cursor:pointer; flex-shrink:0; }
#new-folder-btn:hover { color:#d1d5db; background:#1f2937; }
@media (max-width:639px) {
  #research-layout { flex-direction:column; height:auto; overflow:visible; }
  #research-sidebar { width:100%; flex-shrink:0; border-right:none; border-bottom:1px solid #1f2937; height:auto; max-height:none; overflow:visible; display:flex; flex-direction:column; }
  #research-sidebar.mobile-hidden { display:none; }
  #report-list { overflow-y:visible; }
  #research-main { flex:1; overflow-y:auto; }
  #detail-view { padding:1rem; }
  #mobile-back-btn { display:flex; }
}
