/* 顧客対応台：画面の骨組み（いちばん最後に読み込む）
   ・左メニュー：上はロゴ、真ん中だけがスクロール、下は小さな利用者表示。項目が隠れない
   ・どの画面も同じ順：（関連タブ）→ 見出し＋主な操作 → 補助の道具 → 本体
   ・色は主色 #0B6B55 の 1 本だけ */
:root{
  /* 8DESK の配色。ALSOL 管理画面の改版案と同じ原則：
     ニュートラルは灰青の 1 系統、操作は青 1 色、彩度の高い色は「判定」（緑＝完了、琥珀＝注意、赤＝期限超過・エラー）にだけ使う。 */
  --n0:#FFFFFF;--n5:#F7FAFC;--n10:#EDF2F7;--n15:#E4EBF2;--n20:#D9E2EB;--n30:#C3CFDB;--n40:#93A2B2;--n50:#627484;--n60:#47586A;--n70:#33424F;--n80:#1F2C38;--n90:#0E1821;
  --blue:#0B6B55;--blue-d:#095A48;--blue-a:#074A3B;--blue-l:#4ECBA8;--tint:#E2F2EE;--tint2:#ACD8CB;--mist:#F6F9FC;
  --ink:#0E1821;--soft:#47586A;--faint:#627484;
  --line:#D9E2EB;--line2:#E4EBF2;--line3:#EDF2F7;--field:#C3CFDB;--bg:#EDF2F7;--card:#FFFFFF;--surface-2:#F6F9FC;--sunk:#E6EDF4;
  --green:#0B6B55;--green-bg:#E2F2EE;--green-bd:#ACD8CB;
  --red:#9C1F1E;--red-solid:#C22B28;--red-bg:#FBE7E5;--red-bd:#EFBCB7;
  --warnbg:#FCEFD6;--warnbd:#EDCB8C;--warnfg:#8A5400;
  --org:#C22B28;--org2:#0B6B55;
  /* 左メニュー（濃紺）*/
  --nav:#121E29;--nav-2:#223240;--nav-3:#1A2835;--nav-line:#283947;--nav-fg:#AFBECC;--nav-dim:#73869A;--nav-mark:#4ECBA8;--nav-on:#FFFFFF;
  --r1:3px;--r2:4px;--r3:5px;--r4:6px;
  --pg-gap:16px}
