
:root{--bg:#0b1320;--panel:#111c2b;--panel2:#162337;--text:#eaf0f7;--muted:#8fa1b5;--line:#24354d;--accent:#8bc5ff;--good:#70d6a3;--warn:#ffca75;--bad:#ff8e8e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
header{display:flex;justify-content:space-between;align-items:center;padding:24px 34px 16px;border-bottom:1px solid var(--line);background:rgba(11,19,32,.98)}
h1{margin:4px 0;font-size:28px}h2{margin:0 0 18px;font-size:20px}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:700}.muted{color:var(--muted);font-size:13px}
button,select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px 12px}
.datebar{display:flex;align-items:center;gap:10px;padding:12px 34px 14px;border-bottom:1px solid var(--line);background:#0d1725;position:sticky;top:0;z-index:20}
.tabs{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px;flex:1}.tab{cursor:pointer;white-space:nowrap;font-weight:650;text-align:center}.tab.active{background:var(--accent);color:#0b1320;font-weight:800;border-color:var(--accent)}.tab.pending{opacity:.62}.tab .dot{width:6px;height:6px;border-radius:50%;background:var(--warn);display:inline-block;margin-left:6px;vertical-align:middle}.more-dates{width:112px;flex:0 0 112px}
main{padding:22px 34px 60px;max-width:1600px;margin:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-grid,.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.market-card,.stock-card,.driver-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px}.kpi{font-size:28px;font-weight:700;margin:6px 0}.good{color:var(--good)}.bad{color:var(--bad)}
.headline-item{padding:12px 0;border-bottom:1px solid var(--line)}.headline-item a{color:var(--text);text-decoration:none;font-weight:650}.headline-item a:hover{color:var(--accent)}.news-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.news-source{font-size:11px;color:var(--accent);border:1px solid #31506f;border-radius:999px;padding:2px 7px}
.source-badges{display:flex;gap:6px;flex-wrap:wrap;margin:-6px 0 12px}.source-badges span{font-size:11px;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:4px 8px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.filters{display:flex;gap:8px}.summary-table{width:100%;border-collapse:collapse;margin-top:12px}.summary-table th,.summary-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.source-list a{color:var(--accent);text-decoration:none}ul.clean{margin:0;padding-left:20px}.mini{font-size:12px;color:var(--muted)}.empty-state{background:var(--panel2);border:1px dashed var(--line);border-radius:10px;padding:18px}
.report-meta{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}.report-meta a{color:var(--text);text-decoration:none}.report-meta a:hover{color:var(--accent)}
.hansuwi-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.table-scroll{overflow-x:auto}.hansuwi-chart-group{margin-top:20px}.hansuwi-chart-group h4{margin:0 0 10px}.hansuwi-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hansuwi-chart-card{display:block;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none}.hansuwi-chart-card img{display:block;width:100%;height:auto;aspect-ratio:1.11/1;object-fit:contain;background:#fff}.hansuwi-chart-card div{display:flex;flex-direction:column;gap:3px;padding:9px 11px;background:var(--panel2);color:var(--text)}.hansuwi-chart-card span{font-size:11px;color:var(--muted)}.legacy-market{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}.legacy-market summary{cursor:pointer;color:var(--muted);font-size:12px;margin-bottom:12px}
@media(max-width:1000px){.tabs{display:flex;overflow-x:auto}.tab{min-width:116px}.datebar{padding-left:16px;padding-right:16px}.grid2,.market-grid,.stock-grid,.hansuwi-data-grid{grid-template-columns:1fr}.hansuwi-chart-grid{grid-template-columns:1fr}.section-title-row{align-items:flex-start;flex-direction:column}.filters{width:100%;flex-wrap:wrap}main{padding-left:16px;padding-right:16px}}

/* v0.5 */
.stock-grid,.listing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.market-meta,.listing-meta{font-size:12px;opacity:.78}
.section-subhead{font-size:13px;font-weight:700;margin:12px 0 8px}

/* v0.5.2 */
.stock-card canvas{margin-top:10px;max-height:78px}
.stock-link{color:inherit;text-decoration:none}.stock-link:hover{text-decoration:underline}
.stock-summary{font-size:11px;opacity:.82;margin-top:8px;line-height:1.35}
.section-subhead{font-size:12px;font-weight:700;margin:10px 0 6px}
.listing-block{margin:10px 0 20px}.listing-block h4{margin:0 0 8px}

/* v0.8 event intelligence */
.events-table{margin-top:0;table-layout:fixed}.events-table th:nth-child(1){width:190px}.events-table th:nth-child(2){width:25%}.events-table th:nth-child(3){width:145px}.events-table th:nth-child(5){width:82px}.events-table th:nth-child(6){width:88px}.events-table td{vertical-align:top;line-height:1.35}.event-date{white-space:nowrap;font-size:12px}.event-full-name{font-size:12px;color:var(--muted);font-weight:500}.event-companies{font-size:13px}.company-basis{color:var(--warn);font-size:11px;white-space:nowrap}.relevance-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--line)}.relevance-A{background:rgba(112,214,163,.16);color:var(--good);border-color:rgba(112,214,163,.45)}.relevance-B{background:rgba(139,197,255,.14);color:var(--accent);border-color:rgba(139,197,255,.4)}.relevance-C{background:rgba(255,202,117,.12);color:var(--warn);border-color:rgba(255,202,117,.4)}.official-link{color:var(--accent);text-decoration:none;white-space:nowrap}.official-link:hover{text-decoration:underline}
@media(max-width:1000px){.events-table{min-width:980px}}
@media(max-width:1000px){
  .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-grid,.stock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hansuwi-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hansuwi-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Mobile: preserve full desktop dashboard layout and scale it to device width */
@media (max-width:1000px) {
  html {
    min-width: 1600px;
  }

  body {
    width: 1600px;
    zoom: calc(100vw / 1600);
  }

  header {
    width: 1600px;
  }

  main {
    max-width: 1600px;
    padding-left: 34px;
    padding-right: 34px;
  }

  .datebar {
    padding-left: 34px;
    padding-right: 34px;
  }

  .tabs {
    display:grid;
    grid-template-columns:repeat(7,minmax(110px,1fr));
    overflow:visible;
  }

  .tab {
    min-width:0;
  }

  .grid2 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .market-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .stock-grid {
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  }

  .hansuwi-data-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hansuwi-chart-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .section-title-row {
    align-items:center;
    flex-direction:row;
  }

  .filters {
    width:auto;
    flex-wrap:nowrap;
  }
}
