/* ============================================
   管理番号リスト（管理 > 管理番号リスト）
   ============================================ */

/* 上部のサマリー（最大番号・次の番号・各カテゴリ件数） */
.nl-summary{
  display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px;
}
.nl-sum-box{
  background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);
  padding:8px 14px;min-width:90px;
}
.nl-sum-label{font-size:10.5px;color:var(--text3);font-weight:600;letter-spacing:.04em}
.nl-sum-val{font-size:18px;font-weight:700;color:var(--text);margin-top:2px;line-height:1.2}
.nl-sum-val.nl-sum-next{color:var(--blue, #5eb1ff)}

/* テーブルラッパ（カード風） */
.nl-card{
  padding:0;
  overflow:hidden;
}

/* テーブル本体 */
.nl-table{
  width:100%;border-collapse:collapse;font-size:13px;
}
.nl-table thead th{
  background:var(--bg3);
  text-align:left;
  font-size:11.5px;
  color:var(--text2);
  font-weight:700;
  padding:9px 12px;
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:1;
}
.nl-table thead th.nl-num,.nl-table tbody td.nl-num{
  width:110px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-weight:600;letter-spacing:.02em;
}
.nl-table thead th.nl-date,.nl-table tbody td.nl-date{
  width:110px;color:var(--text3);
}
.nl-table tbody td{
  padding:9px 12px;
  border-bottom:1px solid rgba(127,127,127,.10);
  vertical-align:middle;
}
.nl-table tbody tr:last-child td{border-bottom:none}

/* 行：通常 */
.nl-row{transition:background .12s ease}
.nl-row.nl-clickable{cursor:pointer}
.nl-row.nl-clickable:hover{background:rgba(55,138,221,.06)}
/* 行：欠番（薄く） */
.nl-row.nl-gap td{color:var(--text3);opacity:.65}

/* 結果バッジ */
.nl-badge{
  display:inline-block;
  padding:2px 9px;
  font-size:11px;
  font-weight:700;
  border-radius:10px;
  letter-spacing:.02em;
  border:1px solid transparent;
}
.nl-badge-blue   {background:rgba(55,138,221,.16);  color:#5eb1ff; border-color:rgba(55,138,221,.35)}
.nl-badge-yellow {background:rgba(234,179,8,.16);   color:#fcd34d; border-color:rgba(234,179,8,.35)}
.nl-badge-green  {background:rgba(34,197,94,.14);   color:#86efac; border-color:rgba(34,197,94,.35)}
.nl-badge-red    {background:rgba(220,38,38,.14);   color:#fca5a5; border-color:rgba(220,38,38,.35)}
.nl-badge-purple {background:rgba(168,85,247,.14);  color:#d8b4fe; border-color:rgba(168,85,247,.35)}
.nl-badge-amber  {background:rgba(234,179,8,.16);   color:#fcd34d; border-color:rgba(234,179,8,.35)}
.nl-badge-gray   {background:rgba(127,127,127,.14); color:var(--text2); border-color:rgba(127,127,127,.25)}
.nl-badge-gap    {background:transparent; color:var(--text3); border-color:rgba(127,127,127,.30); border-style:dashed}
.nl-badge-marked {background:rgba(127,127,127,.18); color:var(--text3); border-color:rgba(127,127,127,.35)}

/* v2.16.1: 重複行ハイライト */
.nl-row.nl-dup td{background:rgba(220,38,38,.06)}
.nl-row.nl-dup.nl-clickable:hover td{background:rgba(220,38,38,.12)}
.nl-dup-mark{font-size:11px;margin-left:4px}
.nl-num-sub{font-size:11.5px;color:var(--text3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* 重複扱いフラグ済みの行（薄く） */
.nl-row.nl-marked-dup td{opacity:.55;background:rgba(127,127,127,.05)}

/* アクション列のボタン */
.nl-action{width:90px;text-align:right;padding-right:12px}
.nl-mark-btn{
  font-size:11px;font-family:inherit;
  padding:4px 9px;background:rgba(220,38,38,.10);
  border:1px solid rgba(220,38,38,.35);border-radius:6px;
  color:#fca5a5;cursor:pointer;white-space:nowrap;
}
.nl-mark-btn:hover{background:rgba(220,38,38,.18)}
.nl-mark-btn.nl-mark-undo{background:rgba(127,127,127,.15);border-color:rgba(127,127,127,.35);color:var(--text2)}
.nl-mark-btn.nl-mark-undo:hover{background:rgba(127,127,127,.25)}

/* サマリーの重複ボックス強調 */
.nl-sum-box.nl-sum-warn{border-color:rgba(220,38,38,.40);background:rgba(220,38,38,.05)}
.nl-sum-box.nl-sum-warn .nl-sum-val{color:#fca5a5}

/* 手入力フォーム：閉じてる時 */
.nl-add-collapsed{
  margin:14px 0 12px;
  display:flex;align-items:center;gap:10px;
}
.nl-add-toggle{
  padding:7px 14px;
  background:rgba(234,179,8,.12);
  border:1px solid rgba(234,179,8,.40);
  border-radius:var(--r);
  color:#fcd34d;
  font-size:12.5px;font-weight:700;
  cursor:pointer;font-family:inherit;
}
.nl-add-toggle:hover{background:rgba(234,179,8,.22)}
.nl-add-collapsed-hint{font-size:11px;color:var(--text3)}

/* 手入力フォーム：開いてる時 */
.nl-add-row{
  margin:14px 0 12px;
  background:var(--bg3);
  border:1px solid rgba(234,179,8,.35);
  border-radius:var(--r);
  padding:12px 14px;
}
.nl-add-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.nl-add-title{
  font-size:12.5px;font-weight:700;color:var(--text);
}
.nl-add-sub{font-size:11px;font-weight:400;color:var(--text3);margin-left:6px}
.nl-add-close{
  background:transparent;border:none;color:var(--text3);
  font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;
  font-family:inherit;
}
.nl-add-close:hover{background:rgba(127,127,127,.18);color:var(--text)}
.nl-add-fields{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nl-add-inp{
  flex:1;min-width:120px;
  padding:7px 10px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:6px;
  color:var(--text);
  font-size:13px;
  font-family:inherit;
  outline:none;
}
.nl-add-inp:focus{border-color:var(--blue,#5eb1ff)}
.nl-add-inp-num{flex:0 0 130px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.nl-add-inp-grade{flex:0 0 150px}
.nl-add-inp-note{flex:0 0 180px}
.nl-add-btn{
  flex:0 0 auto;
  padding:7px 16px;
  background:rgba(234,179,8,.18);
  border:1px solid rgba(234,179,8,.45);
  border-radius:6px;
  color:#fcd34d;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
}
.nl-add-btn:hover{background:rgba(234,179,8,.28)}

/* 手入力エントリの note 補助表示 */
.nl-note{font-size:11px;color:var(--text3);margin-left:6px}
