:root{--bg:#f6f7f9;--card:#fff;--line:#e3e6ea;--ink:#1f2329;--sub:#6b7280;--accent:#2d6cdf;--accent2:#eaf1fd;--ok:#15803d;--warn:#b45309;--danger:#b91c1c;}
  *{box-sizing:border-box;}
  html,body{height:100%;}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans JP',sans-serif;background:var(--bg);color:var(--ink);font-size:14px;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;}
  header{flex:0 0 auto;background:#fff;border-bottom:1px solid var(--line);z-index:20;}
  .bar{display:flex;align-items:center;gap:10px;padding:6px 14px;}
  .bar h1{font-size:14px;margin:0;flex:1;}
  .tabs{display:flex;gap:4px;padding:0 12px;}
  .tabs button{border:none;background:none;padding:6px 12px;font-size:13px;color:var(--sub);cursor:pointer;border-bottom:2px solid transparent;}
  .tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;}
  main{padding:10px 14px;max-width:none;margin:0;flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;}
  .panel{display:none;}
  .panel.active{display:block;}
  .filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;position:sticky;top:0;z-index:4;background:var(--bg);padding-top:4px;} /* v0.18.1: スクロール時に検索バーを固定 */
  .setpagesize{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;} /* v0.18.1: 1ページ表示行数セレクト */
  .filters input,.filters select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;}
  .filters input[type=text]{min-width:150px;flex:1;}
  .chk{display:flex;align-items:center;gap:6px;color:var(--sub);}
  button.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;}
  button.btn.ghost{background:#fff;color:var(--accent);border:1px solid var(--accent);}
  button.btn.sub{background:#eef1f5;color:var(--ink);}
  .meta{color:var(--sub);font-size:12px;margin:4px 0;}
  table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;}
  th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top;}
  th{background:#fafbfc;color:var(--sub);font-weight:600;white-space:nowrap;}
  tr.row{cursor:pointer;}
  tr.row:hover{background:var(--accent2);}
  .badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#eef1f5;color:#374151;white-space:nowrap;}
  .badge.open{background:#fef3c7;color:#92400e;}
  .badge.done{background:#dcfce7;color:#166534;}
  .cards{display:none;}
  .card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;cursor:pointer;}
  .card .t{font-weight:600;margin:2px 0;}
  .card .s{color:var(--sub);font-size:12px;}
  form .grp{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;}
  form .grp h3{margin:0 0 7px;font-size:13px;color:var(--accent);}
  .field{margin-bottom:7px;}
  .field label{display:block;font-size:11px;color:var(--sub);margin-bottom:2px;}
  .field label .req{color:var(--danger);}
  .field input,.field select,.field textarea{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;}
  .field textarea{min-height:54px;resize:vertical;}
  .cols2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
  .dropzone{border:2px dashed var(--line);border-radius:10px;padding:18px;text-align:center;color:var(--sub);cursor:pointer;}
  .dropzone.drag{border-color:var(--accent);background:var(--accent2);}
  .files{list-style:none;padding:0;margin:8px 0 0;}
  .files li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;}
  .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;}
  .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1f2329;color:#fff;padding:10px 18px;border-radius:8px;opacity:0;transition:opacity .2s;z-index:400;}
  .toast.show{opacity:1;}
  .toast.err{background:var(--danger);}
  /* ===== v0.14.0 SFA用TSVコピー：手動コピー用モーダル ===== */
  .sfamodal-ov{position:fixed;inset:0;background:rgba(15,17,21,.5);display:flex;align-items:center;justify-content:center;z-index:70;padding:16px;}
  .peek-ov{position:fixed;inset:0;background:rgba(15,17,21,.45);z-index:65;}
  .peek{width:440px;max-width:80vw;position:relative;background:var(--card);border-left:1px solid var(--line);box-shadow:-8px 0 24px rgba(0,0,0,.18);display:flex;flex-direction:column;flex-shrink:0;}
  /* v0.18.0: ドッキングウィンドウ方式（PC：flexレイアウト、スマホ：従来オーバーレイ） */
  main.docked{display:flex!important;flex-direction:row!important;overflow:hidden!important;padding:0!important;}
  main.docked>.panel.active{flex:1;overflow:auto;padding:10px 14px;min-width:0;}
  .peek .phead{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);}
  .peek .phead .no{font-weight:700;}
  .peek .phead .cls{margin-left:auto;padding:2px 10px;}
  .peek .pbody{flex:1;overflow:auto;padding:8px 14px 14px;}
  .peek .prow{display:grid;grid-template-columns:132px 1fr;gap:2px 10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px;}
  .peek .prow .k{color:var(--sub);}
  .peek .prow .v{white-space:pre-wrap;word-break:break-word;}
  .peek .prow .empty{color:var(--line);}
  .peek .pnote{margin:8px 0 10px;padding:8px 10px;background:var(--accent2);border-radius:8px;font-size:12px;color:var(--sub);}
  .peek .pfoot{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;}
  .peek .presize{position:absolute;left:-5px;top:0;bottom:0;width:10px;cursor:col-resize;touch-action:none;}
  .peek .presize:hover{background:var(--accent2);}
  @media (max-width:860px){.peek{position:fixed;top:0;right:0;bottom:0;width:100vw;max-width:100vw;border-left:none;z-index:66;flex-shrink:none;}main.docked{display:block!important;overflow:auto!important;padding:10px 14px!important;}main.docked>.panel.active{flex:none;overflow:visible;padding:0;}.peek .presize{display:none;}}
  /* v0.18.0: 最後にクリックした行ハイライト（ピーク閉じても残す） */
  tr.row.last-clicked-row{background:var(--accent2)!important;}
  tr.row.last-clicked-row td{font-weight:600;}
  .sfamodal{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;max-width:640px;width:100%;padding:14px;box-shadow:0 12px 32px rgba(0,0,0,.3);}
  .sfamodal h3{margin:0 0 6px;font-size:15px;}
  .sfamodal textarea{width:100%;height:120px;box-sizing:border-box;font-family:monospace;font-size:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px;}
  .sfamodal .row{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;}
  .jsonimp{max-width:720px;} /* v0.34.0 */
  .jsonimp .row{flex-wrap:wrap;gap:6px;} /* v0.35.1: ボタン行の折り返し制御 */
  .jsonimp .row .btn{padding:6px 12px;font-size:12.5px;white-space:nowrap;border-radius:6px;} /* v0.35.1: ボタンをコンパクト化 */
  .jsonimp-ta{width:100%;height:180px;box-sizing:border-box;font-family:monospace;font-size:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px;}
  .jsonimp-res{margin-top:10px;font-size:13px;line-height:1.5;}
  .jsonimp-res .ok{color:#16a34a;font-weight:600;}
  .jsonimp-res .warn{color:#d97706;margin-top:6px;}
  .jsonimp-res ul{margin:4px 0 0 18px;padding:0;}
  .jsonimp-queue{margin:8px 0;padding:8px;border:1px dashed var(--line);border-radius:6px;font-size:13px;}
  .spinner{display:inline-block;width:16px;height:16px;border:2px solid #cbd5e1;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;}
  @keyframes spin{to{transform:rotate(360deg);}}
  /* v0.21.0 操作インターロック（全画面オーバーレイ） */
  .busy-ov{position:fixed;inset:0;background:rgba(15,17,21,.45);display:flex;align-items:center;justify-content:center;z-index:300;}
  .busy-box{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:18px 26px;display:flex;align-items:center;gap:12px;font-size:14px;box-shadow:0 12px 32px rgba(0,0,0,.25);}
  .busy-box .spinner{width:22px;height:22px;border-width:3px;}
  /* v0.21.0 記述内容リッチエディタ（contenteditable） */
  .rtoolbar{display:flex;gap:6px;align-items:center;margin-bottom:4px;flex-wrap:wrap;}
  .rtoolbar .btn{padding:3px 10px;font-size:12px;}
  .imgup{display:none;align-items:center;gap:6px;font-size:12px;color:var(--sub);margin-left:auto;}
  .imgup .spinner{width:14px;height:14px;border-width:2px;}
  .rte{border:1px solid var(--line);border-radius:8px;padding:6px 8px;min-height:64px;max-height:80vh;overflow-y:auto;resize:vertical;font-size:13px;line-height:1.6;background:#fff;color:var(--ink);word-break:break-word;}
  .rte:focus{outline:none;border-color:var(--accent);}
  .rte .richimg{max-width:100%;border-radius:8px;display:block;background:#eef1f5;opacity:0;transition:opacity .3s;}
  .rte .richimg.loaded{opacity:1;}
  /* v0.31.4 画像の選択・削除・サイズ安定化（contenteditable=falseラッパで画像を原子的に扱う） */
  .rte .imgwrap{display:block;position:relative;width:fit-content;max-width:100%;margin:4px 0;border-radius:8px;}
  .rte .imgwrap .richimg{margin:0;}
  .rte .imgwrap.sel{outline:2px solid var(--accent);outline-offset:2px;}
  .rte .imgwrap.sel .richimg{opacity:.8;}
  .rte .imgtools{position:absolute;top:4px;right:4px;display:none;gap:4px;align-items:center;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:6px;padding:2px 4px;box-shadow:0 2px 8px rgba(0,0,0,.18);z-index:2;}
  .rte .imgwrap:hover .imgtools,.rte .imgwrap.sel .imgtools{display:inline-flex;}
  .rte .imgtools button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:4px;font-size:11px;padding:2px 7px;cursor:pointer;line-height:1.4;min-width:26px;min-height:24px;}
  .rte .imgtools button:hover{background:var(--accent2);}
  .rte .imgtools .imgdel{color:#c0392b;font-weight:bold;}
  .rte a{color:var(--accent);text-decoration:underline;}
  .rte.drag{border-color:var(--accent);background:var(--accent2);}
  .embed{width:100%;height:360px;border:1px solid var(--line);border-radius:10px;}
  .pager{display:flex;gap:8px;align-items:center;justify-content:center;margin:14px 0;}
  th[data-k]{cursor:pointer;user-select:none;}
  th[data-k]:hover{color:var(--accent);}
  .sarr{font-size:10px;margin-left:3px;color:var(--accent);}
  .qstat{padding:4px 6px;border:1px solid var(--line);border-radius:6px;font-size:12px;max-width:140px;background:#fff;}
  /* v0.19.0 オートコンプリート（営業・機種逆引き） */
  .acwrap{position:relative;}
  .aclist{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);max-height:220px;overflow:auto;display:none;margin-top:2px;}
  .acitem{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;cursor:pointer;font-size:13px;}
  .acitem.sel,.acitem:hover{background:var(--accent2);}
  .acv{white-space:nowrap;}
  .acs{color:var(--sub);font-size:12px;white-space:nowrap;}
  .board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;}
  .kcol{flex:0 0 260px;background:#eef1f5;border-radius:10px;padding:8px;}
  .khead{font-weight:600;font-size:13px;padding:6px 8px;display:flex;align-items:center;gap:6px;}
  .kcount{background:#dde1e7;border-radius:999px;padding:0 8px;font-size:12px;color:#555;}
  .klist{min-height:60px;display:flex;flex-direction:column;gap:8px;padding:4px;border-radius:8px;transition:background .15s;}
  .klist.over{background:#dbeafe;outline:2px dashed var(--accent);}
  .klist.kdone{background:#eef7ee;}
  .kdrop{font-size:12px;color:var(--ok);text-align:center;padding:8px;border:1px dashed #9bca9b;border-radius:8px;}
  .kcard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.04);}
  .kcard.dragging{opacity:.5;}
  .kcard .kno{font-size:11px;color:var(--sub);}
  .kcard .kt{font-weight:600;font-size:13px;margin:2px 0;}
  .kcard .ks{font-size:12px;color:var(--sub);}
  @media(max-width:860px){ .kcol{flex:0 0 82%;} }
  .mobile-sfbar{display:none;} /* v0.31.0: スマホ用ソート・絞り込みバー */
  @media(max-width:860px){
    table{display:none;}
    .cards{display:block;}
    .cols2,.cols3{grid-template-columns:1fr;}
    .filters input[type=text]{min-width:120px;}
    .mobile-sfbar{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap;}
    .mobile-sfbar select{flex:1 1 120px;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-size:16px;background:#fff;}
    .mobile-sfbar .btn{padding:7px 12px;font-size:14px;white-space:nowrap;}
  }

/* v0.3.0 追加 */
#list-table th{cursor:pointer;user-select:none;white-space:nowrap;}
.sarr{margin-left:4px;font-size:11px;color:#2563eb;}
.qstat{padding:3px 6px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:#fff;max-width:130px;}
.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start;}
.kcol{flex:1 1 0;min-width:240px;background:#f5f6f8;border-radius:10px;padding:8px;}
.khead{font-weight:600;font-size:13px;padding:5px 8px;margin-bottom:8px;display:flex;align-items:center;gap:6px;background:#fff;border-radius:6px;}
.kcount{font-size:12px;border-radius:10px;padding:1px 9px;font-weight:700;}
.klist{min-height:50px;display:flex;flex-direction:column;gap:8px;}
.klist.over{outline:2px dashed #2563eb;outline-offset:2px;border-radius:8px;}
.kcard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;cursor:grab;}
.kcard.dragging{opacity:.5;}
.kno{font-size:11px;color:#6b7280;}
.kt{font-weight:600;font-size:13px;margin:2px 0;}
.ks{font-size:11px;color:#6b7280;}
.kdrop{border:2px dashed;border-radius:8px;padding:16px 10px;text-align:center;font-size:13px;font-weight:600;}
.setgrp{margin-bottom:22px;}
.setgrp h3{font-size:14px;margin:0 0 10px;}
.setcols{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;}
.setcols label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;}
.setcolors{display:flex;flex-direction:column;gap:8px;max-width:360px;}
.colorrow{display:flex;align-items:center;gap:10px;}
.colorrow input[type=color]{width:44px;height:28px;border:1px solid var(--line);border-radius:6px;padding:0;background:#fff;cursor:pointer;}
/* v0.4.0 追加 */
.setbar{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);padding:10px 0;margin:-4px 0 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.setdirty{color:#dc2626;font-size:13px;font-weight:600;}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.treebox{margin-top:8px;}
.tree{margin:4px 0;border-left:2px solid #e5e7eb;padding-left:8px;}
.tree>summary{cursor:pointer;font-weight:600;font-size:13px;padding:2px 0;}
.treefiles{list-style:none;margin:4px 0 6px;padding-left:14px;}
.treefiles li{font-size:13px;padding:2px 0;}
.treeempty{padding-left:14px;color:#9ca3af;}
.kfields{margin-top:4px;display:flex;flex-direction:column;gap:2px;}
.kf{font-size:11px;color:#374151;line-height:1.3;}
.kf span{display:inline-block;min-width:auto;color:#6b7280;margin-right:4px;}
.kqstat{margin-top:6px;width:100%;max-width:none;}
/* v0.4.1 看板件数エリア */
.kcol-co{flex:0 0 auto;min-width:96px;max-width:120px;background:#eef0f3;}
.kcol-co .klist{min-height:170px;}
.kcol-co .kdrop{height:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.kcobig{font-size:30px;font-weight:800;line-height:1;}
.kcolab{font-size:13px;font-weight:700;}
.kcohint{font-size:10px;opacity:.7;margin-top:4px;}
/* v0.5.0 レイアウト */
.iconbtn{background:#eef1f5;border:1px solid var(--line);border-radius:8px;font-size:16px;line-height:1;padding:6px 9px;cursor:pointer;}
.iconbtn.active{background:var(--accent2);border-color:var(--accent);}
.tablewrap{border:1px solid var(--line);border-radius:10px;background:#fff;}
#list-table{border-radius:0;overflow:visible;}
#list-table thead th{position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px 0 var(--line);} /* v0.18.2: テーブル本体のみスクロール */
#list-table{table-layout:fixed;} /* v0.23.0: 比率ベース・横スクロールなし */
#list-table th{border-right:1px solid var(--line);} /* v0.24.0: ヘッダー境界線を明示 */
#list-table th:last-child{border-right:none;}
#list-table th .colresize{position:absolute;right:0;top:0;bottom:0;width:7px;cursor:col-resize;z-index:4;touch-action:none;}
#list-table th .colresize:hover{background:var(--accent);}
#panel-list.active{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;} /* v0.18.2: ヘッダ・検索バー固定・データ部のみスクロール */
#panel-list.active .tablewrap{flex:1 1 auto;overflow:auto;min-height:0;}
#panel-list.active .pager{flex:0 0 auto;}
.board{min-height:calc(100vh - 150px);}
.kcard{touch-action:pan-y;}
.dragclone{opacity:.92;box-shadow:0 8px 22px rgba(0,0,0,.28);transform:rotate(1.5deg);pointer-events:none;z-index:999;}
@media(max-width:860px){ .tablewrap{border:none;} #panel-list.active{display:block;flex:none;min-height:0;overflow:visible;} #panel-list.active .tablewrap{flex:none;overflow:visible;} }
/* v0.9.2 */
/* v0.10.0 */
.hfilt{display:inline-block;margin-left:4px;color:#7a8696;cursor:pointer;font-size:13px;line-height:1;padding:2px 5px;border-radius:5px;vertical-align:middle;}
.hfilt:hover{color:var(--accent);background:#e8eef6;}
#list-table th.hfon{background:#eaf3ff;}
#list-table th.hfon .hfilt{color:var(--accent);}
.kf-btn.kf-on{background:var(--accent2);border-color:var(--accent);color:var(--accent);font-weight:600;}
.colmenu{position:fixed;z-index:90;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);width:244px;max-width:92vw;padding:8px;font-size:13px;}
.colmenu .cm-head{font-weight:700;margin:0 2px 6px;}
.colmenu .cm-search{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;}
.colmenu .cm-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:4px;}
.colmenu .cm-item{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.colmenu .cm-item:hover{background:#f1f5f9;}
.colmenu .cm-all{border-bottom:1px solid var(--line);margin-bottom:4px;font-weight:600;}
.colmenu .cm-foot{display:flex;gap:6px;margin-top:8px;}
.colmenu .cm-foot .btn{flex:1;}
.colmenu .cm-more{padding:4px 6px;font-size:11px;opacity:.7;} /* v0.32.0: 大量値の省略表示 */
.ktitle{font-size:15px;font-weight:700;line-height:1.35;margin:3px 0 5px;color:var(--ink);word-break:break-word;}
#panel-detail,#panel-new{max-width:1040px;margin:0 auto;}
#list-table th{cursor:grab;}
#list-table th.coldrag{opacity:.5;}
#list-table th.colover{box-shadow:inset 3px 0 0 var(--accent);background:var(--accent2);}
  .dzrow{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap;}
  .filesub{font-size:12px;padding:2px 4px;margin-left:8px;}
  .formfoot{position:sticky;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:9px 4px;margin-top:8px;z-index:6;}
  .uplist{margin:6px 0 0;}
  .upitem{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0;}
  .upitem .upname{flex:0 0 auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .upbar{flex:1;height:6px;background:#eef1f5;border-radius:999px;overflow:hidden;}
  .upbar>i{display:block;height:100%;width:0;background:var(--accent);transition:width .15s;}
.setruntime{font-size:13px}
.rtnow{margin-bottom:6px}
.rtbar{height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-bottom:10px}
.rtbarfill{height:100%;background:#3b82f6}
.rttable{width:100%;border-collapse:collapse;font-size:12px}
.rttable th,.rttable td{border-bottom:1px solid #eee;padding:3px 6px;text-align:left}
.rtnum{text-align:right!important}
.rtnote{margin-top:8px;color:#888;font-size:11px}
/* v0.10.1 */
.kfbar{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:6px;}
.kf-btn{padding:5px 10px;font-size:12px;}
.board{align-items:stretch;}
.kcol{display:flex;flex-direction:column;}
.klist{flex:1 1 auto;min-height:180px;}
.klist.over{background:#dbeafe;}
.kcol-co{flex:0 0 auto;}
.kbtabs{display:none;}
.kbtab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1;}
.kbtab-n{font-size:12px;background:rgba(0,0,0,.08);border-radius:999px;padding:1px 8px;font-weight:800;}
.kbtab-on .kbtab-n{background:rgba(255,255,255,.32);}
.kctop{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.kstatus{border:1px solid var(--line);background:#f3f5f8;border-radius:6px;font-size:11px;padding:3px 7px;cursor:pointer;color:var(--ink);white-space:nowrap;}
.kstatus:hover{background:#e8eef6;border-color:var(--accent);color:var(--accent);}
.statusmenu .cm-st{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:8px;font-size:14px;cursor:pointer;color:var(--ink);}
.statusmenu .cm-st:hover{background:#f1f5f9;}
.statusmenu .stdot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;}
.field textarea{overflow-y:hidden;}
/* v0.10.3 PC drag lift */
.kcard{transition:transform .12s ease, box-shadow .12s ease;}
.kcard:active{transform:scale(1.03) rotate(.5deg);box-shadow:0 10px 22px rgba(0,0,0,.20);cursor:grabbing;}
.kcard.dragging{transform:scale(1.03) rotate(1deg);box-shadow:0 12px 26px rgba(0,0,0,.22);}
.kbnav{display:none;}
.kbnav-btn{flex:1 1 0;min-width:0;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:13px;font-weight:700;line-height:1.2;padding:8px 6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.kbnav-btn:hover:not(:disabled){background:#e8eef6;}
.kbnav-btn:disabled{opacity:.3;cursor:default;}
.kbnav-prev{text-align:left;}
.kbnav-next{text-align:right;}
.kbnav-cur{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;padding:0 4px;white-space:nowrap;}
.kbnav-n{font-size:12px;border-radius:999px;padding:1px 8px;font-weight:800;}
@media(max-width:860px){
  .hfilt{font-size:15px;padding:4px 8px;}
  .kstatus{font-size:13px;padding:5px 10px;}
  .kf-btn{font-size:13px;padding:7px 12px;}
  .kbtabs{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px;}
  .board{flex-direction:column;overflow-x:visible;min-height:0;}
  .kcol{width:100%;min-width:0;display:none!important;}
  .kcol.kcol-sel{display:flex!important;flex:1 1 auto!important;width:100%;}
  .kcol-co{max-width:none;}
  .kbtab{padding:8px 14px;font-size:14px;}
  .kbnav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:2px 0 10px;}
  .kbnav-btn{font-size:14px;padding:10px 8px;}
  .kbnav-cur{font-size:15px;}
}
/* v0.19.3 スマホ最適化（SO-52D等・幅560px以下） */
@media(max-width:560px){
  .bar{padding:5px 8px;gap:6px;}
  .bar h1{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
  #sync-at{font-size:10px;}
  .bar .btn{padding:6px 10px;font-size:13px;}
  .iconbtn{padding:5px 7px;font-size:15px;}
  .tabs{overflow-x:auto;flex-wrap:nowrap;padding:0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .tabs::-webkit-scrollbar{display:none;}
  .tabs button{white-space:nowrap;padding:6px 9px;font-size:12px;}
  main{padding:8px 10px;}
  .filters{gap:6px;padding-top:2px;}
  .filters input[type=text]{min-width:0;flex:1 1 100%;font-size:16px;}
  .filters select{font-size:16px;}
  .filters .chk{flex:1 1 100%;font-size:13px;}
  .filters .btn{padding:7px 12px;font-size:14px;}
  .mobile-sfbar select{font-size:16px;}
  .mobile-sfbar .btn{padding:7px 10px;font-size:13px;}
  .field input,.field select,.field textarea{font-size:16px;}
  .actions{flex-wrap:wrap;}
  .actions .btn{flex:1 1 auto;min-width:0;padding:9px 10px;font-size:14px;}
  .card{padding:10px 12px;}
  .card .t{font-size:14px;}
  .peek .prow{grid-template-columns:118px 1fr;}
  .peek .pfoot .btn{padding:7px 10px;font-size:13px;}
  .sfamodal{padding:12px;}
  .pager .btn{padding:7px 12px;font-size:13px;}
}

/* ===================== v0.13.0 ダークモード ===================== */
html[data-theme="dark"]{
  --bg:#0f1115;--card:#1a1d23;--line:#2c313a;--ink:#e6e8eb;--sub:#9aa4b2;
  --accent:#4c8dff;--accent2:#1e2a44;--ok:#4ade80;--warn:#fbbf24;--danger:#f87171;
  color-scheme:dark;
}
html[data-theme="dark"] header{background:var(--card);}
html[data-theme="dark"] .filters input,html[data-theme="dark"] .filters select,
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea,
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:var(--card);color:var(--ink);}
html[data-theme="dark"] ::placeholder{color:#6b7280;}
html[data-theme="dark"] button.btn.ghost{background:var(--card);}
html[data-theme="dark"] button.btn.sub{background:#2a2f38;color:var(--ink);}
html[data-theme="dark"] table{background:var(--card);}
html[data-theme="dark"] th{background:#14171c;}
html[data-theme="dark"] .badge{background:#2a2f38;color:#cbd5e1;}
html[data-theme="dark"] .badge.open{background:#3a2f14;color:#fcd34d;}
html[data-theme="dark"] .badge.done{background:#14331f;color:#86efac;}
html[data-theme="dark"] .card,html[data-theme="dark"] form .grp,html[data-theme="dark"] .qstat,
html[data-theme="dark"] .kcard,html[data-theme="dark"] .khead,html[data-theme="dark"] .tablewrap,
html[data-theme="dark"] .colmenu,html[data-theme="dark"] .statusmenu,html[data-theme="dark"] .setbar,
html[data-theme="dark"] .kbtab,html[data-theme="dark"] .kbnav-btn{background:var(--card);color:var(--ink);}
html[data-theme="dark"] .kcol{background:#14171c;}
html[data-theme="dark"] .kcol-co{background:#0d1e17;}
html[data-theme="dark"] .kcount{background:#2a2f38;color:#cbd5e1;}
html[data-theme="dark"] .iconbtn{background:#2a2f38;}
html[data-theme="dark"] .iconbtn.active{background:var(--accent2);border-color:var(--accent);}
html[data-theme="dark"] .kstatus{background:#14171c;color:var(--ink);}
html[data-theme="dark"] .kstatus:hover,html[data-theme="dark"] .hfilt:hover,
html[data-theme="dark"] .kbnav-btn:hover:not(:disabled){background:var(--accent2);}
html[data-theme="dark"] .colmenu .cm-item:hover,html[data-theme="dark"] .statusmenu .cm-st:hover{background:#2a2f38;}
html[data-theme="dark"] .statusmenu .cm-st{color:var(--ink);}
html[data-theme="dark"] #list-table th.hfon{background:var(--accent2);}
html[data-theme="dark"] .klist.over{background:var(--accent2);}
html[data-theme="dark"] .klist.kdone{background:#12291b;}
html[data-theme="dark"] .formfoot{background:rgba(26,29,35,.97);}
html[data-theme="dark"] .upbar,html[data-theme="dark"] .rtbar{background:#2a2f38;}
html[data-theme="dark"] .rttable th,html[data-theme="dark"] .rttable td{border-bottom-color:var(--line);}
html[data-theme="dark"] .rtnote,html[data-theme="dark"] .treeempty,
html[data-theme="dark"] .kno,html[data-theme="dark"] .ks{color:var(--sub);}
html[data-theme="dark"] .kf{color:#cbd5e1;}
html[data-theme="dark"] .tree{border-left-color:var(--line);}
html[data-theme="dark"] .spinner{border-color:#3a4150;border-top-color:var(--accent);}
html[data-theme="dark"] .busy-box{background:var(--card);color:var(--ink);border-color:var(--line);}
html[data-theme="dark"] .rte{background:var(--card);color:var(--ink);border-color:var(--line);}
html[data-theme="dark"] .rte .richimg{background:#2a2f38;}
html[data-theme="dark"] .rte .imgtools{background:rgba(26,29,35,.94);border-color:var(--line);}
html[data-theme="dark"] .rte .imgtools button{background:#242a33;color:var(--ink);border-color:var(--line);}
html[data-theme="dark"] .rte .imgtools button:hover{background:#2f3641;}
html[data-theme="dark"] .colorrow input[type=color]{background:var(--card);}
/* v0.17.0: ダークモード・サイドピークパネル */
html[data-theme="dark"] .peek-ov{background:rgba(0,0,0,.5);}
html[data-theme="dark"] .peek{box-shadow:-8px 0 32px rgba(0,0,0,.4);}
html[data-theme="dark"] .peek .phead{border-bottom-color:var(--line);}
html[data-theme="dark"] .peek .pfoot{border-top-color:var(--line);}
html[data-theme="dark"] .peek .prow{border-bottom-color:var(--line);}
html[data-theme="dark"] .peek .prow .k{color:var(--sub);}
html[data-theme="dark"] .peek .prow .empty{color:var(--line);}
html[data-theme="dark"] .peek .pnote{background:var(--accent2);color:var(--sub);}
/* v0.17.0: ダークモード・ステータスバッジの視認性向上 */
html[data-theme="dark"] .peek .badge{text-shadow:0 0 4px rgba(0,0,0,.8);font-weight:600;}
/* v0.17.0: ダークモード・ステータスセレクトの視認性向上 */
html[data-theme="dark"] .peek .qstat{background:#2a2f38!important;}
html[data-theme="dark"] .peek .qstat option{background:#1a1d23;color:var(--ink);}
/* v0.18.0: ダークモード・最後にクリックした行ハイライト */
html[data-theme="dark"] tr.row.last-clicked-row{background:#1e2a44!important;}
/* v0.19.0 ダークモード・オートコンプリート */
html[data-theme="dark"] .aclist{background:#1a1d23;border-color:var(--line);}
html[data-theme="dark"] .acitem.sel,html[data-theme="dark"] .acitem:hover{background:#2a2f38;}
html[data-theme="dark"] .aclist .acs{color:#9aa4b2;}
