/* KabuBase ダッシュボード — dashboard.js が <link> で読み込む */

#kb-dash-btn{
  position:fixed;top:14px;right:16px;z-index:9000;
  display:flex;align-items:center;gap:6px;
  padding:6px 13px;background:#0f172a;border:1px solid #334155;border-radius:6px;
  color:#cbd5e1;font-size:12.5px;font-family:inherit;cursor:pointer;
  transition:background .15s,border-color .15s;
  -webkit-appearance:none;appearance:none}
#kb-dash-btn:hover{background:#1e293b;border-color:#475569}
#kb-dash-btn svg{flex-shrink:0;opacity:.8}

@media(max-width:760px){#kb-dash-btn{display:none!important}}

#kb-dash-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  z-index:9001;opacity:0;pointer-events:none;
  transition:opacity .22s;
  -webkit-transform:translateZ(0);transform:translateZ(0);
  display:none}
#kb-dash-overlay.open{opacity:1;pointer-events:auto;display:block}

#kb-dash-panel{
  position:fixed;top:0;right:0;bottom:0;
  left:max(0px,calc(100vw - 420px));
  z-index:9002;
  background:#0a0f1e;border-left:1px solid #1e293b;
  display:flex;flex-direction:column;
  -webkit-transform:translateX(100%);transform:translateX(100%);
  -webkit-transition:-webkit-transform .25s cubic-bezier(.16,1,.3,1);
  transition:transform .25s cubic-bezier(.16,1,.3,1);
  overflow:hidden;will-change:transform}
#kb-dash-panel.open{
  -webkit-transform:translateX(0);transform:translateX(0)}

#kb-dash-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid #1e293b;flex-shrink:0}
#kb-dash-head .kb-logo{font-size:16px;font-weight:700;color:#e2e8f0;letter-spacing:.02em}
#kb-dash-head .kb-logo span{color:#3b82f6}

#kb-dash-close{
  background:none;border:none;color:#64748b;cursor:pointer;padding:4px;
  display:flex;align-items:center;border-radius:4px;
  -webkit-appearance:none;appearance:none}
#kb-dash-close:hover{color:#e2e8f0;background:#1e293b}

#kb-dash-body{
  flex:1;overflow-y:auto;padding:18px 18px 32px;
  display:flex;flex-direction:column;gap:24px}
#kb-dash-body::-webkit-scrollbar{width:4px}
#kb-dash-body::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}

#kb-dash-tools-link{
  display:flex;align-items:center;gap:5px;padding:8px 18px;
  font-size:11px;color:#475569;text-decoration:none;
  border-bottom:1px solid #1e293b;
  transition:color .15s,background .15s;flex-shrink:0}
#kb-dash-tools-link:hover{color:#94a3b8;background:#0f172a}

.kb-ds-title{font-size:10px;font-weight:600;letter-spacing:.1em;color:#475569;text-transform:uppercase;margin-bottom:10px}

/* 検索 */
.kb-ds-search{position:relative}
.kb-ds-search-box{
  display:flex;align-items:center;gap:8px;
  background:#0f172a;border:1px solid #1e293b;border-radius:7px;padding:8px 12px}
.kb-ds-search-box:focus-within{border-color:#3b82f6}
.kb-ds-search-box svg{flex-shrink:0;color:#475569}
#kb-ds-sinput{flex:1;background:none;border:none;outline:none;color:#e2e8f0;font-size:16px;font-family:inherit}
#kb-ds-sinput::placeholder{color:#334155}
#kb-ds-sdrop{
  display:none;position:absolute;top:calc(100% + 5px);left:0;right:0;
  background:#0f172a;border:1px solid #1e293b;border-radius:7px;
  overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:10}
#kb-ds-sdrop.open{display:block}
.kb-ds-si{
  display:flex;align-items:center;gap:10px;padding:9px 12px;
  text-decoration:none;color:#cbd5e1;border-bottom:1px solid #0f172a;font-size:13px}
.kb-ds-si:hover{background:#1e293b}
.kb-ds-si-code{font-size:11px;color:#64748b;font-variant-numeric:tabular-nums;min-width:36px}
.kb-ds-si-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-ds-si-mkt{font-size:10px;color:#475569}
.kb-ds-empty{padding:10px 12px;font-size:12px;color:#475569}

/* ウォッチリスト */
#kb-ds-wl-list{display:flex;flex-direction:column;gap:6px}
.kb-wl-item{
  display:flex;align-items:center;justify-content:space-between;
  background:#0f172a;border:1px solid #1e293b;border-radius:6px;padding:9px 12px;
  text-decoration:none;color:#cbd5e1;transition:border-color .15s}
.kb-wl-item:hover{border-color:#334155}
.kb-wl-left{display:flex;flex-direction:column;gap:2px}
.kb-wl-code{font-size:11px;color:#475569}
.kb-wl-name{font-size:13px;color:#e2e8f0}
.kb-wl-price{font-size:13px;color:#94a3b8;font-variant-numeric:tabular-nums}
.kb-wl-empty{font-size:12px;color:#334155;padding:8px 0}
.kb-wl-link{display:inline-block;margin-top:8px;font-size:12px;color:#3b82f6;text-decoration:none}
.kb-wl-link:hover{color:#60a5fa}

/* ツールリンク */
.kb-ds-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.kb-ds-link{
  display:flex;align-items:center;padding:8px 11px;
  background:#0f172a;border:1px solid #1e293b;border-radius:6px;
  font-size:12px;color:#94a3b8;text-decoration:none;
  transition:border-color .15s,color .15s}
.kb-ds-link:hover{border-color:#334155;color:#e2e8f0}

@media(max-width:600px){.csv-btn,#csv-btn{display:none!important}}
