:root{
  --fg:#e5e7eb; --bg:#0b1020; --muted:#94a3b8;
  --pos:#16a34a; --neg:#ef4444; --card:#0f172a; --line:#1f2735;
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial;color:var(--fg);background:var(--bg);}
header{padding:16px 20px;border-bottom:1px solid #1f2937}
h1{margin:0;font-size:18px}
#updated_at{color:var(--muted);font-size:12px;margin-left:8px}
main{padding:16px 12px;max-width:1200px;margin:auto}

.toolbar{position:sticky;top:0;background:rgba(11,16,32,.85);backdrop-filter:blur(6px);border:1px solid #142038;border-radius:12px;padding:10px 12px;margin-bottom:12px;z-index:10}
.tool-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#search{flex:1 1 260px;background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:8px;padding:8px 10px;outline:none}
.filters label{margin-right:10px}
.filters input{vertical-align:middle;margin-right:4px}
.range select{background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:6px 8px}

h2{font-size:16px;margin:8px 0 6px}
h3{font-size:15px;margin:18px 0 8px}
.subhead{color:var(--muted);font-size:12px;margin:4px 0 8px}

table{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden}
thead th{position:sticky;top:0;background:#111726;font-weight:600;font-size:12px;padding:8px 6px;text-align:left}
tbody td{padding:8px 6px;border-top:1px solid var(--line);font-size:13px;white-space:nowrap}
.summary td,.summary th{font-size:13px}
tbody tr.clickable{cursor:pointer}
tbody tr.clickable:hover{background:#0d1429}

.badge{background:#1f2937;color:#e5e7eb;border:1px solid #2b3548;border-radius:999px;padding:2px 8px;font-size:12px}
.pos{color:var(--pos);font-weight:600}
.neg{color:var(--neg);font-weight:600}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stock-block{margin-bottom:18px}
.name-dim{color:var(--muted);font-size:12px;display:block}

.lists{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.list-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.list-card h3{margin:0 0 6px 0}
.list-card ul{list-style:none;margin:0;padding:0}
.list-card li{padding:6px 0;border-top:1px dashed var(--line)}
.list-card li:first-child{border-top:none}
.list-card .muted{color:var(--muted)}

tr.forming td:first-child::after{content:"（未收）"; color:var(--muted); margin-left:6px; font-size:12px}

@media (max-width:900px){
  .grid-2{grid-template-columns:1fr}
  .lists{grid-template-columns:1fr}
  thead th,tbody td{font-size:12px}
}
