*{margin:0;padding:0;box-sizing:border-box}
body{background:#0d1117;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;display:flex;height:100vh;overflow:hidden}
a{color:inherit;text-decoration:none}
.up{color:#ef5350} .dn{color:#26a69a}
.fv{font-variant-numeric:tabular-nums}

/* ===== 侧边栏 ===== */
.sidebar{width:200px;min-width:200px;background:#161b22;border-right:1px solid #21262d;display:flex;flex-direction:column;height:100vh}
.sidebar-logo{padding:18px 20px;font-size:17px;font-weight:800;background:linear-gradient(135deg,#ff6b6b,#ee5a24);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;border-bottom:1px solid #21262d;letter-spacing:.5px}
.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:#8b949e;transition:.15s}
.nav-item:hover{background:#21262d;color:#c9d1d9}
.nav-item.active{background:rgba(239,83,80,.15);color:#ef5350}
.nav-icon{font-size:15px;width:20px;text-align:center}

/* ===== 右侧内容区 ===== */
.main-content{flex:1;overflow-y:auto;height:100vh;padding:20px 24px}

/* ===== 搜索 ===== */
.search-row{display:flex;gap:12px;margin-bottom:14px;align-items:center}
.search-input{background:#0d1117;border:1px solid #21262d;color:#c9d1d9;padding:7px 14px;border-radius:6px;font-size:13px;width:280px;outline:none}
.search-input:focus{border-color:#388bfd}
.search-input::placeholder{color:#484f58}
.page-info{color:#484f58;font-size:12px;margin-left:auto}

/* ===== 股票表格 ===== */
.stk-table{width:100%;border-collapse:collapse}
.stk-table th{text-align:left;padding:8px 12px;font-size:11px;color:#484f58;border-bottom:1px solid #21262d;font-weight:600;text-transform:uppercase}
.stk-table td{padding:8px 12px;font-size:13px;border-bottom:1px solid #161b22;font-variant-numeric:tabular-nums}
.stk-table tr:hover{background:#161b22}
.stk-table .code{color:#58a6ff;font-weight:700;cursor:pointer}
.stk-table .code:hover{text-decoration:underline}
.view-btn{background:#21262d;color:#8b949e;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;transition:.15s}
.view-btn:hover{background:#30363d;color:#fff}

/* ===== 分页 ===== */
.pager{display:flex;gap:4px;margin-top:12px;justify-content:center}
.pg-btn{background:#161b22;border:1px solid #21262d;color:#8b949e;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:12px}
.pg-btn:hover{border-color:#484f58;color:#c9d1d9}
.pg-btn.active{background:#238636;color:#fff;border-color:#238636}
.pg-btn:disabled{opacity:.3;cursor:not-allowed}

/* ===== K线弹窗 ===== */
.modal-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;align-items:center;justify-content:center}
.modal-mask.show{display:flex}
.modal{background:#0d1117;border:1px solid #21262d;border-radius:12px;width:92vw;max-width:1200px;height:80vh;overflow:hidden;position:relative}
.modal-head{display:flex;align-items:center;padding:12px 20px;background:#161b22;border-bottom:1px solid #21262d;gap:12px}
.modal-head .m-title{font-size:16px;font-weight:700}
.modal-head .m-code{font-size:12px;color:#484f58}
.modal-head .m-close{margin-left:auto;background:none;border:none;color:#8b949e;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px}
.modal-head .m-close:hover{background:#21262d;color:#fff}
.modal-head .ind-group{display:flex;gap:2px;margin-left:16px}
.modal-head .ind-btn{background:none;border:none;color:#8b949e;padding:3px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:700}
.modal-head .ind-btn.on{background:#238636;color:#fff}
#modal-chart{width:100%;height:calc(80vh - 52px)}

/* ===== 汉堡菜单按钮 ===== */
.menu-toggle{display:none;position:fixed;top:10px;left:10px;z-index:310;background:#161b22;border:1px solid #21262d;color:#c9d1d9;width:38px;height:38px;border-radius:8px;font-size:20px;cursor:pointer;align-items:center;justify-content:center;line-height:1}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:290}

/* ===== 移动端响应式 ===== */
@media(max-width:768px){
  .menu-toggle{display:flex}
  .sidebar{position:fixed;left:-260px;top:0;z-index:300;width:220px;min-width:220px;transition:left .25s ease;box-shadow:4px 0 20px rgba(0,0,0,.5)}
  .sidebar.open{left:0}
  .sidebar-overlay.show{display:block}
  .main-content{padding:56px 12px 16px 12px;width:100%}
  .search-row{flex-wrap:wrap}
  .search-input{width:100%}
  .page-info{margin-left:0;width:100%}
  .stk-table th,.stk-table td{padding:6px 6px;font-size:11px}
  .modal{width:98vw;height:90vh;border-radius:8px}
  .modal-head{padding:10px 12px;gap:6px;flex-wrap:wrap}
  .modal-head .m-title{font-size:14px}
  .modal-head .ind-group{margin-left:0}
  #modal-chart{height:calc(90vh - 52px)}
  .pager{flex-wrap:wrap}
}