body{background:var(--bg);color:var(--ink)}
.app .side nav a.on{background:var(--tint);color:var(--blue)}
.app .side nav a.on::before{background:var(--blue)}
.app .side .count,.count{background:var(--org)!important;color:#fff}
.chip2.ok{background:#E6F4EC;color:var(--green)}.chip2.warn{background:var(--warnbg);color:var(--warnfg)}.chip2.bad{background:#FDECEA;color:var(--red)}
.btn:not(.ghost):not(.danger):not(.sm.ghost){background:var(--blue);border-color:var(--blue);color:#fff}
.btn:not(.ghost):not(.danger):hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn.ghost{color:var(--blue)}


@media (min-width:861px){
  .app .side{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:14px 10px 0}
  .app .side .brand{flex:none;padding:2px 10px 14px}
  .app .side nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 0 12px;scrollbar-width:thin;scrollbar-color:#d5dbe6 transparent}
  .app .side nav>*{flex:none}
  .app .side nav .newwrap{margin-bottom:10px}
  .app .side nav>a{margin:0}
  .app .side nav .ngrp{margin-top:18px}
  .app .side nav .nhead{height:22px;margin-bottom:3px;font-size:11px;letter-spacing:.08em;color:#8A94A5}
  .app .side nav a{height:36px}
  .app .side nav a.navmenu{margin-top:18px;height:30px;font-size:12px}
  .app .side .me{flex:none;position:static;margin:0;padding:10px 10px 12px;border-top:1px solid var(--line2);font-size:12px;line-height:1.4;color:#8A94A5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff}
  .app .side .me br{display:none}.app .side .me span{display:none}
  body.sb-mini .app .side .me{display:none}
}

/* 本文の余白と見出し */
.view{padding-top:68px}
.pagehead,.bk-head{margin:0 0 var(--pg-gap);gap:12px}
.pagehead h1,.bk-ttl h1,.view>h1{font-size:22px;font-weight:700;color:#0E1821;letter-spacing:.01em}
.pagehead>p,.pagehead p{color:#627484;font-size:13px}
.bk-ttl>span:first-child{display:none!important}
.bk-guide{color:#627484}

/* 関連画面のタブ（書類・在庫・数字などの切り替え） */
.hubtabs{margin:0 0 var(--pg-gap);border-bottom:1px solid var(--line)}
.hubtabs a{padding:10px 16px;border:0;border-bottom:3px solid transparent;border-radius:0;margin-bottom:-1px;background:none;color:#51607a;font-size:14px;font-weight:500;white-space:nowrap}
.hubtabs a:hover{color:var(--blue)}
.hubtabs a.on{background:none;color:var(--blue);font-weight:700;border-bottom-color:var(--blue)}

/* 一覧の道具：期間・絞り込み・並び替えは 1 段にまとめて薄く */
.bk-tools{margin:0 0 10px}
.bk-cutnote{margin:0 0 10px}
.bk-tabrow{margin-top:6px}

/* 今日：クイック操作は小さなピル、数字タイルは主色 */
.td-quick{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 18px!important}
.td-quick .pillbtn{height:32px!important;padding:0 14px!important;font-size:13px!important;border-radius:999px!important;background:#fff!important;border:1px solid var(--line)!important;color:#2B3850!important;font-weight:600!important;white-space:nowrap;flex:0 0 auto;width:auto;min-width:0;transform:none!important;box-shadow:none!important}
.td-quick .pillbtn:hover{border-color:var(--blue)!important;color:var(--blue)!important;background:var(--tint)!important}
.td-tile:hover{border-color:var(--blue)}
.td-tile .tn{color:var(--blue)}
.td-tile.on{background:var(--blue)!important;border-color:var(--blue)!important}
.td-tile.on .tn{color:#fff}
.td-tiles{grid-auto-columns:minmax(120px,160px)!important}

/* 設定のカードは詰めて、説明が長くても高さを揃えすぎない */
.view .grid.g-4>.card,.view .setgrid>*{min-height:0}

/* スマホ */
@media (max-width:860px){
  .view{padding-top:14px}
  .pagehead h1,.bk-ttl h1{font-size:20px}
  .td-quick{flex-wrap:nowrap!important;overflow-x:auto;margin:0 -14px 14px!important;padding:2px 14px 6px;scrollbar-width:none}
  .td-quick::-webkit-scrollbar{display:none}
  .hubtabs a{padding:10px 14px}
  .app .side nav .ngrp{margin-top:14px}
}

/* 今日の数字タイル：ばらばらの指定を 1 本に（数が少なくても横いっぱいに伸ばさない） */
.td-tiles{display:flex!important;flex-wrap:wrap;gap:8px;overflow:visible}
.td-tile{flex:0 0 150px;min-width:0}
/* スマホ下のタブバーの「＋」：橙のグラデは使わず、主色の青 */
.tabnew>.btn,.tabbar .tabnew>.btn{background:var(--blue)!important;color:#fff!important;box-shadow:0 6px 16px rgba(57,73,171,.30)!important}
.tabnew>.btn svg{color:#fff!important}
@media (max-width:860px){
  .td-r .td-m b,.td-m b{white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .td-tile{flex:1 1 calc(50% - 8px)}
}
.app .side .newmenu>.btn svg,.newmenu>.btn svg{color:#fff!important}

/* 広い画面：本文を横いっぱいに使う。「今日」は右側に連絡の窓を置く */
@media (min-width:1100px){.view{max-width:1760px!important}}
.td-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
@media (min-width:1280px){.td-wrap{grid-template-columns:minmax(0,1fr) 340px}.td-rail{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto}}
.td-rail{display:flex;flex-direction:column;gap:14px;min-width:0}
.td-rc{padding:14px 16px;margin:0}
.td-rh{display:flex;align-items:center;gap:8px;margin-bottom:8px}.td-rh b{font-size:14px}.td-rh a{margin-left:auto;font-size:12.5px;color:var(--blue);text-decoration:none}
.td-ri{padding:9px 0;border-top:1px solid var(--line3)}.td-ri:first-of-type{border-top:0}.td-ri.late .td-rt{color:var(--red)}
.td-rt{font-size:13.5px;font-weight:600;line-height:1.45}.td-rm{font-size:12px;margin:2px 0 6px}.td-re{font-size:13px;padding:4px 0}
.td-rc .tk-list-s{max-height:300px;padding:0}.td-rc .tk-msg{padding:4px 0}.td-rc .tk-av{width:26px;height:26px;font-size:12px}.td-rc .tk-body{font-size:13.5px}.td-rc .tk-meta{font-size:12px}.td-rc .tk-comp{padding:8px 0 0;border:0}.td-rc .tk-ta{min-height:44px;font-size:14px}
.td-rc .tk-empty{padding:6px 0}
.td-rc .tk-hint{display:none}
