/* ============================================================
   base.css = 構造の層(レイアウト・部品の骨格・変数の既定値)。NIGHT OPS の見た目は theme.css が上書きする。

   構成(連結順はこの順。index.html の <link> は base.css → theme.css):
     @layer tokens      変数の既定値(theme.css の :root が実値で上書き)
     @layer components  部品の骨格と各ページの構造(位置・寸法・配置)。末尾に theme.css から移した構造宣言
     @layer base        タップ/フォーカス/余白の基礎
     @layer utilities   モバイル/印刷/数字の右揃え
     (非 @layer)        ページ別の構造(旧 pages.css)と theme.css から移したページ/部品の規則
   カスケードの前提: @layer の中の通常宣言は、詳細度に関係なく非レイヤー(theme.css と下の非 @layer 区画)に負ける。
   だから「theme.css の td{padding} が base の #bkTbl td{padding} に勝つ」= base 側に書いても効かない宣言がある。
   2026-10-11 効率化第4段で、そうした効いていない宣言(同じセレクタの theme 上書き/ td・th・button 等の包含上書き)は削除済み。
   ページを足すときは下の「ページ別の構造」区画に書く(非 @layer)。部品の骨格を直すときは @layer components の該当規則を直す。
   検証: python3 scripts/css_cascade_diff.py diff <前の連結> <後の連結>(カスケードの最終勝ち値の比較)。
   ============================================================ */
@layer reset, tokens, base, components, utilities;
@layer tokens{
  /* 変数の既定値(構造側の1か所)。NIGHT OPS の実値は theme.css の :root が上書きする */
  :root{
    /* Tally流ライトデザインシステム(2026-07-24全面刷新)。意味色は少なく・濃く・光らせない */
    --success:#16a34a; --warning:#d97706; --info:#3b5bfd;
    --success-bg:#e8f6ee; --warning-bg:#fdf3e2; --danger-bg:#fdecec; --info-bg:#eef1ff;
    --r-1:6px; --r-2:9px; --r-3:12px; --r-4:16px;
    --sp-2:8px; --sp-3:12px; --sp-4:16px;
    --fs-h1:clamp(17px, 1rem + 0.5vw, 20px);
    --tap:44px;
    --ok:#16a34a; --warn:#d97706;
    --mono:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;
    color-scheme:light;}
}
@layer components{
  *{box-sizing:border-box}
  body{margin:0;color:var(--txt);max-width:100%}
  .app{display:flex;min-height:100vh}
  /* サイドバー */
  .sidebar{width:216px;flex:0 0 216px;overflow-y:auto;overscroll-behavior:contain;z-index:5;height:calc(100vh - 52px)}
  
  nav{display:flex;flex-direction:column;gap:2px}
  .navgrp{display:flex;flex-direction:column}
  .navsec{font-family:var(--mono);
          text-transform:uppercase;}
  nav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;
        text-decoration:none;font-size:13px;font-weight:500;cursor:pointer}
  nav a:hover{background:#f3f4f6;}
  nav a.active{background:var(--info-bg);font-weight:700}
  nav a.parent{padding:0 16px;position:relative;white-space:nowrap;align-items:center;outline:1px solid var(--line);outline-offset:-1px;border:1px solid #ddd9d0;height:40px;margin:6px 0}
  nav a .ic{width:20px;height:20px;flex:0 0 20px;display:flex;align-items:center;justify-content:center;font-size:13px;filter:grayscale(.15)}
  nav a.parent .caret{margin-left:auto;font-size:15px;line-height:1;color:var(--faint);transition:transform .18s ease}
  nav a.parent.open .caret{transform:rotate(90deg)}
  .subwrap{padding-left:10px;border-left:1.5px solid var(--line);
        display:flex;flex-direction:column;gap:1px}
  nav a.sub{font-size:12.5px;margin:7px 0;padding:8px 16px;white-space:nowrap;width:max-content;outline:1px solid var(--line);outline-offset:-1px;max-width:calc(100% + 12px);overflow:hidden;text-overflow:ellipsis;border-left:2px solid #d8d4cb}
  nav a.sub .ic{width:5px;height:5px;flex:0 0 5px;background:#d3d7de;border-radius:50%}
  nav a.sub.active{outline:none}
  /* コンテンツ */
  .content{flex:1;min-width:0;padding:20px 24px 40px;max-width:none;position:relative;z-index:1}
  h1{margin:0 0 4px}
  .muted{color:var(--sub);line-height:1.55}
  .card h2{font-family:var(--mono);font-size:10px;margin:0 0 8px;color:var(--faint);text-transform:uppercase;}
  label{display:block;font-size:12px;color:var(--sub);font-weight:600;margin:0 0 5px}
  input,select,textarea{width:100%;background:#fff;border:1px solid #dfe3e8;color:var(--txt);padding:9px 12px;font-size:14px;}
  input::placeholder{color:#b3b9c2}
  select{cursor:pointer;text-align-last:left}
  input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,91,253,.14)}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
  .actions{display:flex;justify-content:flex-end;margin-top:12px;gap:10px}
  button{padding:9px 18px;font-size:13.5px;
         cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s}
  
  
  button:disabled{opacity:.4;cursor:not-allowed}
  a{cursor:pointer;}
  table{width:100%;border-collapse:collapse;font-size:12px}
  th,td{border-bottom:1px solid var(--line2);white-space:nowrap;vertical-align:middle}
  /* ページスクロール統一(2026-08-18): 表ヘッダーの既定=固定アプリバー(52px)直下に吸着。
     内側スクロール箱(.scroll等・報酬計算グリッド・モーダル)の中だけtop:0に戻す */
  th{font-family:var(--mono);color:var(--faint);font-size:10.5px;text-transform:uppercase;
     letter-spacing:.09em;position:sticky;top:52px;z-index:5;}
  .scroll th,dialog th,.sfb-box th{top:0;z-index:1}
  .scroll{max-height:380px;overflow:auto;border:1px solid var(--line);}
  .pagetbl{margin-top:16px} .pagetbl th{z-index:2}
   .adjtbl .pill{font-size:10px;padding:1px 6px} .adjtbl .adjbtn{padding:2px 8px;font-size:11px}
  /* overflow:visible(2026-08-18): スクロール容器にしない=ヘッダーのページ吸着(top:52px)を効かせる。
     横に収まらない表はページごと横スクロールになる(内側スクロールは作らない方針) */
  .adjwrap{overflow:visible;}
  /* 振込データ表: 共用adjtblの密度(11.5px)では読めないため専用に緩める(2026-08-10) */
  #bkTbl td,#bkTbl th{font-size:12.5px}
  #bkTbl .num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
  /* 源泉管理(2026-08-18): 内側スクロール廃止=ページスクロールに一本化。
     overflowを作らないことでヘッダー(アプリバー直下)と合計行(画面下)のsticky吸着がページに対して効く */
  #whWrap{overflow:visible}
  /* min-width=金額8列が省略(…)されない下限。狭い窓ではページごと横スクロールになる(内側スクロールは作らない) */
  #whWrap table{table-layout:fixed;min-width:960px}
  #whWrap th,#whWrap td{overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
  #whWrap td.num{font-size:12px}
  #whWrap th{white-space:normal;line-height:1.3;top:52px;z-index:5;   /* 固定アプリバー(52px)の直下に吸着 */
    box-shadow:0 6px 8px -6px rgba(20,24,40,.08)}
  #whWrap .nm{text-align:left}
  #whWrap td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
  #whWrap .num{text-align:right}
  #whWrap tfoot td{position:sticky;bottom:0;background:#eef0f7;z-index:4;
    border-top:2px solid var(--line);box-shadow:0 -6px 8px -6px rgba(20,24,40,.10)}
  /* 来店予約管理(2026-08-18): 出勤/リクエストのバッジ */
  .rsv-b{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid transparent}
  .rsv-work{background:#e9f2ef;color:#2c5a4a;border-color:#cfe2db}
  .rsv-req{background:#f5efe7;color:#6b5433;border-color:#e5d9c6}
  .rsv-first{background:#eceff5;color:#3d4661;border-color:#d5dae6;margin-left:4px}
  #rsvTbl th{white-space:nowrap}
  #rsvTbl td{vertical-align:middle}
  .rsv-sel{padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px}
  /* 源泉管理: 3グループ整理(2026-08-18オーナー指示)。
     混在する3要素(支給の流れ/源泉所得税額の計算/記帳用厚生費)をステップカード+
     グループバンド+縦罫+背景tintで区切る。色は仕訳タグと同族=対応が視覚で追える。
     同じ仕訳=同じ色(キャスト報酬と🔺は同一科目)。彩度は抑えめ=データより主張しない */
  #whWrap th{vertical-align:bottom}
  .wh-tag{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.02em;line-height:1.25;
    padding:2px 7px;border-radius:999px;margin-bottom:4px;white-space:normal;
    border:1px solid transparent}
  .wh-tag.wt1{background:#eceff5;color:#3d4661;border-color:#d5dae6}          /* キャスト報酬 */
  .wh-tag.wt2{background:#e9f2ef;color:#2c5a4a;border-color:#cfe2db}          /* 預り金 */
  .wh-tag.wt3{background:#f5efe7;color:#6b5433;border-color:#e5d9c6}          /* 🔺支払手数料 */
  .wh-thname{display:block;white-space:nowrap;font-size:11px}
  .wh-saikei{display:block;font-size:9px;font-weight:600;color:var(--sub);margin-bottom:4px}
  /* ステップカード: 表の3グループと同順・同色。各グループの式をチップ(=列名)で示す */
  .wh-flow{margin:8px 0 12px;display:flex;gap:8px;flex-wrap:wrap}
  .wh-step{flex:1 1 260px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fff}
  .wh-step.wsA{border-left:3px solid #a9b4cc}
  .wh-step.wsB{border-left:3px solid #8fbcab;background:#fbfdfc}
  .wh-step.wsC{border-left:3px solid #d3bd94;background:#fdfbf7}
  .wh-step-h{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;margin-bottom:6px}
  .wh-stepno{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;
    border-radius:50%;font-size:10.5px;font-weight:800;color:#fff;flex:none}
  .wh-stepno.sn1{background:#5b6785}.wh-stepno.sn2{background:#3f7a63}.wh-stepno.sn3{background:#8a6f42}
  .whg-note{font-size:10px;font-weight:600;color:var(--sub)}
  .wh-formula{font-size:11.5px;color:var(--sub);display:flex;align-items:center;flex-wrap:wrap;gap:3px}
  .wh-chip{display:inline-block;font-size:10px;font-weight:700;color:var(--text);
    background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 7px;line-height:1.4}
  .wh-op{font-family:var(--mono);font-weight:700;color:var(--sub);padding:0 1px}
  .wh-fnote{font-size:9.5px;color:var(--sub);align-self:center;margin-left:1px}
  /* グループバンド(theadの1段目)+2段sticky。1段目は高さ固定=2段目のtop計算を安定させる */
  #whWrap table{min-width:1080px}
  #whWrap thead tr.whg-row th{top:52px;height:30px;box-sizing:border-box;box-shadow:none;font-size:10.5px;line-height:1;white-space:nowrap;vertical-align:middle}
  #whWrap thead tr.whg-row th .wh-stepno{width:15px;height:15px;font-size:9.5px;margin-right:5px;vertical-align:-3px}
  #whWrap thead tr.whg-row th .whg-note{margin-left:5px;font-weight:600}
  #whWrap thead tr.whg-row .whg-blank{background:#fff}
  #whWrap th.whgA{color:#3d4661}
  #whWrap th.whgB{color:#2c5a4a}
  #whWrap th.whgC{color:#6b5433}
  #whWrap thead tr.whcols th{top:85px}   /* 52(アプリバー)+33(バンド実高。実測合わせ) */
  /* グループ境界の縦罫+グループ2/3の背景tint(ヘッダー・本体・合計共通) */
  #whWrap .gb{border-left:2px solid var(--line)}
  #whWrap .wgB{background:#f7faf9}
  #whWrap .wgC{background:#faf7f1}
  
  #whWrap tfoot td.wgB{background:#e4ece9}
  #whWrap tfoot td.wgC{background:#ece5d6}
  /* 再掲列(グループ2の控除前報酬)は淡色=グループ1の値の写しであることを示す */
  #whWrap td.dim{color:var(--sub)}
  /* ホーム: 店舗カードの遷移ボタン(着色 2026-08-18)。テーマ層のbutton既定(グレー)より強くする */
  button.dh-navbtn{font-size:11px;padding:5px 15px;background:var(--acc-fill)!important;color:#fff!important;
    border:none!important;border-radius:999px!important;cursor:pointer;letter-spacing:.02em}
  /* アクションリンク(2026-08-18): リンクであることを常時明示。装飾ではなく機能の表示 —
     ①アクセント色は操作にのみ使う(既存原則) ②常時下線(薄)=リンクの普遍記号
     ③ホバーで色と下線が深まる(位置は動かさない) */
  .dh-link{color:var(--accent);font-size:12.5px;font-weight:800;cursor:pointer;
    text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
    text-decoration-color:rgba(242,92,5,.35);transition:color .15s,text-decoration-color .15s}
  .dh-link:hover{color:#c94a03;text-decoration-color:#c94a03}
  .dh-link:focus-visible{outline:2px solid #d94f04;outline-offset:2px;border-radius:2px}
  /* Braunキーキャップ(2026-08-18): 上面ハイライト+下端の受け影=物理ボタンの文法。
     ホバー=発色が深まるだけ(位置不動)、押下=キー全体が受け影の上へ沈む */
  button.dh-navbtn{transition:box-shadow .12s,filter .12s,transform .06s;
    background:linear-gradient(180deg,#ff7a24 0%,var(--acc-fill) 45%,#e85703 100%)!important;}
  button.dh-navbtn:hover{filter:saturate(1.06) brightness(1.05);}
  button.dh-navbtn:active{transform:translateY(2px);}
  button.dh-navbtn:focus-visible{outline:2px solid #d94f04;outline-offset:2px}
  /* ロータリーエンコーダー(2026-08-18): 期間送り‹›を円形ノブに。外周=ローレット刻み
     (repeating-conic)、面=金属質の微グラデ、押下=沈み込み。Braunのダイヤルの文法 */
  #sfbPrev,#sfbNext,#mPrev,#mNext,#psPrev,#psNext,#whPrev,#whNext{
    width:34px;height:34px;padding:0!important;border-radius:50%!important;
    border:3px solid transparent!important;
    background:radial-gradient(circle at 50% 36%,#ffffff 0%,#f3f2ee 52%,#e2e0d8 100%) padding-box,
      repeating-conic-gradient(#c7c4ba 0deg 5deg,#efeee9 5deg 10deg) border-box !important;
    color:#1d1d1b;font-size:15px;font-weight:600;line-height:1;
    display:inline-flex;align-items:center;justify-content:center;
    box-shadow:0 1.5px 3px rgba(20,22,26,.2),inset 0 1px 0 rgba(255,255,255,.85);
    transition:box-shadow .12s,transform .06s}
  #sfbPrev:hover,#sfbNext:hover,#mPrev:hover,#mNext:hover,#psPrev:hover,#psNext:hover,#whPrev:hover,#whNext:hover{
    box-shadow:0 2.5px 6px rgba(20,22,26,.28),inset 0 1px 0 rgba(255,255,255,.9)}
  #sfbPrev:active,#sfbNext:active,#mPrev:active,#mNext:active,#psPrev:active,#psNext:active,#whPrev:active,#whNext:active{
    transform:translateY(1px);box-shadow:0 0 1px rgba(20,22,26,.25),inset 0 2px 4px rgba(20,22,26,.22)}
  #sfbPrev:disabled,#sfbNext:disabled{opacity:.35}
  /* ホーム: 人別売上ランキング(2026-08-18)。3カラム流し込み(1位→10位が左列)・上位3位はアクセント */
  .dh-rank{display:grid;grid-auto-flow:column;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--r3,10),auto);gap:8px 18px}
  @media(max-width:1100px){.dh-rank{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--r2,15),auto)}}
  @media(max-width:700px){.dh-rank{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}}
  .dh-lg{display:flex;gap:10px;font-size:11px;color:var(--sub);font-weight:700}.dh-lg span{font-weight:900}
  .dh-rank .cbn{margin:0;--h:64px}.dh-rank .cbn .nm{font-size:16px}.dh-rank .cbn .sub{font-size:11px;white-space:normal;overflow:visible;text-overflow:clip}.dh-rank .cbn.sm{--h:64px}.dh-rank .cbn .rk{font-size:15px}
  
  .dh-rank .av{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#eef0f4;flex:none}
  .dh-rank .nm{font-size:12.5px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dh-rank .nm small{font-size:10px;color:var(--faint);font-weight:700;margin-left:5px}
  .dh-rank .val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;text-align:right;flex:none;line-height:1.35}
  .dh-rank .grp{font-size:10px;color:var(--faint)}
  .dh-rank .sub2{font-size:9.5px;color:var(--faint);margin-left:3px}
  #whWrap tfoot td{padding-left:6px;padding-right:6px}
  #whWrap tfoot td.num{font-size:11px}   /* 合計は桁が1つ多い(8桁+太字monoが収まるサイズ+狭パディング) */
  #bkTbl .bk-amt{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  #bkTbl tr.bk-miss td{background:var(--danger-bg);border-bottom:1px solid #f5d0d0}
  #bkTbl tr.bk-miss td:first-child{border-left:3px solid var(--danger)}
  #bkTbl tr.bk-miss:hover td{background:#fbe2e2}
  #bkTbl .bk-name{text-align:left;font-weight:700}
  #bkTbl .bk-reason{color:var(--danger);font-weight:700;text-align:left}
  #bkTbl .bk-hint{color:var(--sub);font-weight:400;font-size:11.5px}
  .bk-note{margin:6px 0;padding:9px 12px;border-radius:9px;font-size:12.5px}
  .bk-note.info{background:var(--info-bg);color:var(--txt)}
  .bk-note.danger{background:var(--danger-bg);color:#8f1d1d;border:1px solid #f0c4c4}
  .adjbtn{padding:5px 13px;font-size:12px;font-weight:600;border:1px solid transparent}
  .adjbtn.edit{background:#fff;border-color:#d7dae0;color:var(--txt)}
  .adjbtn.edit:hover{background:#f6f7f9}
  .adjbtn.end{background:#fff;border-color:#f2d9ac;}
  /* 報酬明細 */
  .ps-sheet{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 auto 16px;font-size:13px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .ps-title{font-weight:800;font-size:16px;margin-bottom:6px}
  .ps-meta{color:var(--sub);font-size:12px;line-height:1.7;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:8px}
  .ps-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;padding:6px 0;border-bottom:2px solid var(--txt);margin-bottom:8px}
  .ps-sec{margin-bottom:10px}
  .ps-sec-h{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:4px}
  .ps-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px dotted var(--line)}
  .ps-row span{color:var(--sub)} .ps-strong{font-weight:700}
  .ps-net{display:flex;justify-content:space-between;font-weight:800;font-size:16px;background:var(--info-bg);border-radius:8px;padding:9px 12px;margin:10px 0}
  .ps-biko{font-size:12px;line-height:1.7}
  #psPrint{display:none}
  @media print{
    .sidebar,.content>section:not(#view-payslip),#view-payslip>*:not(#psPrint){display:none!important}
    .app{display:block!important}
    body,body::before{background:#fff!important}
    #psPrint{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
    .ps-sheet{max-width:100%;color:#000;background:#fff;border:1px solid #999;break-inside:avoid;font-size:12px;box-shadow:none}
    .ps-title{color:#000}.ps-sec-h{color:#333}.ps-row span{color:#333}.ps-meta{color:#333}
    .ps-net{background:#eee;color:#000}.ps-row{border-bottom:1px dotted #ccc}
  }
  .pill{font-size:11px;padding:3px 9px}
  .p-ok{background:var(--success-bg);color:var(--ok)} .p-guar{background:var(--info-bg);color:var(--accent)}
  .p-end{background:#f0f1f4;color:var(--sub)} .p-quit{background:var(--danger-bg);color:var(--err)}
  .toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
  .status{font-size:13px;color:var(--sub);align-self:center}
  .kpi{display:flex;gap:26px;flex-wrap:wrap} .kpi div{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
  .kpi b{font-size:22px;font-family:'Inter','Noto Sans JP',sans-serif;letter-spacing:-.01em;color:var(--txt);display:block;margin-top:2px}
  /* 要確認リスト */
  .issue{display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--line2);min-height:30px}
  /* 計算結果テーブル: ヘッダー行+名前列を固定、縦横スクロール(C-1) */
  #resWrap{max-height:calc(100vh - 300px);min-height:340px;overflow:auto;overflow-x:scroll}
  #resWrap thead th{position:sticky;top:0;z-index:3;cursor:pointer;user-select:none}
  #resWrap th:first-child,#resWrap td:first-child{position:sticky;left:0;background:#fff;z-index:2;}
  #resWrap thead th:first-child{z-index:4;}
  #resWrap tfoot td{position:sticky;bottom:0;font-weight:700;border-top:2px solid var(--line)}
  #resWrap tfoot td:first-child{z-index:2;}
  /* 報酬(最終列)は右端に常時固定=スクロールせずに最重要の金額が見える */
  #resWrap th:last-child,#resWrap td:last-child{position:sticky;right:0;background:#fff;z-index:2;border-left:1px solid var(--line);box-shadow:-6px 0 8px -6px rgba(20,24,40,.12)}
  #resWrap thead th:last-child{z-index:4;}
  #resWrap tfoot td:last-child{background:#eef0f7}
  /* 横スクロールバーを常時見せる(macOSのオーバーレイ非表示対策) */
  .adjwrap::-webkit-scrollbar{height:11px;width:11px}
  .adjwrap::-webkit-scrollbar-thumb{background:#b9c0d4;border-radius:6px;border:2px solid #fff}
  .adjwrap::-webkit-scrollbar-track{background:#f0f2f8;border-radius:6px}
  .adjwrap{scrollbar-width:thin;scrollbar-color:#b9c0d4 #f0f2f8;border:1px solid var(--line) !important}
  .issue:last-child{border-bottom:0}
  .issue .sev{font-family:var(--mono);font-weight:700;font-size:9px;min-width:44px;text-align:center;border-radius:5px;padding:2px 0;letter-spacing:.05em}
  .sev.WARN{background:var(--warning-bg);color:var(--warn)} .sev.ERROR{background:var(--danger-bg);color:var(--err)}
  .sev.INFO{background:#f0f1f4;color:var(--sub)}
  .issue .ist{flex:none;width:56px;text-align:center}
  .issue .who{font-weight:700;flex:none;width:92px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
  .issue .igp{flex:none;width:118px;text-align:left}
  .issue .msg{color:var(--sub);font-size:12px;flex:1;line-height:1.35;text-align:left}
  .issue .iact{flex:none;display:flex;gap:6px;justify-content:flex-end}
  .issue button,.issue .adjbtn{padding:3px 8px;font-size:11px} .issue .pill{font-size:10px;padding:1px 6px}
  .issue.done{opacity:.5} .issue.done .msg{text-decoration:line-through}
  .step{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sub);
        border:1px solid var(--line);border-radius:999px;padding:4px 12px;margin-right:6px;background:#fff}
  .step.on{background:var(--btn);color:#fff;border-color:transparent;font-weight:600}
  .banner{padding:12px 14px;font-size:13.5px;margin:12px 0}
  .banner.ok{background:var(--success-bg);color:#166534;border:1px solid #c5e9d2}
  .banner.wait{background:var(--warning-bg);color:#92580a;border:1px solid #f2d9ac}
  .seg{overflow:hidden;border:none !important;gap:3px;align-items:stretch}
  .seg button{flex:1;font-size:13px;white-space:nowrap}
  
  
  .sns-ic{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#f0f1f4;vertical-align:middle;border:1px solid var(--line)}
  span.sns-none{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;color:var(--faint)}
  .sns-at{color:var(--faint);margin-right:1px}
  .sns-xid{background:#fff;border:1px solid #dfe3e8;border-radius:8px;color:var(--txt);padding:6px 9px;width:150px;font-size:13px;font-family:var(--mono)}
  .sns-click{transition:transform .1s ease,box-shadow .1s ease}
  .sns-click:hover{transform:scale(1.07);box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}
  .sns-open{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;
            border:1px solid var(--line);background:#fff;color:var(--txt);text-decoration:none;font-size:14px;font-weight:700;
            margin-right:6px;vertical-align:middle;cursor:pointer;transition:all .12s ease}
  .sns-open:hover{border-color:var(--accent);background:var(--info-bg);color:var(--accent);transform:translateY(-1px)}
  .sns-open.disabled{opacity:.3;pointer-events:none}
  /* レイアウト不変原則: ボタンは全行で同じ位置に常駐し、出す/出さないはvisibilityのみで切替(位置をずらさない) */
  .sns-save{padding:5px 0;width:68px;margin-left:6px;font-size:12px;text-align:center}
  tr.g-ended{background:#f4f5f8}
  tr.g-ended td{color:#a7aeba}
  tr.g-ended .gcell.g-off,tr.g-ended .gcell.g-on{opacity:.45}
  .kupbtn{width:172px;padding:7px 0;font-size:12.5px;text-align:center}
  .sns-refresh{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;
    border:1px solid var(--line);background:#fff;color:var(--sub);font-size:13px;cursor:pointer;
    margin-left:8px;vertical-align:middle;padding:0;line-height:1;transition:all .12s}
  .sns-refresh:hover:not(:disabled){border-color:var(--accent);background:var(--info-bg);color:var(--accent)}
  .sns-refresh:disabled{opacity:.4;cursor:default}
  .sns-refresh.spin{animation:snsspin .8s linear infinite}
  @keyframes snsspin{to{transform:rotate(360deg)}}
  .nf-tmpl{width:100%;background:#fff;border:1px solid #dfe3e8;border-radius:8px;color:var(--txt);padding:8px;font-size:13px;font-family:inherit;resize:vertical;box-sizing:border-box}
  #notifyBox .card code{background:#f0f1f4;padding:1px 6px;border-radius:5px;font-family:var(--mono);font-size:12px}
  #notifyBox{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;align-items:start}
  #notifyBox .card.nf-irregular{border:2px solid #e0b100!important;background:#fffdf3!important}   /* イレギュラー通知(LINE宛)は黄色枠で識別 2026-09-13 */
  #notifyBox .card>b{font-size:14px}
  #notifyBox .nf-ch{inline-size:100%}
  .store-seg{margin-top:4px;inline-size:fit-content;max-inline-size:100%;padding:3px;gap:3px;align-items:stretch}
  .store-seg button{flex:0 0 auto;font-size:13px}
  .gcell{font-size:10px;min-width:40px;padding:3px 4px}
  .g-on{background:var(--info-bg);color:var(--accent);font-weight:700}
  .g-off{background:#f0f1f4;color:var(--faint)}
  .g-lock{background:#e3e5ea;color:var(--sub);font-weight:700}
  .login{padding:4px 10px 14px;border-bottom:1px solid var(--line);margin-bottom:8px}
  .login label{font-size:11px;color:var(--faint)} .login select{margin-top:4px}
  .login .who{margin-top:6px;font-size:11px;color:var(--sub)}
  .uchip{display:flex;align-items:center;gap:8px;padding:7px 9px;margin:2px 4px 10px;background:#f6f7f9;border:1px solid var(--line);border-radius:10px}
  .uava{width:26px;height:26px;border-radius:50%;background:var(--btn);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;flex:none;overflow:hidden}
  .umeta{display:flex;flex-direction:column;min-width:0}
  .umeta b{font-size:12px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .umeta b .uid{font-size:10px;color:var(--faint);font-weight:500;font-family:var(--mono)}
  .umeta small{font-size:10px;color:var(--sub)}
  /* 写真指名 */
  .kbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0 4px}
  .kpill{font-weight:700;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
  .kpill::before{content:'';width:8px;height:8px;border-radius:50%;background:#34c759}
  .ksearch{flex:1;min-width:150px;max-width:260px;padding:8px 13px;border:1px solid #dfe3e8;border-radius:10px;font:inherit;font-size:13px}
  .ktbl{table-layout:fixed;width:100%}
  .ktbl td{vertical-align:middle}
  .ktbl td.knm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;}
  .ktbl tr.koff td{opacity:.45}
  .ktbl tr{transition:opacity .15s}
  .kswwrap{display:flex;align-items:center;gap:10px;min-height:28px}
  .kmode{font-size:11px;color:var(--faint)}
  .kst{font-family:var(--mono);font-size:11px;font-weight:700;width:30px;flex:none;letter-spacing:.03em}
  .kst.on{color:#248a3d}
  .kst.off{color:var(--faint)}
  .kauto{background:none;border:none;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
  .kauto:disabled{opacity:.5;cursor:default}
  .kava,.kava-t{width:36px;height:36px;border-radius:50%;flex:none}
  .kava{object-fit:cover;background:#f0f1f4}
  .kava-t{background:var(--info-bg);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
  /* 流入経路分析(2026-09-11) */
  
  @media(max-width:900px){}
  
  
  
  
  .kk-trendwrap{position:relative;overflow-x:auto}
  .kk-svg{display:block;width:100%;height:200px;min-width:320px}
  .kk-svg .kk-gl{stroke:#ecebe6;stroke-width:1}
  .kk-svg .kk-tick{font-size:10px;fill:var(--sub)}
  .kk-svg .kk-val{font-size:10.5px;fill:var(--txt);font-weight:600}
  
  .kk-tip{position:absolute;z-index:5;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:0 6px 20px rgba(16,24,40,.12);pointer-events:none;min-width:150px}
  .kk-tip-h{font-weight:600;margin-bottom:4px}
  .kk-tip div b{display:inline-block;min-width:26px;text-align:right;margin-right:6px;font-variant-numeric:tabular-nums}
  .kk-tip div i{display:inline-block;width:10px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}
  
  
  /* ===== 指名分析 再設計(2026-09-12): .an-* =====
     原則: 1px罫線と余白で区切る(影・角丸の主張なし)、8pxスケール、見出しは13px/600、補足は11.5pxミュート、
     数字は等幅(tabular)、アクセントは「選択中」と「1人目指名」だけ。カードは白・角丸10px */
  .an-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
  .an-meta{margin-left:auto;font-size:11.5px;color:var(--sub);font-variant-numeric:tabular-nums}
  .an-kpi{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;overflow:hidden}
  .an-kpi>div{padding:14px 18px;border-left:1px solid var(--line);min-width:0}
  .an-kpi>div:first-child{border-left:0}
  .an-kpi .l{font-size:11px;color:var(--sub);letter-spacing:.02em;margin-bottom:6px;display:flex;align-items:center;gap:6px}
  .an-kpi .v{font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .an-kpi .v small{font-size:12px;font-weight:500;color:var(--sub);margin-left:3px;letter-spacing:0}
  .an-kpi .s{font-size:11.5px;color:var(--sub);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @media(max-width:900px){.an-kpi{grid-template-columns:repeat(2,1fr)}.an-kpi>div:nth-child(3){border-left:0}.an-kpi>div:nth-child(n+3){border-top:1px solid var(--line)}}
  .an-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
  .an-card{padding:16px 18px;min-width:0}
  .cua-tbl th{vertical-align:bottom;line-height:1.25}.cua-tbl th small{display:block;font-size:9.5px;font-weight:400;color:var(--sub)}
  .cua-tbl tbody tr{cursor:pointer}.cua-tbl tbody tr.on td{box-shadow:inset 3px 0 0 #f25c05}.cua-tbl tbody tr.on .cua-stk{background:#fff4ec}
  .cua-tbl .cua-stk{position:sticky;left:0;background:#fff;z-index:1;min-width:64px}
  .cua-tbl td.cua-h b{font-variant-numeric:tabular-nums}.cua-tbl td.cua-h small{color:var(--sub);font-size:10.5px;margin-left:3px}
  .cua-tbl td.cua-bar{min-width:150px}.cua-tbl td.cua-bar div{height:6px;background:#eef0f3;border-radius:0 3px 3px 0;margin-bottom:3px}.cua-tbl td.cua-bar div span{display:block;height:100%;background:#4b5563;border-radius:0 3px 3px 0}.cua-tbl td.cua-bar b{font-size:12px;font-variant-numeric:tabular-nums}
  .cua-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.cua-kpi>div{min-width:0}.cua-kpi .v{overflow:visible;text-overflow:clip;white-space:nowrap}
  .cu-vl{grid-column:span 2}.cu-vlg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 8px}.cu-vlg .k{font-size:11px;color:var(--sub);white-space:nowrap}.cu-vlg .v{font-size:20px !important}.cu-vlg .s{white-space:normal}
  @media(max-width:900px){.cua-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.cua-kpi>div:nth-child(3){border-left:0}.cua-kpi>div:nth-child(n+3){border-top:1px solid var(--line)}.cua-kpi .v{font-size:22px}.cu-vl{grid-column:span 2}.cu-vlg .v{font-size:18px !important}}
  .cu-stack{display:flex;height:16px;border-radius:5px;overflow:hidden;background:#eef0f3}.cu-stack i{display:block;height:100%;min-width:0}.cu-stack i+i{border-left:2px solid #fff}
  .cu-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:11.5px;color:var(--sub)}.cu-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}.cu-legend b{color:var(--txt);font-variant-numeric:tabular-nums;margin-left:2px}.cu-legend small{margin-left:2px;font-size:10px}
  .cu-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:0}
  .cu-mno{display:inline-block;font-family:var(--mono,ui-monospace,monospace);font-size:12px;padding:1px 8px;border-radius:999px;background:#eef6ee;color:#1f6b3a;border:1px solid #cfe6d4;letter-spacing:.04em}.cu-mno.wait{background:#fff4e5;color:#9a4b00;border-color:#f3d2a8}
.cu-vis{display:inline-block;min-width:34px;text-align:center;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}
  .cua-casts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
  .cua-casts button{border-radius:999px !important;padding:5px 12px !important;font-size:12px;line-height:1.3;transform:none !important;box-shadow:none !important}
  .cua-casts button small{color:var(--sub);font-weight:500;font-size:10.5px;margin-left:2px}
  .cua-casts button.on small{color:rgba(255,255,255,.85)}
  .an-head h2{white-space:nowrap}.an-head .m{min-width:0}
  .an-4{grid-column:span 4}.an-5{grid-column:span 5}.an-7{grid-column:span 7}.an-6{grid-column:span 6}.an-12{grid-column:span 12}
  @media(max-width:1100px){.an-5,.an-7,.an-6{grid-column:span 12}.an-4{grid-column:span 6}}
  @media(max-width:700px){.an-4{grid-column:span 12}}
  .an-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
  .an-head h2{margin:0;font-size:13px;color:var(--txt)}
  .an-head .m{font-size:11.5px;color:var(--sub);margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
  .an-empty{font-size:12.5px;color:var(--sub);padding:18px 0;text-align:center}
  .an-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
  .an-tbl th{font-size:11px;color:var(--sub);white-space:nowrap;position:static}
  .an-tbl td{border-bottom:1px solid var(--line2);vertical-align:middle}
  .an-tbl tr:last-child td{border-bottom:0}
  .an-tbl tbody tr:hover td{background:#fafaf8}
  .an-tbl th.n,.an-tbl td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
  .an-tbl td.mut{color:var(--sub);font-size:11.5px}
  .an-wrap{overflow-x:auto}
  /* 流入経路 構成比 */
  .an-share{display:grid;grid-template-columns:10px minmax(110px,160px) 1fr 36px 48px;align-items:center;gap:0 10px;font-size:12.5px}
  .an-share>*{padding:7px 0;border-bottom:1px solid var(--line2)}
  .an-share>.last{border-bottom:0}
  .an-sw{display:inline-block;width:10px;height:10px;border-radius:3px}
  .an-lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .an-bar2{display:block;height:6px;border-radius:3px;background:var(--line2);overflow:hidden}
  .an-bar2 i{display:block;height:100%;border-radius:3px}
  .an-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
  .an-p{text-align:right;font-variant-numeric:tabular-nums;color:var(--sub);font-size:11.5px}
  /* ランキング */
  
  
  
  
  
  .an-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--sub);margin-top:8px}
  .an-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:5px}
  .an-legend i.h{height:6px;border-radius:3px}
  /* ヒートマップ */
  .an-heat td.c{font-variant-numeric:tabular-nums;min-width:44px}
  .an-heat td.c[data-h]{background:rgba(42,120,214,calc(var(--h)*.28))}
  .an-heat td.c.z{color:var(--faint)}
  /* 提出明細 */
  .an-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  .an-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
  .an-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--txt)}
  .an-time small{color:var(--sub);margin-right:4px}
  /* キャストバナー(2026-09-12オーナー指示: アイコンを名前の左の丸ではなく、エリア内で大きく使う。ランキング画像の流儀) */
  .cbn{--h:76px;--iw:calc(var(--h)*1.6);display:grid;grid-template-columns:44px minmax(0,1fr) var(--iw);align-items:stretch;min-height:var(--h);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;margin:6px 0}
  .cbn .rk{display:flex;align-items:center;justify-content:center;font-weight:900;font-style:italic;font-size:19px;background:#f3f4f1;color:var(--sub);letter-spacing:-.02em}
  .cbn .rk small{font-size:10px;font-style:normal;margin-left:1px;align-self:center;margin-top:4px}
  .cbn.top1 .rk{background:var(--acc-fill);color:#fff}.cbn.top2 .rk{background:#17181a;color:#fff}.cbn.top3 .rk{background:#8a8f84;color:#fff}
  .cbn .bd{padding:6px 12px;display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px}
  .cbn .nm{font-weight:900;font-size:19px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}
  .cbn .sub{font-size:11.5px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cbn .bar{display:block;position:relative;height:5px;border-radius:3px;background:var(--line2);overflow:hidden;max-width:220px}
  .cbn .bar i{position:absolute;top:0;bottom:0}
  /* 画像: 右端に帯の高さと同じ正方形で原寸表示(切り取り・ぼかし・フェード無し。2026-09-12「ぼかしはださい」差し戻し) */
  .cbn .im{width:var(--iw);min-height:var(--h);align-self:stretch;background:#eceee6 center/cover no-repeat;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}   /* 左端を斜めに切る(2026-09-12オーナー指示: ランキングバナー風) */
  .cbn .im.ph{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:24px;color:var(--accent);background:var(--info-bg)}
  .cbn.sm{--h:60px;grid-template-columns:36px minmax(0,1fr) var(--iw)}.cbn.sm .nm{font-size:15px}.cbn.sm .rk{font-size:15px}.cbn.sm .sub{font-size:11px}
  .cbn .sub{line-height:1.35}
  .ktbl .kbimg{object-fit:cover;background:#f0f1f4;display:block}   /* 正方形=切り取りなし */
  .ktbl .kbimg-t{background:var(--info-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800;}
  /* 予約カレンダー(2026-09-12): 1か月を縦2列(1〜15日 / 16日〜末日)。行は薄く、予約はキャスト名チップで並べる */
  .an-cal{padding:12px 16px 10px;margin-bottom:16px}
  .an-cal-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .an-cal-head h2{margin:0;font-size:13px;}
  .an-cal-head .ym{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;min-width:84px;text-align:center}
  .an-cal-head button.nav{padding:2px 8px;font-size:12px;line-height:1.4;}
  .an-cal-head .an-legend{margin:0 0 0 auto}
  .an-cal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  @media(max-width:760px){.an-cal-grid{grid-template-columns:1fr}}
  .an-cal-day{display:grid;grid-template-columns:40px 1fr;align-items:start;gap:6px;min-height:21px;padding:1px 4px;border-bottom:1px solid var(--line2);border-radius:6px;cursor:pointer}
  .an-cal-day:hover{background:#fafaf8}
  .an-cal-day.sel{background:#fff4ec;outline:1px solid #f8c9a8}
  .an-cal-day.past{opacity:.55}
  .an-cal-day.today .d{color:#fff;background:var(--accent);border-radius:6px}
  .an-cal-day .d{font-size:11px;font-variant-numeric:tabular-nums;color:var(--txt);padding:1px 4px;line-height:1.3;white-space:nowrap;align-self:start;margin-top:2px}
  .an-cal-day .d small{color:var(--sub);margin-left:2px;font-size:10px}
  .an-cal-day.sat .d small{color:#2a78d6}.an-cal-day.sun .d small{color:#e34948}
  .an-cal-day.today .d small{color:rgba(255,255,255,.85)}
  .an-cal-day .chips{display:flex;flex-wrap:wrap;gap:2px 3px;padding:2px 0;min-height:17px}
  .an-cal-chip{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;line-height:1;padding:2px 6px 2px 4px;border-radius:999px;background:#f3f4f6;color:var(--txt);white-space:nowrap;max-width:120px}
  .an-cal-chip span{overflow:hidden;text-overflow:ellipsis}
  .an-cal-chip i{width:6px;height:6px;border-radius:50%;flex:none}
  .an-cal-chip.work{background:#eaf2fd}.an-cal-chip.req{background:#fdeee6}.an-cal-chip.guest{background:#f1f1ef}
  .an-cal-chip small{color:var(--sub);font-size:10px;font-variant-numeric:tabular-nums}
  .an-cal-chip.more{background:transparent;color:var(--sub);padding-left:2px}
  .an-cal-chip .f{font-size:9px;color:#3d4661;background:#eceff5;border-radius:4px;padding:0 3px;line-height:1.4}
  .kdot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#d3d7de;margin-right:5px;vertical-align:1px}
  .kdot.onn{background:#34c759}
  .ksw{flex:none;width:46px;height:28px;border-radius:999px;background:#e3e5ea;position:relative;cursor:pointer;transition:background .18s;border:none;padding:0}
  .ksw.on{background:#34c759}
  .ksw::after{content:'';position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .18s}
  .ksw.on::after{left:20px}
  .ksw:hover:not(:disabled){background:#d7dae0}
  .ksw.on:hover:not(:disabled){background:#2fb350}
  .ksw:disabled{opacity:.5;cursor:default}
  .kcm2{font-size:12.5px;line-height:1.45;min-height:24px;text-align:left;color:var(--sub)}
  .kcmview{display:flex;align-items:center;gap:6px;cursor:pointer;border-radius:8px;padding:3px 6px;margin-left:-6px}
  .kcmview:hover{background:#f3f4f6}
  .kcmtx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt)}
  .kcmedit{flex:none;background:none;border:none;padding:2px;font-size:12px;color:#c3c8d0;cursor:pointer;line-height:1}
  .kcmview:hover .kcmedit{color:var(--accent)}
  .kcmadd{background:none;border:1px dashed #d3d7de;border-radius:8px;color:var(--faint);font:inherit;font-size:12px;padding:4px 10px;cursor:pointer}
  .kcmadd:hover{border-color:var(--accent);color:var(--accent);background:var(--info-bg)}
  .kcmrow{display:flex;align-items:center;gap:6px}
  .kcmrow input{flex:1;min-width:0;font:inherit;font-size:12.5px;padding:6px 9px;border:1.5px solid var(--accent);box-sizing:border-box;box-shadow:0 0 0 3px rgba(59,91,253,.12)}
  .kcmok,.kcmng{flex:none;width:26px;height:26px;border-radius:50%;border:none;font-size:12px;font-weight:800;cursor:pointer;padding:0;line-height:1}
  .kcmok{background:var(--success-bg);color:var(--ok)}
  .kcmok:hover{background:#d3efe0}
  .kcmng{background:#f0f1f4;color:var(--sub)}
  .kcmng:hover{background:#e4e6eb}
  .kcmsaved{flex:none;font-size:11px;font-weight:700;color:var(--ok);animation:kcmfade 1.4s forwards}
  @keyframes kcmfade{0%,70%{opacity:1}100%{opacity:0}}
  #roleTable input[type=checkbox],#empBody input[type=checkbox]{transform:scale(1.15);}
  /* 権限マトリクス: ページ列は等幅(内容依存のauto layoutだと列幅が不揃いになる) */
  /* 権限表(2026-10-09 再設計): セクション見出し+ページ列はサイドバーから自動生成。1px 罫線・角 6・影なし */
  #roleTable{table-layout:auto;width:100%;min-width:0;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
  #roleTable th,#roleTable td{border:0;border-top:1px solid var(--line2);}
  #roleTable .rl-c0{width:228px;min-width:228px;max-width:228px;text-align:left;padding:10px 14px;position:sticky;left:0;background:#fff;z-index:1;border-right:1px solid var(--line)}
  #roleTable thead th{border-top:0}
  #roleTable thead .rl-c0{background:#fbfbf8;vertical-align:bottom}
  #roleTable thead .rl-c0 span{display:block;font-size:9.5px;font-weight:900;color:var(--faint)}
  #roleTable thead .rl-c0 .rl-sub{font-weight:700;letter-spacing:.08em;margin-top:2px}
  #roleTable .rl-sec th:not(.rl-c0){border-left:1px solid var(--line2)}
  #roleTable .rl-sec th span{font-size:9.5px;font-weight:900;color:var(--sub);white-space:nowrap}
  #roleTable .rl-pg th{vertical-align:bottom;border-top:0}
  #roleTable .rl-pg th span{display:block;font-size:10.5px;font-weight:800;line-height:1.25;color:var(--txt);word-break:keep-all;overflow-wrap:anywhere}
  #roleTable .rl-b{border-left:1px solid var(--line2)}
  #roleTable tbody tr:hover td{background:#fffaf5}
  #roleTable tbody tr:hover .rl-c0{background:#fffaf5}
  #roleTable td.gcell{height:52px;vertical-align:middle}
  #roleTable .g-lock{background:#fafaf7}
  #roleTable input.rl-ck{appearance:none;-webkit-appearance:none;margin:0;border:1.5px solid #c9ccc4;background:#fff;cursor:pointer;vertical-align:middle;transition:background .12s,border-color .12s;transform:none}
  #roleTable input.rl-ck:hover{border-color:var(--acc-fill)}
  #roleTable input.rl-ck:checked{background:var(--acc-fill) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.3 6.6 11.2 12.5 4.9' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--acc-fill)}
  #roleTable input.rl-ck:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .rl-role{display:flex;flex-direction:column;gap:6px;min-width:0}
  .rl-rn{display:flex;align-items:center;gap:7px;min-width:0}.rl-rn b{font-size:13.5px;white-space:nowrap}
  .rl-lock{font-size:9.5px;font-weight:900;padding:1px 6px;border-radius:999px;background:#16181d;color:#fff}
  .rl-n{margin-left:auto;font-size:10.5px;color:var(--faint);font-variant-numeric:tabular-nums;font-weight:700}
  .rl-mem{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;cursor:pointer;padding:3px 6px 3px 3px;margin-left:-3px;border-radius:999px;font-size:11px;color:var(--sub)}
  button.rl-mem:focus-visible{outline:2px solid var(--accent)}
  .rl-mem svg{width:12px;height:12px;flex:none;transition:transform .15s}.rl-mem[aria-expanded=true] svg{transform:rotate(180deg)}
  .rl-none{cursor:default;color:var(--faint)}
  .rl-stack{display:flex;flex:none}.rl-stack .rl-av{margin-left:-6px;box-shadow:0 0 0 2px #fff}.rl-stack .rl-av:first-child{margin-left:0}
  .rl-av{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:900;flex:none}
  .rl-av.more{background:#e6e7e1;color:var(--sub);font-size:9px}
  .rl-cnt{font-weight:900;color:var(--txt);font-variant-numeric:tabular-nums;flex:none}
  .rl-nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .rl-pop{position:fixed;z-index:1200;width:min(380px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 24px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px 14px;visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .14s,transform .14s}
  .rl-pop.open{visibility:visible;opacity:1;transform:none}
  .rl-pop:not(.open){pointer-events:none!important}
  .rl-pophd{display:flex;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line2);margin-bottom:8px}.rl-pophd b{font-size:14px;}.rl-pophd span{font-size:11px;color:var(--sub);font-variant-numeric:tabular-nums}
  .rl-grp{margin-top:8px}.rl-grp i{display:block;font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.16em;color:var(--faint);margin-bottom:5px}
  .rl-chips{display:flex;flex-wrap:wrap;gap:5px}
  .rl-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border:1px solid var(--line);border-radius:999px;font-size:12px;background:#fff}
  .rl-chip em{font-style:normal;font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums}
  
  /* 社員給与メモ */
  
  
  
  
  
  
  /* スタッフ報酬(2026-09-11) */
  .stp-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
  .stp-kpi .k{padding:10px 14px;}
  .stp-kpi .k span{display:block;font-size:11px;color:var(--sub);margin-bottom:2px}
  .stp-kpi .k b{font-size:18px;letter-spacing:-.01em}
  /* overflow-x:autoの内側容器では汎用th(sticky top:52px)が先頭行に被る(従業員テーブルと同じ事故)→固定を外す */
  .stp-tbl th{position:static !important;top:auto !important}
  .stp-tbl td.num,.stp-tbl th.num{font-variant-numeric:tabular-nums;white-space:nowrap}
  .stp-tbl tr.dim td{color:var(--faint)}
  .stp-tbl .stp-nm{font-weight:700}
  .stp-tbl .stp-pos{font-size:11px;color:var(--sub);display:block}
  .stp-tbl .stp-ops{white-space:nowrap}
  .stp-tbl .stp-ops button{padding:4px 9px;font-size:12px;margin-right:4px}
  .stp-pill{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:#f3f4f6;color:var(--sub);white-space:nowrap}
  .stp-pill.warn{background:#fff4e5;color:#9a5b00}
  .stp-pill.auto{background:#eef6ff;color:#1d4ed8}
  .stp-pill.manual{background:#ecfdf5;color:#047857}
  .stp-noterow td{background:#fafafa}
  .stp-noterow textarea{width:100%;min-height:64px;font-size:13px;line-height:1.6;resize:vertical}
  .stp-noterow .foot{display:flex;gap:10px;align-items:center;margin-top:6px}
  .stp-map{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
  .stp-map select{width:auto;min-width:180px;}
  .stp-box{max-width:520px;width:100%;text-align:left;max-height:92vh;overflow:auto}
  .stp-modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
  
  
  /* 出勤画像エディタ */
  .ap-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
  .ap-bar button{padding:7px 12px;cursor:pointer}
  .ap-bar button:disabled{opacity:.45;cursor:default}
  .ap-warn{margin:8px 0;padding:8px 12px;border-radius:8px;background:var(--warning-bg);color:#92580a;font-size:13px}
  .ap-ed{display:flex;gap:14px;align-items:flex-start;margin-top:10px}
  .ap-stage-wrap{flex:1;min-width:0;background:#585460;border-radius:10px;padding:14px;overflow:auto;max-height:80vh}
  .ap-side{width:272px;flex:none;display:flex;flex-direction:column;gap:8px}
  .ap-props{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:8px;font-size:13px}
  .ap-props label{display:flex;align-items:center;gap:6px;justify-content:space-between;white-space:nowrap}
  .ap-props input[type=text]{flex:1;min-width:0;}
  .ap-props input[type=number]{width:74px;}
  .ap-props input[type=range]{flex:1}
  .ap-props select{flex:1;min-width:0;}
  .ap-props button{padding:6px 10px;cursor:pointer}
  .ap-pt{font-weight:600}
  .ap-actrow{display:flex;gap:8px}
  .ap-lyh{display:flex;align-items:center;gap:4px;font-weight:600;font-size:13px}
  .ap-lyh .sp{flex:1}
  .ap-lyh button{padding:3px 7px;font-size:12px;cursor:pointer}
  #apLayers{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:auto;max-height:38vh}
  .ap-lrow{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--line2);cursor:pointer;font-size:13px}
  .ap-lrow:last-child{border-bottom:none}
  .ap-lrow.sel{background:var(--info-bg)}
  .ap-lrow .nm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ap-lrow button{cursor:pointer;padding:2px;font-size:12px}
  .ap-ly{cursor:move}
  /* シフトボード */
  .sfb-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
  .sfb-pnav{display:flex;align-items:center;gap:8px}
  .sfb-pnav button{
        width:34px;height:34px;padding:0;font-size:17px;line-height:1}
  .sfb-pnav select{width:auto;min-width:130px;}
  .sfb-vtog{margin-left:auto;}
  .sfb-vtog button{font-size:13px}
  
  
  .sfb-hm{display:block;font-size:8.5px;font-weight:800;letter-spacing:-.03em;line-height:1.1;white-space:nowrap}.sfb-hm.tbd{color:#c2570a}
  .hm-pick{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
  .hm-pick button{flex:1 1 110px}
  /* ヘアメイクの人数調整(2026-10-28): 人数の行・上限超えの注意色(既存の --warn / --warning-bg)・調整モーダル */
  button.hm-cnt{display:block;width:100%;min-height:32px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;box-shadow:none}
  button.hm-cnt:hover{background:rgba(255,106,18,.08)}
  button.hm-cnt:focus-visible{outline:2px solid var(--acc-fill);outline-offset:-2px}
  .hm-over .ov{font-size:9px;margin-left:1px;color:var(--warn)}
  .sfb-box.hm-wide{width:460px}
  .hm-tscroll{max-height:min(52vh,460px);overflow:auto;margin:0 -4px;padding:0 4px}
  .hm-tlist{border-top:1px solid var(--line2)}
  .hm-tr{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:4px 2px;border-bottom:1px solid var(--line2);font-size:13px;cursor:pointer}
  .hm-tr.on{background:var(--warning-bg)}
  .hm-tr input{width:20px;height:20px;margin:0;flex:none}
  .hm-tr b{flex:1 1 auto;min-width:0}
  .hm-tr .st{color:var(--sub);font-size:12px;min-width:56px;text-align:right}
  .hm-rec{margin-top:14px}
  .hm-rec-h{font-size:12px;font-weight:800;color:var(--sub);margin-bottom:4px}
  .hm-rec-op{border-top:1px solid var(--line2);padding:6px 0}
  .hm-rec-at{font-size:11px;color:var(--faint)}
  .hm-rec-p{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12.5px}
  .hm-rec-t{flex:1 1 auto;min-width:0}
  .hm-rec-r,.hm-rec-u{font-size:11.5px;color:var(--sub);margin-top:2px}
  .hm-rec-u.ok{color:var(--ok)} .hm-rec-u.ng,.hm-tmsg .ng{color:var(--err)}
  button.hm-undo{min-height:32px;flex:none;white-space:nowrap}
  .hm-tmsg{min-height:20px;margin-top:10px;font-size:12.5px;line-height:1.5}
  .hm-tmsg .warn-t{color:var(--warn);margin-top:4px}
  .hm-res > div{padding:3px 0;border-bottom:1px dashed var(--line2)}
  /* 共通の勤務表(2026-10-30 方針 common-shift-onetable): 店舗の一覧(.sxb)の作りに足すだけ。行 42px・縦中央・店舗チップ 10px。
     割当=店舗色の背景+太字(色は STORE_BRAND をインライン)・いつもの店=灰色・未割当=薄赤+赤字(赤は「未割当」だけ)。見出し行は .sxb の tr.grp(淡色帯) */
  table.sxb.cm{min-width:1090px}   /* 16 日で 1 列 55px= 時刻「17:00–20:00」が 1 行に入る幅。狭い画面は横スクロール(名前列は固定) */
  table.sxb.cm tbody tr.r>td{height:42px}
  table.sxb.cm thead tr.sum th.nm small{display:block;margin-top:1px;font-size:8.5px;font-weight:600;letter-spacing:0!important;color:var(--faint)}
  table.sxb.cm thead tr.sum td{height:auto;padding:1px 0!important;line-height:1.15}
  table.sxb.cm thead tr.sum td button.hm-cnt{min-height:28px;font-size:12px}
  table.sxb.cm thead tr.sum td.hm-over{background:var(--warning-bg)!important;color:var(--warn)}
  table.sxb.cm tr.sum td .cm-hn{display:block;margin:0;min-height:28px;line-height:28px;font-size:12px;font-weight:800;color:var(--txt)}
  table.sxb.cm tr.sum td .cm-nn{display:block;margin:0;font-size:10px;font-weight:700;color:var(--sub);border-top:1px dashed var(--line2);padding:1px 0}
  table.sxb.cm tr.sum td .ov{display:inline;margin-left:1px;font-size:9px;color:var(--warn)}
  table.sxb td.cm-cell,table.sxb td.cm-e{text-align:center;line-height:1.15;overflow:hidden}
  table.sxb td.cm-cell{cursor:pointer}
  table.sxb td.cm-cell:hover{box-shadow:inset 0 0 0 1.5px rgba(242,92,5,.45)}
  table.sxb td.cm-add:hover{background:rgba(255,106,18,.06)!important}
  .cm-t{display:block;font-size:9px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.04em}
  .cm-t b{font-size:10px;font-weight:800;color:var(--txt)}.cm-t i{font-style:normal}
  .cm-s{display:block;margin-top:2px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cm-s.as{font-weight:800}
  .cm-s.usual{color:var(--sub);font-weight:500}
  .cm-s.unas{color:var(--err);font-weight:800}
  table.sxb td.cm-unas{background:var(--danger-bg)!important}
  .cm-unsub{flex:none;font-size:9px;font-weight:800;color:var(--err);background:var(--danger-bg);border:1px solid #f5c2c2;border-radius:4px;padding:0 4px;line-height:1.5}
  table.sxb td.cm-none{padding:10px 14px!important;color:var(--err);font-size:12px;text-align:left}
  .cm-msg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 10px;padding:8px 12px;border-radius:6px;background:var(--danger-bg);color:var(--err);font-size:12.5px}
  .cm-msg button{min-height:32px;margin-left:auto}
  .cm-legend{margin-top:8px;font-size:11px;color:var(--sub);line-height:1.7}
  .cm-legend .cm-unas-l{color:var(--err);font-weight:700}
  .nk-note{padding:10px 4px 0;font-size:11.5px;color:var(--sub)}
  .nk-sec{margin:14px 0 6px;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--sub)}
  .nk-pick{margin-top:0}
  .nk-none{margin:2px 0 4px;font-size:12px}
  .nk-apply{display:flex;align-items:center;gap:10px;margin-top:6px}.nk-apply .muted{font-size:11px}
  .sxo-note.nk-wait{color:var(--sub)}
  td.sfb-cell{cursor:pointer}
  td.sfb-cell.on{background:var(--info-bg);color:var(--accent);font-weight:700}
  td.sfb-cell:hover{outline:2px solid rgba(59,91,253,.4);outline-offset:-2px}
  
  
     /* 出力は8列固定(2026-09-12オーナー指示。旧auto-fillは6列になっていた) */
  @media(max-width:1100px){}
  
   
   
  /* X 自動リポスト(2026-10-09) */
  .xr-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}.xr-top h1{margin:0}.xr-top p{margin:4px 0 0;font-size:12px;color:var(--sub);max-width:760px;line-height:1.6}
  .xr-acts{display:flex;align-items:center;gap:8px}.xr-acts button{margin:0}
  .xr-seg{margin:14px 0 12px;display:inline-flex!important;width:auto!important;flex-wrap:nowrap}.xr-seg button{position:relative;flex:0 0 auto!important;min-width:72px;padding:6px 16px!important;font-size:12.5px!important}
  .xr-row .who b{color:var(--txt)}
  .xr-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:6px;vertical-align:1px;background:#b06a00}.xr-dot.auto{background:#1b7f3b}
  .xr-card{border:1px solid var(--line);border-radius:6px;background:#fff;margin-top:12px}
  .xr-ch{display:flex;align-items:baseline;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line2);flex-wrap:wrap}.xr-ch>b{font-size:14px;}.xr-ch>i{font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.2em;color:var(--faint)}
  .xr-meta{margin-left:auto;font-size:11.5px;color:var(--sub)}.xr-meta b{color:var(--txt);font-variant-numeric:tabular-nums}
  .xr-flt{margin-left:auto}.xr-flt button{margin:0;padding:4px 10px;font-size:11.5px}.xr-flt b{font-variant-numeric:tabular-nums;margin-left:2px}
  .xr-err{margin:10px 16px 0;padding:8px 10px;border-radius:6px;background:#fef2f2;color:#b91c1c;font-size:11.5px;word-break:break-all}
  .xr-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 16px;padding:14px 16px 16px;align-items:end}
  .xr-f{display:flex;flex-direction:column;gap:6px;min-width:0}.xr-f.wide{grid-column:1/-1}.xr-f>span{font-size:11px;font-weight:800;color:var(--sub)}.xr-f>em{font-style:normal;font-size:10.5px;color:var(--faint)}
  .xr-f input[type=text],.xr-f input[type=number],.xr-f select{width:100%;box-sizing:border-box;padding:8px 10px!important;font-size:13px!important;border-radius:6px!important;margin:0}
  .xr-num{display:flex;align-items:center;gap:6px}.xr-num input{width:96px!important}.xr-num em{font-style:normal;font-size:11px;color:var(--sub);white-space:nowrap}
  .xr-mode{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:max-content}
  .xr-mode button{margin:0!important;border:0!important;border-left:1px solid var(--line2)!important;border-radius:0!important;background:#fff!important;color:var(--sub)!important;padding:7px 16px!important;font-size:12.5px!important;font-weight:800!important;box-shadow:none!important}
  .xr-mode button:first-child{border-left:0!important}.xr-mode button.on.off{background:#f1f1ee!important;color:var(--txt)!important}.xr-mode button.on.dry{background:#fff4e5!important;color:#b06a00!important}.xr-mode button.on.auto{background:#1b7f3b!important;color:#fff!important}
  .xr-f.act{grid-column:5;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}.xr-f.act .status{font-size:11.5px}
  button.xr-cta{margin:0;background:var(--acc-fill)!important;border-color:var(--acc-fill)!important;color:#fff!important}button.xr-cta:disabled{background:#eceee6!important;border-color:#eceee6!important;color:var(--faint)!important}
  .xr-row{display:grid;grid-template-columns:52px minmax(0,1fr) 150px 170px;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line2);text-decoration:none;color:inherit}
  #xrList .xr-row:first-child{border-top:0}.xr-row:hover{background:#fffaf5}
  .xr-row .th{width:52px;height:52px;border-radius:6px;overflow:hidden;background:#f1f1ee}.xr-row .th img{width:100%;height:100%;object-fit:cover;display:block}
  .xr-row .who{min-width:0;display:flex;flex-direction:column;gap:2px}.xr-row .who b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .xr-row .who i{font-style:normal;font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xr-row .who em{font-style:normal;font-size:11.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .xr-row .mt{display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}.xr-row .lk b{font-size:13px;}.xr-row .lk i{font-style:normal;font-size:10.5px;color:var(--faint);margin-left:2px}
  .xr-row .bar{height:4px;border-radius:2px;background:#efefea;overflow:hidden}.xr-row .bar i{display:block;height:100%;background:var(--acc-fill)}.xr-row .im{font-size:10.5px;color:var(--sub)}
  .xr-row .stt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.xr-row .stt i{font-style:normal;font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .xr-pill{font-size:11px;font-weight:800;padding:2px 8px;border:1px solid;border-radius:999px;background:#fff;white-space:nowrap}
  .xr-empty{padding:26px 16px;text-align:center;color:var(--faint);font-size:12.5px;line-height:1.7}
  @media(max-width:1100px){.xr-form{grid-template-columns:repeat(2,minmax(0,1fr))}.xr-f.act{grid-column:1/-1}.xr-row{grid-template-columns:52px minmax(0,1fr) 120px}.xr-row .stt{grid-column:2/-1}}
  /* 従業員(2026-10-09 再設計): 操作帯1行・区分見出し・行40px固定・縦中央 */
  .emx-bar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:10px 0 6px}
  #empStoreSeg{display:inline-flex;width:auto;margin:0!important;flex-wrap:nowrap}
  #empStoreSeg button{flex:0 0 auto!important;min-width:64px;padding:6px 14px!important;font-size:12.5px!important}
  .emx-stats{display:flex;align-items:baseline;gap:4px 14px;font-size:12px;color:var(--sub);flex-wrap:wrap}
  .emx-stats b{font-size:14px;color:var(--txt);font-variant-numeric:tabular-nums;margin-left:2px}
  .emx-stats .warn b{color:#b06a00}.emx-stats .q{color:var(--accent);font-weight:700}
  .emx-tools{margin-left:auto;display:flex;align-items:center;gap:12px}
  input.emx-search{width:200px;padding:7px 12px!important;font-size:12.5px!important}
  .emx-tgl{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--sub);cursor:pointer;white-space:nowrap}
  .emx-note{font-size:11px;color:var(--faint);margin:0 0 10px}
  .emx-wrap{border:1px solid var(--line);border-radius:6px;background:#fff}
  table.emx{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12.5px}
  table.emx col.c-nm{width:15%} table.emx col.c-st{width:86px} table.emx col.c-ty{width:110px} table.emx col.c-ac{width:70px} table.emx col.c-hd{width:92px} table.emx col.c-ro{width:110px} table.emx col.c-bd{width:84px} table.emx col.c-tg{width:88px} table.emx col.c-ob{width:72px} table.emx col.c-x{width:84px} table.emx col.c-doc{width:84px} table.emx col.c-fo{width:92px}   /* 2026-10-13 監査: X は固定幅(auto だと列追加で潰れて X ID が見えなかった)・名簿/身分証は 1 列 */
  table.emx th,table.emx td{padding:0 8px!important;border:0!important;border-bottom:1px solid #efefea!important;vertical-align:middle!important;font-family:inherit!important;text-transform:none;letter-spacing:0!important}
  table.emx thead th{position:sticky!important;top:52px!important;z-index:3;height:34px;background:#fbfbf8!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;color:var(--faint)!important;border-bottom:1px solid var(--line)!important}
  table.emx th.nm,table.emx td.nm{padding-left:14px!important}
  table.emx .r{text-align:right}
  table.emx tr.emx-r>td{height:40px}
  table.emx tr.emx-r:hover>td{background:#fffaf5}
  table.emx td.nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  table.emx td.nm .cchip{vertical-align:middle}
  #empBody .cchip .sns-ic,#empBody .cchip .cc-ic{width:28px!important;height:28px!important;border-radius:6px!important;flex:none}
  #empBody .cd-open{display:inline-flex;align-items:baseline;gap:6px;min-width:0;cursor:pointer}
  #empBody .cc-id{font-variant-numeric:tabular-nums;font-family:inherit!important}
  .emx-type{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:800;color:var(--sub);border:1px solid var(--line2);border-radius:4px;padding:0 5px;vertical-align:2px;background:#fff}
  #empBody select{width:100%;min-width:0!important;height:28px;padding:0 22px 0 8px!important;font-size:12px!important;text-align:left!important;border-radius:6px!important}
  table.emx td.hd b{display:block;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.2}
  table.emx td.hd i{display:block;font-style:normal;font-size:10px;color:var(--faint);line-height:1.2}
  .emx-x{display:flex;align-items:center;gap:4px;min-width:0}
  .emx-x .sns-xid{flex:1;min-width:0;height:28px;padding:0 8px!important;font-size:12px!important;border-radius:6px!important}
  .emx-x .sns-open{flex:none}.emx-x .sns-at{flex:none;color:var(--faint);font-size:11px}
  .emx-x .sns-refresh,.emx-x .sns-save{flex:none;margin:0!important}
  .emx-x .sns-save{padding:0 8px!important;height:26px;font-size:11px!important}
  .emx-x .sns-xid{width:auto!important;max-width:none!important}
  table.emx td.xf .xf-btn{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap;padding:2px 0!important}
  table.emx td.xf .xf-btn br{display:none}
  table.emx td.xf .sm-num{font-size:12.5px}
  .emx-sn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--sub);white-space:nowrap}
  .emx-sn::before{content:"";width:7px;height:7px;border-radius:50%;background:#c9cbc4}
  .emx-sn.ok::before{background:#1b7f3b}.emx-sn.man::before{background:#3b5bfd}
  .emx-dash{color:#c9cbc4}
  #empBody button.emx-tg{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:1px;height:26px;max-width:100%;padding:0 6px!important;border-radius:6px!important;cursor:pointer;font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;background:transparent!important;border:1px solid transparent!important}
  #empBody button.emx-tg:hover{border-color:var(--line2)!important;background:#fff!important}
  #empBody button.emx-tg i{font-style:normal}#empBody button.emx-tg i.auto{opacity:.55}
  #empBody button.emx-tg em{font-style:normal;font-size:10px;font-weight:800;color:var(--sub);margin-left:3px}
  #empBody button.emx-tg.empty b{font-size:13px;color:var(--faint);width:22px;height:22px;border-radius:50%;border:1px dashed var(--line2);display:inline-flex;align-items:center;justify-content:center}
  #empBody button.emx-tg.empty:hover b{color:var(--accent);border-color:var(--acc-fill)}
  .emx-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,8px);z-index:1300;background:#16181d;color:#fff;font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:8px;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s}.emx-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
  #empBody button.emx-ob{all:unset;box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;width:60px;height:26px;padding:0 7px!important;border-radius:6px!important;border:1px solid var(--line)!important;background:#fff!important;cursor:pointer;font-size:11px;font-variant-numeric:tabular-nums;line-height:1}
  #empBody button.emx-ob:hover{border-color:var(--acc-fill)!important}
  #empBody button.emx-ob span{text-align:center}
  #empBody button.emx-ob>*{pointer-events:none}   /* 2026-10-12: 中の数字・バーを押してもボタンとして反応させる */
  #empBody button.emx-ob i{display:block;height:3px;border-radius:2px;background:#ececE6;overflow:hidden}#empBody button.emx-ob i b{display:block;height:100%;background:var(--acc-fill)}
  #empBody button.emx-ob.low span{color:#b44400}
  #empBody button.emx-ob.done{flex-direction:row;align-items:center;justify-content:center;border-color:#cfe8d6!important;background:#f3faf5!important}
  .emx-obf{all:unset;cursor:pointer;font-size:12px;color:#b44400;padding:2px 8px;border-radius:999px;border:1px solid #f3d3bd}.emx-obf b{font-size:14px;margin-left:2px}.emx-obf.on{background:#fff1e6;border-color:var(--acc-fill)}
  .emx-obpop .obl{list-style:none;margin:0;padding:6px 0}
  .emx-obpop .obl li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:26px;font-size:12.5px;border-top:1px solid #f1f1ec}.emx-obpop .obl li:first-child{border-top:0}
  .emx-obpop .obl li i{font-style:normal;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
  .emx-obpop .obl li.ok i{background:#1b7f3b;color:#fff}.emx-obpop .obl li.ng i{border:1.5px solid #e2b49a}
  .emx-obpop .obl li.ng span{font-weight:800}.emx-obpop .obl li.ok span{color:var(--sub)}
  .emx-obpop .obl li em{font-style:normal;font-size:10.5px;color:var(--faint);white-space:nowrap}.emx-obpop .obl li.ng em{color:#b44400;font-weight:800}
  .emx-pop{position:fixed;z-index:1200;width:min(340px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .14s,transform .14s}
  .emx-pop.open{visibility:visible;opacity:1;transform:none}
  .emx-pop:not(.open){pointer-events:none!important}   /* 2026-10-13: 閉じたポップは透明でもクリックを受けない(新人対応・タグの下の行が押せなかった) */
  .emx-pop .hd{display:flex;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line2)}.emx-pop .hd b{font-size:14px;}.emx-pop .hd span{font-size:10.5px;color:var(--faint);font-weight:700;letter-spacing:.06em}
  .emx-pop .chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0}
  .emx-pop .chip{margin:0!important;display:inline-flex;align-items:center;gap:4px;font-size:12px!important;font-weight:700!important;padding:5px 11px!important;border-radius:999px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--txt)!important;cursor:pointer;box-shadow:none!important}
  .emx-pop .chip.on{background:var(--acc-fill)!important;border-color:var(--acc-fill)!important;color:#fff!important}
  .emx-pop .chip.auto{cursor:default;border-style:dashed!important;color:var(--faint)!important}.emx-pop .chip.auto.on{background:#fff7f1!important;color:var(--accent)!important;border-color:var(--acc-fill)!important}
  .emx-pop .chip small{font-size:9px;margin-left:2px;opacity:.8}
  .emx-pop .ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--line2)}.emx-pop .ft .st{margin-right:auto;font-size:11px;color:var(--sub)}.emx-pop .ft button{margin:0;white-space:nowrap;flex:none;padding:6px 14px;font-size:12.5px}
  table.emx tr.emx-grp td{text-align:left!important;height:26px;background:#fafaf7;border-bottom:1px solid var(--line2)!important;padding-left:14px!important}
  table.emx tr.emx-grp td span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--sub)}
  table.emx tr.emx-grp td em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--faint);margin-left:8px;font-variant-numeric:tabular-nums}
  table.emx tr.st>td{background:#fcfcfa}
  table.emx tr.rt>td{opacity:.6}
  .emx-empty{padding:28px!important;text-align:center!important;color:var(--sub)}
  table.emx{min-width:1110px}   /* 2026-10-31: 職種の列(c-ty)を足したぶん広げた(名前の列が潰れないように。収まらない幅では横スクロール+名前の列は左に固定) */
  /* 旧レイアウトの #empBasic{width:fit-content;min-width:100%} が表の幅まで伸びて、はみ出しを検知できなかった(10/9 タブレット)。親の幅に固定する */
  #empBasic{width:auto!important;min-width:0!important;max-width:100%}
  .emx-wrap,.sxb-wrap{max-width:100%}
  /* 横幅が足りない時だけ横スクロール(2026-10-09 タブレットで右側が見えない): JS が実寸ではみ出しを検知して .scrollx を付ける。
     収まる時は付けない=見出しのページ固定(sticky)を保つ。名前列は左に固定、右端に影で「続きがある」ことを示す */
  .emx-wrap.scrollx,.sxb-wrap.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
    background:linear-gradient(to left,#fff 40%,rgba(255,255,255,0)) right/36px 100% no-repeat local,radial-gradient(farthest-side at 100% 50%,rgba(22,24,29,.14),transparent) right/14px 100% no-repeat scroll,#fff}
  .emx-wrap.scrollx table.emx thead th,.sxb-wrap.scrollx table.sxb thead th,.sxb-wrap.scrollx table.sxb thead td{top:0!important}
  .sxb-wrap.scrollx table.sxb thead tr.sum th,.sxb-wrap.scrollx table.sxb thead tr.sum td{top:32px!important}
  .emx-wrap.scrollx table.emx td.nm,.emx-wrap.scrollx table.emx th.nm{position:sticky!important;left:0;z-index:2;background:#fff}
  .emx-wrap.scrollx table.emx thead th.nm{z-index:4!important;background:#fbfbf8!important}
  .emx-wrap.scrollx table.emx tr.st>td.nm{background:#fcfcfa}
  .emx-wrap.scrollx table.emx td.nm{box-shadow:1px 0 0 var(--line2)}
  /* シフト一覧(2026-10-09 再設計): 1px 罫線・固定行高・縦中央。全体の th(sticky/大文字/等幅)を打ち消す */
  .sxb-wrap{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff}   /* ページ内スクロールなし(10/9 オーナー指示)。見出しはページのスクロールで上部バーの下に固定 */
  table.sxb{width:100%;min-width:980px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}
  table.sxb col.c-nm{width:164px} table.sxb col.c-n{width:40px}
  table.sxb th,table.sxb td{padding:0!important;border:0!important;border-bottom:1px solid #efefea!important;vertical-align:middle!important;font-family:inherit!important;text-transform:none;letter-spacing:0!important;position:static}
  table.sxb thead th,table.sxb thead td{position:sticky!important;z-index:3;background:#fbfbf8!important}
  table.sxb thead tr.hd th{top:52px!important;height:32px;border-bottom:1px solid var(--line2)!important}
  table.sxb thead tr.sum th,table.sxb thead tr.sum td{top:84px!important;height:22px;border-bottom:1px solid var(--line)!important}
  table.sxb th.nm,table.sxb td.nm{padding-left:14px!important;position:sticky!important;left:0;z-index:2;background:#fff;border-right:1px solid var(--line2)!important}
  table.sxb thead th.nm{z-index:4!important;background:#fbfbf8!important;font-size:10px;letter-spacing:.14em!important;color:var(--faint)}
  table.sxb thead th.n{font-size:10px;color:var(--faint)}
  table.sxb tr.hd th.d,table.sxb tr.sum td,table.sxb td.n,table.sxb thead th.n{text-align:center!important}
  table.sxb tr.hd th.d{line-height:1.1}
  table.sxb tr.hd th.d b{display:block;font-size:12.5px;color:var(--txt);font-variant-numeric:tabular-nums}
  table.sxb tr.hd th.d i{display:block;font-style:normal;font-size:9.5px;font-weight:700;color:var(--faint);margin-top:1px}
  table.sxb tr.hd th.sat b,table.sxb tr.hd th.sat i{color:#2563eb} table.sxb tr.hd th.sun b,table.sxb tr.hd th.sun i{color:#db2777}
  table.sxb tr.hd th.today{box-shadow:inset 0 2px 0 var(--acc-fill)} table.sxb tr.hd th.today b{color:var(--accent)}
  table.sxb tr.sum td{font-variant-numeric:tabular-nums}
  table.sxb tr.sum td b{font-size:12px;color:var(--txt)} table.sxb tr.sum td b.z{color:var(--faint);}
  table.sxb tr.sum td span{display:inline-block;margin-left:3px;font-size:9.5px;font-weight:700;color:var(--faint)}
  table.sxb tr.sum td.today{background:#fff6ef!important}
  table.sxb tbody tr.r>td{height:24px}
  table.sxb tbody tr.r:hover>td{background:#fffaf5}
  table.sxb tbody tr.r:hover>td.nm{background:#fffaf5}
  table.sxb td.today{background:#fffbf7}
  table.sxb .who{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
  table.sxb .who .cc-wrap{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:700}
  table.sxb .who em{font-style:normal;font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;padding-right:10px}
  table.sxb td.n{font-variant-numeric:tabular-nums;font-weight:700;color:var(--sub)} table.sxb .z{color:#c9cbc4}
  table.sxb td.sfb-cell{cursor:pointer;position:relative}
  table.sxb td.sfb-cell:hover{box-shadow:inset 0 0 0 1.5px rgba(242,92,5,.45)}
  table.sxb td.sfb-cell.on{background:transparent;color:inherit;font-weight:inherit}
  .sxb-t{display:inline-flex;align-items:baseline;justify-content:center;line-height:1;padding:3px 4px;border-radius:4px;background:#fff1e6;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em}   /* 1行(出勤–退勤・分まで) */
  .sxb-t b{font-size:10.5px;color:#b44400}.sxb-t i{font-style:normal;font-size:9.5px;color:#c77a45}.sxb-t i::before{content:"–";margin:0 1px}
  tr.st .sxb-t{background:#f1f1ec}tr.st .sxb-t b{color:var(--txt)}tr.st .sxb-t i{color:var(--sub)}
  table.sxb tr.st>td.nm{background:#fbfbf8} table.sxb tr.st .who .cc-wrap{font-weight:600;color:var(--sub)}
  .sxb-cat{font-size:9px;font-weight:800;color:var(--sub);border:1px solid var(--line2);border-radius:4px;padding:0 4px;background:#fff}
  table.sxb tr.grp td{height:22px;padding-left:14px!important;background:#fafaf7;border-bottom:1px solid var(--line2)!important;position:sticky;left:0}
  table.sxb tr.grp td span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--sub)}
  table.sxb tr.grp td em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--faint);margin-left:8px;font-variant-numeric:tabular-nums}
  table.sxb tr.un>td.nm .cc-wrap{color:#b91c1c}
  .sxb-un{text-align:left!important;padding-left:12px!important}
  .sxb-un span{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:#b91c1c;background:#fef2f2;border:1px dashed #f5c2c2;border-radius:999px;padding:1px 10px}
  .sxb-empty{padding:24px!important;color:var(--sub)}
  /* シフト出力(2026-10-09 再設計): 1px 罫線・角 6・影なし。行=2列グリッド(縦中央)・時刻は tabular で桁揃え */
  .sxo-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:2px 0 10px}
  .sxo-sum{display:flex;align-items:baseline;gap:4px 14px;flex-wrap:wrap;font-size:12px;color:var(--sub)}
  .sxo-sum b{font-size:15px;color:var(--txt);margin-right:2px}.sxo-sum em{font-style:normal;font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums}
  .sxo-acts{display:flex;gap:8px;flex-wrap:wrap}
  .sxo-grp{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
  .sxo-grp>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--faint);padding:0 10px 0 12px;white-space:nowrap}
  .sxo-grp button{margin:0!important;border:0!important;border-left:1px solid var(--line2)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:7px 12px!important;font-size:12.5px!important;font-weight:700!important;color:var(--txt)!important}
  .sxo-grp button:hover{background:#f6f6f2!important}
  .sxo-note{font-size:11px;color:var(--faint);margin:0 0 12px}
  .sxo-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;align-items:start}
  @media(max-width:1280px){.sxo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
  .sxo-day{background:#fff;border:1px solid var(--line);border-radius:6px;min-width:0;overflow:hidden}
  .sxo-day.today{border-color:var(--acc-fill);box-shadow:inset 0 2px 0 var(--acc-fill)}
  .sxo-day header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px 8px;border-bottom:1px solid var(--line2)}
  .sxo-day .dt{display:flex;align-items:center;gap:6px;min-width:0}
  .sxo-day .dt b{font-size:15px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
  .sxo-day .dt i{font-style:normal;font-size:10.5px;font-weight:800;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f1f1ee;color:var(--sub)}
  .sxo-day.sat .dt i{background:#e8efff;color:#2563eb}.sxo-day.sun .dt i{background:#fde8f1;color:#db2777}
  .sxo-day.today .dt b{color:var(--accent)}
  .sxo-day .ct{display:flex;align-items:baseline;gap:1px;color:var(--sub)}.sxo-day .ct b{font-size:15px;color:var(--txt);font-variant-numeric:tabular-nums}.sxo-day .ct span{font-size:10.5px;font-weight:700}
  .sxo-list{list-style:none;margin:0;padding:2px 10px 4px}
  .sxo-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;min-height:30px;padding:3px 0;border-top:1px solid #f1f1ec}
  .sxo-list li:first-child{border-top:0}
  .sxo-list .nm{font-size:12px;font-weight:700;line-height:1.25;color:var(--txt);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sxo-list .tm{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.08;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--sub)}   /* 出勤/退勤を2段(名前の幅を確保 2026-10-09) */
  .sxo-list .tm b{font-size:11px;color:var(--txt)}.sxo-list .tm i{display:none}.sxo-list .tm span{font-size:9.5px;color:var(--faint)}
  .sxo-list.st{background:#fafaf7;padding-top:0}
  .sxo-list.st .nm{font-weight:600;color:var(--sub)}.sxo-list.st .tm b{color:var(--sub)}
  .sxo-sub{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px 4px;background:#fafaf7;border-top:1px dashed var(--line2)}
  .sxo-sub span{font-size:9.5px;font-weight:900;letter-spacing:.14em;color:var(--faint)}.sxo-sub em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--sub);font-variant-numeric:tabular-nums}
  .sxo-cat{display:inline-block;font-size:9px;font-weight:800;color:var(--sub);border:1px solid var(--line2);border-radius:4px;padding:0 4px;margin-right:4px;vertical-align:1px;background:#fff}
  .sxo-hm{display:inline-block;margin-left:4px;font-size:9.5px;font-weight:800;color:var(--accent);vertical-align:1px}.sxo-hm.tbd{color:#b06a00}
  .sxo-none{padding:14px 10px;font-size:12px;color:var(--faint);text-align:center}
  /* 内勤の区別(2026-10-09) */
  
  
  
  
  dialog.sfb-modal{border:0;padding:0;background:transparent;color:var(--txt);max-inline-size:min(100% - 32px, 720px);
    opacity:0;transform:translateY(6px) scale(.98);
    transition:opacity .16s ease, transform .16s ease, overlay .16s allow-discrete, display .16s allow-discrete}
  dialog.sfb-modal[open]{opacity:1;transform:none}
  @starting-style{ dialog.sfb-modal[open]{opacity:0;transform:translateY(6px) scale(.98)} }
  dialog.sfb-modal::backdrop{background:rgba(22,24,29,.4)}
  @supports (backdrop-filter:blur(1px)){ dialog.sfb-modal::backdrop{backdrop-filter:blur(2px)} }
  .sfb-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;width:320px;max-width:100%;box-shadow:0 12px 40px rgba(16,24,40,.14)}
  .sfb-box h3{margin:0 0 4px;font-size:16px} .sfb-box .sub{color:var(--sub);font-size:12px;margin-bottom:14px}
  .sfb-box .row{display:flex;gap:8px;margin:10px 0}
  .sfb-box .row label{margin:0;align-self:center;min-width:52px}
  .sfb-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:9997;
        background:#16181d;color:#fff;border:none;padding:11px 20px;border-radius:12px;
        font-size:13px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;box-shadow:0 8px 24px rgba(16,24,40,.25)}
  .sfb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .hide{display:none}
  /* ---- theme.css から移した構造宣言(2026-10-11 効率化第4段: 値は NIGHT OPS の最終値) ---- */
  nav a.parent:hover{transform:translateX(4px)}
  nav a.parent.open:not(.active){transform:none}
  select:focus{outline:none}
  input[type=checkbox]{cursor:pointer}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;max-width:100%}
  nav a.parent .ic{align-items:center;justify-content:center;margin-right:10px}
  td .muted{text-wrap:nowrap}
  nav a.parent.active{outline:none}
  nav a.parent.active:active{transform:rotate(-2deg) translateX(5px) scale(.96) !important}
  #fxSnd{width:100%}
  #gateKeep{width:100%}
  #appbar{position:fixed;top:0;left:0;right:0;height:52px;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 18px;border-bottom:1px solid #e5e3dd}
  .ab-brand{display:flex;align-items:center;gap:7px}
  .ab-right{display:flex;align-items:center;gap:8px;min-width:0}
  #appbar .uchip{max-width:min(52vw,340px)}
  #appbar .uchip .umeta{min-width:0}
  #appbar .uchip .umeta b{white-space:nowrap;text-overflow:ellipsis}
  .ab-logout{white-space:nowrap}
  #gate{z-index:9999}
  nav a.parent:active{transform:scale(.985) !important}
  .empty{text-align:center}
  td .sns-ic{text-align:center}
  .ab-menu{display:none;width:38px !important;height:38px !important;box-sizing:border-box;line-height:0;place-items:center;margin-right:2px}
  .card .card{padding:14px 0 0 !important;margin:14px 0 0 !important}
  .card .card .card{padding:14px 0 0 !important;margin:14px 0 0 !important}
  h1+.muted{max-width:72ch}
  @media (max-width:760px){
    .app{flex-direction:row}
    .sidebar{position:fixed;inset:0 auto 0 0;inline-size:min(78vw,300px);flex:none;transform:translateX(-105%);z-index:60;overflow-y:auto;overflow-x:hidden;border-inline-end:1px solid var(--line)}
    body.navopen .sidebar{transform:none}
    nav{flex-direction:column}
    .navgrp{flex-direction:column}
    .content{padding-top:64px}
    #appbar{height:48px;padding:0 10px 0 14px}
  }
  @media (max-width:760px),(max-height:520px){
    .ab-menu{display:grid}
    #appbar{padding-left:8px}
    .sidebar{position:fixed !important;inline-size:var(--dw) !important;height:auto !important;top:0 !important;transform:none !important;z-index:5;overflow-y:auto;overflow-x:hidden;display:block}
    nav{flex-direction:column}
    .navgrp{flex-direction:column}
    .app{display:block}
    .content{position:relative;z-index:10;min-height:100dvh;max-inline-size:100%;padding:calc(64px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}
    body.navopen .content{transform:translateX(var(--navx,0))}
    body.navopen #appbar{transform:translateX(var(--navx,0))}
    html.navdrag .content{transform:translateX(var(--navx,0))}
    html.navdrag #appbar{transform:translateX(var(--navx,0))}
  }
  @media (max-height:520px){
    .content{padding-top:calc(58px + env(safe-area-inset-top))}
  }
}
@layer base{
  :where(button,a,select,input,textarea,summary,[role=button],.sfb-cell){touch-action:manipulation}
  :where(button,a[href],select,input,textarea,[tabindex],.sfb-cell,.adjbtn,.sns-open,.sns-click,nav a):focus-visible{
    outline:2px solid var(--accent); outline-offset:2px}
  :where(button,.adjbtn,.sns-open,nav a,.seg button):active:not(:disabled){transform:translateY(1px)}
  h1{text-wrap:balance}
  .muted{text-wrap:pretty}
  .sidebar{padding-block-end:max(18px, env(safe-area-inset-bottom))}
  .content{padding-inline:clamp(16px, 3.4vw, 34px); padding-block-end:max(90px, env(safe-area-inset-bottom))}
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{transition-duration:.01ms !important; animation-duration:.01ms !important}
    ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important}
  }
}
@layer utilities{
  @media (max-width:760px){
    .sidebar{ -webkit-overflow-scrolling:touch; border-block-end:1px solid var(--line); padding-block:8px}
    
    
    .uchip{margin:0 0 8px;padding:7px 10px}
    .uchip .umeta small{display:none}
    .content{max-inline-size:100%}
  }
  th,td{font-variant-numeric:tabular-nums}
  .num,td.num{text-align:right}
  @supports selector(:has(a)){
    .issue:has(.sev.ERROR){background:var(--danger-bg)}
  }
  @supports (view-transition-name:none){
    ::view-transition-old(root),::view-transition-new(root){animation-duration:.16s}
  }
}

/* ============================================================
   ページ別の構造(非 @layer)。2026-10-11 効率化第4段で pages.css を統合。
   上の @layer 群より後ろ・theme.css より前に連結される=以前の pages.css と同じカスケード位置。
   非レイヤーなのは「@layer に入れると theme.css(非レイヤー)の汎用規則に詳細度に関係なく負ける」ため。
   新しいページの構造 CSS はここに足す(色・影・角丸は theme.css ではなくページ自身の規則に書いてよい=ページ固有の意匠)。
   ============================================================ */
/* ===== YouTube 切り抜き(2026-10-15 方針 docs/plans/2026-10-14_pages-refine-yt-reserve-kini.md 1) =====
   子ページ ジョブ / チャンネル設定。1 行目=ツールバー(左=件数・状態のチップ・検索 / 右=処理機の状態・主操作)→ 表(行 48px・13px・サムネ 96×54)。
   詳細は右の引き出し(480px)・作るのは右の作業の板(560px)。狭い画面(760px 以下)は全面。状態のバッジは無彩色+失敗だけ赤・進み具合の棒は無彩色。
   表示の切替は visibility(位置を動かさない)。js/youtube.js と対 */
/* 他のページが使う共通の部品(広告運用 ads.js・SNS 分析の項目名)は残す */
.yt-l{display:block;font-size:10px;letter-spacing:.14em;color:var(--faint);font-weight:800;margin-bottom:5px;white-space:nowrap}
.yt-jnote{margin-top:10px;padding:8px 12px;border-left:3px solid var(--line2);background:#f7f8f4;font-size:12px;color:var(--sub);overflow-wrap:anywhere}
.yt-jnote.err{border-left-color:#c62828;background:#fff7f7;color:#c62828}
.yt-st{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.04em;padding:3px 9px;border:1px solid var(--line2);white-space:nowrap}
.yt-st.queued{color:var(--sub)}.yt-st.running,.yt-st.canceling{color:#b45309;border-color:#f0d9a6;background:#fffaf0}.yt-st.done{color:#1b7f3b;border-color:#bfe3c9;background:#f2fbf4}.yt-st.failed{color:#c62828;border-color:#f3c9c9;background:#fff7f7}.yt-st.canceled{color:var(--faint)}

#view-youtube,#view-ytkabu{min-width:0;container-type:inline-size}
.yt2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.yt2-num{font-family:var(--mono);font-variant-numeric:tabular-nums}
/* ツールバー */
.yt2-tb{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tl tm tr";align-items:center;column-gap:16px;row-gap:8px;min-height:48px;margin-top:6px;border-bottom:1px solid var(--line);padding-bottom:8px}
.yt2-tl{grid-area:tl;white-space:nowrap}
.yt2-n{font-family:var(--mono);font-size:12.5px;color:var(--sub)}
.yt2-tm{grid-area:tm;display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-width:0}
.yt2-tm input[type=search]{flex:0 1 280px;min-width:160px;padding:7px 14px;font-size:13px}
.seg.yt2-seg{flex-wrap:nowrap}
.seg.yt2-seg button{padding:5px 14px !important;font-size:12.5px;white-space:nowrap}
.yt2-tr{grid-area:tr;display:flex;align-items:center;gap:10px}
button.yt2-pri,a.yt2-pri{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important;font-weight:700;padding:8px 18px;font-size:13px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:36px}
button.yt2-pri:disabled{background:#d8d9d3 !important;border-color:#d8d9d3 !important;color:#fff !important;cursor:not-allowed}
button.yt2-pri svg{width:15px;height:15px;flex:none}
button.yt2-dangerfill{background:var(--danger) !important;border-color:var(--danger) !important}
button.yt2-danger{color:var(--danger) !important}
/* 処理機の状態(丸+文字を常に出す・押すと最終応答と件数) */
.yt2-runwrap{position:relative}
button.yt2-run{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;font-size:12.5px;font-weight:700;min-height:36px;white-space:nowrap}
.yt2-dot{width:9px;height:9px;border-radius:50%;background:#c62828;display:inline-block;flex:none}
.yt2-run.on .yt2-dot,.yt2-dot.on{background:#1b7f3b}
.yt2-runpop{position:absolute;right:0;top:calc(100% + 6px);z-index:70;width:min(300px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(23,24,26,.12);padding:12px 14px;visibility:hidden;font-size:12.5px}
.yt2-runpop.open{visibility:visible}
.yt2-rph{display:flex;align-items:center;gap:8px;margin-bottom:8px}.yt2-rph span{margin-left:auto;font-weight:700}
.yt2-rpn{margin-top:8px;padding-top:8px;border-top:1px solid var(--line2);color:var(--sub);font-size:12px}
.yt2-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:12.5px}
.yt2-dl dt{color:var(--sub)}.yt2-dl dd{margin:0;word-break:break-word}
.yt2-note{min-height:22px;line-height:22px;font-size:12px;color:var(--sub);padding:2px 2px 0}
.yt2-note.err{color:var(--danger)}
/* ページの中のタブ(2026-10-15 方針 youtube-kabukabu A: 切り抜き=ジョブ/投稿予約/チャンネル設定・かぶかぶ=概要/コメント/予約投稿/連携)。現在地はオレンジの下線 */
.yt2-tabs{display:flex;gap:2px;margin-top:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.yt2-tabs::-webkit-scrollbar{display:none}
.yt2-tabs button[role=tab]{position:relative;flex:none;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;clip-path:none;padding:10px 14px !important;min-height:40px;font-size:13.5px;font-weight:600 !important;color:var(--sub) !important;white-space:nowrap;transform:none !important}
.yt2-tabs button[role=tab]:hover{color:var(--txt) !important;background:transparent !important}
.yt2-tabs button[role=tab][aria-selected=true]{color:var(--txt) !important}
.yt2-tabs button[role=tab][aria-selected=true]::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--accent)}
.yt2-prep{padding:40px 8px}
/* かぶかぶ: 概要(ツールバー=チャンネル・KPI 帯=.an-kpi・最近の動画=.yt2-tbl) */
.yk-who{display:flex;align-items:center;gap:10px;min-width:0;white-space:normal}
.yk-av{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--line);flex:none}
.yk-nm{display:flex;flex-direction:column;min-width:0}
.yk-nm b{font-size:13.5px;line-height:1.3;overflow-wrap:anywhere}
.yk-nm .yt2-c{margin-top:0}
.yk-err{color:var(--danger) !important}
a.yk-open{display:inline-flex;align-items:center;min-height:36px;padding:6px 16px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:700;color:var(--txt);text-decoration:none;white-space:nowrap;background:#fff}
a.yk-open:hover{border-color:var(--line2);background:#fafaf7}
.an-kpi.yk-kpi{margin-top:4px}
.yk-h{font-size:13px;font-weight:600;margin:4px 0 6px;display:flex;align-items:baseline;gap:8px}
.yk-vtbl th.yk-n,.yk-vtbl td.yk-n{text-align:right;white-space:nowrap}
.yk-vtbl td.yk-d{white-space:nowrap}
.yk-vtbl .yt2-t a{color:inherit;text-decoration:none}
.yk-vtbl .yt2-t a:hover{text-decoration:underline}
@container (max-width:639px){
  .yt2-tbl.yk-vtbl tbody tr{grid-template-columns:96px repeat(3,minmax(0,1fr))}   /* カード: サムネ・題名 → 公開日・再生・いいね・コメント */
  .yt2-tbl.yk-vtbl tbody tr td.yt2-c-th{grid-row:1;grid-column:1}
  .yt2-tbl.yk-vtbl tbody tr td.yt2-c-v{grid-row:1;grid-column:2 / -1}
  .yt2-tbl.yk-vtbl tbody tr td.yk-n{text-align:left}
}
/* ===== かぶかぶ・推し沼公式の予約投稿・投稿(2026-10-21 方針 docs/plans/2026-10-21_youtube-studio-browser.md 6・js/ytk.js と対) =====
   一覧は切り抜きと同じ角丸のカード(.yt2-jtbl)・行の右に Studio で開く。帯=止めている/処理機の停止/ログイン切れ(一覧は隠さない)。板は 880px の 2 列(760px 以下は全面・縦並び・主操作は下に固定) */
#view-ytoshi{min-width:0;container-type:inline-size}
.yk-card{background:#fff;border:1px solid #e7e7e3;border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden}
.yk-card .yt2-empty{padding:28px 16px}
.yk-band:empty{display:none}
.yk-bn{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0 4px;padding:10px 14px;border:1px solid #f0d9a6;background:#fffaf0;border-radius:10px;font-size:12.5px;color:#7a4b06}
.yk-bn.err{border-color:#f3c9c9;background:#fff7f7;color:var(--danger)}
.yk-bn b{font-weight:700}
.yk-bn .yk-open{margin-left:auto}
.yk-bl{flex-basis:100%;margin:4px 0 0;padding-left:18px;color:var(--txt);font-size:12px;line-height:1.6}
.yk-tbl td.yk-d{white-space:nowrap}
.yk-tbl th.yk-act,.yk-tbl td.yk-act{width:48px;text-align:right}
a.yk-rb{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #e4e4e0;color:var(--sub);background:#fff}
a.yk-rb:hover{color:var(--txt);border-color:var(--line2)}
a.yk-rb svg{width:16px;height:16px}
.yk-noth{display:block;width:96px;height:54px;border-radius:6px;background:#f1f1ee}
.yk-noth.s{width:64px;height:36px}
#ytCfm.yk-cfm #ytCfmBody{white-space:pre-line;color:var(--txt)}
.yt2-drw.yk-drw{width:880px}
.yk-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;padding-top:14px}
.yk-col{min-width:0}
.yk-f{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;border:0;padding:0;font-size:13px}
.yk-f>span,.yk-f>legend{font-weight:600;font-size:12.5px;color:var(--txt);padding:0}
.yk-f small{font-weight:400;color:var(--sub);margin-left:6px}
.yk-f small.err,.yk-hint.err{color:var(--danger)}
.yk-f textarea.yt2-in{width:100%;box-sizing:border-box;padding:8px 12px;font-size:13.5px;line-height:1.6;resize:vertical}
.yk-f input.yt2-in,.yk-f select.yt2-in{width:100%;box-sizing:border-box;padding:8px 12px;font-size:13.5px;min-height:40px}
.yk-hint{font-size:11.5px;color:var(--sub);line-height:1.5}
.yk-rd{display:flex;align-items:center;gap:8px;min-height:36px;font-size:13px}
.yk-rd input{width:auto !important;min-height:0;flex:none;margin:0}
.yk-dlist{display:flex;flex-direction:column;gap:4px;max-height:44vh;overflow-y:auto;margin-top:8px;border:1px solid var(--line2);border-radius:10px;padding:4px}
button.yk-di{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:6px 8px !important;border:1px solid transparent !important;background:#fff !important;border-radius:8px !important;box-shadow:none !important;min-height:48px}
button.yk-di:hover{background:#fafaf7 !important}
button.yk-di.on{border-color:var(--accent) !important;background:#fff6ef !important}
button.yk-di img{width:64px;height:36px;object-fit:cover;border-radius:4px;flex:none}
.yk-dn{display:flex;flex-direction:column;min-width:0}
.yk-dn b{font-size:12.5px;font-weight:600;overflow-wrap:anywhere}
.yk-dn small{font-size:11px;color:var(--sub)}
.yk-sel{margin-top:8px;padding:8px 10px;border-radius:8px;background:#f5f5f2;font-size:12.5px;color:var(--sub);overflow-wrap:anywhere}
.yk-sel.on{background:#fff6ef;color:var(--txt)}
.yk-imgrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.yk-imgrow img{width:160px;height:90px;object-fit:cover;border-radius:6px;background:#f1f1ee}
.yk-dl{margin-top:14px}
.yk-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;line-height:1.6;max-height:240px;overflow-y:auto}
.yk-err{color:var(--danger)}
.yk-link{max-width:720px;padding-top:8px}
.yk-lr{display:grid;grid-template-columns:12px 10em minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13px}
.yk-lr span{color:var(--sub);overflow-wrap:anywhere}
.yk-steps{margin:0 0 12px;padding-left:20px;font-size:12.5px;line-height:1.8;color:var(--sub)}
.yk-links{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:760px){
  .yt2-drw.yk-drw{width:auto}
  .yk-2col{grid-template-columns:1fr}
  .yk-dlist{max-height:36vh}
  .yk-f textarea.yt2-in,.yk-f input.yt2-in,.yk-f select.yt2-in{font-size:16px}
  .yk-lr{grid-template-columns:12px minmax(0,1fr)}
  .yk-lr span{grid-column:2}
}
/* 本文が狭い時(iPad の縦・サイドバーあり): ツールバーは 2 段(件数と操作 / チップと検索) */
@container (max-width:900px){
  .yt2-tb{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tl tr" "tm tm"}
  .seg.yt2-seg{flex-wrap:wrap}
  .yt2-tm input[type=search]{flex:1 1 220px}
}
/* 表(行 48px・13px) */
.yt2-list{container-type:inline-size;min-width:0}
.yt2-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.yt2-tbl th{height:32px;padding:0 10px;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--sub);text-transform:none;letter-spacing:0;background:#fafaf7;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left}
.yt2-tbl td{height:48px;padding:6px 10px;border-bottom:1px solid var(--line2);vertical-align:middle;white-space:normal;line-height:1.35}
.yt2-tbl tbody tr{cursor:pointer;outline:none}
.yt2-tbl tbody tr:hover td{background:#fafaf7}
.yt2-tbl tbody tr.on td{background:#fff4ec}
.yt2-tbl tbody tr:focus-visible td{box-shadow:inset 0 2px 0 rgba(242,92,5,.45),inset 0 -2px 0 rgba(242,92,5,.45)}
.yt2-c-th{width:96px;padding-right:0 !important}
.yt2-c-th img{width:96px;height:54px;object-fit:cover;background:#eee;display:block;border-radius:3px}
.yt2-t{font-weight:700;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.yt2-c{font-size:11.5px;color:var(--sub);margin-top:2px}
.yt2-c-v{min-width:220px}
.yt2-c-s{min-width:190px}
.yt2-tbl td.yt2-c-o,.yt2-tbl td.yt2-c-r,.yt2-tbl td.yt2-c-p{white-space:nowrap}
.yt2-sl{display:flex;align-items:center;gap:10px}
.yt2-st{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border:1px solid var(--line);border-radius:3px;color:var(--sub);background:#fff;white-space:nowrap;line-height:18px}
.yt2-st.s-running,.yt2-st.s-canceling{color:var(--txt);border-color:#cfd0ca}
.yt2-st.s-done{color:var(--txt);background:#f0f1ec;border-color:#f0f1ec}
.yt2-st.s-failed{color:var(--danger);border-color:#f3c9c9;background:#fff7f7}
.yt2-st.s-canceled{color:var(--faint)}
.yt2-bar{display:inline-flex;gap:2px;width:112px;flex:none}
.yt2-bar i{height:4px;flex:1;background:var(--line);border-radius:1px}
.yt2-bar i.d{background:#55585e}
.yt2-bar i.c{background:#a4a79c;animation:yt2blink 1.2s infinite alternate}
@keyframes yt2blink{to{opacity:.35}}
@media (prefers-reduced-motion:reduce){.yt2-bar i.c{animation:none}}
.yt2-msg{font-size:11.5px;color:var(--sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.yt2-msg.err{color:var(--danger)}
.yt2-empty{padding:28px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px}
.yt2-more{display:flex;align-items:center;gap:12px;padding:12px 0;visibility:hidden}
.yt2-more button{font-size:12.5px;min-height:36px;padding:6px 18px}
.yt2-moreerr{font-size:12px;color:var(--danger)}
@container (max-width:900px){   /* iPad の横(本文 760px 前後)でも表のまま収める */
  .yt2-tbl td,.yt2-tbl th{padding-left:8px;padding-right:8px}
  .yt2-c-v{min-width:150px}
  .yt2-c-s{min-width:0}
  .yt2-bar{width:80px}
  .yt2-msg{max-width:150px}
}
/* スマホ(本文 640px 未満): 1 件 1 カード(横スクロールなし) */
@container (max-width:639px){
  .yt2-tbl thead{display:none}
  .yt2-tbl,.yt2-tbl tbody{display:block}
  .yt2-tbl tbody tr{display:grid;grid-template-columns:96px repeat(2,minmax(0,1fr));gap:4px 12px;padding:10px 4px;border-bottom:1px solid var(--line2)}
  .yt2-tbl tbody tr td{display:block;height:auto;border:none;padding:0;min-width:0;white-space:normal;font-size:12.5px}
  .yt2-tbl tbody tr td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--sub);margin-bottom:1px}
  .yt2-tbl tbody tr td.yt2-c-th{grid-row:1;grid-column:1}
  .yt2-tbl tbody tr td.yt2-c-v{grid-row:1;grid-column:2 / span 2}
  .yt2-tbl tbody tr td.yt2-c-s{grid-column:1 / -1;order:5}   /* カード: サムネ・題名 → チャンネル設定・成果・登録 → 状態 */
  .yt2-chtbl tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .yt2-chtbl tbody tr td.yt2-c-v{grid-row:auto;grid-column:1 / -1}
  .yt2-msg{max-width:none}
}
/* 切り抜きのジョブ一覧(2026-10-19 オーナー指示「罫線が分かりにくい・北米の最新のデザイン」): 角丸のカード 1 枚に行を並べ、罫線は行の間の薄い 1 本だけ。
   状態は丸い点つきの丸いバッジ・成果は小さなチップ・行の右端に Drive と削除の丸いボタン(位置は固定・使えない行は visibility で隠す)。.yt2-jtbl だけに効かせる(かぶかぶ・予約の表は変えない) */
.yt2-tb{border-bottom:0;padding-bottom:4px}
.yt2-tm input[type=search]{border-radius:999px;background:#fff;border:1px solid #e4e4e0}
.seg.yt2-seg{background:#f2f2ef;border-radius:999px;padding:3px;gap:2px;border:0}
.seg.yt2-seg button{border:0 !important;border-radius:999px !important;background:transparent !important;color:var(--sub) !important;box-shadow:none !important;font-weight:600}
.seg.yt2-seg button.active{background:#fff !important;color:var(--txt) !important;box-shadow:0 1px 2px rgba(16,24,40,.08),0 0 0 1px rgba(16,24,40,.04) !important}
#ytJobs{background:#fff;border:1px solid #e7e7e3;border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden}
.yt2-jtbl{font-size:13.5px}
.yt2-jtbl th{position:static;top:auto;height:38px;padding:0 14px;background:#fafaf9;border-bottom:1px solid #ededea;font-size:12px;font-weight:600;color:#6b6d68}
.yt2-jtbl td{height:auto;padding:14px;border-bottom:1px solid #f1f1ee}
.yt2-jtbl tbody tr:last-child td{border-bottom:0}
.yt2-jtbl tbody tr{transition:background-color .12s}
.yt2-jtbl tbody tr:hover td{background:#fafaf9}
.yt2-jtbl tbody tr.on td{background:#fff6ef}
.yt2-jtbl tbody tr:focus-visible td{box-shadow:none;background:#fff6ef}
.yt2-jtbl tbody tr:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.yt2-jtbl .yt2-c-th{width:120px;padding-right:0}
.yt2-jtbl .yt2-c-th img{width:120px;height:68px;border-radius:8px;box-shadow:0 0 0 1px rgba(16,24,40,.06)}
.yt2-jtbl .yt2-t{font-size:14px;font-weight:600;line-height:1.4;color:var(--txt)}
.yt2-jtbl .yt2-c{font-size:12.5px;margin-top:4px;color:#6b6d68}
.yt2-jtbl .yt2-c-p{color:#3f413d}
.yt2-jtbl .yt2-sl{gap:12px}
.yt2-jtbl .yt2-st{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:3px 10px 3px 9px;font-size:12px;font-weight:600;line-height:18px;background:#f1f1ee;color:#55575a}
.yt2-jtbl .yt2-st::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.yt2-jtbl .yt2-st.s-done{background:#e9f7ee;color:#167a3a}
.yt2-jtbl .yt2-st.s-running,.yt2-jtbl .yt2-st.s-canceling{background:#fff4e5;color:#b45309}
.yt2-jtbl .yt2-st.s-failed{background:#fdecec;color:#c62828}
.yt2-jtbl .yt2-st.s-queued{background:#eef2ff;color:#4352c4}
.yt2-jtbl .yt2-st.s-canceled{background:#f1f1ee;color:#8a8c86}
.yt2-jtbl .yt2-bar{width:96px;gap:3px}
.yt2-jtbl .yt2-bar i{height:4px;border-radius:999px;background:#ebebe7}
.yt2-jtbl .yt2-bar i.d{background:#167a3a}
.yt2-jtbl .yt2-bar i.c{background:#f0a24a}
.yt2-jtbl .yt2-msg{margin-top:6px;font-size:12px}
.yt2-chip{display:inline-flex;align-items:center;gap:4px;margin-right:6px;padding:2px 9px;border-radius:999px;background:#f4f4f1;color:#55575a;font-size:12px;line-height:20px;white-space:nowrap}
.yt2-chip b{color:var(--txt);font-weight:600}
.yt2-jtbl .yt2-c-a{width:96px;padding-left:4px;text-align:right}
.yt2-acts{display:inline-flex;gap:4px}
.yt2-ib{display:inline-grid;place-items:center;width:36px;height:36px;padding:0 !important;border-radius:10px !important;border:1px solid transparent !important;background:transparent !important;color:#55575a !important;box-shadow:none !important;cursor:pointer;flex:none;transition:background-color .12s,color .12s}
.yt2-ib svg{width:18px;height:18px}
.yt2-ib:hover{background:#efefec !important;color:var(--txt) !important}
.yt2-ib:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.yt2-ib-del:hover{background:#fdecec !important;color:#c62828 !important}
.yt2-ib[aria-busy=true]{opacity:.45;cursor:progress}
.yt2-more{padding:14px 2px}
@container (max-width:900px){
  .yt2-jtbl td,.yt2-jtbl th{padding-left:10px;padding-right:10px}
  .yt2-jtbl .yt2-c-th{width:96px}.yt2-jtbl .yt2-c-th img{width:96px;height:54px}
}
@container (max-width:639px){   /* スマホ: 1 件 1 カード。右上に Drive と削除 */
  #ytJobs{border-radius:12px}
  .yt2-jtbl tbody tr{grid-template-columns:96px repeat(2,minmax(0,1fr)) auto;gap:8px 12px;padding:14px 12px;border-bottom:1px solid #f1f1ee}
  .yt2-jtbl tbody tr:last-child{border-bottom:0}
  .yt2-jtbl tbody tr td{background:transparent !important}
  .yt2-jtbl tbody tr td.yt2-c-v{grid-row:1;grid-column:2 / span 2}
  .yt2-jtbl tbody tr td.yt2-c-a{grid-row:1;grid-column:4;width:auto;padding:0}
  .yt2-jtbl tbody tr td.yt2-c-a .yt2-acts{flex-direction:column}
  .yt2-jtbl tbody tr td.yt2-c-p{grid-column:1 / 3}
  .yt2-jtbl tbody tr td.yt2-c-o{grid-column:3 / 5}
  .yt2-jtbl tbody tr td.yt2-c-s{grid-row:3;grid-column:1 / 3;order:0}
  .yt2-jtbl tbody tr td.yt2-c-r{grid-row:3;grid-column:3 / 5}
  .yt2-jtbl .yt2-bar{width:72px}
  .yt2-jtbl tbody tr:hover{background:#fafaf9}
  .yt2-jtbl tbody tr.on{background:#fff6ef}
  .yt2-ib{width:44px;height:44px}
}
/* 引き出し(右・480px)と作業の板(右・560px)。狭い画面は全面 */
.yt2-scrim{position:fixed;inset:0;z-index:1140;background:rgba(23,24,26,.32);visibility:hidden;opacity:0;transition:opacity .18s,visibility .18s}
.yt2-scrim.on{visibility:visible;opacity:1}
.yt2-drw{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;z-index:1145;background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 28px rgba(23,24,26,.12);display:flex;flex-direction:column;visibility:hidden;transform:translateX(24px);opacity:0;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .2s,visibility .2s}
.yt2-drw.open{visibility:visible;transform:none;opacity:1;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .2s,visibility 0s}   /* 開く時は見える状態へすぐ切り替える(焦点を移せるように) */
.yt2-sheet{width:560px;z-index:1150}
html.yt2-lock{overflow:hidden}
@media (max-width:760px){.yt2-drw{width:auto;left:0;border-left:none}}
@media (prefers-reduced-motion:reduce){.yt2-drw{transition:none}}
.yt2-dh{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 18px;border-bottom:1px solid var(--line);min-height:56px;flex:none}
.yt2-dt{flex:1;min-width:0;margin:0;font-size:15px;font-weight:700;line-height:1.35;outline:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
button.yt2-x{width:44px;height:44px;min-width:44px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;flex:none}
.yt2-x svg{width:18px;height:18px}
.yt2-dirty{font-size:11.5px;font-weight:700;color:var(--accent);visibility:hidden;white-space:nowrap}
.yt2-db{flex:1;min-height:0;overflow-y:auto;padding:0 18px 18px}
.yt2-df{flex:none;display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#fff;min-height:64px}
.yt2-df button{min-height:44px}
.yt2-dst{font-size:12px;color:var(--sub);min-width:0}
.yt2-dst.err{color:var(--danger)}
.yt2-ds{padding:14px 0;border-bottom:1px solid var(--line2)}
.yt2-ds:last-child{border-bottom:none}
.yt2-ds h3{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 8px}
.yt2-dv{display:flex;gap:14px;align-items:flex-start}
.yt2-dv img{width:160px;height:90px;object-fit:cover;background:#eee;flex:none;border-radius:3px}
.yt2-links{display:flex;flex-direction:column;gap:6px;margin-top:8px;font-size:12.5px}
.yt2-links a{display:inline-flex;align-items:center;gap:6px}
.yt2-links svg,.yt2-btn svg{width:15px;height:15px;flex:none}
.yt2-ds .yt2-dl{margin-top:10px}
.yt2-dact{display:flex;gap:8px;margin-top:12px}
.yt2-dact button{min-height:40px;padding:6px 18px;font-size:12.5px}
.yt2-clip{padding:10px 0;border-top:1px solid var(--line2)}
.yt2-clip:first-of-type{border-top:none;padding-top:0}
.yt2-ch{display:flex;align-items:baseline;gap:8px;font-size:13px}
.yt2-rk{font-weight:700;color:var(--sub)}
.yt2-ct{flex:1;min-width:0;font-weight:700;overflow-wrap:anywhere}
.yt2-cb{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
a.yt2-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--txt);border:1px solid var(--line);border-radius:999px;padding:5px 12px;text-decoration:none;min-height:32px;box-sizing:border-box}
a.yt2-btn:hover{background:#f6f6f4}
.yt2-post{margin-top:8px}
.yt2-ph{display:flex;align-items:center;gap:8px;font-size:12px}
.yt2-ph b{font-weight:700}
button.yt2-cp{font-size:11.5px;padding:3px 10px;min-height:30px;margin-left:auto}
.yt2-pt{margin-top:4px;font-size:12.5px;color:var(--sub);white-space:pre-wrap;line-height:1.5;overflow-wrap:anywhere}
.yt2-tl{font-size:12px}
.yt2-tl div{padding:3px 0 3px 10px;border-left:2px solid var(--line);color:var(--sub)}
.yt2-tl b{color:var(--txt);font-weight:600;margin-right:8px}
.yt2-log{font-family:var(--mono);font-size:11px;white-space:pre-wrap;background:#1c1d21;color:#d8dbd0;padding:10px 12px;max-height:220px;overflow:auto;margin-top:12px;border-radius:3px}
/* 作業の板の中身(① URL と見本 ② チャンネルのカード ③ 選定メモ) */
.yt2-ss{padding:16px 0;border-bottom:1px solid var(--line2)}
.yt2-ss:last-child{border-bottom:none}
/* ③ 縦型の出力形式(2026-10-19): 5 つを常に 1 列で見せる・押す領域 44px 以上 */
.yt2-vs{border:0;margin:0;padding:0;min-width:0}
.yt2-vs legend{padding:0}
.yt2-vs .yt2-ck{min-height:44px;align-items:flex-start;padding:4px 0;box-sizing:border-box}
.yt2-vs .yt2-ck input{margin-top:2px}
.yt2-vs .yt2-ck b{display:block;font-weight:700}
.yt2-vs .yt2-ck small{display:block;font-size:11.5px;color:var(--sub);line-height:1.5}
.yt2-vs .yt2-hint{margin-top:6px;color:var(--sub);line-height:1.5}
.yt2-dsum{font-size:12px;color:var(--txt);min-width:0}
.yt2-sh{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;font-weight:700}
.yt2-no{width:22px;height:22px;border-radius:50%;background:var(--btn);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:none;font-family:var(--mono)}
.yt2-urlrow{display:flex;gap:8px}
.yt2-urlrow input{flex:1;min-width:0;padding:10px 12px;font-size:14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--txt);font-family:var(--mono)}
.yt2-urlrow button{flex:none;min-height:42px}
.yt2-pv{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.yt2-pv:empty{display:none}
.yt2-pvc{display:flex;gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:4px;font-size:12.5px}
.yt2-pvc img{width:128px;height:72px;object-fit:cover;background:#eee;flex:none;border-radius:3px}
.yt2-pvc.err{color:var(--danger);border-color:#f3c9c9;background:#fff7f7}
.yt2-pvc.warn{align-items:flex-start;border-color:#e5dcc4;background:#fbf9f3;color:var(--txt)}
.yt2-pvc.warn svg{width:16px;height:16px;flex:none;margin-top:1px;color:#8a6d1f}
.yt2-pd svg{width:14px;height:14px}
.yt2-drw input.yt2-in,.yt2-drw select.yt2-in{width:100%;box-sizing:border-box;padding:8px 12px;font-size:13.5px;min-height:40px}
/* チャンネル設定 */
.yt2-sa{display:inline-flex;align-items:center;gap:8px;font-size:12px;min-width:0;flex-wrap:wrap}
.yt2-sak{color:var(--sub)}
.yt2-sa code{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere;word-break:break-all}
.yt2-chtbl td{white-space:nowrap}
.yt2-ds-ok,.yt2-ds-ng,.yt2-ds-{display:inline-flex;align-items:center;gap:5px}
.yt2-ds-ok svg,.yt2-ds-ng svg{width:14px;height:14px;flex:none}
.yt2-ds-ng{color:var(--danger)}
.yt2-ds-{color:var(--sub)}
.yt2-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.yt2-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.yt2-f.w2{grid-column:1 / -1}
.yt2-fl{font-size:11.5px;font-weight:700;color:var(--sub)}
.yt2-ck{display:flex;align-items:center;gap:8px;font-size:13px;min-height:40px;cursor:pointer}
.yt2-ck input{width:20px;height:20px;margin:0;flex:none}
.yt2-f :disabled,.yt2-ck:has(:disabled){opacity:.5;cursor:not-allowed}
.yt2-hint{font-size:11.5px}
/* 画面の中の確認 */
.yt2-cfm{position:fixed;inset:0;z-index:1300;background:rgba(23,24,26,.38);display:flex;align-items:center;justify-content:center;padding:16px;visibility:hidden}
.yt2-cfm.open{visibility:visible}
.yt2-cbox{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 50px rgba(16,24,40,.22);width:min(420px,100%);padding:18px 20px}
.yt2-cbox h2{margin:0 0 8px;font-size:15px;font-weight:700}
.yt2-cbox p{margin:0 0 16px;font-size:13px;color:var(--sub);line-height:1.6;overflow-wrap:anywhere}
.yt2-cacts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.yt2-cacts button{min-height:40px;padding:6px 16px;font-size:13px}
/* スマホ: 入力は 16px 以上・押す場所 44px */
@media (max-width:760px){
  #view-youtube h1,#view-ytkabu h1,#view-ytoshi h1{font-size:22px}
  .yt2-tb{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tl tr" "tm tm"}
  .yt2-tm input[type=search]{flex:1 1 100%;font-size:16px}
  .seg.yt2-seg{flex-wrap:wrap}
  .seg.yt2-seg button{min-height:40px}
  .yt2-drw .yt2-urlrow input,.yt2-drw input.yt2-in,.yt2-drw select.yt2-in{font-size:16px}
  .yt2-form{grid-template-columns:minmax(0,1fr)}
  button.yt2-pri,button.yt2-run,.yt2-more button,.yt2-cacts button,.yt2-dact button{min-height:44px}
  .yt2-dv{flex-direction:column}
  .yt2-dv img{width:100%;height:auto;aspect-ratio:16/9}
}
@media (max-width:420px){.yt2-tr{gap:6px}button.yt2-pri{padding:8px 12px}button.yt2-run{padding:6px 10px}}

/* ===== 来店予約(2026-10-15 方針 docs/plans/2026-10-14_pages-refine-yt-reserve-kini.md 2) =====
   子ページ 予約一覧 / 分析 / 設定。ツールバー・表・引き出し・確認は YouTube と同じ部品(.yt2-*)を使い、来店予約に固有のものだけここに足す。
   予約一覧=左に月のカレンダー(272px)・右に日付ごとの見出し(上に固定)の表。本文 900px 以下は縦に並べる・640px 未満は 1 件 1 カード。
   行のステータスのボタンの選択中は無彩色(オレンジは現在地と主操作だけ)。表示の切替は visibility。js/reserve.js・js/reserve-analysis.js と対 */
#view-reserve,#view-rsvanalysis,#view-reserveform{min-width:0;container-type:inline-size}
.rsv-tl{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;white-space:normal}
.rsv-main{display:grid;grid-template-columns:272px minmax(0,1fr);gap:20px;align-items:start;margin-top:6px}
.rsv-calwrap{position:sticky;top:64px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px 12px 12px}
.rsv-calh{display:flex;align-items:center;gap:4px;margin-bottom:6px}
.rsv-calh b{font-size:13px;font-weight:700;min-width:86px;text-align:center}
button.rsv-calnav{width:32px;height:32px;min-width:32px;min-height:32px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}
.rsv-calt{margin-left:auto;font-size:12px;color:var(--sub)}
.rsv-cw,.rsv-cds{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.rsv-cw span{font-size:10.5px;color:var(--sub);text-align:center;padding:2px 0 4px}
.rsv-cw .sun{color:#c62828}.rsv-cw .sat{color:#2a78d6}
button.rsv-cd{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:40px;min-height:0 !important;padding:0 !important;border:1px solid transparent !important;border-radius:4px !important;background:transparent !important;box-shadow:none !important;color:var(--txt) !important;font-weight:400 !important;cursor:pointer;transform:none !important}
button.rsv-cd:hover{background:#f6f6f3 !important}
button.rsv-cd .d{font-size:12px;line-height:1.2}
button.rsv-cd .n{font-size:10.5px;line-height:1.2;color:var(--sub);min-height:13px}
button.rsv-cd.has .n{color:var(--txt);font-weight:700}
button.rsv-cd.has .n::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#55585e;margin-right:3px;vertical-align:middle;position:relative;top:-1px}
button.rsv-cd.past .d{color:var(--faint)}
button.rsv-cd.sun .d{color:#c62828}button.rsv-cd.sat .d{color:#2a78d6}
button.rsv-cd.inp{background:#f2f2ee !important}
button.rsv-cd.today .d{color:var(--accent);font-weight:800}
button.rsv-cd.sel{border-color:var(--accent) !important;background:#fff4ec !important}
button.rsv-cd:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.rsv-cd0{height:40px}
.rsv-calerr{margin-top:8px;font-size:12px;color:var(--danger);display:flex;align-items:center;gap:8px}
.rsv-listwrap{min-width:0}
/* 表: 日付ごとの見出し(上に固定)+行 48px */
.yt2-tbl.rsv-tbl tbody tr.rsv-dh{cursor:default}
.yt2-tbl.rsv-tbl tr.rsv-dh th{position:sticky;top:52px;z-index:2;height:34px;background:#f6f6f3;color:var(--txt);font-size:12.5px;font-weight:700;text-align:left;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.rsv-dh th>*{vertical-align:middle}
.rsv-dd small{margin-left:2px;color:var(--sub);font-weight:600}
.rsv-dh .yt2-st{margin-left:8px}
.rsv-dn{margin-left:10px;font-weight:400;color:var(--sub);font-size:11.5px}
.rsv-c-t{width:52px;font-weight:700;white-space:nowrap}
.rsv-c-c{min-width:140px}
.rsv-c-k{white-space:nowrap}
.rsv-c-n{min-width:120px}
.rsv-nm{font-weight:700;overflow-wrap:anywhere}
.rsv-party{margin-left:6px;font-size:11.5px;color:var(--sub);white-space:nowrap}
.yt2-st.rsv-first{margin-left:6px}
.rsv-c-s{overflow-wrap:anywhere;font-size:12.5px;color:var(--sub)}
.rsv-c-r{white-space:nowrap;font-size:12px;color:var(--sub)}
.rsv-c-st{white-space:nowrap}
.rsv-guest{font-weight:600}
.rsv-r.cx td{opacity:.5}
/* 2026-10-15 オーナー指示: ステータス操作なし・日ごとにコンパクトに(行 36px) */
.yt2-tbl.rsv-tbl td{height:36px;padding:3px 10px}
.yt2-tbl.rsv-tbl tr.rsv-dh th{height:30px}
.yt2-st.rsv-cxl{margin-left:6px}
.seg.rsv-stb{display:inline-flex;flex-wrap:nowrap;gap:2px}
.seg.rsv-stb button{flex:none;padding:4px 10px !important;font-size:12px;min-height:30px;line-height:1.2}
.seg.rsv-stb button.active{background:#2a2b2e !important;color:#fff !important;box-shadow:none !important;padding-inline:10px !important}
.seg.rsv-stb button[aria-disabled="true"]{opacity:.5;cursor:progress}
.rsv-sv{display:block;font-size:11px;color:var(--sub);margin-top:3px;min-height:14px;line-height:14px;white-space:nowrap}
.rsv-sv.err{color:var(--danger);white-space:normal}
.rsv-dsv{margin-top:6px}
.rsv-note{white-space:pre-wrap;overflow-wrap:anywhere}
/* 元に戻すの帯(画面の下に 5 秒) */
.rsv-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1200;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px rgba(23,24,26,.16);padding:8px 8px 8px 16px;display:flex;align-items:center;gap:14px;font-size:13px;visibility:hidden;max-width:calc(100vw - 32px)}
.rsv-toast.on{visibility:visible}
.rsv-toast button{min-height:36px;padding:6px 14px;font-size:12.5px;font-weight:700}
html.rsv-lock{overflow:hidden}
/* 本文が狭い時(iPad の縦・サイドバーあり): カレンダーと一覧を縦に */
@container (max-width:900px){
  .rsv-main{grid-template-columns:minmax(0,1fr)}
  .rsv-calwrap{position:static;max-width:460px}
}
/* 一覧の幅が狭い時(iPad の横・サイドバーあり): キャストの番号を省いて名前の折り返しを減らす */
@container (max-width:760px){.rsv-tbl .cc-id{display:none}.rsv-c-c{min-width:110px}}
/* スマホ(一覧の幅 640px 未満): 1 件 1 カード(横スクロールなし) */
@container (max-width:639px){
  .yt2-tbl.rsv-tbl tbody tr.rsv-dh{display:block;padding:0;border:none}
  .yt2-tbl.rsv-tbl tr.rsv-dh th{display:flex;align-items:center;gap:6px;height:auto;padding:8px 6px}
  /* 2026-10-15: 1 件 2 行(1 行目=時刻・キャスト・種別/2 行目=お客様・SNS ID) */
  .yt2-tbl.rsv-tbl tbody tr.rsv-r{grid-template-columns:48px minmax(0,1fr) auto;gap:2px 8px;padding:8px 6px}
  .yt2-tbl.rsv-tbl tbody tr.rsv-r td{height:auto;padding:0}
  .yt2-tbl.rsv-tbl tbody tr.rsv-r td.rsv-c-t{grid-row:1;grid-column:1}
  .yt2-tbl.rsv-tbl tbody tr.rsv-r td.rsv-c-c{grid-row:1;grid-column:2}
  .yt2-tbl.rsv-tbl tbody tr.rsv-r td.rsv-c-k{grid-row:1;grid-column:3}
  .yt2-tbl.rsv-tbl tbody tr.rsv-r td.rsv-c-n{grid-row:2;grid-column:2}
  .yt2-tbl.rsv-tbl tbody tr.rsv-r td.rsv-c-s{grid-row:2;grid-column:3;text-align:right;font-size:11.5px}
  .yt2-tbl.rsv-tbl td.rsv-c-t::before,.yt2-tbl.rsv-tbl td.rsv-c-c::before,.yt2-tbl.rsv-tbl td.rsv-c-k::before,.yt2-tbl.rsv-tbl td.rsv-c-n::before,.yt2-tbl.rsv-tbl td.rsv-c-s::before{display:none !important}
  .rsv-c-c,.rsv-c-n{min-width:0}
}
/* 設定: 店舗ごとに 3 つの節を縦に(罫線で区切る) */
.rsv-set{max-width:880px;margin-top:4px}
.rsv-sempty{margin-top:4px}
.rsv-ss{padding:18px 0;border-bottom:1px solid var(--line)}
.rsv-ss:last-child{border-bottom:none}
.rsv-sh{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rsv-sh h2{margin:0;font-size:14px;font-weight:700}
.rsv-urlrow{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.rsv-qr{width:132px;height:132px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:4px;background:#fff;font-size:11.5px;text-align:center}
.rsv-qr svg{width:132px;height:132px;display:block}
.rsv-urlc{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px}
.rsv-urlc code{font-family:var(--mono);font-size:13px;word-break:break-all}
.rsv-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rsv-acts button{min-height:36px}
a.rsv-open{display:inline-flex;align-items:center;min-height:36px;box-sizing:border-box;padding:6px 16px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:700;color:var(--txt);text-decoration:none;background:#fff}
a.rsv-open:hover{background:#f6f6f4}
.rsv-wallrow{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.rsv-wallprev{width:280px;height:158px;border:1px solid var(--line);border-radius:6px;background:#f4f4f2 center/cover no-repeat;display:grid;place-items:center;color:var(--sub);font-size:12px;flex:none;text-align:center;padding:0 8px;box-sizing:border-box}
.rsv-wallc{flex:1;min-width:240px;display:flex;flex-direction:column;gap:8px}
.rsv-wallc input[type=file]{font-size:12px;max-width:100%}
.rsv-fl{font-size:11.5px;font-weight:700;color:var(--sub)}
input.rsv-in{width:100%;max-width:520px;box-sizing:border-box;padding:8px 12px;font-size:13.5px;min-height:40px}
.rsv-ss .yt2-dst{flex:1 1 200px}
@media (max-width:760px){
  #view-reserve h1,#view-rsvanalysis h1,#view-reserveform h1{font-size:22px}
  input.rsv-in,#rsvQ{font-size:16px}
  .rsv-acts button,a.rsv-open,.rsv-toast button,button.rsv-calnav{min-height:44px}
  button.rsv-calnav{width:44px;min-width:44px}
  button.rsv-cd,.rsv-cd0{height:44px}
  .rsv-wallprev{width:100%;height:auto;aspect-ratio:16/9}
  .rsv-toast{bottom:calc(16px + env(safe-area-inset-bottom))}
}

/* ===== 写真指名(2026-10-15 方針 docs/plans/2026-10-14_pages-refine-yt-reserve-kini.md 3) =====
   子ページ 今日の表示 / 指名分析 / 設定。ツールバー・確認は YouTube・来店予約と同じ部品(.yt2-*)。写真指名に固有のものだけここに足す。
   今日の表示=左に表(行 48px・スイッチ 52×32・押す場所 44px 以上=店舗の iPad)・右にフォームの見本。本文 900px 以下は見本を下に・一覧の幅 640px 未満は 1 件 1 カード。
   設定=左に節の目次・右に各節(罫線で区切る)・下に固定の保存の帯(visibility で出し入れ)。js/kini.js と対 */
#view-kinicasts,#view-kinirank,#view-kinisettings{min-width:0;container-type:inline-size}
.kn-tl{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;white-space:normal}
.kn-empty{padding:28px 8px;font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kn-err{color:var(--danger)}
.kn-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start;margin-top:6px}
.kn-listwrap{min-width:0;container-type:inline-size}
.kn-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:auto}
.kn-tbl th{height:32px;padding:0 10px;font-size:11.5px;font-weight:600;color:var(--sub);text-transform:none;letter-spacing:0;background:#fafaf7;border-bottom:1px solid var(--line);white-space:nowrap;text-align:left}
.kn-tbl td{height:48px;padding:3px 10px;box-sizing:border-box;border-bottom:1px solid var(--line2);vertical-align:middle;line-height:1.35}
.kn-tbl tr.koff td{opacity:.45}
.kn-tbl tr.koff td.kn-c-f{opacity:1}
.kn-tbl th.kn-c-i,.kn-tbl td.kn-c-i{width:40px;padding-right:0}
.kn-tbl .kbimg,.kn-tbl .kbimg-t,.kn-tbl .kava-t{width:40px;height:40px;border-radius:5px;font-size:15px}
.kn-tbl .kbimg{object-fit:cover;background:#f0f1f4;display:block}
.kn-tbl .kbimg-t,.kn-tbl .kava-t{background:var(--info-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800}
.kn-tbl td.kn-c-n{font-weight:700;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.kn-tbl td.kn-c-s{white-space:nowrap}
.kn-tbl td.kn-c-f{white-space:nowrap;width:1%}
.kn-tbl td.kn-c-m{min-width:180px}
.kn-tbl .kswwrap{min-height:40px;gap:10px}
.kn-tbl button.ksw{width:52px;height:32px;position:relative;background:#e3e5ea !important;border:none !important;box-shadow:none !important;padding:0 !important}   /* テーマの button の地色より強く(ON の緑が出ていなかった) */
.kn-tbl button.ksw.on{background:#34c759 !important}
.kn-tbl button.ksw:hover:not(:disabled){background:#d7dae0 !important}
.kn-tbl button.ksw.on:hover:not(:disabled){background:#2fb350 !important}
.kn-tbl .ksw::before{content:"";position:absolute;inset:-6px}   /* 押す場所 64×44 */
.kn-tbl .ksw::after{top:2px;left:2px;width:28px;height:28px}
.kn-tbl .ksw.on::after{left:22px}
.kn-tbl .ksw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kn-tbl button.kauto{min-height:40px;padding:0 10px;font-size:12.5px;position:relative}
.kn-tbl button.kauto::before{content:"";position:absolute;inset:-4px 0}   /* 押す場所 48px */
.kn-tbl .kcm2{min-height:40px;display:flex;align-items:center}
.kn-tbl .kcm2>*{min-width:0}
.kn-tbl .kcmview{flex:1;min-height:36px}
.kn-tbl .kcmadd{min-height:36px;padding:4px 12px}
.kn-tbl .kcmrow{flex:1}
.kn-tbl .kcmrow input{font-size:14px;min-height:40px}
.kn-tbl .kcmok,.kn-tbl .kcmng{width:36px;height:36px}
/* フォームの見本(表示中のキャスト・フォームと同じ並び) */
.kn-pv{position:sticky;top:64px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px 12px 12px;max-height:calc(100vh - 88px);overflow-y:auto;min-width:0}
.kn-pvh{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.kn-pvh h2{margin:0;font-size:13px;font-weight:700}
.kn-pvh .yt2-n{margin-left:auto}
.kn-pv .cbn{--h:52px;grid-template-columns:minmax(0,1fr) var(--iw);margin:6px 0}
.kn-pv .cbn.sm{--h:52px;grid-template-columns:minmax(0,1fr) var(--iw)}
.kn-pv .cbn .rk{display:none}
.kn-pv .cbn .bd{padding:5px 10px}
.kn-pv .cbn .nm{font-size:14px}
.kn-pv .cbn .sub{font-size:11px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kn-pvnc{color:var(--faint)}
.kn-pve{padding:18px 2px;font-size:12.5px}
/* 本文が狭い時(iPad の縦・サイドバーあり): 見本を表の下に */
@container (max-width:900px){
  .kn-main{grid-template-columns:minmax(0,1fr)}
  .kn-pv{position:static;max-height:none}
  .kn-pvb{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 10px}
}
/* スマホ(一覧の幅 640px 未満): 1 件 1 カード(横スクロールなし) */
@container (max-width:639px){
  .kn-tbl thead{display:none}
  .kn-tbl,.kn-tbl tbody{display:block}
  .kn-tbl tbody tr{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:2px 12px;padding:10px 2px;border-bottom:1px solid var(--line2);align-items:center}
  .kn-tbl tbody tr td{display:block;height:auto;border:none;padding:0;min-width:0;max-width:none}
  .kn-tbl td.kn-c-i{grid-row:1 / span 2;grid-column:1}
  .kn-tbl td.kn-c-n{grid-row:1;grid-column:2;white-space:normal}
  .kn-tbl td.kn-c-s{grid-row:2;grid-column:2;font-size:12px}
  .kn-tbl td.kn-c-f{grid-row:1 / span 2;grid-column:3;width:auto}
  .kn-tbl td.kn-c-m{grid-column:1 / -1;min-width:0}
  .kn-tbl td.kn-c-f .kmode,.kn-tbl td.kn-c-f .kst{display:none}
}
/* 指名分析: ツールバーの下の余白 */
.kn-rank{margin-top:14px}
#view-kinirank .an-meta{margin-left:0}
/* 設定: 左に節の目次・右に各節 */
.kn-set{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start;margin-top:4px;max-width:1080px}
.kn-toc{position:sticky;top:64px;display:flex;flex-direction:column;gap:2px;padding-top:12px}
.kn-toc button{box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:left;padding:9px 12px !important;min-height:40px;font-size:13px;font-weight:500;color:var(--sub) !important;background:transparent !important;border:none !important;border-left:2px solid var(--line) !important;border-radius:0 !important;box-shadow:none !important;transform:none !important}   /* テーマの button(丸いピル)を打ち消す */
.kn-toc button:hover{color:var(--txt) !important;background:#fafaf7 !important}
.kn-toc button.active{color:var(--txt) !important;font-weight:700;border-left-color:var(--accent) !important}
.kn-toc button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.kn-secs{min-width:0}
.kn-ss{padding:18px 0;border-bottom:1px solid var(--line);scroll-margin-top:64px}
.kn-ss:last-child{border-bottom:none}
.kn-sh{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.kn-sh h2{margin:0;font-size:14px;font-weight:700}
.kn-fl{display:block;font-size:11.5px;font-weight:700;color:var(--sub);margin:14px 0 6px}
.kn-fl:first-child{margin-top:0}
input.kn-in{width:100%;max-width:520px;box-sizing:border-box;padding:8px 12px;font-size:13.5px;min-height:40px}
input.kn-w140{width:140px;flex:none}
input.kn-w280{width:280px;max-width:100%;flex:0 1 280px}
.kn-mono{font-family:var(--mono)}
.kn-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kn-acts button{min-height:40px}
.kn-lim{font-size:11.5px;color:var(--sub)}
.kn-hint{display:block;font-size:11.5px;color:var(--sub);margin-top:6px}
.kn-look{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:start}
.kn-themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:560px}
button.kn-theme{display:flex;flex-direction:column;align-items:stretch;gap:6px;text-align:left;border:1.5px solid var(--line) !important;border-radius:6px !important;padding:8px !important;background:#fff !important;color:var(--txt) !important;box-shadow:none !important;font-weight:600 !important;font-size:12.5px;height:auto !important;min-height:44px;cursor:pointer}
button.kn-theme.active{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important}
button.kn-theme:disabled{opacity:.55;cursor:not-allowed}
.kn-sw{display:block;height:34px;border-radius:4px;position:relative}
.kn-sw b{position:absolute;right:6px;bottom:6px;width:22px;height:8px;border-radius:4px}
input.kn-pick{width:44px;height:40px;padding:2px;border:1px solid var(--line);border-radius:6px;background:#fff;flex:none}
#kstAccentClear{visibility:hidden}
.kn-lookpv{min-width:0}
.kn-scr{border-radius:8px;height:300px;padding:18px 14px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;color:#fff}
.kn-scrn{font-size:18px;font-weight:700;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kn-scrl{height:3px;width:40%;border-radius:2px}
.kn-scrc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px;flex:1}
.kn-scrc i{border:1.5px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.06)}
.kn-scrb{height:34px;border-radius:999px}
.kn-scrt{font-size:11.5px;color:var(--sub);margin-top:6px}
.kn-heros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.kn-hero{display:flex;gap:14px;align-items:flex-start;min-width:0}
.kn-heropv{width:108px;height:192px;flex:none;border:1px solid var(--line);border-radius:6px;background:#f4f4f2;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11.5px;color:var(--sub);text-align:center;padding:0;box-sizing:border-box}
.kn-heropv span{padding:0 8px}
.kn-heropv video,.kn-heropv img{width:100%;height:100%;object-fit:cover;display:block}
.kn-heroc{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.kn-heroc .kn-fl{margin:0}
.kn-heroc .yt2-dst.err{color:var(--danger)}
.kn-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:36px;align-items:center}
.kn-chip{display:inline-flex;align-items:center;gap:2px;padding:0 2px 0 12px;min-height:36px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px}
button.kn-chipx{width:36px;height:36px;min-width:36px;min-height:0 !important;padding:0 !important;border:none !important;background:transparent !important;box-shadow:none !important;color:var(--sub) !important;display:inline-flex;align-items:center;justify-content:center;border-radius:50% !important}
button.kn-chipx:hover{color:var(--danger) !important;background:#f6f6f3 !important}
button.kn-chipx svg{width:14px;height:14px}
/* 下に固定の保存の帯(変えた時だけ出す・位置は固定) */
.kn-bar{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 -6px 20px rgba(23,24,26,.08);visibility:hidden;max-width:1080px;box-sizing:border-box}
.kn-bar.on{visibility:visible}
.kn-barm{flex:1;min-width:0;font-size:12.5px;color:var(--sub)}
.kn-barm.err{color:var(--danger)}
.kn-bar button{min-height:40px}
.kn-nlink{margin:0 0 12px;font-size:12.5px}
@container (max-width:900px){
  .kn-look{grid-template-columns:minmax(0,1fr)}
  .kn-lookpv{max-width:260px}
  .kn-heros{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  #view-kinicasts h1,#view-kinirank h1,#view-kinisettings h1{font-size:22px}
  #kiniQ,input.kn-in,.kn-tbl .kcmrow input{font-size:16px}
  .kn-set{grid-template-columns:minmax(0,1fr);gap:0}
  .kn-toc{position:static;flex-direction:row;overflow-x:auto;gap:0;padding:0;border-bottom:1px solid var(--line)}
  .kn-toc button{width:auto;border-left:none !important;border-bottom:2px solid transparent !important;white-space:nowrap;min-height:44px}
  .kn-toc button.active{border-bottom-color:var(--accent) !important}
  .kn-themes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kn-acts button,.kn-bar button{min-height:44px}
  .kn-bar{bottom:calc(8px + env(safe-area-inset-bottom));flex-wrap:wrap}
  .kn-barm{flex-basis:100%}
}

/* ===== SNS管理(2026-10-02) ===== */
.sm-form{border:1px solid var(--line);padding:12px 14px;margin:0 0 12px;background:#fff}
.sm-frow{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:8px}.sm-frow label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--sub)}
.sm-frow input[type=text]{min-width:260px;padding:8px 10px;font-size:14px}.sm-frow select{padding:8px 10px;font-size:13px}

.xf-btn{all:unset;cursor:pointer;display:inline-block;text-align:right;line-height:1.35;padding:2px 4px;border-bottom:1px dotted var(--line2)}.xf-btn:hover{background:#f4f6ef}.xf-btn:focus-visible{outline:2px solid var(--accent)}
.sm-num{font-variant-numeric:tabular-nums;font-weight:800}.sm-d{font-size:11px;font-weight:700}.sm-d.up{color:#1b7f3b}.sm-d.down{color:#c62828}.sm-d.flat{color:var(--faint)}
.sm-spark{width:140px;height:34px;display:block}
.sm-detail{background:#fbfcf8;border-top:1px solid var(--line);padding:14px 16px}
/* SNS管理 再設計(2026-10-05): 広告運用と同じ文法(透かしヒーロー/英字小見出し/1px罫線)+アイコン付きの高密度な行リスト。1行=約54px */
.sm2-top{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}.sm2-top h1{margin:0}
.sm2-run{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--sub);white-space:nowrap;flex-wrap:wrap}
.sm2-run .dot{width:8px;height:8px;border-radius:50%;background:#c62828;display:inline-block}.sm2-run.on .dot{background:#1b7f3b}
.sm2-run b{color:var(--txt);font-weight:800}
.sm2-acts{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sm2-acts button{margin:0}
#smHero{margin-top:14px}
.dh-hero.sm2-hero::before{content:"SNS"}
.dh-hero.sm2-hero.dh-hero-wide{align-items:flex-start;height:auto}
.sm2-hero .cap{font-size:11.5px;color:var(--sub);margin-top:6px}
.sm2-hero.dh-hero-wide>div{padding:0 20px}.sm2-hero.dh-hero-wide>div:first-child{padding-left:0;padding-right:26px}
.sm2-hero .ads-stat .v{font-size:20px}
.sm2-pf .dh-en{display:flex;align-items:center;gap:6px}
.sm2-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.sm2-bar{margin:14px 0 10px}
.sm2-list{border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}
.sm2-list{--ops:150px}.sm2-list.ro{--ops:100px}
.sm2-row{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(86px,.8fr) minmax(84px,.75fr) minmax(104px,.95fr) minmax(80px,.7fr) minmax(150px,1.3fr) 104px var(--ops);gap:4px 14px;align-items:center;padding:7px 14px;border-top:1px solid var(--line2);min-height:54px}
.sm2-list>.sm2-row:first-child{border-top:0}
.sm2-row.hd{min-height:0;padding:7px 14px;background:#fbfbf8}
.sm2-row.hd span{font-size:9.5px;font-weight:800;letter-spacing:.08em;color:var(--faint);text-align:right;white-space:nowrap}
.sm2-row.hd span:first-child,.sm2-row.hd span.c{text-align:left}
.sm2-row.open{background:linear-gradient(180deg,#fff6ef,#fff 85%)}
.sm2-acc{display:flex;align-items:center;gap:11px;min-width:0}
.sm2-av{position:relative;flex:none;width:40px;height:40px}
.sm2-av img,.sm2-av .ph{width:40px;height:40px;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--line);background:#f1f1ee;box-sizing:border-box}
.sm2-av .ph{display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff;border:0}
.sm2-av .ph[hidden]{display:none}
.sm2-av .pf{position:absolute;right:-4px;bottom:-3px;width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:900;color:#fff;letter-spacing:0;line-height:1}
.sm2-pfc.youtube{background:#ff0033}.sm2-pfc.tiktok{background:#111}.sm2-pfc.instagram{background:linear-gradient(45deg,#f58529,#dd2a7b 55%,#8134af)}.sm2-pfc.x{background:#000}
.sm2-nm{min-width:0}.sm2-nm .t{font-weight:800;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm2-nm .c{font-size:11px;color:var(--sub);margin-top:2px;display:flex;gap:3px 8px;align-items:center;flex-wrap:wrap}
.sm2-nm .c a{color:var(--sub);text-decoration:none}.sm2-nm .c a:hover{text-decoration:underline}
.sm2-m{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sm2-m b{display:block;font-size:15px;font-weight:900;letter-spacing:-.01em}
.sm2-m .d{display:block;font-size:10.5px;margin-top:1px}.sm2-m .d .sm-d{font-size:10.5px}
.sm2-m i{display:none;font-style:normal;font-size:9.5px;color:var(--faint);font-weight:800;letter-spacing:.06em}
.sm2-sp svg{width:104px;height:30px;display:block}
.sm2-grp{display:flex;align-items:baseline;gap:6px 18px;flex-wrap:wrap;padding:14px 14px 8px;border-top:1px solid var(--line);background:#fbfbf8}
.sm2-list>.sm2-grp:nth-child(2){border-top:0}
.sm2-grp>b{font-size:15px;font-weight:900;letter-spacing:.01em;margin-right:4px}
.sm2-grp span{font-size:11px;color:var(--sub);font-variant-numeric:tabular-nums}.sm2-grp span b{color:var(--txt);font-weight:800;margin-left:3px}
.sm2-pn{font-size:10.5px;font-weight:800;color:var(--txt)}
.sm2-m b.up{color:#1b7f3b}.sm2-m b.down{color:#c62828}
.sm2-nm .c .sm2-when{color:var(--faint);font-size:10.5px}
.sm2-lp{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none;color:inherit}
.sm2-lp .th{flex:none;width:34px;height:44px;border-radius:4px;overflow:hidden;background:#f1f1ee;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.sm2-lp .th img{width:100%;height:100%;object-fit:cover;display:block}
.sm2-lp .th.sm2-th-youtube{width:56px;height:32px}
.sm2-lp .th .tx{font-size:8px;line-height:1.2;color:var(--sub);padding:3px;overflow:hidden;max-height:100%;word-break:break-all}
.sm2-lp .mv{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.sm2-lp .mv b{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.sm2-lp .mv b em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--sub);margin-right:4px}
.sm2-lp .mv i{font-style:normal;font-size:10px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.sm2-lp:hover .mv b{color:var(--accent)}
.sm2-lp.none{color:var(--faint)}
.sm2-when{font-size:11px;color:var(--sub);white-space:nowrap}
.sm2-ops{display:flex;gap:4px;justify-content:flex-end;white-space:nowrap}
.sm2-ops button{margin:0;padding:4px 9px;font-size:11.5px}
.sm2-tag{font-size:10px;font-weight:800;border:1px solid var(--line);border-radius:4px;padding:0 6px;color:var(--txt);background:#fff;white-space:nowrap}
.sm2-tag.err{color:#c62828;border-color:#efc4c4;background:#fff7f7;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.sm2-tag.wait{color:#b06a00;border-color:#f0d9b0;background:#fffaf0}
.sm2-det{border-top:1px solid var(--line2)}.sm2-det .sm-detail{border-top:0}
.sm2-det .sm-thumb{width:44px;height:44px}.sm2-det .sm-ptbl td{padding:5px 8px}.sm2-det .sm-ptbl th{padding:6px 8px}.sm2-det .sm-kpis{gap:0;border:1px solid var(--line);background:#fff;margin-bottom:12px}.sm2-det .sm-kpis div{border:0;border-left:1px solid var(--line);background:none}.sm2-det .sm-kpis div:first-child{border-left:0}
.sm2-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.sm2-sec .sm-form{margin-bottom:10px}

#igsSec{container-type:inline-size}

@container (max-width:1240px){}

@media(max-width:1000px){.sm2-row{grid-template-columns:minmax(0,1fr) repeat(3,minmax(78px,auto));row-gap:8px}.sm2-row.hd{display:none}.sm2-sp{display:none}.sm2-lp{grid-column:span 2}.sm2-ops{grid-column:1/-1;justify-content:flex-start}.sm2-m i{display:block}.sm2-charts{grid-template-columns:1fr}}
@media(max-width:640px){.sm2-row{grid-template-columns:repeat(3,minmax(0,1fr))}.sm2-acc{grid-column:1/-1}.sm2-m{text-align:left}}
/* ===== Instagram管理(2026-10-08): アカウント別のストーリー運用。NIGHT OPS の色(白+オレンジ)・1px 罫線・太い数字。区切りは罫線、影なし ===== */
.ig2{container-type:inline-size;--ig-grad:linear-gradient(45deg,#f58529,#dd2a7b 55%,#8134af)}
.ig2-top{display:flex;align-items:flex-end;gap:12px 18px;flex-wrap:wrap}
.ig2-ttl h1{margin:0}.ig2-ttl p{margin:4px 0 0;font-size:12px;color:var(--sub)}
.ig2-acts{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ig2-acts button{margin:0}
.ig2 button.ig2-cta{background:var(--acc-fill) !important;border-color:var(--acc-fill) !important;color:#fff !important}
.ig2 button.ig2-cta:hover:not(:disabled){background:var(--accent) !important}
/* アカウント切替(横スクロール) */
.ig2-rail{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px;margin-top:6px;scrollbar-width:thin}
.ig2 button.ig2-chip{flex:none !important;width:auto !important;display:flex !important;align-items:center;gap:9px;margin:0;padding:6px 14px 6px 6px;background:#fff !important;color:var(--txt) !important;border:1px solid var(--line) !important;border-radius:999px !important;font-weight:700;text-align:left;cursor:pointer;min-height:46px}
.ig2 button.ig2-chip:hover{border-color:var(--line2) !important;background:#fbfbf8 !important}
.ig2 button.ig2-chip.on{border-color:var(--acc-fill) !important;box-shadow:inset 0 0 0 1px var(--acc-fill);background:#fff7f1 !important}
.ig2-chip .all{width:32px;height:32px;border-radius:50%;background:#16181d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;letter-spacing:.04em}
.ig2-chip .tx{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ig2-chip .tx b{font-size:12.5px;font-weight:800;white-space:nowrap}
.ig2-chip .tx i{font-style:normal;font-size:10.5px;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}
.ig2-chip .q{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#eef0ff;color:#3b4fd6;font-size:10.5px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.ig2-chip .q.z{visibility:hidden}
/* アバター(IG のグラデーションリング) */
.ig2-av{flex:none;position:relative;width:32px;height:32px;border-radius:50%;padding:2px;background:var(--ig-grad);box-sizing:border-box}
.ig2-av img,.ig2-av .ph{width:100%;height:100%;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-sizing:border-box;background:#f1f1ee;font-size:12px;font-weight:900;color:var(--sub)}
.ig2-av .ph[hidden],.ig2-av img[hidden]{display:none}
.ig2-av.lg{width:68px;height:68px;padding:3px}.ig2-av.lg .ph{font-size:24px}
.ig2-av.xs{width:20px;height:20px;padding:1.5px}.ig2-av.xs img,.ig2-av.xs .ph{border-width:1.5px;font-size:8px}
/* プロフィール+指標 */
.ig2-hero{margin-top:12px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(160deg,#fff 40%,#fff6ef);display:grid;grid-template-columns:minmax(240px,1.15fr) minmax(0,3fr);overflow:hidden;position:relative}
.ig2-hero.one::before{content:"INSTAGRAM";position:absolute;right:-6px;bottom:-22px;font-size:76px;font-weight:900;letter-spacing:-.04em;color:rgba(242,92,5,.05);pointer-events:none;white-space:nowrap}
.ig2-prof{display:flex;align-items:center;gap:14px;padding:18px 20px;border-right:1px solid var(--line);min-width:0}
.ig2-prof .n{font-size:18px;font-weight:900;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig2-prof .h{font-size:11.5px;color:var(--sub);margin-top:4px;display:flex;gap:4px 8px;flex-wrap:wrap;align-items:center}
.ig2-prof .h a{color:var(--txt);font-weight:700;text-decoration:none}.ig2-prof .h a:hover{color:var(--accent)}
.ig2-prof .h .err{color:#c62828}
.ig2-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0}
.ig2-k{padding:16px 18px 14px;border-left:1px solid var(--line);min-width:0;position:relative}
.ig2-k:first-child{border-left:0}
.ig2-k i{display:block;font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.16em;color:var(--faint);white-space:nowrap}
.ig2-k b{display:block;font-size:clamp(18px,1.7vw,26px);font-weight:900;letter-spacing:-.02em;margin-top:5px;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.ig2-k b.up{color:#1b7f3b}.ig2-k b.down{color:#c62828}.ig2-k b.acc{color:var(--accent)}
.ig2-k span{display:block;font-size:11px;color:var(--sub);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig2-k svg{display:block;width:100%;height:24px;margin-top:6px}
/* 全アカウントの一覧(すべて選択時) */
.ig2-ov{border-top:1px solid var(--line);grid-column:1/-1}
.ig2-orow{display:grid;grid-template-columns:minmax(0,2fr) repeat(5,minmax(70px,1fr)) 20px;gap:4px 14px;align-items:center;padding:9px 20px;border-top:1px solid var(--line2);cursor:pointer;background:#fff}
.ig2-orow:first-child{border-top:0}
.ig2-orow:hover{background:#fff7f1}
.ig2-orow.hd{cursor:default;background:#fbfbf8;padding:7px 20px}.ig2-orow.hd:hover{background:#fbfbf8}
.ig2-orow.hd span{font-size:9.5px;font-weight:800;letter-spacing:.08em;color:var(--faint);text-align:right;white-space:nowrap}.ig2-orow.hd span:first-child{text-align:left}
.ig2-orow .a{display:flex;align-items:center;gap:10px;min-width:0}.ig2-orow .a b{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ig2-orow .a em{font-style:normal;font-size:10.5px;color:var(--sub)}
.ig2-orow .m{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;font-size:13.5px;white-space:nowrap}.ig2-orow .m.up{color:#1b7f3b}.ig2-orow .m.down{color:#c62828}.ig2-orow .m small{display:block;font-size:10px;color:var(--faint);font-weight:700}
.ig2-orow .go{color:var(--faint);font-weight:900;text-align:right}
/* カード(1px 罫線・角 6) */
.ig2-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;margin-top:14px}
.ig2-cols>.ig2-card{margin-top:0}
.ig2-card{border:1px solid var(--line);border-radius:6px;background:#fff;margin-top:14px;min-width:0;overflow:hidden}
.ig2-ch{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line2);min-height:24px}
.ig2-cht{display:flex;align-items:baseline;gap:10px;min-width:0}.ig2-cht b{font-size:14px;font-weight:900;white-space:nowrap}.ig2-cht i{font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.2em;color:var(--faint);white-space:nowrap}
.ig2-cnt{margin-left:auto;font-size:11px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.ig2-seg{margin-left:auto}.ig2-seg button{margin:0;padding:4px 11px;font-size:11.5px}
.ig2-empty{padding:26px 16px;text-align:center;color:var(--faint);font-size:12px;line-height:1.7}
.ig2-empty b{display:block;color:var(--sub);font-size:13px;margin-bottom:2px}
/* X 連動(店舗ごとの行) */
.ig2-sub{font-size:11px;color:var(--faint);padding:8px 16px 0}
.ig2-xl{display:grid;grid-template-columns:110px minmax(0,1.1fr) minmax(0,2fr) 44px;gap:8px 18px;align-items:center;padding:12px 16px;border-top:1px solid var(--line2)}
.ig2-xl:first-child{border-top:0}
.ig2-xl.off .ig2-xd{opacity:.5}
.ig2-xs b{display:block;font-size:15px;font-weight:900}.ig2-xs i{display:block;font-style:normal;font-size:10.5px;color:var(--sub);margin-top:2px;white-space:nowrap}
.ig2-xf{display:flex;flex-direction:column;gap:6px;min-width:0}
.ig2-xf .r{display:flex;align-items:center;gap:8px;min-width:0}
.ig2-xf .r>span{font-size:10.5px;font-weight:800;color:var(--sub);white-space:nowrap;width:38px}
.ig2-xf select,.ig2-xf input[type=time]{padding:5px 8px;font-size:12.5px;border:1px solid var(--line);border-radius:6px;background:#fff;margin:0;min-width:0}
.ig2-xf select{flex:1;max-width:220px}
.ig2-xf em{font-style:normal;font-size:10.5px;color:var(--faint);white-space:nowrap}
.ig2-xd{display:flex;gap:14px;overflow-x:auto;min-width:0;padding-bottom:2px}
.ig2-xday{flex:none}
.ig2-xday>i{display:block;font-style:normal;font-size:10.5px;font-weight:800;color:var(--sub);margin-bottom:4px;white-space:nowrap}
.ig2-xday>i.t{color:var(--accent)}
.ig2-xday .ims{display:flex;gap:4px}
.ig2-xday .ims span{width:34px;height:60px;border-radius:5px;overflow:hidden;background:#16181d;border:1px solid var(--line);display:block}
.ig2-xday .ims span img{width:100%;height:100%;object-fit:cover;display:block}
.ig2-xday .none{font-size:10.5px;color:var(--faint);height:60px;display:flex;align-items:center}
.ig2-flag.x{background:#16181d;color:#fff}
.ig2-nt{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,1.4fr) 44px;gap:8px 18px;align-items:center;padding:10px 16px;border-top:1px solid var(--line2)}
.ig2-nt:first-child{border-top:0}
.ig2-nt .a{display:flex;align-items:center;gap:9px;min-width:0}.ig2-nt .a b{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ig2-nt .a em{font-style:normal;font-size:10.5px;color:var(--sub)}
.ig2-nt input{width:100%;box-sizing:border-box;padding:6px 9px;font-size:12.5px;border:1px solid var(--line);border-radius:6px;margin:0;font-variant-numeric:tabular-nums}
.ig2-nt .st{font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ig2-nt .st.on{color:#1b7f3b;font-weight:800}
@container (max-width:760px){.ig2-nt{grid-template-columns:minmax(0,1fr) 44px}.ig2-nt input,.ig2-nt .st{grid-column:1/-1}}
.ig2-nt .st.err{color:#c62828;font-weight:800}   /* メンションの自動追加: 取得の異常だけ赤い文字(2026-10-29) */
.ig2-mnote{padding:8px 16px;border-top:1px solid var(--line2);font-size:11px;color:var(--sub);line-height:1.6}
#ig2MentionList{border-top:1px solid var(--line2)}
.ig2-xacc{display:inline-flex;align-items:center;gap:6px;min-width:0}.ig2-xacc b{font-size:12.5px;font-weight:800;width:auto}.ig2-xacc em{font-style:normal;font-size:9.5px;font-weight:900;color:var(--accent);border:1px solid var(--acc-fill);border-radius:999px;padding:0 6px}
@container (max-width:760px){.ig2-xl{grid-template-columns:minmax(0,1fr) 44px}.ig2-xf,.ig2-xd{grid-column:1/-1}}
/* 予約タイムライン(日付ごとに 9:16 タイル) */
.ig2-day{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px 16px;border-top:1px solid var(--line2)}
.ig2-day:first-child{border-top:0}
.ig2-dl b{display:block;font-size:13px;font-weight:900}.ig2-dl i{display:block;font-style:normal;font-size:11px;color:var(--sub);margin-top:1px;font-variant-numeric:tabular-nums}
.ig2-dl.today b{color:var(--accent)}
.ig2-tiles{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}
.ig2-tile{flex:none;width:92px}
.ig2-media{position:relative;width:92px;height:164px;border-radius:8px;overflow:hidden;background:#16181d;border:1px solid var(--line)}
.ig2-media>img{width:100%;height:100%;object-fit:cover;display:block}
.ig2-media .xp-vtile{width:100%;height:100%}
.ig2-art{position:absolute;inset:0;background:linear-gradient(165deg,#ff8a3d,#f25c05 45%,#2a1406);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:9px;box-sizing:border-box}
.ig2-art svg{width:22px;height:22px;opacity:.95;margin-bottom:auto}
.ig2-art b{font-size:12px;font-weight:900;line-height:1.25}.ig2-art i{font-style:normal;font-size:9.5px;opacity:.85;margin-top:2px}
.ig2-time{position:absolute;left:6px;top:6px;background:rgba(22,24,29,.78);color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}
.ig2-flag{position:absolute;right:6px;top:6px;background:#fff;color:var(--txt);font-size:9.5px;font-weight:900;padding:1px 6px;border-radius:999px}
.ig2-media .ig2-av.xs{position:absolute;left:6px;bottom:6px}
.ig2-tm{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:6px;min-height:20px}
.ig2-dotst{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;color:var(--sub);white-space:nowrap}
.ig2-dotst::before{content:"";width:7px;height:7px;border-radius:50%;background:#3b4fd6}
.ig2-dotst.claimed::before,.ig2-dotst.publishing::before{background:#e8a33a}.ig2-dotst.done::before{background:#1b7f3b}.ig2-dotst.failed::before{background:#c62828}.ig2-dotst.canceled::before{background:#c4c7cc}
.ig2-dotst.failed{color:#c62828}
.ig2 button.ig2-lnk{all:unset;cursor:pointer;font-size:10.5px;font-weight:800;color:var(--sub) !important;background:none !important;border:0 !important;border-bottom:1px dotted var(--line2) !important;border-radius:0 !important;padding:1px 2px !important;box-shadow:none !important}
.ig2 button.ig2-lnk:hover{color:#c62828 !important}
.ig2 button.ig2-lnk:focus-visible{outline:2px solid var(--accent)}
/* 定型 */
.ig2-trow{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line2)}
.ig2-trow:first-child{border-top:0}
.ig2-trow.off{opacity:.55}
.ig2-tic{position:relative;width:46px;height:64px;border-radius:6px;overflow:hidden;background:#16181d;border:1px solid var(--line)}
.ig2-tic img{width:100%;height:100%;object-fit:cover;display:block}.ig2-tic .xp-vtile b{width:18px;height:18px;font-size:8px}
.ig2-tic .ig2-art{padding:5px}.ig2-tic .ig2-art svg{width:16px;height:16px}
.ig2-tm2{min-width:0}.ig2-tm2 b{display:block;font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig2-tm2 .s{font-size:11px;color:var(--sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig2-wd{display:flex;align-items:center;gap:3px;margin-top:6px}
.ig2-wd span{width:19px;height:19px;border-radius:50%;font-size:9.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;background:#f1f1ee;color:var(--faint)}
.ig2-wd span.on{background:#16181d;color:#fff}
.ig2-wd em{font-style:normal;font-size:12px;font-weight:900;margin-left:8px;font-variant-numeric:tabular-nums}
.ig2-tops{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ig2-tops .r{display:flex;gap:8px}
.ig2 button.ig2-sw{all:unset;cursor:pointer;position:relative;width:34px !important;height:20px !important;padding:0 !important;border:0 !important;border-radius:999px !important;background:#d7d9d3 !important;box-shadow:none !important;transition:background .15s}
.ig2 button.ig2-sw::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.ig2 button.ig2-sw.on{background:#1b7f3b !important}.ig2 button.ig2-sw.on::after{transform:translateX(14px)}
.ig2 button.ig2-sw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ig2 button.ig2-sw:disabled{cursor:default;opacity:.6}
/* 成績ギャラリー */
.ig2-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:14px 12px;padding:14px 16px 16px}
.ig2-st{min-width:0}
.ig2-st .ig2-media{width:100%;height:auto;aspect-ratio:9/16}
.ig2-st a{display:block;color:inherit;text-decoration:none}
.ig2-ov2{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 7px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72));color:#fff;display:flex;align-items:center;gap:5px}
.ig2-ov2 svg{width:13px;height:13px;flex:none}.ig2-ov2 b{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.ig2-top1{position:absolute;right:6px;top:6px;background:var(--acc-fill);color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em;padding:2px 6px;border-radius:999px}
.ig2-sm{margin-top:6px;font-size:10.5px;color:var(--sub);line-height:1.45;font-variant-numeric:tabular-nums}
.ig2-sm b{color:var(--txt);font-weight:800}
.ig2-bar{height:3px;border-radius:2px;background:#f1f1ee;margin-top:5px;overflow:hidden}.ig2-bar i{display:block;height:100%;background:var(--acc-fill)}
/* 履歴 */
.ig2-hrow{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 16px;border-top:1px solid var(--line2)}
.ig2-hrow:first-child{border-top:0}
.ig2-hrow .ig2-media{width:30px;height:53px;border-radius:4px}
.ig2-hrow .ig2-art{padding:3px}.ig2-hrow .ig2-art svg{width:12px;height:12px}.ig2-hrow .ig2-art b,.ig2-hrow .ig2-art i{display:none}.ig2-hrow .xp-vtile b{width:14px;height:14px;font-size:6px}
.ig2-hm{min-width:0}.ig2-hm b{font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}.ig2-hm .s{font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig2-hm .e{font-size:10.5px;color:#c62828;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ig2-hr{display:flex;align-items:center;gap:8px}
/* フィード */
.ig2-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px}
.ig2-fp{position:relative;display:block;aspect-ratio:4/5;background:#f1f1ee;overflow:hidden;color:#fff;text-decoration:none}
.ig2-fp img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ig2-fp:hover img{transform:scale(1.04)}
.ig2-fp .ig2-ov2{padding:18px 7px 6px;font-size:10px}.ig2-fp .ig2-ov2 b{font-size:12px}
.ig2-fp .ig2-ov2 em{font-style:normal;margin-left:auto;opacity:.85;font-size:10px}
.ig2-note{font-size:11.5px;color:var(--faint);margin:14px 2px 0;line-height:1.7}
/* 入力パネル(右から) */
.ig2-scrim{position:fixed;inset:0;background:rgba(22,24,29,.32);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1100}
.ig2-scrim.open{opacity:1;visibility:visible}
.ig2-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);background:#fff;border-left:1px solid var(--line);z-index:1101;transform:translateX(100%);visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility .24s;display:flex;flex-direction:column}
.ig2-drawer.open{transform:none;visibility:visible}
.ig2-dh{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}
.ig2-dh i{display:block;font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.22em;color:var(--accent)}.ig2-dh b{display:block;font-size:18px;font-weight:900;margin-top:4px}
.ig2 button.ig2-x{margin:0;width:32px;height:32px;padding:0;font-size:18px;line-height:1}
.ig2-form{flex:1;display:flex;flex-direction:column;min-height:0}.ig2-form[hidden]{display:none}
.ig2-fbody{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}
.ig2-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.ig2-f>span{font-size:11px;font-weight:800;color:var(--sub);letter-spacing:.02em}
.ig2-f input[type=text],.ig2-f input[type=time],.ig2-f input[type=datetime-local],.ig2-f select{width:100%;box-sizing:border-box;padding:9px 11px;font-size:14px;border:1px solid var(--line);border-radius:6px;background:#fff;margin:0}
.ig2-f input:focus,.ig2-f select:focus{outline:none;border-color:var(--acc-fill);box-shadow:0 0 0 3px rgba(255,106,18,.15)}
.ig2-f2{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px}
.ig2-drop{position:relative;border:1.5px dashed var(--line2);border-radius:8px;padding:12px 14px;background:#fbfbf8;cursor:pointer}
.ig2-drop:hover{border-color:var(--acc-fill);background:#fff7f1}
.ig2-drop input[type=file]{font-size:12px;max-width:100%}
.ig2-drop em{font-style:normal;font-size:10.5px;color:var(--faint)}
.ig2-pv{display:flex;gap:10px;align-items:flex-end}
.ig2-pvbox{display:block;width:90px;height:160px;border-radius:8px;border:1px solid var(--line);background:repeating-linear-gradient(45deg,#f6f6f3,#f6f6f3 6px,#fff 6px,#fff 12px);overflow:hidden}
.ig2-pvbox img,.ig2-pvbox video,.ig2-pvbox .xp-vtile{width:100%;height:100%;object-fit:cover;display:block}
.ig2-pvbox.sm{width:54px;height:96px;margin-top:8px}
#igtMediaWrap,#igtDesignWrap{display:flex;flex-direction:column;gap:14px}
.ig2-ml{margin-top:4px}
.ig2-days label{border-radius:999px !important;padding:4px 10px}
.ig2-chk{flex-direction:row;align-items:center;gap:8px}.ig2-chk span{color:var(--txt);font-size:13px}
.ig2-dfoot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:#fff}
.ig2-dfoot .status{margin-right:auto;font-size:12px}
.ig2-dfoot button{margin:0}
@container (max-width:1100px){.ig2-hero{grid-template-columns:1fr}.ig2-prof{border-right:0;border-bottom:1px solid var(--line)}.ig2-cols{grid-template-columns:1fr}}
@container (max-width:760px){.ig2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ig2-k{border-top:1px solid var(--line)}.ig2-k:nth-child(odd){border-left:0}.ig2-k:nth-child(-n+2){border-top:0}
  .ig2-orow{grid-template-columns:minmax(0,1fr) repeat(2,minmax(64px,auto)) 14px}.ig2-orow>.m.o{display:none}.ig2-orow.hd{display:none}
  .ig2-day{grid-template-columns:1fr;gap:6px}.ig2-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.ig2-acts{margin-left:0}}
/* 広告運用(2026-10-05 再々設計): ダッシュボードと同じ文法=透かし入りヒーロー / 英字の小見出し / 太い数字 / 1px 罫線。箱の羅列と太線はやめる */
.ads-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:16px 0 18px}
/* 店舗管理(コックピット 2026-10-06): 情報密度を上げたインフォグラフィック。3列の盤面+上段の数字帯。区切りは罫線 */
.so-datebar{display:flex;align-items:center;gap:6px}.so-datebar b{font-variant-numeric:tabular-nums;min-width:120px;text-align:center;font-size:14px}
.so-datebar button{padding:5px 10px;font-size:12px}
.so-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.9fr) minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;margin-top:4px}
@media(max-width:1280px){.so-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.so-kpi.wide{grid-column:span 2}}
.so-kpi{padding:11px 14px 10px;border-left:1px solid var(--line);min-width:0;position:relative}
.so-kpi:first-child{border-left:0}
.so-kpi .l{font-size:9.5px;font-weight:800;letter-spacing:.14em;color:var(--faint);white-space:nowrap}
.so-kpi .v{font-size:clamp(17px,1.5vw,24px);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:3px;white-space:nowrap;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.so-kpi .v small{font-size:11px;font-weight:700;color:var(--sub);margin-left:3px;letter-spacing:0}
.so-kpi .d{font-size:11px;color:var(--sub);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:4px;align-items:center}
.so-kpi.acc .v{color:var(--accent)}
.so-spark{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:6px}
.so-spark i{flex:1;background:#e7e7e2;border-radius:2px 2px 0 0;min-height:2px;position:relative}
.so-spark i.last{background:var(--acc-fill)}
.so-spark i b{position:absolute;left:0;right:0;top:100%;margin-top:2px;font-size:8px;color:var(--faint);text-align:center;font-weight:700;line-height:1}
.so-kpi .spk{padding-bottom:12px}
.so-dots{display:flex;gap:4px;margin-top:6px;padding-bottom:10px}
.so-dots i{flex:1;height:9px;border-radius:3px;background:#e7e7e2;position:relative}
.so-dots i b{position:absolute;left:0;right:0;top:100%;margin-top:2px;font-size:8px;color:var(--faint);text-align:center;font-weight:700;line-height:1}
.so-dots i.na{background:repeating-linear-gradient(45deg,#ecece8 0 3px,#f7f7f3 3px 6px)}
.so-dots i.ok{background:#3b9a5a}.so-dots i.wait{background:#e0b23a}.so-dots i.ng{background:var(--danger)}
.so-board{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.95fr);gap:14px;margin-top:14px;align-items:start}
@media(max-width:1280px){.so-board{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.so-col3{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:860px){.so-board,.so-col3{grid-template-columns:1fr}}
.so-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.so-panel{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;min-width:0}
.so-ph{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fbfbf8}
.so-ph b{font-size:13px;font-weight:900}.so-ph i{font-style:normal;font-size:9px;letter-spacing:.2em;color:var(--faint);font-weight:900}.so-ph span{margin-left:auto;font-size:11px;color:var(--sub);white-space:nowrap}
.so-ava{width:26px;height:26px;border-radius:50%;background:#eee center/cover no-repeat;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:#fff;overflow:hidden;flex:none}
.so-ava.lg{width:34px;height:34px;font-size:13px}
.so-tag{font-size:9px;font-weight:800;border-radius:20px;padding:1px 6px;background:#f1f1ee;color:var(--sub);white-space:nowrap;line-height:1.5}
.so-tag.hm{background:#eef3ff;color:#2d4f8a}.so-tag.help{background:#fff2e6;color:#b4520a}.so-tag.ng{background:#fde8ea;color:var(--danger)}.so-tag.late{background:#fff6d6;color:#8a6500}.so-tag.ok{background:#e8f6ec;color:#1f7a3a}
/* 出勤タイムライン(ガント) */
.so-gantt{padding:4px 0 6px}
.so-gh{display:grid;grid-template-columns:150px minmax(0,1fr);padding:2px 12px 4px}
.so-ticks{position:relative;height:14px;font-size:9px;color:var(--faint);font-variant-numeric:tabular-nums}
.so-ticks span{position:absolute;transform:translateX(-50%)}
.so-grow{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;padding:0 12px;height:30px;border-top:1px solid var(--line2)}
.so-grow.off .so-nm{opacity:.45;text-decoration:line-through}
.so-nm{display:flex;align-items:center;gap:7px;min-width:0;font-size:12.5px;font-weight:800}
.so-nm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.so-lane{position:relative;height:20px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/9 - 1px),var(--line2) calc(100%/9 - 1px),var(--line2) calc(100%/9))}
.so-lane i{position:absolute;top:4px;bottom:4px;border-radius:3px;background:linear-gradient(90deg,#ffb27a,var(--acc-fill));display:flex;align-items:center;padding:0 7px;font-size:9.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.so-lane i.off{background:#cfcfca}.so-lane i.hm{background:linear-gradient(90deg,#9db6e6,#4f7bc7)}
.so-lane i.ng{background:repeating-linear-gradient(45deg,#f3b4bb 0 6px,#e68a95 6px 12px);color:#7a1e28}.so-lane i.late{background:linear-gradient(90deg,#f6d77a,#d9a600);color:#4a3600}
.so-lane em{position:absolute;top:-1px;bottom:-1px;width:0;border-left:1.5px dashed rgba(242,92,5,.55)}
.so-ticks em{position:absolute;top:-3px;transform:translateX(-50%);font-size:8.5px;font-style:normal;font-weight:900;color:var(--accent);letter-spacing:.04em;font-variant-numeric:tabular-nums;line-height:1.2}
.so-ticks em::after{content:"";display:block;width:0;height:0;margin:1px auto 0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--accent)}
.so-gn{font-size:9px;color:var(--faint);padding:4px 12px 0;display:flex;gap:12px;flex-wrap:wrap}
.so-gn i{display:inline-block;width:12px;height:8px;border-radius:2px;vertical-align:-1px;margin-right:4px}
/* 来店予約カード */
.so-rv{display:grid;grid-template-columns:52px 34px minmax(0,1fr) auto;gap:0 10px;align-items:center;padding:8px 12px;border-top:1px solid var(--line2)}
.so-panel .so-rv:first-of-type{border-top:0}
.so-rv.cancel>*{opacity:.4}.so-rv.cancel .t{text-decoration:line-through}
.so-rv .t{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.so-rv .who{min-width:0}.so-rv .who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-rv .who small{display:block;font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-rv .pp{display:flex;align-items:center;gap:2px}.so-rv .pp i{width:8px;height:12px;border-radius:4px 4px 2px 2px;background:var(--acc-fill);display:inline-block}
.so-rv .pp small{font-size:10px;color:var(--sub);margin-left:4px;font-variant-numeric:tabular-nums}
.so-rv .memo{grid-column:3/5;font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
/* 写真指名 */
.so-roster{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid var(--line2)}
.so-roster .so-ava{width:28px;height:28px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}
.so-roster .so-ava.hot{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--acc-fill)}
.so-vote{display:grid;grid-template-columns:30px 84px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:5px 12px;border-top:1px solid var(--line2)}
.so-vote b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-vote .bar{height:12px;border-radius:3px;background:#f1f1ee;overflow:hidden;display:flex}
.so-vote .bar i{height:100%;background:var(--acc-fill)}.so-vote .bar i.b2{background:#ffc69c}
.so-vote .n{text-align:right;font-weight:900;font-variant-numeric:tabular-nums;font-size:13px}.so-vote .n small{font-weight:700;color:var(--faint);font-size:9px;margin-left:2px}
/* 内勤チェック(リング) */

.so-nk{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 10px;align-items:start;padding:8px 12px;border-top:1px solid var(--line2)}
.so-panel .so-nk:first-of-type{border-top:0}
.so-nk svg{width:44px;height:44px}
.so-nk .hd{display:flex;align-items:baseline;gap:8px;min-height:18px}.so-nk .hd b{font-size:12.5px}.so-nk .hd small{font-size:10.5px;color:var(--sub);font-variant-numeric:tabular-nums}.so-nk .hd .ok{margin-left:auto}
.so-nk .items{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:3px;font-size:11px;color:var(--sub)}
.so-nk .items span::before{content:"□ ";color:var(--faint)}.so-nk .items .more{color:var(--faint)}.so-nk .items .done{color:#1f7a3a}.so-nk .items .done::before{content:"✓ ";color:#1f7a3a}

/* 終業報告・LINE・入金 */
.so-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.so-nums>div{padding:8px 12px;border-left:1px solid var(--line2);border-top:1px solid var(--line2)}
.so-nums>div:nth-child(3n+1){border-left:0}.so-nums>div:nth-child(-n+3){border-top:0}
.so-nums .l{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--faint)}.so-nums .v{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:1px;white-space:nowrap}
.so-txt{padding:8px 12px;font-size:11.5px;line-height:1.6;border-top:1px solid var(--line2)}
.so-txt .k{display:inline-block;min-width:60px;font-size:9.5px;font-weight:800;letter-spacing:.08em;color:var(--faint)}
.so-bk{display:grid;grid-template-columns:62px minmax(0,1fr) 96px 20px;gap:8px;align-items:center;padding:6px 12px;border-top:1px solid var(--line2);font-size:12px}
.so-bk .amt{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}
.so-bk .d{font-weight:800;font-variant-numeric:tabular-nums}.so-bk .w{font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-bk .st{width:12px;height:12px;border-radius:50%;background:#3b9a5a;display:inline-block}.so-bk .st.wait{background:#e0b23a}.so-bk .st.ng{background:var(--danger)}.so-bk .st.na{background:#cfcfca}
.so-lr{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 12px;border-top:1px solid var(--line2);font-size:11.5px}
.so-lr .t{font-weight:800;font-variant-numeric:tabular-nums}.so-lr .x{color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-empty{padding:14px 12px;color:var(--faint);font-size:12px}
.so-warn{margin:8px 12px 0;padding:6px 10px;border-left:3px solid var(--danger);background:#fff7f7;color:var(--danger);font-size:11.5px}
.ads-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ads-ctl .yt-l{margin:0}.ads-ctl.ads-r{margin-left:auto}
#adsBody{container-type:inline-size}
.dh-hero.ads-hero::before{content:"ADS"}
#adsBody .dh-gauge i{background:linear-gradient(90deg,#ff8a3d,var(--acc-fill))}
.dh-hero.ads-hero.dh-hero-wide{align-items:flex-start}
.ads-hero .cap{font-size:11.5px;color:var(--sub);margin-top:6px}
.ads-stat .v{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:5px;white-space:nowrap;letter-spacing:-.01em}
.ads-stat .j{font-size:11px;color:var(--sub);margin-top:2px;white-space:nowrap}
.ads-sec{margin-top:32px}
.ads-sh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:0 2px 9px;border-bottom:1px solid var(--line)}
.ads-sh b{font-size:15px;font-weight:900}.ads-sh span{font-size:11.5px;color:var(--sub);margin-left:auto}
.ads-box{border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;background:var(--panel);overflow:hidden}
.ads-stores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ads-store{padding:16px 18px 15px;border-left:1px solid var(--line);cursor:pointer;position:relative;min-width:0;transition:background .15s}
.ads-store:first-child{border-left:0}.ads-store:hover{background:#fdfcf9}
.ads-store::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:transparent}
.ads-store.sel{background:linear-gradient(180deg,#fff6ef,#fff 70%)}.ads-store.sel::before{background:var(--acc-fill)}
.ads-store.dim>*{opacity:.42}
.ads-store:focus-visible{outline:2px solid var(--acc-fill);outline-offset:-2px}
.ads-store .n{display:flex;align-items:center;gap:8px;min-height:22px}.ads-store .n b{font-size:17px;font-weight:900;letter-spacing:-.01em}
.ads-live{font-size:9.5px;font-weight:800;color:var(--accent);background:var(--accent-soft,#fdeee3);border-radius:20px;padding:2px 8px;white-space:nowrap}
.ads-live.off{color:var(--faint);background:#f1f1ee}
.ads-store .a{font-size:10.5px;color:var(--faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ads-store .v{font-size:27px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:12px;letter-spacing:-.02em}
.ads-store .v.z,.ads-z{color:var(--faint)}
.ads-store .dh-gauge{margin-top:8px;height:5px}
.ads-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;margin-top:13px}
.ads-mini span{display:block;font-size:9.5px;font-weight:800;letter-spacing:.06em;color:var(--faint);white-space:nowrap}
.ads-mini b{display:block;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px;white-space:nowrap}
.ads-chart{padding:16px 12px 6px}
.ads-empty{padding:28px 14px;text-align:center;color:var(--sub);font-size:12.5px;line-height:1.9}
.ads-tag{font-size:10px;font-weight:800;border:1px solid var(--line);border-radius:4px;padding:0 6px;color:var(--txt);background:#fff}
/* AI 分析: キャンペーン行の下に全幅(2026-10-05 再設計: 幅を使い切る 2 段組+内訳表。左にアクセントの縦線) */
.ads-ai{grid-column:1/-1;margin-top:8px;padding:16px 0 4px 18px;border-top:1px solid var(--line2);border-left:3px solid var(--acc-fill);min-width:0}
.ads-ai .ah{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}.ads-ai .ah b{font-size:15px;font-weight:900}.ads-ai .am{font-size:10.5px;color:var(--faint);margin-left:auto}
.ads-ai .as{margin:9px 0 0;font-size:13px;line-height:1.85;color:var(--txt)}.ads-ai .as.nr{margin-top:6px;font-size:12.5px}
.ads-ai .at{margin-top:18px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:900;letter-spacing:.1em;color:var(--sub)}
.ads-ai .adg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 22px}
.ads-ai .adg>div{padding:11px 0;border-bottom:1px solid var(--line2);min-width:0}
.ads-ai .adg .t{display:flex;align-items:center;gap:8px}.ads-ai .adg .t b{font-size:12.5px;font-weight:800}.ads-ai .adg p{margin:5px 0 0;font-size:12px;line-height:1.75}
.ads-ai .a2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 30px;align-items:start}.ads-ai .a2.dt{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ads-ai .a2>div{min-width:0}
.ads-ai ol.aa{list-style:none;margin:0;padding:0}
.ads-ai ol.aa li{padding:12px 0;border-bottom:1px solid var(--line2)}
.ads-ai .aa .t{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ads-ai .aa .t b{font-size:13.5px;font-weight:800}
.ads-ai .ap{font-size:9.5px;font-weight:800;border-radius:20px;padding:2px 8px;white-space:nowrap}
.ads-ai .ap.hi{background:var(--acc-fill);color:#fff}.ads-ai .ap.md{background:var(--accent-soft,#fdeee3);color:var(--accent)}.ads-ai .ap.lo{background:#f1f1ee;color:var(--sub)}
.ads-ai .aa dl,.ads-ai dl.ad{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;margin:8px 0 0;font-size:12px;line-height:1.75}
.ads-ai dt{font-size:10px;font-weight:800;color:var(--faint);letter-spacing:.06em;white-space:nowrap;padding-top:2px}.ads-ai dd{margin:0}.ads-ai dd.tx{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--sub)}
.ads-ai dl.ad{margin-top:10px}
.ads-ai ul.af{margin:0;padding:0;list-style:none;font-size:12px;line-height:1.75}.ads-ai ul.af li{padding:9px 0 9px 14px;border-bottom:1px solid var(--line2);position:relative}
.ads-ai ul.af li::before{content:"";position:absolute;left:0;top:17px;width:5px;height:5px;border-radius:50%;background:var(--acc-fill)}.ads-ai ul.af.cv{color:var(--sub)}.ads-ai ul.af.cv li::before{background:var(--line)}
.ads-ai .axr{display:grid;grid-template-columns:minmax(0,1.5fr) 62px minmax(60px,1fr) 52px 62px 54px 46px;gap:0 10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line2);font-size:12px;font-variant-numeric:tabular-nums}
.ads-ai .axr span{text-align:right;white-space:nowrap}.ads-ai .axr span.l{text-align:left;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.ads-ai .axr.hd span{font-size:9.5px;font-weight:800;color:var(--faint);letter-spacing:.04em}.ads-ai .axr.hd span:first-child{text-align:left}
.ads-ai .axr .b{display:flex;align-items:center;gap:6px}.ads-ai .axr .b i{display:block;height:6px;border-radius:3px;background:var(--acc-fill);flex:none;max-width:calc(100% - 34px)}.ads-ai .axr .b em{font-style:normal;font-size:11px;color:var(--sub)}
@container (max-width:860px){.ads-ai .a2,.ads-ai .a2.dt{grid-template-columns:minmax(0,1fr)}}
@container (max-width:520px){.ads-ai{padding-left:12px}.ads-ai .axr{grid-template-columns:minmax(0,1.4fr) 58px minmax(50px,1fr) 58px 44px}.ads-ai .axr span:nth-child(4),.ads-ai .axr span:nth-child(6){display:none}}
@container (max-width:520px){
  .ads-stores{grid-template-columns:1fr}.ads-store{border-left:0;border-top:1px solid var(--line)}.ads-store:first-child{border-top:0}}
@media (max-width:640px){.ads-ctl.ads-r{margin-left:0}}
/* ===== 広告運用の管理(2026-10-17 方針 docs/plans/2026-10-17_meta-ads-manage.md E): 帯・タブ・行の操作・横パネル・新規出稿・操作の記録・設定。カードで区切らず罫線、主操作だけオレンジ・破壊的は赤 ===== */
.ads-ctl.ads-r #adsNew{margin-left:4px}
.ads-note{min-height:18px;font-size:12.5px;color:var(--sub);margin:-6px 2px 8px}.ads-note.err{color:var(--danger)}
.ads-bands{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.ads-band{display:block;width:100%;text-align:left;font-size:13px;font-weight:700;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--txt);line-height:1.5}
button.ads-band{cursor:pointer;min-height:44px;border-radius:6px !important;box-shadow:none !important;clip-path:none !important;transform:none !important;font-weight:700 !important;padding:10px 14px !important;justify-content:flex-start}
.ads-band.red{border-color:#f3c9c9 !important;background:#fff7f7 !important;color:var(--danger) !important}
.ads-band.warn{border-color:#f0d9a6 !important;background:#fffaf0 !important;color:#b45309 !important}
.ads-band.acc{border-color:var(--acc-fill) !important;background:#fff6ef !important;color:var(--accent) !important}
.ads-tabs{margin-bottom:6px}
.ads-tabp{container-type:inline-size}.ads-tabp[hidden]{display:none}
.ads-pad{padding:14px 16px}
/* 横パネル */
.ads-drw{width:560px}
.ads-dsec{padding:14px 0;border-bottom:1px solid var(--line)}
.ads-dsec:last-child{border-bottom:0}
.ads-dhd{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;margin-bottom:10px}
.ads-dhd b{font-size:13.5px;font-weight:800}
.ads-dnm{font-size:13px;font-weight:700;overflow-wrap:anywhere}
.ads-dsub{font-size:11.5px;color:var(--sub);margin-left:auto}
.ads-dform{margin-top:4px}
.ads-ro{font-size:13px;padding:9px 0;font-variant-numeric:tabular-nums}
.ads-dact{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
.ads-dact button{min-height:40px}
.ads-warn{font-size:12px;color:#b45309;background:#fffaf0;border:1px solid #f0d9a6;border-radius:6px;padding:8px 10px;margin:0 0 10px;line-height:1.6}
.ads-cx{font-size:12.5px;line-height:1.7;margin-top:4px}.ads-cx i{font-style:normal;font-size:10.5px;font-weight:800;color:var(--faint);margin-right:8px}.ads-cx.tx{white-space:pre-wrap;overflow-wrap:anywhere}
.ads-pvf{max-width:220px}
.ads-pv{margin-top:10px;font-size:12px;color:var(--sub)}
.ads-pv iframe{width:100%;height:620px;border:1px solid var(--line);border-radius:6px;background:#fff}
.ads-dnote{display:block;margin:0 0 4px;font-weight:500;color:var(--txt)}.ads-dnote.err{color:var(--danger)}
/* 新規出稿 */
.ads-rcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}
.ads-rc{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;cursor:pointer;min-height:44px;background:#fff}
.ads-rc input{position:absolute;opacity:0;pointer-events:none}
.ads-rc b{font-size:13px}.ads-rc span{font-size:11.5px;color:var(--sub);line-height:1.5}
.ads-rc.on{border-color:var(--acc-fill);box-shadow:inset 0 0 0 1px var(--acc-fill)}
.ads-rc:focus-within{outline:2px solid var(--acc-fill);outline-offset:1px}
.ads-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin:10px 0}
.ads-th{position:relative;display:block;aspect-ratio:1;border:1px solid var(--line);border-radius:4px;overflow:hidden;cursor:pointer;background:#f6f6f3}
.ads-th input{position:absolute;opacity:0;pointer-events:none}
.ads-th img{width:100%;height:100%;object-fit:cover;display:block}.ads-th span{display:flex;align-items:center;justify-content:center;height:100%;font-size:11px;color:var(--sub)}
.ads-th.on{outline:3px solid var(--acc-fill);outline-offset:-3px}
.ads-th:focus-within{outline:2px solid var(--acc-fill)}
.ads-up{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:13px}
.ads-ta{width:100%;box-sizing:border-box;padding:8px 12px;font-size:13.5px;line-height:1.6;resize:vertical}
.ads-mock{max-width:340px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.ads-mock img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.ads-mock-n{aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:var(--faint);background:#f6f6f3;font-size:12px}
.ads-mock p{margin:10px 12px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ads-mock-b{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--line2);font-size:12px}.ads-mock-b b{border:1px solid var(--line);border-radius:4px;padding:3px 8px;white-space:nowrap}
.ads-stg{display:flex;gap:6px;flex-wrap:wrap}
.ads-drafts{display:flex;flex-direction:column}
.ads-drow{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line2)}
.ads-drow:first-child{border-top:0}.ads-drow b{font-size:13px;overflow-wrap:anywhere}
.ads-dra{margin-left:auto;display:flex;gap:6px}.ads-dra button{min-height:36px}
.ads-sv{font-size:12px;color:var(--sub);margin-right:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ads-sv.saved{color:#1b7f3b}.ads-sv.conflict,.ads-sv.error{color:var(--danger)}
/* 操作の記録・承認待ち */
.ads-jobs{border-top:1px solid var(--line);border-radius:6px}
.ads-jr{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr) minmax(110px,.8fr) auto;gap:6px 14px;align-items:center;padding:11px 16px;border-top:1px solid var(--line2)}
.ads-jr:first-child{border-top:0}
.ads-jm{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;min-width:0}.ads-jm b{font-size:13px}
.ads-jn{font-size:12.5px;overflow-wrap:anywhere}
.ads-jc{font-size:12.5px;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.ads-jnote{font-size:11.5px;color:var(--sub);margin-top:3px}.ads-jerr{font-size:11.5px;color:var(--danger);margin-top:3px}
.ads-jw{display:flex;flex-direction:column;font-size:11px;color:var(--sub);gap:1px}
.ads-jact{display:flex;gap:6px;justify-content:flex-end}.ads-jact button{min-height:34px;white-space:nowrap}
.ads-jfix{grid-column:1/-1;display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;font-size:12px;padding-top:4px}
.ads-jfix .yt2-in{width:auto;min-height:36px;padding:4px 8px}
@container (max-width:700px){.ads-jr{grid-template-columns:minmax(0,1fr)}.ads-jact{justify-content:flex-start}.ads-jact button{min-height:44px}}
/* 設定 */
.ads-stop{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line2)}
.ads-stop b{font-size:13px;min-width:7em}.ads-stop .yt2-in{width:auto;min-height:40px}
.ads-stop button{min-height:40px}
.ads-emr{margin-top:10px;font-size:12px;display:flex;flex-direction:column;gap:4px}.ads-emr div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ads-sos{font-size:12px;line-height:1.75;color:var(--sub);margin:12px 0 0}
.ads-mrow{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:11px 16px;border-top:1px solid var(--line2)}
.ads-mrow:first-child{border-top:0}.ads-mrow b{font-size:13px}.ads-mrow .ads-dsub{margin-left:0;flex:1;min-width:12em}
.ads-mrow select{width:auto;min-height:40px}
.ads-srow{padding:14px 16px;border-top:1px solid var(--line2)}.ads-srow:first-child{border-top:0}
.ads-sform{grid-template-columns:repeat(4,minmax(0,1fr))}
.ads-srow .yt2-in,.ads-dform .yt2-in,.ads-drw .yt2-in{width:100%;box-sizing:border-box;padding:8px 12px;font-size:13.5px;min-height:40px}
@media (max-width:760px){.ads-sform{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ads-drw .yt2-in,.ads-srow .yt2-in,.ads-ta,.ads-jfix .yt2-in,.ads-stop .yt2-in,.ads-mrow select{font-size:16px}
  .ads-dact button,.ads-dra button,.ads-stop button,.ads-up,.ads-rc{min-height:44px}
  .ads-pv iframe{height:540px}}
/* 確認(ytConfirm)の変更の前後: 行ごとに改行 */
#ytCfm.ads-cfm #ytCfmBody{white-space:pre-line;color:var(--txt);font-variant-numeric:tabular-nums}
/* ===== 広告運用の入れ子の一覧・状態・スイッチ・保存バー(2026-10-22 方針 docs/plans/2026-10-22_ads-ui-redesign.md)。下敷きは NIGHT OPS(罫線区切り・影なし・角丸 6px)。状態の色は .yt-st の 5 色だけ ===== */
.ads-note.on{color:var(--txt)}.ads-note.on.err{color:var(--danger)}
.ads-tr{display:grid;grid-template-columns:44px minmax(0,2.2fr) minmax(0,2fr) 92px 104px 96px 64px 64px;gap:0 var(--sp-3);align-items:center;min-height:48px;padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-2);border-top:1px solid var(--line2)}
.ads-tr.hd{min-height:0;border-top:0;background:var(--bg)}.ads-tr.hd span{font-size:11px;font-weight:700;color:var(--sub);white-space:nowrap}.ads-tr.hd .n{text-align:right}
.ads-tr>div{min-width:0}
.ads-tg{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4) var(--sp-2);border-top:1px solid var(--line);border-left:3px solid var(--sc,var(--line))}
.ads-tg b{font-size:13px;font-weight:700}.ads-tg>span:last-child{font-size:12px;color:var(--sub)}
.ads-tempty{padding:var(--sp-3) var(--sp-4) var(--sp-4) calc(var(--sp-4) + 3px);font-size:12px;color:var(--sub);border-top:1px solid var(--line2)}
/* アカウントの段(2026-10-22 方針 ads-personal-readonly D): 店舗の見出しより一段小さく(13px・--sub)・左に細い罫。個人は ads-tag.ro(灰)「表示だけ」。新しい色は作らない */
.ads-ta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;padding:var(--sp-2) var(--sp-4) var(--sp-2) calc(var(--sp-4) + 3px);border-top:1px solid var(--line2);font-size:13px;color:var(--sub)}
.ads-ta .k{border-left:1px solid var(--line);padding-left:var(--sp-2)}.ads-ta b{font-weight:600;color:var(--sub);overflow-wrap:anywhere;min-width:0}
.ads-ta .sp{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.ads-tag.ro{background:var(--bg);color:var(--sub)}
.ads-old{font-size:11.5px;color:var(--sub)}
.ads-terr.ads-tano{border-bottom:0;border-top:1px solid var(--line2);padding-left:calc(var(--sp-4) + 3px);overflow-wrap:anywhere}
.ads-split{margin-top:2px}
.ads-cxi{display:block;max-width:160px;max-height:160px;border:1px solid var(--line);border-radius:6px;margin-top:4px}
.ads-terr{padding:var(--sp-2) var(--sp-4);font-size:12px;color:var(--danger);border-bottom:1px solid var(--line)}
.ads-nm{display:flex;flex-direction:column;gap:2px;min-width:0}
.ads-tr.l1 .ads-nm{padding-left:20px}.ads-tr.l2 .ads-nm{padding-left:40px}
.ads-lv{font-size:11px;color:var(--sub)}
.ads-nm b{font-size:14px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.ads-adx{display:flex;gap:var(--sp-2);align-items:flex-start;margin-top:2px;min-width:0}
.ads-adx img{width:36px;height:36px;object-fit:cover;border-radius:4px;border:1px solid var(--line);flex:none;background:var(--line2)}
.ads-adx>div{display:flex;flex-direction:column;min-width:0}.ads-adx span{font-size:12px;color:var(--sub);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ads-adx span.t{color:var(--txt)}
.ads-st{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.ads-why{font-size:12px;color:var(--sub);line-height:1.5;overflow-wrap:anywhere}.ads-why.err{color:var(--danger)}.ads-why.ok{color:#1b7f3b}.ads-why.info{color:var(--txt)}
.ads-lk{display:inline;background:none;border:0;box-shadow:none;padding:0;margin:0;min-height:0;border-radius:0;font:inherit;color:var(--txt);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.ads-num{text-align:right;font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.ads-num i{display:none;font-style:normal}
.ads-tr .c-op{display:flex;justify-content:flex-end}.ads-tr .c-op button{min-height:36px;padding:4px 12px;font-size:12.5px;white-space:nowrap}
.ads-tr .c-op{gap:6px}
.ads-aisum{display:flex;align-items:center;gap:6px;max-width:100%;margin-top:4px;padding:4px 8px;min-height:28px;border:1px solid var(--line);border-radius:6px;background:transparent;font-size:12px;color:var(--sub);cursor:pointer;text-align:left}
.ads-aisum:hover{border-color:var(--sub);color:var(--txt)}
.ads-aisum .ads-aik{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--sub)}
.ads-aisum .yt-st{flex:none}
.ads-aisum .ads-aih{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ads-aisum .ads-aim2{flex:none;color:var(--txt);font-weight:500}
/* AI 分析のポップアップ(2026-10-22): 一覧には置かず、キャンペーンの行の「AI 分析」で開く */
.ads-aim{z-index:1250}
.ads-aimb{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 50px rgba(16,24,40,.22);width:min(1040px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.ads-aimh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.ads-aimh h2{margin:2px 0 0;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.ads-aimh button{min-width:44px;min-height:44px;font-size:18px;padding:0}
.ads-aimc{overflow:auto;padding:4px 18px 18px}.ads-aimc .ads-ai{margin-top:0;border-top:0}
body.ads-noscroll{overflow:hidden}
/* スイッチ: 36×20px・押す範囲は 44px(行の高さいっぱい) */
.ads-sw{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer}
.ads-sw i{position:relative;display:block;width:36px;height:20px;border-radius:10px;background:var(--faint);transition:background .15s}
.ads-sw i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--panel);transition:transform .15s}
.ads-sw.on i{background:#1b7f3b}.ads-sw.on i::after{transform:translateX(16px)}
.ads-sw[aria-disabled="true"]{cursor:not-allowed}.ads-sw[aria-disabled="true"] i{opacity:.45}
.ads-sw:focus-visible{outline:none}.ads-sw:focus-visible i{outline:2px solid var(--acc-fill);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.ads-sw i,.ads-sw i::after{transition:none}}
.ads-sw0{display:block;width:44px;height:20px}
.ads-sk{display:block;height:12px;border-radius:6px;background:var(--line2)}.ads-sksw{width:36px;height:20px;border-radius:10px;margin:0 auto}.ads-skst{width:70%;max-width:180px}
/* 横パネル: 見出し・状態・フォーム・下に固定の保存バー */
.ads-dtop .ads-dhd{margin-bottom:var(--sp-2)}.ads-dtop .ads-dsub{margin-left:0}
.ads-dper{margin:var(--sp-2) 0 0}
.ads-rc.dis{cursor:not-allowed;opacity:.6}
.ads-drw .yt2-in[readonly]{background:var(--bg);color:var(--sub)}
.ads-sbar{display:flex;align-items:center;gap:var(--sp-2) var(--sp-3);width:100%;min-width:0}
.ads-sbt{flex:1;min-width:0;font-size:12.5px;color:var(--sub);line-height:1.5;overflow-wrap:anywhere}.ads-sbt.err{color:var(--danger)}
.ads-sbar>button{flex:none}
.ads-sbl{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:0}.ads-sbl .ads-sv{margin-right:0}.ads-sbl .ads-dnote{margin:0;overflow-wrap:anywhere}
/* 確認の表(お金が増える操作だけ) */
#ytCfm.ads-cfmh #ytCfmBody{white-space:normal}
.ads-cfp,.ads-cfn{display:block;line-height:1.6}.ads-cfn{font-size:12px;color:var(--sub);margin-top:var(--sp-2)}
.ads-ctw{display:block;overflow-x:auto;margin-top:var(--sp-2)}
.ads-ct{border-collapse:collapse;font-size:12.5px;width:100%}.ads-ct th,.ads-ct td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-family:var(--mono)}
.ads-ct thead th{font-family:inherit;font-size:11px;font-weight:700;color:var(--sub)}.ads-ct th[scope="row"],.ads-ct thead th:first-child{text-align:left;font-family:inherit}
/* スマホ: 1 件 1 ブロック。列は スイッチ・名前・状態+理由・日予算・編集/詳細(右上の固定位置) */
@media (max-width:760px){
  .ads-tr{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"sw nm op" "sw st st" "sw bd bd";gap:4px var(--sp-2);align-items:start;padding:var(--sp-2) var(--sp-3) var(--sp-2) 4px}
  .ads-tr.hd{display:none}
  .ads-tr .c-sw{grid-area:sw}.ads-tr .c-nm{grid-area:nm}.ads-tr .c-st{grid-area:st}.ads-tr .c-bd{grid-area:bd;text-align:left}.ads-tr .c-op{grid-area:op}
  .ads-tr .c-per,.ads-tr .c-sp,.ads-tr .c-clk{display:none}
  .ads-tr .c-bd:empty{display:none}.ads-num i{display:inline;font-family:inherit;font-size:11px;color:var(--sub);margin-right:6px}
  .ads-tr.l1 .ads-nm,.ads-tr.l1 .ads-st,.ads-tr.l1 .c-bd{padding-left:12px}.ads-tr.l2 .ads-nm,.ads-tr.l2 .ads-st,.ads-tr.l2 .c-bd{padding-left:24px}
  .ads-tr .c-op button{min-height:44px;padding:6px 14px;font-size:13px}
  .ads-tg,.ads-tempty,.ads-ta,.ads-terr.ads-tano{padding-left:var(--sp-3);padding-right:var(--sp-3)}
  .ads-sbar{flex-wrap:wrap}.ads-sbt{flex-basis:100%}.ads-sbar>button{min-height:44px}.ads-sbar>button[data-act="revert"]{margin-left:auto}
  .ads-drw .yt2-in{font-size:16px}}
.sm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}.sm-kpis div{border:1px solid var(--line);background:#fff;padding:8px 10px}
.sm-kpis span{display:block;font-size:10.5px;color:var(--faint);letter-spacing:.08em}.sm-kpis b{font-size:18px;font-variant-numeric:tabular-nums}
.sm-chart{width:100%;height:120px;display:block;background:#fff;border:1px solid var(--line);margin-bottom:12px}
.sm-ptbl td{vertical-align:middle}.sm-ptbl .t{font-weight:700;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-post{display:flex;gap:10px;align-items:center}.sm-thumb{flex:none;width:64px;height:64px;background:#eef0ea;border:1px solid var(--line);overflow:hidden;display:block}.sm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sm-phead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 4px;flex-wrap:wrap}.sm-sort{display:inline-flex;gap:0}.sm-sort button{margin:0;padding:4px 10px;font-size:11.5px}.sm-sort button.on{background:#1e2235;color:#fff;border-color:#1e2235}

.igs-thumb{width:40px;height:70px;object-fit:cover;border:1px solid var(--line);background:#eef0ea;display:block}
.igs-days{display:inline-flex;gap:4px;flex-wrap:wrap}.igs-days label{display:inline-flex;align-items:center;gap:3px;font-size:12px;padding:3px 8px;border:1px solid var(--line2);cursor:pointer}.igs-days label.on{background:#1e2235;color:#fff;border-color:#1e2235}
.igs-medialist{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:flex-end}.igs-medialist .m{position:relative}.igs-medialist .m img{width:40px;height:70px;object-fit:cover;border:1px solid var(--line);display:block}.igs-medialist .m b{position:absolute;top:-6px;right:-6px;background:#c62828;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;line-height:16px;text-align:center;cursor:pointer}

@media (max-width:760px){
  #smList{overflow:hidden}
  .sm-ptbl .t{max-width:none;white-space:normal}
  .sm-thumb{width:56px;height:56px}
}

/* ---- theme.css から移したページ/部品の規則(2026-10-11 効率化第4段。非レイヤー=以前と同じ優先順位・theme.css の直前) ---- */
.dh-hero{background:linear-gradient(160deg,#fff 30%,#fff4ec);padding:20px 24px;position:relative;overflow:hidden;box-sizing:border-box;height:100%;border:1px solid var(--line);border-radius:6px !important;box-shadow:none !important}
.dh-hero::before{content:"SALES";position:absolute;right:-12px;bottom:-30px;font-size:104px;font-weight:900;color:rgba(242,92,5,.09);letter-spacing:-.03em}
.dh-en{font-size:10px;letter-spacing:.32em;color:var(--sub);font-weight:900}
.dh-hero-wide{display:flex;align-items:center;flex-wrap:wrap;row-gap:18px}
.dh-hero-wide>div{padding:0 26px;min-width:0}
.dh-hero-wide>div:first-child{padding-left:0}
.dh-hero-wide>div+div{border-left:1px solid var(--line)}
@media (max-width:900px){
  .dh-hero-wide>div+div{border-left:none;padding-left:0}
}
.dh-note-c{cursor:pointer}
.dh-note-c .t{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dh-note-c.open .t{display:block;-webkit-line-clamp:unset}
.dh-note-c .m{font-size:10px;font-weight:800;color:var(--faint)}
.dh-note-c.open .m .lbl::after{content:"たたむ ▴"}
.dh-note-c:not(.open) .m .lbl::after{content:"全文 ▾"}
.dh-v{font-size:clamp(30px,3vw,52px);margin-top:6px;white-space:nowrap;font-weight:300 !important;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dh-kpi{padding:16px 18px;box-sizing:border-box;height:100%;border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;background:#fff}
.gt{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:9px;row-gap:5px;align-items:center}
.gt-mh{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin-top:9px}
.gt-mh.first{margin-top:2px}
.gt-mon{font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--sub)}
.gt-live{font-size:9px;font-weight:800;color:var(--accent);background:var(--accent-soft,#fdeee3);border-radius:20px;padding:1px 8px}
.gt-legend{font-size:8.5px;font-weight:700;color:#8a93a3;letter-spacing:.04em;margin-left:auto;display:flex;align-items:center;gap:4px;white-space:nowrap}
.gt-legend i{display:inline-block;width:12px;height:6px;border-radius:3px;background:#5b6068}
.gt-legend i.p{background:#5b6068;opacity:.22}
.gt-st{font-size:9.5px;font-weight:800;color:var(--faint);text-align:right;white-space:nowrap}
.gt-bar{position:relative;height:8px;min-width:0}
.gt-bar i{position:absolute;left:0;top:0;height:8px;border-radius:4px;display:block}
.gt-bar .gt-track{opacity:.2}
.gt-val{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;line-height:1;display:flex;align-items:baseline;justify-content:flex-end;gap:5px}
.gt-val b{font-weight:800;color:var(--ink,#17181a)}
.gt-val.past b{font-weight:700;color:#3d4249}
.gt-val .gt-proj{font-size:10px;font-weight:700;color:#8a93a3}
.dh-kpi .v{font-size:30px;margin-top:5px;font-weight:300 !important;font-variant-numeric:tabular-nums}
.dh-store{overflow:hidden;border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;background:#fff}
.dh-store .art{height:205px;position:relative}
.dh-store .logo{position:absolute;left:16px;top:12px;font-size:22px;font-weight:900;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.dh-store .artmeta{position:absolute;left:16px;right:150px;bottom:12px;color:#fff;text-shadow:0 1px 10px rgba(8,10,14,.55)}
.dh-artbtn{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:11px;font-weight:800;padding:7px 13px;border-radius:99px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-shadow:0 1px 6px rgba(0,0,0,.4)}
.dh-artbtn:hover{background:rgba(255,255,255,.3)}
.dh-store .artmeta .dh-en{color:rgba(255,255,255,.72)}
.dh-gauge{height:7px;border-radius:99px;background:rgba(23,24,26,.08);overflow:hidden}
.dh-gauge i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#4a4d44,#17181a)}
.pill.p-guar{background:var(--line2) !important;color:var(--sub) !important}
.pill.p-plan{background:#efe7f8 !important;color:#7a3bab !important}
#psView{display:flex;flex-direction:column;align-items:center}
.ps-sheet{width:440px;max-width:100%;box-sizing:border-box}
.ps-biko{min-height:44px}
#empBasic{overflow:visible;margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
#empBasic .pagetbl{margin-top:0;white-space:nowrap;min-width:960px}
.pagetbl tbody tr:hover td,.adjtbl tbody tr:hover td{background:#f4f6ef}
.pagetbl th{font-size:9.5px;letter-spacing:.16em;color:var(--faint);font-weight:800;padding:12px 10px;background:#fafbfc}
#resWrap thead th{font-size:9.5px;letter-spacing:.16em;color:var(--faint);font-weight:800;padding:12px 10px;background:#fbfbf8}
.pagetbl td{padding:13px 12px;font-size:13px}
.pagetbl tbody tr:nth-child(even) td{background:transparent}
.pagetbl .cc-nm{font-size:14px}
#resWrap thead th:first-child,#resWrap thead th:last-child,#resWrap tfoot td,#resWrap tfoot td:first-child{background:#fbfbf8}
#resBody td{padding:12px 10px}
#resBody td:nth-child(n+3){font-family:inherit;font-size:13px}
#resBody td.res-nm{font-weight:800;font-size:14px}
#resBody td:last-child{font-weight:900;font-size:15px}
#resBody td:nth-child(n+10):not(:last-child){color:#55584f}
.pill.p-store{background:#f1f2ec !important;color:var(--sub) !important;font-weight:800;letter-spacing:.02em}
.adjtbl td{padding:7px 8px;font-size:12px}
.adjtbl th{padding:7px 8px;font-size:9.5px;letter-spacing:.14em;color:var(--faint);font-weight:800}
.cchip{display:inline-flex;align-items:center;gap:7px;max-width:100%}
.cchip .cc-ic,.cchip .sns-ic{width:22px;height:22px;border-radius:50%;object-fit:cover;flex:none}
#empBasic .pagetbl th{padding:8px 8px}
#empBasic .pagetbl td{padding:4px 8px;font-size:12.5px}
#empBody .cchip{gap:8px}
#empBody .cc-nm{font-size:13px}
#empBody .sns-xid{padding:3px 7px;width:128px;font-size:12.5px}
.ktbl th{padding:8px 8px}
.ktbl td{padding:4px 8px;font-size:12.5px}
.ktbl .kbimg{width:30px;height:30px;border-radius:5px}
.ktbl .kbimg-t{width:30px;height:30px;border-radius:5px;font-size:13px}
.ktbl .kswwrap{min-height:22px;gap:8px}
.ktbl .ksw{width:36px;height:20px}
.ktbl .ksw::after{width:16px;height:16px}
.ktbl .ksw.on::after{left:18px}
.ktbl .kcm2{min-height:0;line-height:1.3}
.ktbl .kcmview{padding:1px 6px}
.ktbl .kcmadd{padding:2px 9px}
.ktbl .kauto{padding:2px 8px;font-size:11.5px}
.cc-ph{background:#eceee6;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--sub);font-style:normal}
.cc-nm{font-weight:700}
.cc-id{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:0}
.ppcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-bottom:6px}
.ppcard{background:#fff;border-radius:16px;box-shadow:var(--csh);padding:14px 16px;position:relative;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.ppcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(23,24,26,.12)}
.ppcard .pp-amt{font-size:21px;font-variant-numeric:tabular-nums;margin:8px 0 2px;font-weight:400}
.ppcard .pp-sub{font-size:11.5px;color:var(--sub)}
#navScrim{display:none;position:fixed;inset:0;background:rgba(23,24,26,.35);z-index:55}
body.navopen #navScrim{display:block}
#empBody span{text-align:left}
.gcell,#roleTable td{text-align:center}
#roleTable th{text-align:center;font-family:inherit !important;text-transform:none;letter-spacing:0 !important;position:static !important;white-space:normal !important;top:auto !important;z-index:auto !important}
table:has(#resHead) th:nth-child(n+4),table:has(#resHead) td:nth-child(n+4),table:has(#whBody) th:nth-child(n+3),table:has(#whBody) td:nth-child(n+3),table:has(#adjHead) th[data-k="amt"],table:has(#adjHead) td:nth-child(6),#guarBox td:nth-child(5){text-align:right}
#guarBox .gcell{text-align:center}
#view-payconfig input,.pc-from,.pc-rate,#kiniRankRoot .pagetbl th:nth-child(n+3),#kiniRankRoot .pagetbl td:nth-child(n+3){text-align:right}
#view-naikin .pagetbl th:first-child,#view-naikin .pagetbl td:first-child,#empBody td:last-child{text-align:center}
@media (max-width:760px),(max-height:520px){
  html.navdrag #navScrim{transition:none !important;display:block;transform:translateX(var(--navx,0))}
  #navScrim{display:none;position:fixed;inset:0;z-index:30;background:rgba(23,24,26,.28);transition:transform .26s cubic-bezier(.22,.9,.3,1)}
  body.navopen #navScrim{display:block;transform:translateX(var(--navx,0))}
}
.sfb-vtog{background:#efeeec !important;border:1px solid #e4e3df !important;border-radius:999px !important;padding:3px !important;gap:3px !important;box-shadow:inset 0 1px 2px rgba(29,29,27,.07) !important;display:inline-flex;align-items:stretch}
.xp-wdgrid{display:grid;grid-template-columns:repeat(7,44px) max-content;gap:6px;align-items:center;justify-content:start}
.xp-wdgrid .ghost{justify-self:start;width:auto}
.xp-wd{width:44px;height:36px;padding:0 !important;margin:0;border-radius:10px !important;border:1.5px solid #d5d9df;background:#fff !important;color:var(--txt) !important;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;transform:none !important;box-shadow:none !important;line-height:1}
.xp-wd.on{background:var(--acc-fill,#f25c05) !important;border-color:var(--acc-fill,#f25c05);color:#fff !important}
.xp-wd:active{transform:none !important}
.xp-tcard{border-left:6px solid #2e9e5b;padding:12px 16px;margin-bottom:10px;display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;background:#fff}
.xp-tcard.off{border-left-color:#b8bec7;background:#f1f2f4;color:#8a93a3;filter:grayscale(1);opacity:.75}
.xp-tcard.off img{filter:grayscale(1);opacity:.6}
.xp-drop{border:2px dashed #cfd4da;border-radius:12px;padding:10px;background:#fafbfc;display:grid;grid-template-columns:repeat(4,96px);gap:10px;align-items:center;min-height:96px;cursor:pointer}
.xp-drop.over{border-color:var(--acc-fill,#f25c05);background:#fff7f2}
.xp-slot{width:96px;height:72px;border-radius:8px;border:1px solid #e3e6ea;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#b8bec7;font-size:22px}
.xp-slot img,.xp-slot video{max-width:100%;max-height:100%}
.xp-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.xp-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;background:#eef3fb;color:#1d5fb4;border:1px solid #cfdcf3;border-radius:20px;padding:2px 8px 2px 10px}
.xp-tag .x{border:none;background:none;color:#1d5fb4;font-size:12px;padding:0 2px;cursor:pointer}
.xp-pick{position:absolute;z-index:1400;background:#fff;border:1px solid #d0d5dc;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);max-height:260px;overflow:auto;min-width:240px}
.xp-pick .it{padding:7px 12px;font-size:12.5px;cursor:pointer;display:flex;gap:8px;align-items:center}
.xp-pick .it:hover{background:#f3f5f8}
.xp-pick .it small{color:#8a93a3}
.xp-slot .x{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50% !important;padding:0 !important;font-size:12px;line-height:20px;background:rgba(0,0,0,.6) !important;color:#fff !important;display:flex;align-items:center;justify-content:center}
.xp-foot{margin-top:14px;padding-top:12px;border-top:1px solid #eef0f3;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.xq-day{background:#eef0f4;border:1px solid #e1e5ea;border-radius:16px;padding:10px 12px 4px;margin-bottom:16px;max-width:880px}
.xq-day.today{background:#fff3ea;border-color:#f8c9a8}
.xq-daylabel{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:2px 4px}
.xq-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:58px;border-radius:12px;background:#fff;border:1.5px solid #d9dee5;box-shadow:0 1px 2px rgba(16,24,40,.06);flex:none}
.xq-date .m{font-size:10px;font-weight:800;color:#8a93a3;letter-spacing:.06em;line-height:1}
.xq-date .d{font-size:22px;font-weight:900;line-height:1.1;color:var(--txt)}
.xq-date .w{font-size:11px;font-weight:800;color:#5b6472;line-height:1}
.xq-day.today .xq-date{border-color:var(--acc-fill,#f25c05)}
.xq-day.today .xq-date .d{color:var(--acc-fill,#f25c05)}
.xq-daymeta{display:flex;flex-direction:column;gap:3px}
.xq-daymeta .t{font-size:14px;font-weight:800;color:var(--txt)}
.xq-daymeta .n{font-size:11.5px;font-weight:700;color:#5b6472}
.xq-daymeta .tag{font-size:10.5px;font-weight:800;border-radius:6px;padding:1px 7px;background:var(--acc-fill,#f25c05);color:#fff;margin-left:6px}
.xq-daymeta .tag.soft{background:#e8ecff;color:#3b4fd6}
.xq-card{border-left:6px solid #1d5fb4;padding:0;margin-bottom:10px;overflow:hidden;border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;background:#fff}
.xq-card.st-posting{border-left-color:#c2410c}
.xq-card.st-posted{border-left-color:#1b7f3b}
.xq-card.st-failed{border-left-color:#b91c1c}
.xq-card.st-canceled{border-left-color:#9aa3af}
.xq-card.off{opacity:.6}
.xq-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;min-height:30px;padding:9px 14px;background:#f7f8fa;border-bottom:1px solid #e9ecf0}
.xq-body{padding:12px 16px 12px}
.xq-when{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.xq-time{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.xq-badge{font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;background:#f1f3f6;color:#5b6472}
.xq-badge.src{background:#eef2ff;color:#3b4fd6}
.xq-badge.pin{background:#fff4e5;color:#b45309}
.xq-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.xq-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px 3px 8px;line-height:1.4}
.xq-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.xq-pill.scheduled{background:#e8f1fd;color:#1d5fb4}
.xq-pill.posting{background:#fff1e6;color:#c2410c}
.xq-pill.posted{background:#e7f6ec;color:#1b7f3b}
.xq-pill.failed{background:#fdeaea;color:#b91c1c}
.xq-pill.canceled{background:#f1f3f6;color:#6b7280}
.xq-btn{font-size:11.5px !important;padding:5px 10px !important;background:#fff !important;border:1px solid #d7dae0 !important;color:var(--txt) !important;border-radius:8px !important;font-weight:700;box-shadow:none !important}
.xq-btn:hover{background:#f6f7f9 !important;border-color:#c6cbd4 !important}
.xq-btn.danger{color:#b91c1c !important;border-color:#f1c9c9 !important}
.xq-text{font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--txt)}
.xq-text.clamp{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.xq-more{font-size:11.5px !important;padding:2px 0 !important;background:none !important;color:#1d5fb4 !important;border:0 !important;margin-top:4px;box-shadow:none !important;font-weight:700}
.xq-quote{margin-top:10px;border:1px solid #e6e8ec;border-radius:12px;padding:9px 12px;display:flex;gap:10px;align-items:center;background:#fafbfc;max-width:640px}
.xq-quote .ic{width:22px;height:22px;border-radius:6px;background:#111;color:#fff;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.xq-quote .lbl{font-size:11px;font-weight:800;color:#5b6472;white-space:nowrap}
.xq-quote a{font-size:12.5px;color:#1d5fb4;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.xq-media{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.xq-reply{margin-top:10px;padding:8px 12px;border-left:3px solid #cfd4da;background:#fafbfc;border-radius:0 10px 10px 0}
.xq-reply .hd{font-size:11px;font-weight:800;color:var(--faint);margin-bottom:4px}
.xq-reply .xq-media .th{width:84px;height:84px}
.xp-reply{border:1px solid #e3e6ea;border-left:4px solid #1d5fb4;border-radius:0 10px 10px 0;padding:10px 12px;margin-top:10px;background:#fafbfc}
.xp-reply .hd{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;margin-bottom:6px}
.xp-reply .hd .del{margin-left:auto;font-size:11px;padding:3px 10px;color:var(--danger)}
.xp-reply textarea{width:100%;max-width:560px;padding:8px 10px}
.xq-media .th{position:relative;width:112px;height:112px;border-radius:10px;overflow:hidden;border:1px solid #e6e8ec;background:#fff}
.xq-media .th img,.xq-media .th video{width:100%;height:100%;object-fit:cover;display:block}
.xp-vtile{position:relative;display:block;width:100%;height:100%;background:#16181d;color:#fff}
.xp-vtile img{width:100%;height:100%;object-fit:cover;display:block}
.xp-slot .xp-vtile{width:96px;height:72px}
.xq-media .th .x{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50% !important;padding:0 !important;font-size:12px;line-height:20px;background:rgba(0,0,0,.6) !important;color:#fff !important;display:flex;align-items:center;justify-content:center;box-shadow:none !important}
.xp-rowdrop{margin-top:8px;max-width:640px;min-height:46px;border:1.5px dashed #d5d9df;border-radius:10px;background:#fafbfc;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#8a93a3;cursor:pointer;padding:6px 10px}
.xp-rowdrop:hover{border-color:#b8bec7;color:#5b6472}
.xp-rowdrop.over{border-color:var(--acc-fill,#f25c05);background:#fff7f2;color:#c2410c}
.xq-foot{margin-top:8px;font-size:12px}
.xq-foot .err{color:#b91c1c;background:#fdeaea;border-radius:8px;padding:6px 10px;display:inline-block}
.xq-foot a{color:#1d5fb4;font-weight:700;text-decoration:none}
.xc-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.xc-head .ym{font-size:16px;font-weight:900;min-width:110px;text-align:center}
.xc-nav{font-size:12px !important;padding:4px 10px !important;background:#fff !important;border:1px solid #d7dae0 !important;color:var(--txt) !important;border-radius:8px !important;box-shadow:none !important}
.xc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:1000px}
.xc-wd{font-size:11px;font-weight:800;color:#8a93a3;text-align:center;padding:4px 0}
.xc-wd.sun{color:#d14343}
.xc-wd.sat{color:#1d5fb4}
.xc-cell{min-height:104px;min-width:0;background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:6px 6px 4px;display:flex;flex-direction:column;gap:3px}
.xc-cell.out{background:#f7f8fa;opacity:.55}
.xc-cell.today{border-color:var(--acc-fill,#f25c05);box-shadow:inset 0 0 0 1px var(--acc-fill,#f25c05)}
.xc-cell.past{background:#fafbfc}
.xc-d{font-size:12px;font-weight:800;color:#5b6472;display:flex;align-items:center;justify-content:space-between}
.xc-cell.today .xc-d{color:var(--acc-fill,#f25c05)}
.xc-d .add{width:18px;height:18px;border-radius:50% !important;padding:0 !important;font-size:13px;line-height:18px;background:#eef0f4 !important;color:#5b6472 !important;border:0 !important;visibility:hidden;box-shadow:none !important}
.xc-cell:hover .xc-d .add{visibility:visible}
.xc-chip{display:flex;align-items:center;gap:5px;font-size:11px;line-height:1.3;border-radius:6px;padding:3px 6px;background:#eef2ff;color:#1e2a5a;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #1d5fb4}
.xc-chip:hover{filter:brightness(.96)}
.xc-chip .t{font-weight:800;flex:none}
.xc-chip .x{overflow:hidden;text-overflow:ellipsis}
.xc-chip.k-daily{border-left-color:#2e9e5b;background:#eaf7ee;color:#173f25}
.xc-chip.k-weekly{border-left-color:#7c3aed;background:#f1ebfd;color:#3b1d75}
.xc-chip.k-cal{border-left-color:#f25c05;background:#fff1e6;color:#6b2c08}
.xc-chip.k-spot{border-left-color:#1d5fb4;background:#eef2ff;color:#1e2a5a}
.xc-legend .k-spot::before{background:#1d5fb4}
.xc-legend .k-cal::before{background:#f25c05}
.xc-legend .k-daily::before{background:#2e9e5b}
.xc-legend .k-weekly::before{background:#7c3aed}
.xc-chip.st-posted{background:#e7f6ec;color:#124d24;border-left-color:#1b7f3b}
.xc-chip.st-failed{background:#fdeaea;color:#7a1c1c;border-left-color:#b91c1c}
.xc-chip.st-posting{background:#fff1e6;color:#7a3410;border-left-color:#c2410c}
.xc-chip.st-canceled{background:#f1f3f6;color:#6b7280;border-left-color:#9aa3af;text-decoration:line-through}
.xc-more{font-size:10.5px;color:#5b6472;font-weight:700;cursor:pointer;padding:1px 6px}
.xc-legend{display:flex;gap:12px;font-size:11px;color:#5b6472;margin-top:8px;flex-wrap:wrap}
.xc-legend span::before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px;background:#1d5fb4}
.xc-legend .posted::before{background:#1b7f3b}
.xc-legend .failed::before{background:#b91c1c}
.xc-legend .canceled::before{background:#9aa3af}
.stp-kpi .k,.an-card,.an-kpi,.an-cal,#notifyBox .card{border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;background:#fff}
#rolesCard .scroll{max-height:none !important;border:0 !important;border-radius:0 !important;overflow-x:auto}
#roleTable thead .rl-c0{position:sticky !important;left:0;z-index:2 !important}
#roleTable .rl-sec th span,#roleTable thead .rl-c0 span{letter-spacing:.16em !important}
#roleTable .rl-pg th span{white-space:nowrap !important;overflow:visible !important;text-overflow:clip !important}
#roleTable td.gcell,#roleTable .rl-pg th{min-width:44px;padding-left:5px !important;padding-right:5px !important}
#roleTable input.rl-ck{width:18px !important;height:18px !important;border-radius:5px !important;box-shadow:none !important;padding:0 !important}
#roleTable button.rl-mem{background:transparent !important;border:0 !important;border-radius:999px !important;padding:3px 8px 3px 3px !important;font-weight:600 !important;box-shadow:none !important;color:var(--sub) !important;margin:0 0 0 -3px !important;min-height:0 !important}
#roleTable button.rl-mem:hover,#roleTable button.rl-mem[aria-expanded=true]{background:#f4f4ef !important;color:var(--txt) !important}
#roleTable .rl-on{display:inline-block;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.3 6.6 11.2 12.5 4.9' fill='none' stroke='%23a3a69c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
/* 従業員名簿 PDF(2026-10-13) */
#empBody button.emx-rs{all:unset;cursor:pointer;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--txt);white-space:nowrap}
#empBody button.emx-rs:hover{border-color:var(--acc-fill);color:var(--accent)}
.rs-modal{position:fixed;inset:0;z-index:1300;background:rgba(17,17,17,.42);display:flex;align-items:center;justify-content:center;padding:16px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .14s}
.rs-modal.open{visibility:visible;opacity:1;pointer-events:auto}
.rs-box{background:#fff;border:1px solid var(--line);border-radius:10px;width:min(860px,100%);height:min(92vh,1180px);display:flex;flex-direction:column;overflow:hidden}
.rs-hd{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line2)}
.rs-hd b{font-size:14px}.rs-hd .muted{font-size:12px;margin-right:auto}
.rs-btn{all:unset;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:#fff}
.rs-btn.pri{background:var(--acc-fill);border-color:var(--acc-fill);color:#fff}
#rsFrame{flex:1;border:0;width:100%;background:#f4f4f2}
#empBody button.emx-id{all:unset;cursor:pointer;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;border:1px dashed #e2b49a;background:#fff;color:#b44400;white-space:nowrap}
#empBody button.emx-id.done{border:1px solid #cfe8d6;background:#f3faf5;color:#1b7f3b}
#empBody button.emx-id:hover{border-color:var(--acc-fill)}
.rs-form{padding:18px 20px;display:flex;flex-direction:column;gap:12px;font-size:13px}
.rs-form .rs-lead{margin:0;color:var(--sub)}
.rs-row{display:flex;align-items:center;gap:12px}.rs-row>span{width:120px;font-weight:700;color:var(--sub)}
.rs-row select{font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.rs-row label{display:inline-flex;align-items:center;gap:4px}
.rs-imgwrap{flex:1;overflow:auto;background:#f4f4f2;display:flex;align-items:flex-start;justify-content:center}.rs-imgwrap img{max-width:100%;height:auto}
/* 従業員名簿の様式(2026-10-13・テンプレ『B2:H35』の写し) */
.rs-form.rs-sheet{flex:1;overflow:auto;background:#f4f4f2;padding:16px;display:block}
.rsd{width:794px;margin:0 auto;background:#fff;padding:24px 15px;box-sizing:border-box;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;color:#000}
.rsd-t{border-collapse:collapse;table-layout:fixed;width:764px;font-size:11pt}
.rsd-t td{border:1px solid #000;padding:2px 6px;vertical-align:middle;line-height:1.35;word-break:break-all}
.rsd-t td.nb{border:0}.rsd-t td.nbt{border-top:0}.rsd-t td.nbb{border-bottom:0}.rsd-t td.nbl{border-left:0}.rsd-t td.nbr{border-right:0}
.rsd-t td.dot{border-bottom:1px dotted #000}.rsd-t td.dsh{border-bottom:1px dashed #000}
.rsd-t .ttl{border:0;text-align:center;font-size:18pt;font-weight:700}.rsd-t .office{text-align:center;font-size:11pt}
.rsd-t .lb{text-align:center}.rsd-t .c{text-align:center}.rsd-t .l{text-align:left}.rsd-t .r{text-align:right}
.rsd-t .sm{font-size:10pt}.rsd-t .xs{font-size:9pt}.rsd-t .f12{font-size:12pt}.rsd-t .f13{font-size:13pt}.rsd-t .big{font-size:17pt}
.rsd-t .kana{border-bottom:1px dashed #000}
.rsd-t .pre{white-space:pre-wrap}.rsd-t .box{text-align:left;vertical-align:top;padding:8px 6px}.rsd-t .hs{display:inline-block;min-width:8em}
.rsd-t .sec{font-size:13pt;font-weight:700;border:0;padding-left:0}
.rsd-t tr.h9 td{height:9px;padding:0}.rsd-t tr.h17 td{height:17px;padding:0}.rsd-t tr.h21 td{height:21px}.rsd-t tr.h27 td{height:27px}.rsd-t tr.h30 td{height:30px}.rsd-t tr.h45 td{height:45px}.rsd-t tr.h60 td{height:60px}.rsd-t tr.h90 td{height:90px}
.rs-imgwrap[hidden],.rs-form[hidden],#rsFrame[hidden]{display:none!important}
/* 名簿・身分証(一体のセット・2026-10-13) */
#empBody .emx-doc{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;height:26px}
#empBody .emx-doc button.emx-rs{border:0!important;border-radius:0!important;padding:0 9px;display:inline-flex;align-items:center}
#empBody .emx-doc .emx-id{all:unset;cursor:pointer;width:26px;display:inline-flex;align-items:center;justify-content:center;border-left:1px solid var(--line);font-size:13px;font-weight:900;color:#b44400;background:#fff7f1}
#empBody .emx-doc .emx-id.done{color:#1b7f3b;background:#f3faf5}
#empBody .emx-doc .emx-id.wait{cursor:default;color:var(--faint);background:#fff}
#empBody .emx-doc .emx-id:hover{background:#ffe9d9}#empBody .emx-doc .emx-id.done:hover{background:#e3f4e8}
table.emx th.doc,table.emx td.doc{text-align:center}
table.emx th.r,table.emx td.r,table.emx td.xf{text-align:right}
/* 2026-10-13 監査: X ID 欄が狭すぎた(未表示の「保存」ボタンが 68px 場所を取っていた)。保存は ↻ の位置に重ねて出す(他の要素は動かない) */
.emx-x{position:relative}
.emx-x .sns-save{position:absolute!important;right:0;top:50%;transform:translateY(-50%);z-index:1}

/* 2026-10-13 オーナー指示: X 定期テンプレのカード本文が 84px で切れて読めない → 枠内スクロール(高さは揃えたまま・スクロールバーは常に見せる) */
.xp-ttext{font-size:12px;margin-top:6px;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px}
.xp-ttext::-webkit-scrollbar{width:6px}
.xp-ttext::-webkit-scrollbar-thumb{background:#c9ced6;border-radius:3px}
.xp-ttext::-webkit-scrollbar-track{background:#f1f3f5;border-radius:3px}

/* ===== Instagram のページ分割(2026-10-14): #igsSec[data-page] で各ページの部品だけを出す ===== */
#igsSec[data-page="overview"] [data-igp]:not([data-igp~="overview"]),
#igsSec[data-page="feed"] [data-igp]:not([data-igp~="feed"]),
#igsSec[data-page="story"] [data-igp]:not([data-igp~="story"]),
#igsSec[data-page="link"] [data-igp]:not([data-igp~="link"]){display:none !important}
#igsSec[data-page="link"] .ig2-card:first-of-type{margin-top:14px}
/* 投稿予約の一覧 */
.igf-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line2)}
.igf-row:first-child{border-top:0}
.igf-row.off{opacity:.55}
.igf-th{width:52px !important;height:65px !important;border-radius:5px !important}
.igf-th>img{width:100%;height:100%;object-fit:cover}
.igf-cnt{position:absolute;right:3px;top:3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:rgba(0,0,0,.62);color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}
.igf-m{min-width:0}
.igf-m .h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}
.igf-m .c{font-size:12px;color:var(--txt);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.igf-m .s{font-size:11px;color:var(--faint);margin-top:2px}
.igf-m .e{font-size:11px;color:#c62828;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.igf-pill{font-size:10.5px;font-weight:800;padding:1px 8px;border-radius:999px;background:var(--line2);color:var(--sub)}
/* 投稿予約の入力 */
.igf-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.igf-types button{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px !important;border:1px solid var(--line) !important;border-radius:8px !important;background:#fff !important;color:var(--txt) !important;box-shadow:none !important;text-align:left}
.igf-types button b{font-size:13px}.igf-types button i{font-style:normal;font-size:10.5px;color:var(--faint)}
.igf-types button.on{border-color:var(--acc-fill) !important;box-shadow:0 0 0 3px rgba(255,106,18,.15) !important}
.igf-n{font-style:normal;font-weight:600;color:var(--faint);margin-left:6px;font-variant-numeric:tabular-nums}
.igf-n.over{color:#c62828}
.igf-media{display:flex;gap:8px;flex-wrap:wrap;min-height:84px;align-items:flex-start}
.igf-media .m{position:relative;width:64px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#16181d}
.igf-media .m img,.igf-media .m .xp-vtile{width:100%;height:100%;object-fit:cover;display:block}
.igf-media .m b{position:absolute;right:2px;top:2px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:12px;line-height:18px;text-align:center;cursor:pointer}
.igf-media .m em{position:absolute;left:3px;top:3px;font-style:normal;font-size:10px;font-weight:800;color:#fff;background:rgba(0,0,0,.55);border-radius:6px;padding:0 5px}
.igf-media .m button{position:absolute;bottom:2px;width:22px;height:20px;margin:0;padding:0 !important;font-size:13px;line-height:18px;border:0 !important;border-radius:4px !important;background:rgba(0,0,0,.6) !important;color:#fff !important;box-shadow:none !important}
.igf-media .m button[data-mact="left"]{left:2px}.igf-media .m button[data-mact="right"]{right:2px}
.igf-media .m button:disabled{opacity:.3}
.igf-none{font-size:12px;color:var(--faint);padding:6px 0}
.ig2-f textarea{width:100%;box-sizing:border-box;padding:9px 11px;font-size:14px;line-height:1.6;border:1px solid var(--line);border-radius:6px;background:#fff;margin:0;resize:vertical;font-family:inherit}
.ig2-f textarea:focus{outline:none;border-color:var(--acc-fill);box-shadow:0 0 0 3px rgba(255,106,18,.15)}
.ig2 a.ig2-lnk{font-size:10.5px;font-weight:800;color:var(--sub);text-decoration:none;border-bottom:1px dotted var(--line2);padding:1px 2px;white-space:nowrap}
.ig2 a.ig2-lnk:hover{color:var(--accent)}
/* 途中で切れている文章の全文表示(2026-10-14・core-shell.js の共通処理) */
.tx-can{cursor:pointer}
.tx-open{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;-webkit-line-clamp:unset !important;max-height:none !important;word-break:break-word}
/* ホーム: 店舗別の売上ランキング(2026-10-14)。TOP30 と同じ項目を 1 人 2 行の密な行で。店舗ごとの列・見出しの上線と順位は店舗色 */
.dh-srk{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:14px;align-items:start}
@media(max-width:1100px){.dh-srk{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dh-srk{grid-template-columns:1fr}}
.dh-srkc{background:#fff;border:1px solid var(--line);border-top:3px solid var(--sc);border-radius:6px;overflow:hidden}
.dh-srkc header{display:flex;align-items:baseline;gap:8px;padding:10px 12px 8px;border-bottom:1px solid var(--line)}
.dh-srkc header b{font-size:15px;font-weight:900;color:var(--sc);letter-spacing:.01em}
.dh-srkc header span{font-size:11px;color:var(--sub);font-weight:700}
.dh-srkc header em{margin-left:auto;font-style:normal;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--txt)}
.dh-srkc ol{list-style:none;margin:0;padding:0}
.dh-srkc li{display:grid;grid-template-columns:22px 26px minmax(0,1fr) auto;gap:0 8px;align-items:center;padding:6px 12px;border-top:1px solid var(--line2);cursor:pointer}
.dh-srkc li:first-child{border-top:0}
.dh-srkc li:hover{background:#fbfaf7}
.dh-srkc .rk{font-size:12px;font-weight:900;color:var(--faint);text-align:right;font-variant-numeric:tabular-nums}
.dh-srkc li.top .rk{color:var(--sc)}
.dh-srkc .ic{display:flex}.dh-srkc .av{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#eef0f4;flex:none}
.dh-srkc .nm{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.dh-srkc .nm b{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dh-srkc .nm small{font-size:10.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.dh-srkc .am{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.dh-srkc .am b{font-size:13px;font-weight:850;font-variant-numeric:tabular-nums}
.dh-srkc .am small{font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ===== 従業員: SNS と 名簿・身分証(2026-10-14)。一覧=24px のアイコン 2 つ(状態は色)/ 押すとポップアップ ===== */
#empBody button.emx-snsb,#empBody button.emx-docb{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 5px!important;border-radius:8px!important;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s}
#empBody button.emx-snsb:hover,#empBody button.emx-docb:hover{background:#fff!important;border-color:var(--line)!important}
#empBody button.emx-snsb:focus-visible,#empBody button.emx-docb:focus-visible{outline:2px solid var(--acc-fill);outline-offset:1px}
#empBody .emx-snsb .t,.emx-snspop .t{position:relative;width:24px;height:24px;border-radius:7px;display:inline-grid;place-items:center;color:#a9aab0;border:1.5px dashed #d6d7dc;background:#fff;flex:none}
#empBody .emx-snsb .t svg,.emx-snspop .t svg{width:13px;height:13px}
#empBody .emx-snsb .t.x.on,.emx-snspop .t.x.on{background:#0f1419;border:1.5px solid #0f1419;color:#fff}
#empBody .emx-snsb .t.ig.on,.emx-snspop .t.ig.on{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border:1.5px solid transparent;color:#fff}
#empBody .emx-docb .t,.emx-docpop .t{position:relative;width:24px;height:24px;border-radius:7px;display:inline-grid;place-items:center;flex:none}
#empBody .emx-docb .t svg,.emx-docpop .t svg{width:14px;height:14px}
#empBody .emx-docb .t.ok,.emx-docpop .t.ok{background:#eef8f1;color:#1b7f3b;border:1.5px solid #cfe8d6}
#empBody .emx-docb .t.ng,.emx-docpop .t.ng{background:#fff7f1;color:#c25b12;border:1.5px dashed #efc3a3}
#empBody .emx-docb .t.wait{background:#f6f6f4;color:#c5c6cb;border:1.5px solid #ececea}
#empBody .emx-docb .t i{position:absolute;right:-5px;bottom:-5px;width:13px;height:13px;border-radius:50%;font-style:normal;font-size:8.5px;font-weight:900;line-height:13px;text-align:center;color:#fff;background:#1b7f3b;box-shadow:0 0 0 2px #fff}
#empBody .emx-docb .t.ng i{background:#e8913f;width:8px;height:8px;right:-3px;bottom:-3px}
/* SNS ポップ */
.emx-snspop{width:min(380px,calc(100vw - 24px))}
.emx-snspop .sl{display:flex;flex-direction:column;gap:12px;padding:12px 0}
.emx-snspop .sr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start}
.emx-snspop .sr .t{width:32px;height:32px;border-radius:9px;margin-top:17px}.emx-snspop .sr .t svg{width:16px;height:16px}
.emx-snspop .m{min-width:0}
.emx-snspop label{display:block;font-size:10.5px;font-weight:800;color:var(--sub);letter-spacing:.02em;margin-bottom:4px}
.emx-snspop .in{display:flex;align-items:center;height:34px;border:1.5px solid var(--line);border-radius:9px;background:#fbfbfa;padding:0 9px;transition:border-color .15s,box-shadow .15s}
.emx-snspop .in:focus-within{border-color:var(--acc-fill);box-shadow:0 0 0 3px rgba(255,106,18,.15);background:#fff}
.emx-snspop .in.ng{border-color:#d5383f;box-shadow:0 0 0 3px rgba(213,56,63,.10)}
.emx-snspop .in span{color:var(--faint);font-weight:700;margin-right:2px}
.emx-snspop .in input{all:unset;flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--txt)}
.emx-snspop .hp{font-size:10.5px;color:var(--faint);margin-top:4px;line-height:1.4}.emx-snspop .hp.ok{color:#1b7f3b}.emx-snspop .hp.ng{color:#d5383f;font-weight:700}
.emx-snspop .ac{display:flex;gap:4px;margin-top:20px}
.emx-snspop .ac .op,.emx-snspop .ac .rf{all:unset;box-sizing:border-box;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);display:inline-grid;place-items:center;color:var(--sub);cursor:pointer;background:#fff;font-size:14px;font-weight:800}
.emx-snspop .ac .op svg{width:14px;height:14px}
.emx-snspop .ac .op:hover,.emx-snspop .ac .rf:hover{border-color:var(--acc-fill);color:var(--accent)}
.emx-snspop .ac .rf.ph{visibility:hidden}
.emx-snspop .ac .rf.spin{animation:emxspin .8s linear infinite}
@keyframes emxspin{to{transform:rotate(360deg)}}
.emx-snspop .ft .st.ng,.emx-docpop .ft .st.ng{color:#d5383f;font-weight:700}.emx-snspop .ft .st.ok{color:#1b7f3b;font-weight:700}
.emx-snspop .ft button[data-a=save]{min-width:64px}
/* 名簿・身分証ポップ */
.emx-docpop{width:min(380px,calc(100vw - 24px))}
.emx-docpop .dr{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;padding:12px 0;border-bottom:1px solid var(--line2)}
.emx-docpop .dr:last-of-type{border-bottom:0}
.emx-docpop .dr .t{width:36px;height:36px;border-radius:10px}.emx-docpop .dr .t svg{width:18px;height:18px}
.emx-docpop .m{min-width:0}
.emx-docpop .m b{display:block;font-size:13.5px;font-weight:800}
.emx-docpop .m small{display:block;font-size:11px;margin-top:2px;color:var(--sub)}.emx-docpop .m small.ok{color:#1b7f3b}.emx-docpop .m small.ng{color:#c25b12}
.emx-docpop .bt{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.emx-docpop .bt button{margin:0!important;font-size:11.5px!important;padding:6px 12px!important;border-radius:8px!important}
.emx-docpop .bt button.pri{background:var(--acc-fill)!important;color:#fff!important;border:1px solid var(--acc-fill)!important}
/* 店舗管理: アイコンを押すとキャスト詳細(2026-10-15) */
.so-ava.cd-open{cursor:pointer}
.so-ava.cd-open:hover{box-shadow:0 0 0 2px var(--accent)}
.so-ava.cd-open:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* 費用の見張り(設定のページ・2026-10-15 方針 cost-guard): 赤い帯は止めている時だけ visibility で見せる(高さ固定=表の位置を動かさない) */
.cg-band{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 12px;margin:0 0 8px;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:6px;font-size:13px;font-weight:700;visibility:hidden}
.cg-band.on{visibility:visible}
.cg-band #cgBandTxt{flex:1;min-width:0;overflow-wrap:anywhere}
#costGuardCard .scroll{max-height:none}
.cg-tbl{margin-top:0}
.cg-tbl td.n,.cg-tbl th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cg-tbl td.lim{color:var(--sub);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cg-st{font-weight:700;white-space:nowrap}
.cg-st.ok{color:var(--sub)}
.cg-st.warn{color:#92580a}
.cg-st.stop{color:var(--danger)}
.cg-meta{margin-top:8px;font-size:12px;color:var(--sub);min-height:16px}
.cg-meta .ng{color:var(--danger);font-weight:700}
@media (max-width:640px){.cg-band{flex-wrap:wrap}}

/* ============================================================
   NIGHT OPS テーマ(theme.css)= 変数の実値と装飾(色・影・角丸・書体・背景演出・透かし)だけを持つ層。
   非 @layer のまま(base.css の @layer より常に強い=既存クラスを変えずに上書きする規約)。

   2026-10-11 効率化第4段「CSS の2層化」で、v1(2026-08-04)〜Rams v6 まで時系列に積まれていた上書きを
   (文脈, セレクタ) ごとに1つへ畳み、構造(位置・寸法・配置)は base.css へ移した。
   設計の経緯(v1 ステッカー型 → 監査第2弾 → SaaS 仕上げ → Rams v4〜v6)は git の旧 theme.css
   (2026-10-11 以前)とコンソール worklog を参照。ここに残っている構造プロパティ(td/th/button/input/.card/.seg 等の
   padding・font-size・display)は、@layer に入れると同じ要素に当たる base 側の規則と優先順位が入れ替わるため
   動かせないもの(scripts/css_cascade_diff.py で検証)。

   書き方の規約:
   - 見た目(色・影・角丸・書体・透かし)はここ。位置・寸法・配置は base.css。ページ固有の意匠はページ自身の規則(base.css 末尾)。
   - 同じセレクタを2回書かない(上書きの積み重ねを再び作らない)。値を変えるときは既存の宣言を書き換える。
   - !important は「インラインスタイル(style=)や同格の規則に勝つ必要がある所」だけ。
   - 変更後は python3 scripts/css_cascade_diff.py diff <前の連結> <後の連結> で意図しない優劣の変化が無いことを確認する。
   ============================================================ */
/* ---- 変数(NIGHT OPS の実値。既定値は base.css の @layer tokens) ---- */
:root{--bg:#fafaf8;--panel:#ffffff;--card:#ffffff;--line:#ecede8;--line2:#f2f3ee;--txt:#17181a;--sub:#73766d;--faint:#a4a79c;--accent:#f25c05;--acc-fill:#ff6a12;--acc-ink:#1c0e00;--btn:#17181a;--nsh:3px 3px 0 rgba(23,24,26,.85),0 10px 22px rgba(23,24,26,.10);--danger:#cf1f2e;--err:#cf1f2e;--csh:none}
/* ---- 画面の地: 書体=Helvetica Neue+Noto Sans JP(Rams v4.2)・横はみ出し禁止 ---- */
html{background:#fdfdfc;overflow-x:clip}
body{background:transparent;overflow-x:clip;font-family:'Helvetica Neue',Helvetica,Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif}
/* ---- 背景グラフィック #noBg(Rams v4: 目盛りレール+オレンジの指針+機器底面の刻印) ---- */
#noBg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;background:#f8f8f7}
.sidebar::before{content:none}   /* v1 の縦書き "CONSOLE" 透かし(v2 で撤去) */
/* ---- サイドバー=コントロールプレート(v4.1〜5.3): ナビはプレート上のキー列・現在地はオレンジのキー ---- */
.sidebar .login{padding:12px 14px;border-radius:10px;box-shadow:none;border:1px solid #e6e8ee;background:#fcfcfb;border-color:#e6e6e3}
nav a.parent{font-size:13.5px;display:flex;transition:background .15s,color .15s,box-shadow .15s;box-shadow:0 1px 0 rgba(29,29,27,.10), inset 0 1px 0 rgba(255,255,255,.8);font-weight:500;background:#fcfcfb;border-color:#e6e6e3;border-radius:999px !important}
nav a.parent:hover{background:#fff}
nav a.parent.open .caret{color:#fff}
.subwrap{margin:2px 0 6px 14px}
nav a.sub{min-width:80%;box-shadow:0 1px 2px rgba(23,24,26,.05),0 3px 10px rgba(23,24,26,.05);background:transparent;margin-left:14px;font-weight:400;border-radius:0 999px 999px 0 !important}
.card h2{letter-spacing:.1em}
/* ---- ボタン=Braun キーキャップ(v5〜5.5): ピル・白面・下端の影。既定ボタンはグレー(2026-08-04 オーナー指摘) ---- */
button{border-radius:999px !important;font-family:'Helvetica Neue',Helvetica,Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;color:#1d1d1b;border:1px solid #d9d5cb;box-shadow:0 1px 0 rgba(29,29,27,.12), inset 0 1px 0 rgba(255,255,255,.9);font-weight:500;background:#fff;border-color:#e0dfda}
.ghost{border-radius:999px !important;font-weight:800}
button:not(.ghost):not(.adjbtn):not(.swb){background:#eceee6;color:var(--txt)}
button:not(.ghost):not(.adjbtn):not(.swb):hover:not(:disabled){background:#e2e5da}
.pill{border-radius:999px;font-weight:600;letter-spacing:.02em}
dialog{border-radius:20px}
.banner{border-radius:14px}
a{color:var(--accent)}
input{border-radius:10px;font-family:'Helvetica Neue',Helvetica,Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif}
/* ---- セグメント(v5.4〜5.6): 凹んだトラック+丸いキー・選択=オレンジ・形状不変 ---- */
.seg{background:transparent !important;flex-wrap:wrap;border-color:#e0ded8;padding:3px;box-shadow:inset 0 1px 2px rgba(29,29,27,.07);display:flex;border-radius:999px}
.seg button:not(.on):not(.active){background:#fff !important;color:var(--sub) !important;box-shadow:inset 0 0 0 1.5px var(--line) !important}
.seg button:not(.on):not(.active):hover{color:var(--txt) !important;box-shadow:inset 0 0 0 1.5px var(--line2) !important}
nav a.parent.open:not(.active){background:#fff;color:var(--txt);outline:2.5px solid #ffcdae;outline-offset:-2.5px;box-shadow:0 1px 2px rgba(23,24,26,.07),0 5px 14px rgba(23,24,26,.06)}
nav a.parent.open:not(.active) .caret{color:var(--accent)}
/* ---- ネイティブ部品(P1-7): select/input はピル・凹んだウェル ---- */
select{appearance:none;-webkit-appearance:none;padding:7px 14px;font-weight:700;color:var(--txt);font-size:12.5px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><path d="M1 1l4 4 4-4" stroke="%2373766d" stroke-width="1.8" fill="none" stroke-linecap="round"/></svg>');background-repeat:no-repeat;background-position:right 12px center;font-family:'Helvetica Neue',Helvetica,Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;text-align:left;background:#fff;border:1px solid #d9d5cb;box-shadow:inset 0 1px 3px rgba(29,29,27,.08);border-color:#e0dfda;border-radius:999px;padding-left:13px;padding-right:13px}
input[type=text],input[type=number],input[type=month],input[type=password]{appearance:none;-webkit-appearance:none;padding:7px 14px;font-weight:700;color:var(--txt);font-family:inherit;font-size:12.5px;background:#fff;box-shadow:inset 0 1px 3px rgba(29,29,27,.08);border-radius:999px;padding-left:13px;padding-right:13px}
input[type=search]{appearance:none;-webkit-appearance:none;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:700;color:var(--txt);font-family:inherit;font-size:12.5px}
select:focus{border-color:var(--accent)}
input:focus{outline:none;border-color:var(--accent)}
td select{border-color:transparent;background-color:transparent;background-image:none;padding:4px 10px;border-radius:8px}
td select:hover,td select:focus{border-color:var(--line2);background-color:#fff;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><path d="M1 1l4 4 4-4" stroke="%2373766d" stroke-width="1.8" fill="none" stroke-linecap="round"/></svg>');background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}
input[type=checkbox]{width:15px;height:15px;accent-color:#f25c05}
input[type=file]{border:none;background:transparent;font-weight:700;color:var(--sub)}
input[type=file]::file-selector-button{border:none;border-radius:999px;background:#eceee6;color:var(--txt);font-weight:800;padding:8px 18px;margin-right:12px;cursor:pointer;font-family:inherit}
nav a{color:var(--txt)}
nav a.parent .ic{position:static;display:inline-flex;width:19px;height:19px;flex:0 0 19px;font-size:0;line-height:0;filter:none;opacity:1;transform:none}
nav a.parent .ic svg{width:100%;height:100%;display:block}
button.warn{background:var(--danger) !important;border-color:var(--danger) !important;color:#fff !important}
/* ---- 見出し=大見出し+英字ラベル(B1)・ページ右上の透かし(B4)。h1::after の目盛りスケール(v5.1)は下の .content h1::after ---- */
h1{font-size:27px;line-height:1.15;margin-bottom:2px;font-weight:500;letter-spacing:0}
h1::after{display:block;content:"";font-size:9.5px;letter-spacing:.34em;color:var(--faint);font-weight:900;margin-top:4px;-webkit-text-stroke:0}
#view-employees h1::after{content:"EMPLOYEES"}
#view-ads h1::after{content:"AD PERFORMANCE"}
#view-storeops h1::after{content:"STORE OPS"}
#view-shifts h1::after{content:"SHIFT"}
#view-adjustments h1::after{content:"ADJUSTMENTS"}
#view-payroll h1::after{content:"PAYROLL"}
#view-guarantees h1::after{content:"GUARANTEE"}
#view-specialpay h1::after{content:"SPECIAL PAY"}
#view-payslip h1::after{content:"PAYSLIP"}
#view-withholding h1::after{content:"WITHHOLDING"}
#view-bank h1::after{content:"BANK DATA"}
#view-payconfig h1::after{content:"CONFIG"}
#view-staffpay h1::after{content:"STAFF PAY"}
#view-settings h1::after{content:"SETTINGS"}
#view-kinicasts h1::after{content:"PHOTO PICK / CASTS"}
#view-kinirank h1::after{content:"PHOTO PICK / ANALYTICS"}
#view-kinisettings h1::after{content:"PHOTO PICK / FORM"}
#view-notify h1::after{content:"NOTIFY"}
.content section{position:relative}
.content section::before{position:absolute;pointer-events:none;user-select:none;z-index:-1;content:"";white-space:nowrap;font-family:var(--mono);font-weight:700;letter-spacing:.34em;right:2px;transform:none;color:rgba(29,29,27,.24)}
#view-employees::before{content:"EMPLOYEES"}
#view-shifts::before{content:"SHIFT"}
#view-adjustments::before{content:"ADJUST"}
#view-payroll::before{content:"PAYROLL"}
#view-guarantees::before{content:"GUARANTEE"}
#view-specialpay::before{content:"SPECIAL"}
#view-payslip::before{content:"PAYSLIP"}
#view-withholding::before{content:"TAX"}
#view-bank::before{content:"BANK"}
#view-payconfig::before{content:"CONFIG"}
#view-staffpay::before{content:"STAFF"}
#view-settings::before{content:"SETTINGS"}
#view-notify::before{content:"NOTIFY"}
#view-kinicasts::before,#view-kinirank::before,#view-kinisettings::before{content:"PHOTO PICK"}
/* ---- 本文・カード・表(C1〜D3・2026-09-12 カード見直し: 白+1px罫線+角6・影なし) ---- */
.muted{font-size:12.5px}
td .muted{white-space:nowrap}
.card{margin:16px 0;padding:16px 20px;border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;background:#fff}
.content>section{max-width:1240px;margin-inline:auto}
nav a.sub.active{box-shadow:3px 3px 0 rgba(23,24,26,.85);font-weight:800;background:#f25c05;color:#fff;border-left-color:#c94a02;border-radius:0 999px 999px 0 !important}
/* ---- Interaction FX(P5 的リアクション・効果音トグル) ---- */
.fxb{position:fixed;z-index:98;pointer-events:none;width:0;height:0}
.fxb .ring{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border:2px solid var(--accent);border-radius:50%;opacity:.4;animation:fxring .4s cubic-bezier(.2,.7,.3,1) forwards}
.fxb .slash{position:absolute;left:-22px;top:-1px;width:44px;height:2px;background:linear-gradient(90deg,transparent,var(--acc-fill),transparent);transform:rotate(-24deg) scaleX(0);animation:fxslash .32s cubic-bezier(.2,.8,.3,1) forwards}
.fxb .sh{position:absolute;left:-3px;top:-3px;width:6px;height:6px;background:var(--acc-fill);opacity:.85;transform:rotate(45deg);animation:fxshard .38s cubic-bezier(.15,.7,.3,1) forwards}
.fxwipe{position:fixed;inset:-10% -30%;z-index:96;pointer-events:none;background:linear-gradient(120deg,transparent 30%,rgba(23,24,26,.05) 45%, rgba(242,92,5,.10) 50%,rgba(23,24,26,.05) 55%,transparent 70%);transform:translateX(-110%) skewX(-14deg)}
.fxwipe.go{animation:fxwipea .5s cubic-bezier(.2,.7,.2,1) forwards}
button:not(:disabled):active,nav a:active,.seg button:active{transform:translateY(1px) scale(.96) skewX(-2deg) !important;transition:transform .06s ease !important}
#fxSnd{margin-top:14px;color:var(--sub) !important;border:1px solid #e6e8ee !important;border-radius:8px !important;box-shadow:none !important;font-size:11px !important;padding:6px 10px !important;opacity:.75;background:#fcfcfb !important;border-color:#e6e6e3 !important}
#gateKeep{background:#fff !important;color:var(--sub) !important;margin-top:6px;border:1px solid #e6e8ee !important;border-radius:8px !important;box-shadow:none !important;font-size:11px !important;padding:6px 10px !important;opacity:.75}
#fxSnd.off,#gateKeep.off{opacity:.6}
@media (prefers-reduced-motion:reduce){
  .fxb,.fxwipe{display:none !important}
}
@media (max-width:760px){
  .sidebar{transition:transform .22s ease;background:var(--bg);padding:64px 14px 14px;box-shadow:0 0 60px rgba(23,24,26,.2)}
  nav{gap:0}
  .navsec{display:block}
  .content section::before{font-size:44px;top:-8px}
}
/* ---- アプリバー(2026-08-11)+SaaS 仕上げ(ナビの直進性・空状態) ---- */
#appbar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.96);border-bottom-color:#e8e7e3}
.ab-brand{font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--txt)}
.ab-brand .ab-mark{font-size:11px;color:transparent;width:9px;height:9px;background:#f25c05;border-radius:50%;display:inline-block;overflow:hidden;flex:0 0 9px}
.ab-brand b{font-weight:800}
#appbar .uchip{margin:0;padding:4px 12px 4px 5px;border:1px solid var(--line);border-radius:999px;background:#fff;border-color:#e0dfda}
#appbar .uchip .umeta b{overflow:hidden;display:block}
.ab-logout{border:1px solid var(--line);background:#fff;padding:6px 13px;font-size:12px;font-weight:700;color:var(--sub);cursor:pointer;border-color:#e0ded8;border-radius:999px}
.ab-logout:hover{color:var(--txt);border-color:#c9ced6}
.app{padding-top:52px}
@media (max-width:760px){
  .ab-brand b{display:none}
  .app{padding-top:48px}
}
nav a.parent{transform:none !important}
nav a.parent.open{transform:none !important;box-shadow:inset 0 1px 2px rgba(29,29,27,.10);border-radius:999px !important}
nav a.parent.active{transform:none !important;background:#f25c05;border-color:#f25c05;color:#fff;box-shadow:inset 0 1px 2px rgba(110,38,0,.35);border-radius:999px !important}
.navsec{font-size:9px;padding:14px 8px 5px;color:#8b877d;letter-spacing:.26em;font-weight:600}
table td{font-variant-numeric:tabular-nums}
tbody tr:hover td{background:#f6f8fa}
.content h1{margin:2px 0 4px;letter-spacing:-.005em;font-weight:500;font-size:22px}
.content h1+.muted{font-size:12.5px;line-height:1.7;margin-bottom:14px;max-width:780px}
.empty{padding:34px 16px;color:var(--sub);border-radius:14px}
.empty .ei{font-size:26px;margin-bottom:8px;position:relative;display:inline-flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:50%;opacity:.75;background-image:radial-gradient(rgba(29,29,27,.14) 1px, transparent 1.35px);background-size:7px 7px}
.empty b{display:block;font-size:13.5px;color:var(--txt);margin-bottom:4px}
.empty small{font-size:11.5px;color:var(--faint);line-height:1.7}
#noBg .amb{display:none}
#noBg .word{position:absolute;line-height:1;white-space:nowrap;user-select:none;transform:none;right:auto;top:auto;font-weight:700;letter-spacing:.32em;color:rgba(29,29,27,.30);font-family:var(--mono);left:16px}
#noBg .rail{position:absolute;top:0;bottom:0;background:rgba(29,29,27,.14);width:1px;left:227px}
#noBg .rail::before{content:"";position:absolute;top:0;bottom:0;left:-4px;width:9px;background-image:repeating-linear-gradient(to bottom, rgba(29,29,27,.16) 0 1px, transparent 1px 40px), repeating-linear-gradient(to bottom, rgba(29,29,27,.08) 0 1px, transparent 1px 8px)}
#noBg .rail::after{content:"";position:absolute;left:-7px;top:112px;width:15px;height:2px;background:#f25c05;opacity:.9}
#noBg .dots{display:none}
#noBg .reg{display:none}
@media (max-width:900px){
  #noBg .rail,#noBg .reg{display:none}
  #noBg .word{display:none}
}
.content section::before{font-size:10px;top:6px}
#noBg .word{font-size:9.5px;bottom:10px}
/* ---- 表: スイス表組(v4.2 左揃え・数字右揃え)+行のヘアライン ---- */
th{border-bottom:1px solid #e5e3dd;text-align:left;padding:8px 12px;font-weight:500;border-bottom-color:#e8e7e3;background:#fbfbfa}
.sidebar{border-right:1px solid #dcd8cf;padding:12px 12px 14px;position:sticky;top:52px;block-size:calc(100dvh - 52px);background:#f3f3f1;border-right-color:#e6e6e3}
nav a.sub:hover{background:rgba(29,29,27,.05)}
textarea{font-family:'Helvetica Neue',Helvetica,Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;background:#fff;border:1px solid #d9d5cb;box-shadow:inset 0 1px 3px rgba(29,29,27,.08);border-color:#e0dfda;border-radius:14px}
td{text-align:left;padding:8px 12px}
td .pill{text-align:center}
.seg button.on,.seg button.active{clip-path:none;border-color:#232320;border:none !important;background:#f25c05 !important;color:#fff !important;box-shadow:inset 0 1px 2px rgba(110,38,0,.38) !important;border-radius:999px !important;padding-inline:16px !important}
tbody td{border-bottom:1px solid #edebe5;border-bottom-color:#efeeea}
button:active{transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(29,29,27,.14)}
.adjbtn.end,button.danger{color:#c0392b}
#gateBtn{background:#232320;color:#fff;border-color:#232320;box-shadow:0 1px 0 rgba(29,29,27,.25), inset 0 1px 0 rgba(255,255,255,.08);border-radius:999px}
input[type=text]{border:1px solid #d9d5cb;border-color:#e0dfda}
input[type=tel]{background:#fff;border:1px solid #d9d5cb;box-shadow:inset 0 1px 3px rgba(29,29,27,.08);border-color:#e0dfda;border-radius:999px;padding-left:13px;padding-right:13px}
input[type=number],input[type=password]{border:1px solid #d9d5cb;border-color:#e0dfda}
input[type=date]{background:#fff;border:1px solid #d9d5cb;box-shadow:inset 0 1px 3px rgba(29,29,27,.08);border-color:#e0dfda;border-radius:999px;padding-left:13px;padding-right:13px}
input[type=month]{border:1px solid #d9d5cb;border-color:#e0dfda}
input[type=radio]{accent-color:#f25c05}
@media (max-width:760px){
  .sidebar{top:48px;height:auto;block-size:auto}
}
h2{letter-spacing:0;font-weight:500}
h3{font-weight:500;letter-spacing:0}
b,strong,td b{font-weight:600}
#appbar .ab-brand{font-weight:500}
#appbar .ab-brand b{font-weight:600}
.umeta b{font-weight:500}
.content h1::after{display:block;min-height:22px;margin-top:7px;padding-bottom:10px;width:auto;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.34em;color:rgba(29,29,27,.38);background-image:linear-gradient(#f25c05,#f25c05), repeating-linear-gradient(to right, rgba(29,29,27,.30) 0 1px, transparent 1px 10px);background-repeat:no-repeat,no-repeat;background-size:2px 7px, 121px 4px;background-position:30px calc(100% - 1px), 0 calc(100% - 2px)}
.ab-right::before{content:"";width:32px;height:13px;flex:0 0 32px;background-image:radial-gradient(rgba(29,29,27,.28) 1px, transparent 1.3px);background-size:5px 5px;background-position:center}
@media (max-width:760px){
  .ab-right::before{display:none}
}
.adjwrap{border-color:#e8e7e3;border-radius:6px !important;box-shadow:none !important;background:#fff}
.scroll{background:#fff;border-color:#e8e7e3;border-radius:14px}
button:hover{background:#f6f6f4}
nav a.parent:hover:not(.active):not(.open){background:#f5f5f3}
.store-seg{background:#efeeec;border:1px solid #e4e3df;box-shadow:inset 0 1px 2px rgba(29,29,27,.07);display:flex;border-radius:999px}
.seg button,.store-seg button{background:transparent !important;border:none !important;box-shadow:none !important;color:#6f6d68 !important;font-weight:500 !important;padding:7px 16px !important;clip-path:none;transform:none !important;border-radius:999px !important}
.seg button:hover:not(.on):not(.active),.store-seg button:hover:not(.on):not(.active){background:rgba(255,255,255,.7) !important}
.store-seg button.on,.store-seg button.active{border:none !important;background:#f25c05 !important;color:#fff !important;box-shadow:inset 0 1px 2px rgba(110,38,0,.38) !important;border-radius:999px !important;padding-inline:16px !important}
.seg button.on::before,.seg button.active::before,.store-seg button.on::before,.store-seg button.active::before{content:none}   /* v5.4 の作動ドットは v5.5 で廃止 */
.adjbtn{border-radius:999px}
nav a.parent.open{background:#f5f5f3;color:var(--txt)}
nav a.sub.active .ic{background:#fff}
.kpi b{font-weight:400;font-variant-numeric:tabular-nums}
.ab-menu{min-width:38px;padding:0 !important;border-radius:999px;border:1px solid #e0dfda;background:#fff;color:#17181a;flex:none;cursor:pointer;box-shadow:0 1px 0 rgba(29,29,27,.1), inset 0 1px 0 rgba(255,255,255,.9)}
@media (max-width:760px),(max-height:520px){
  :root{--dw:min(82vw,320px)}
  #noBg .rail,#noBg .reg,#noBg .word,#appbar .ab-brand b{display:none}
  .sidebar{inset:0 auto 0 0;block-size:auto !important;background:#f3f3f1;border-inline-end:1px solid #e6e6e3;border-block-end:0;box-shadow:none !important;padding:calc(12px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}
  .sidebar::before{display:none}
  nav{gap:0}
  .navsec{display:block}
  .app{padding-top:0}
  .content{background:#f8f8f7;box-shadow:-20px 0 44px rgba(23,24,26,.16);transition:transform .26s cubic-bezier(.22,.9,.3,1)}
  #appbar{transition:transform .26s cubic-bezier(.22,.9,.3,1)}
  body.navopen{--navx:var(--dw)}
  html.navdrag .content,html.navdrag #appbar{transition:none !important}
  .content section::before{font-size:44px;top:-8px}
}
@media (max-height:520px){
  .content h1{font-size:20px}
}
/* ---- シフトの表示切替 .sfb-vtog(v5.9: 台形タブ全廃・Segmented Control に統一) ---- */
.sfb-vtog button{clip-path:none;transform:none !important;background:transparent !important;border:none !important;box-shadow:none !important;border-radius:999px !important;color:#6f6d68 !important;font-weight:500 !important;padding:7px 16px !important}
.sfb-vtog button.on{clip-path:none;transform:none !important;background:#f25c05 !important;color:#fff !important;box-shadow:inset 0 1px 2px rgba(110,38,0,.38) !important;padding:7px 16px !important;border-radius:999px !important}
.sfb-vtog button:hover:not(.on){background:rgba(255,255,255,.7) !important}
.xp-tags input{font-size:12px;padding:5px 8px;width:170px;border:1px solid #d0d5dc;border-radius:8px}
.xp-vtile b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.card .card,.card .card .card{border:0 !important;border-top:1px solid var(--line) !important;border-radius:0 !important;background:transparent}
.card>h2{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
section>.muted:first-of-type{max-width:72ch}
/* ---- インライン指定の角丸・影の打ち消し(2026-09-12 カード見直し) ---- */
[style*="border-radius:12px"],[style*="border-radius:14px"],[style*="border-radius:16px"],[style*="border-radius:20px"],[style*="border-radius:22px"],[style*="border-radius: 12px"],[style*="border-radius: 16px"]{border-radius:6px !important}
[style*="box-shadow:0 1px 2px"],[style*="box-shadow: 0 1px 2px"],[style*="box-shadow:0 2px"],[style*="box-shadow:0 6px"],[style*="box-shadow:0 8px"],[style*="box-shadow:0 10px"],[style*="box-shadow:0 12px"]{box-shadow:none !important}
/* ---- FX のキーフレーム ---- */
@keyframes fxring{from{transform:scale(.25);opacity:.4}to{transform:scale(1.45);opacity:0}}
@keyframes fxslash{0%{transform:rotate(-24deg) scaleX(0);opacity:.85} 55%{transform:rotate(-24deg) scaleX(1);opacity:.55} 100%{transform:rotate(-24deg) scaleX(1.18);opacity:0}}
@keyframes fxshard{to{transform:translate(var(--dx),var(--dy)) rotate(185deg);opacity:0}}
@keyframes fxwipea{to{transform:translateX(110%) skewX(-14deg)}}

/* ===== SNS分析(#/snsmgr)の表 — 2026-10-12 再設計 =====
   連結順は theme.css の後(非 @layer)。色は base.css / theme.css の既存トークン(--bg --panel --card --line --line2 --txt --sub --faint
   --accent --acc-fill --danger --danger-bg --ok --warn --warning-bg --info-bg)だけを使い、新しい色は定義しない。
   媒体のブランド色は base.css の .sm2-pfc.<platform> を流用。区切りは罫線(角丸カードで区切らない)。操作ボタンの位置は行末に固定。
   設計意図は js/sns.js の冒頭コメント。 */

/* --- 箱と表 --- */
.sm3-wrap{border:1px solid var(--line);border-radius:6px;background:var(--card)}   /* overflow は切らない(sticky 見出しが効かなくなる) */
table.sm3{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:auto}
table.sm3 th,table.sm3 td{padding:8px 10px;border-bottom:1px solid var(--line2);vertical-align:middle;white-space:nowrap;font-family:inherit;text-transform:none;letter-spacing:0;line-height:1.25}
table.sm3 td:first-child,table.sm3 th:first-child{padding-left:14px}
table.sm3 td:last-child,table.sm3 th:last-child{padding-right:10px}
table.sm3 tbody:last-child tr:last-child td{border-bottom:0}
table.sm3 .a-n{text-align:right;font-variant-numeric:tabular-nums}
table.sm3 .a-c{text-align:center}
table.sm3 .a-l{text-align:left}
table.sm3 .a-o{text-align:right;width:1%}
table.sm3 td.c-acc{min-width:220px;max-width:340px;white-space:normal}
table.sm3 td.c-lp{min-width:150px}

/* 見出し行: 2段(指標名/補足)。固定アプリバー(52px)直下に吸着 */
table.sm3 thead th{position:sticky;top:52px;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding:9px 10px 7px;cursor:default}
table.sm3 thead th b{display:block;font-size:11.5px;font-weight:700;color:var(--txt)}
table.sm3 thead th i{display:block;font-style:normal;font-size:10px;font-weight:500;color:var(--faint);margin-top:2px}
table.sm3 thead th[title] b{text-decoration:underline dotted var(--faint);text-underline-offset:3px}   /* 点線=ツールチップあり */

/* 店舗の見出し行(セクション): 店舗名+件数、合計は各列の位置に */
table.sm3 tr.sm3-grp td{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 10px}
table.sm3 tbody.sm3-sec:first-of-type tr.sm3-grp td{border-top:0}
table.sm3 tr.sm3-grp td.c-acc b{font-size:14px;font-weight:700;color:var(--txt);letter-spacing:.01em}
table.sm3 tr.sm3-grp td.c-acc span{font-size:11px;color:var(--sub);margin-left:8px}
table.sm3 tr.sm3-grp .sm3-v{font-size:13px;font-weight:600;color:var(--sub)}
table.sm3 tr.sm3-grp .sm3-d{font-size:11.5px}
table.sm3 tr.sm3-grp:hover td{background:var(--bg)}

/* 行 */
table.sm3 tr.sm3-row>td{height:56px}
table.sm3 tr.sm3-row:hover>td{background:var(--line2)}
table.sm3 tr.sm3-row.open>td{background:var(--info-bg)}
table.sm3 tr.sm3-det>td{padding:0;background:var(--panel);white-space:normal}
table.sm3 tr.sm3-det .sm-detail{border-top:0}
table.sm3 tr.sm3-det:hover>td{background:var(--panel)}

/* 数値・増減 */
.sm3-v{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--txt);white-space:nowrap}
.sm3-v i{font-style:normal;font-size:10px;font-weight:500;color:var(--faint);margin-left:2px}
.sm3-v.none{color:var(--faint);font-weight:500}
.sm3-d{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sm3-d em{font-style:normal;font-size:9px;margin-right:2px;vertical-align:1px}
.sm3-d i{font-style:normal;font-size:10px;font-weight:500;color:var(--faint);margin-left:2px}
.sm3-d.up{color:var(--ok)}
.sm3-d.down{color:var(--danger)}
.sm3-d.zero{color:var(--sub)}
.sm3-d.flat{color:var(--faint);font-weight:500}
table.sm3 td .sub{display:block;font-style:normal;font-size:10.5px;color:var(--faint);margin-top:1px;font-variant-numeric:tabular-nums}
table.sm3 td .sub .sm3-d{font-size:10.5px}

/* アカウント列 */
.sm3-acc{display:flex;align-items:center;gap:10px;min-width:0}
.sm3-acc .nm{min-width:0}
.sm3-acc .t{font-size:13.5px;font-weight:700;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm3-acc .c{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;margin-top:3px;font-size:11px;color:var(--sub)}
.sm3-acc .c a{color:var(--sub);text-decoration:none}
.sm3-acc .c a:hover{color:var(--accent);text-decoration:underline}
.sm3-acc .c .when{color:var(--faint);font-size:10.5px}
.sm3-acc .sm2-av .pf svg{width:11px;height:11px;display:block}
.sm3-acc .sm2-av .pf{color:#fff}
/* 媒体バッジ: アイコン+名前(背景は base.css の .sm2-pfc.<platform>) */
.sm3-pf{display:inline-flex;align-items:center;gap:4px;height:17px;padding:0 7px 0 5px;border-radius:999px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1}
.sm3-pf svg{width:11px;height:11px;display:block}
/* 小バッジ(店舗 / 取得待ち / エラー)。エラーは hover(title)で全文 */
.sm3-tag{display:inline-block;font-size:10px;font-weight:700;line-height:16px;padding:0 6px;border:1px solid var(--line);border-radius:4px;color:var(--txt);background:var(--panel);white-space:nowrap}
.sm3-tag.wait{color:var(--warn);border-color:var(--warn);background:var(--warning-bg)}
.sm3-tag.err{color:var(--danger);border-color:var(--danger);background:var(--danger-bg);cursor:help}

/* 推移(スパークライン)。線色は currentColor */
.sm3-sp{display:inline-block;color:var(--sub);line-height:0}
.sm3-sp svg{width:96px;height:24px;display:block}
.sm3-sp .sm3-d{line-height:1.2}

/* 最新投稿 */
.sm3-lp{display:inline-flex;align-items:center;gap:8px;min-width:0;text-decoration:none;color:inherit}
.sm3-lp .th{flex:none;width:32px;height:42px;border-radius:4px;overflow:hidden;background:var(--line2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.sm3-lp .th.sm3-th-youtube{width:54px;height:30px}
.sm3-lp .th img{width:100%;height:100%;object-fit:cover;display:block}
.sm3-lp .th .tx{font-size:8px;line-height:1.2;color:var(--sub);padding:3px;overflow:hidden;max-height:100%;word-break:break-all;white-space:normal}
.sm3-lp .mv{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.sm3-lp .mv i{font-style:normal;font-size:10.5px;color:var(--faint);white-space:nowrap}
.sm3-lp:hover .sm3-v{color:var(--accent)}

/* 行末の操作: 28px の丸いアイコンボタン(ghost)。位置は固定・削除は読み取り専用で出ない */
.sm3-ops{display:inline-flex;gap:4px;justify-content:flex-end;white-space:nowrap}
.sm3-ops button{margin:0;width:28px;height:28px;padding:0 !important;display:inline-grid;place-items:center;border:1px solid var(--line) !important;background:var(--panel) !important;color:var(--sub) !important;box-shadow:none !important}
.sm3-ops button svg{width:14px;height:14px;display:block;transition:transform .15s}
.sm3-ops button:hover{color:var(--txt) !important;border-color:var(--sub) !important}
.sm3-ops button.on{color:var(--accent) !important;border-color:var(--accent) !important}
.sm3-ops button.on svg{transform:rotate(180deg)}
.sm3-ops button.del:hover{color:var(--danger) !important;border-color:var(--danger) !important;background:var(--danger-bg) !important}

/* 補足行: 各行から外した注記を 1 回だけ */
.sm3-note{display:flex;flex-wrap:wrap;gap:4px 18px;margin:8px 2px 0;font-size:10.5px;color:var(--faint);line-height:1.6}
.sm3-note b{font-weight:700;color:var(--sub)}

/* --- 中間幅: 列を間引いて横スクロールを出さない(推移→累計いいね の順に隠す。どちらも「詳細」で見られる) --- */
@media(max-width:1180px){table.sm3 .c-sp{display:none}table.sm3 th,table.sm3 td{padding-left:8px;padding-right:8px}}
@media(max-width:980px){table.sm3 .c-lk{display:none}table.sm3 td.c-acc{min-width:190px}}

/* --- 760px 以下: 同じ DOM をアカウントごとのカード(ラベル付き key-value)に落とす。区切りは罫線 --- */
@media(max-width:760px){
  .sm3-wrap{border-radius:0;border-left:0;border-right:0}
  table.sm3,table.sm3 tbody,table.sm3 tr,table.sm3 td{display:block}
  table.sm3 thead{display:none}
  table.sm3 .c-sp,table.sm3 .c-lk{display:block}
  table.sm3 tr.sm3-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px;padding:10px 16px 8px;border-bottom:1px solid var(--line);position:relative}
  table.sm3 tr.sm3-row>td{height:auto;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px solid var(--line2);min-width:0}
  table.sm3 tr.sm3-row>td::before{content:attr(data-l);font-size:10.5px;color:var(--sub);white-space:nowrap;flex:none}
  table.sm3 tr.sm3-row>td.c-acc{grid-column:1/-1;display:block;padding:0 0 8px;border-bottom:1px solid var(--line2);min-width:0;max-width:none;padding-right:100px}
  table.sm3 tr.sm3-row>td.c-acc::before{content:none}
  table.sm3 tr.sm3-row>td.c-lp{grid-column:1/-1}
  table.sm3 tr.sm3-row>td.c-ops{position:absolute;top:10px;right:16px;display:block;padding:0;border:0}   /* 操作はカード右上に固定 */
  table.sm3 tr.sm3-row>td.c-ops::before{content:none}
  table.sm3 tr.sm3-row>td:nth-last-child(2){border-bottom:0}
  table.sm3 tr.sm3-row:hover>td,table.sm3 tr.sm3-row.open>td{background:transparent}
  table.sm3 tr.sm3-row.open{background:var(--info-bg)}
  table.sm3 tr.sm3-grp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px;padding:10px 16px 6px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  table.sm3 tr.sm3-grp td{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;border:0;background:transparent}
  table.sm3 tr.sm3-grp td::before{content:attr(data-l);font-size:10.5px;color:var(--sub);white-space:nowrap}
  table.sm3 tr.sm3-grp td.c-acc{grid-column:1/-1;display:block;padding:0 0 6px}
  table.sm3 tr.sm3-grp td.c-acc::before{content:none}
  table.sm3 tr.sm3-grp td:empty{display:none}
  table.sm3 tr.sm3-det>td{padding:0 16px 12px}
  table.sm3 td .sub{display:inline;margin-left:4px}
  .sm3-note{margin:8px 0 0;flex-direction:column;gap:2px}
}

/* --- コメント(2026-10-12 オーナー指示「コメント数とコメントも取得・ボタンで各コメントを表示」) --- */
/* 最新投稿セルの吹き出し+数 */
.sm3-cmn{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}
.sm3-cmn svg{width:11px;height:11px;display:block;flex:none}
/* 投稿別の「コメント」ボタン(ghost・数を併記)。開いている投稿は accent */
.sm3-cmb{display:inline-flex;align-items:center;gap:4px;margin:0;height:24px;padding:0 8px 0 6px !important;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--line) !important;background:var(--panel) !important;color:var(--txt) !important;box-shadow:none !important;letter-spacing:0}
.sm3-cmb svg{width:13px;height:13px;display:block}
.sm3-cmb:hover{border-color:var(--sub) !important}
.sm3-cmb.on{color:var(--accent) !important;border-color:var(--accent) !important}
/* コメント欄: 投稿別の表の下に 1 つ。区切りは罫線 */
.sm3-cm{margin-top:12px;border-top:1px solid var(--line)}
.sm3-cm .hd{display:flex;align-items:center;gap:10px;padding:10px 0 8px;border-bottom:1px solid var(--line2)}
.sm3-cm .hd .th{flex:none;width:32px;height:32px;border-radius:4px;overflow:hidden;background:var(--line2);border:1px solid var(--line)}
.sm3-cm .hd .th img{width:100%;height:100%;object-fit:cover;display:block}
.sm3-cm .hd .t{min-width:0;flex:1;line-height:1.25}
.sm3-cm .hd .t a{display:block;font-size:12.5px;font-weight:700;color:var(--txt);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm3-cm .hd .t a:hover{color:var(--accent)}
.sm3-cm .hd .t i{display:block;font-style:normal;font-size:10.5px;color:var(--faint);margin-top:2px}
.sm3-cm .hd button{margin:0;flex:none;height:26px;padding:0 10px;font-size:11.5px}
.sm3-cm .muted{padding:10px 0;font-size:12px}
.sm3-cm .ls{max-height:420px;overflow:auto}
.sm3-cm .r{padding:8px 0;border-bottom:1px solid var(--line2)}
.sm3-cm .r:last-child{border-bottom:0}
.sm3-cm .r.rep{margin-left:28px;padding-left:10px;border-left:2px solid var(--line)}   /* 返信は 1 段下げ */
.sm3-cm .a{display:flex;align-items:baseline;gap:8px;font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden}
.sm3-cm .a b{font-weight:700;color:var(--txt);overflow:hidden;text-overflow:ellipsis}
.sm3-cm .a i{font-style:normal;color:var(--faint);font-size:10.5px}
.sm3-cm .a em{font-style:normal;margin-left:auto;font-variant-numeric:tabular-nums;color:var(--sub)}
.sm3-cm .x{margin-top:3px;font-size:13px;line-height:1.5;color:var(--txt);white-space:pre-wrap;word-break:break-word}
@media(max-width:760px){.sm3-cm .r.rep{margin-left:14px}.sm3-cm .ls{max-height:360px}}

/* コメントのポップアップ(2026-10-13): 画面中央。閉じている間はクリックを通す */
.sm3-pop{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(18,20,24,.38);visibility:hidden;pointer-events:none}
.sm3-pop.open{visibility:visible;pointer-events:auto}
.sm3-pop-box{width:min(640px,100%);max-height:min(82vh,760px);display:flex;flex-direction:column;background:var(--card,#fff);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:4px 18px 10px}
.sm3-pop-box .sm3-cm{margin-top:0;border-top:0;display:flex;flex-direction:column;min-height:0;flex:1}
.sm3-pop-box .sm3-cm .ls{max-height:none;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}

/* 店舗管理 営業日単位(2026-10-12 オーナー指示「日別に完全に切り分ける」+「全キャストの当日小計売上」)。
   配色・装飾は NIGHT OPS(白基調+オレンジ #f25c05/#ff6a12)のまま。区切りは罫線、位置は固定(表示切替は文言だけ) */
/* 営業日セレクタの日付入力(so-datebar の右端に固定) */
.so-datein{height:28px;padding:0 8px;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink,#17181a);background:#fff;border:1px solid var(--line);border-radius:20px;outline:none}
.so-datein:focus{border-color:var(--accent,#f25c05);box-shadow:0 0 0 2px rgba(242,92,5,.18)}
.so-datein::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}
/* データ未着の状態表示(取込待ち/記録なし)。パネル内の同じ位置に出す */
.so-state{display:flex;align-items:center;gap:8px;padding:12px 12px;font-size:11.5px;color:var(--sub);border-top:1px solid var(--line2)}
.so-state i{width:8px;height:8px;border-radius:50%;background:#cfcfca;flex:none}
.so-state.wait i{background:#e0b23a;box-shadow:0 0 0 3px rgba(224,178,58,.18)}
.so-state.none i{background:#cfcfca}
/* キャスト別小計(SALES BY CAST): アイコン｜名前+タグ｜入店–退店｜組/名｜バー｜小計 */
.so-cs{display:grid;grid-template-columns:26px minmax(0,1fr) 84px 72px minmax(40px,.7fr) 96px;gap:0 8px;align-items:center;padding:5px 12px;border-top:1px solid var(--line2);font-size:12px;min-height:32px}
.so-cs.hd{padding:5px 12px 4px;font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--faint);border-top:0;background:#fbfbf8}
.so-cs .nm{display:flex;align-items:center;gap:6px;min-width:0}
.so-cs .nm b{font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.so-cs .nm small{font-size:10.5px;color:var(--sub);font-weight:600;white-space:nowrap}
.so-cs .t{font-size:11px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.so-cs .g{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.so-cs .g small{font-size:9px;font-weight:700;color:var(--faint);margin-left:1px}
.so-cs .bar{height:10px;border-radius:3px;background:#f1f1ee;overflow:hidden}
.so-cs .bar i{display:block;height:100%;background:linear-gradient(90deg,#ffb27a,var(--acc-fill));border-radius:3px}
.so-cs .amt{text-align:right;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.so-cs .amt.z{color:var(--faint);font-weight:700}
.so-cs.off>*{opacity:.45}.so-cs.off .nm b{text-decoration:line-through}
.so-cs.sum{border-top:2px solid var(--line);background:#fbfbf8}
.so-cs.sum .amt{color:var(--accent,#f25c05);font-size:13.5px}
@media(max-width:860px){.so-cs{grid-template-columns:26px minmax(0,1fr) 72px 96px}.so-cs .t,.so-cs .bar{display:none}}
/* 選択中の営業日の行・ドットを強調(入金照合) */
.so-bk.cur{background:#fff7f1}
.so-bk.cur .d{color:var(--accent,#f25c05)}
.so-dots i.cur{outline:1.5px solid var(--accent,#f25c05);outline-offset:1px}

/* ============================================================
   line-ui.css = LINE の共通部品(2026-10-14 顧客LINE / 採用LINE)。js/line-ui.js と対。
   NIGHT OPS: 白基調・罫線で区切る(角丸カードで区切らない)・オレンジは現在地(選択中の行)と主操作(送信)と未読の点だけ。
   列の数は .lu-inbox[data-cols] (受信箱の枠の幅で JS が決める)。表示の切替は visibility(位置を動かさない)。
   ============================================================ */
/* ---- LINE ページ共通の枠(2026-10-14 方針 docs/plans/2026-10-14_line-ui-redesign.md A) ----
   [LINE のメニュー(縦・200px)][中身]。見出し・説明文・上の横タブは置かない。枠の高さは JS(luShell.fit)が「画面の下端 −12px」に合わせ、
   ページ全体はスクロールしない(表や一覧は中身の中でスクロール・見出しの行は上に固定)。中身の高さは flex=実際に描いたツールバーの高さを引いた残り。
   幅はコンテナ問い合わせ(.lx の幅=本文の幅): 1100px 未満=メニューはアイコンだけ 56px(名前はマウス・キーボードで選んだ時に吹き出し=JS)。
   タッチの端末(hover:none かつ pointer:coarse)は狭くても文字つき。640px 未満(スマホ)=上の「メニュー」ボタンで全面に出す。 */
@media (min-width:761px){.content:has(> section.lx-view:not(.hide)){padding-top:0;padding-bottom:0}}
@media (max-width:760px){.content:has(> section.lx-view:not(.hide)){padding-bottom:8px}}
.lx{container-type:inline-size;display:flex;position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;min-height:420px}
.lx-nav{flex:0 0 200px;width:200px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fcfcfa;min-height:0}
.lx-acct{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:48px;flex:none}
.lx-aav{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#efeee9;color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;overflow:hidden}
.lx-aav img{width:100%;height:100%;object-fit:cover;display:block}
.lx-anm{font-size:13px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lx-desk{flex-wrap:nowrap}
.lx-desk button{padding:5px 12px !important;font-size:12px}
.lx-items{flex:1;min-height:0;overflow-y:auto;padding:4px 0 12px}
.lx-sec{font-size:11px;font-weight:600;color:var(--sub);padding:12px 14px 4px}
.lx-it{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px 0 11px;color:var(--txt);text-decoration:none;font-size:13px;border-left:3px solid transparent;position:relative;outline:none}
.lx-it:hover{background:#f3f2ee}
.lx-it.on{border-left-color:var(--accent);background:#fff4ec;font-weight:700}
.lx-it:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
.lx-ic{width:18px;height:18px;flex:0 0 18px;color:var(--sub)}
.lx-it.on .lx-ic{color:var(--txt)}
.lx-ic svg{width:18px;height:18px;display:block}
.lx-lb{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-ct{flex:none;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--accent)}
.lx-tip{position:absolute;z-index:40;background:#17181a;color:#fff;font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;visibility:hidden}
.lx-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;position:relative}
.lx-mbar{display:none}
.lx-bar{flex:none;border-bottom:1px solid var(--line)}
.lx-tb{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tl tm tr";align-items:center;column-gap:16px;row-gap:6px;min-height:44px;padding:0 16px}
.lx-tl{grid-area:tl;display:flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap}
.lx-tt{font-size:15px;font-weight:600}
.lx-n{font-size:12px;color:var(--sub);font-family:var(--mono)}
.lx-meta{font-size:11.5px;color:var(--sub);white-space:normal}
.lx-tm{grid-area:tm;display:flex;align-items:center;gap:6px 14px;min-width:0;flex-wrap:wrap}
.lf-sortbox{display:flex}
.lx-tm input[type=search]{flex:0 1 280px;min-width:140px;padding:6px 12px;font-size:13px}
.lx-tr{grid-area:tr;display:flex;gap:8px;align-items:center}
.lx-chips{display:flex;flex-wrap:wrap;gap:3px 14px;padding:0 16px 5px}
.lx-body{flex:1;min-height:0;overflow:auto;position:relative}
.lx-body[data-tab="inbox"],.lx-body[data-tab="friends"],.lx-body[data-tab="bc"],.lx-body[data-tab="step"],.lx-body[data-tab="auto"],.lx-body[data-tab="rm"],.lx-body[data-tab="src"]{overflow:hidden}
.lx-body:not([data-tab="inbox"]):not([data-tab="friends"]):not([data-tab="bc"]):not([data-tab="step"]):not([data-tab="auto"]):not([data-tab="rm"]):not([data-tab="src"]){padding:12px 16px}
.lx-body[data-tab="inbox"] .lu-inbox{border:none;border-radius:0;min-height:0}
@media (hover:hover),(pointer:fine){
  @container (max-width:1099px){
    .lx-nav{flex-basis:56px;width:56px}
    .lx-lb,.lx-anm{display:none}
    .lx-acct{justify-content:center;padding:8px 4px}
    .lx-desk{flex-direction:column}
    .lx-desk button{padding:3px 4px !important;font-size:10.5px}
    .lx-it{justify-content:center;padding:0;gap:0}
    .lx-ct{position:absolute;top:3px;right:4px;font-size:9.5px}
    .lx-sec{font-size:0;height:1px;padding:0;margin:8px 10px;background:var(--line)}
  }
}
@container (max-width:639px){
  .lx-nav{position:absolute;inset:0;z-index:30;width:auto;flex:none;visibility:hidden}
  .lx[data-menu="1"] .lx-nav{visibility:visible}
  .lx-nav .lx-lb,.lx-nav .lx-anm{display:block}
  .lx-nav .lx-acct{justify-content:flex-start;padding:8px 12px}
  .lx-nav .lx-desk{flex-direction:row}
  .lx-nav .lx-it{justify-content:flex-start;gap:10px;padding:0 12px 0 11px;height:44px;font-size:14px}
  .lx-nav .lx-ct{position:static;font-size:11px}
  .lx-nav .lx-sec{font-size:11px;height:auto;padding:12px 14px 4px;margin:0;background:none}
  .lx-mbar{display:flex;align-items:center;gap:10px;padding:4px 10px;border-bottom:1px solid var(--line);flex:none}
  .lx-menubtn{min-height:44px;font-size:13px}
  .lx-cur{font-size:14px}
  .lx-tb{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tl tr" "tm tm";padding:6px 10px}
  .lx-tm input[type=search]{flex:1 1 auto;font-size:16px}
  .lx-chips{padding:0 10px 8px}
  .lx-body:not([data-tab="inbox"]):not([data-tab="friends"]):not([data-tab="bc"]):not([data-tab="step"]):not([data-tab="auto"]):not([data-tab="rm"]):not([data-tab="src"]){padding:10px}
}
/* 店舗タグの色(2026-10-14 オーナー): 店舗そのもの=店舗の薄い色の背景+左に 3px の店舗の色の線+ふつうの文字の色 / 店舗の名前を含む=頭に 8px の店舗の色の点 / それ以外=無彩色 */
.lu-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--txt);background:#f0f1ec;border-left:3px solid transparent;border-radius:3px;padding:1px 7px 1px 5px;line-height:17px;margin:1px 4px 1px 0;white-space:normal;overflow-wrap:break-word;max-width:100%;flex-shrink:0;vertical-align:middle}
.lu-rtop .lu-tag{flex:none;margin:0;font-size:10.5px;line-height:15px}
.lu-tdot{width:8px;height:8px;flex:0 0 8px;border-radius:50%}
/* ランクのバッジ: 無彩色の濃淡+ランク名(BLACK=黒地) */
.lu-rk{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.02em;border-radius:3px;padding:0 6px;line-height:16px;vertical-align:middle}
.lu-rk-REGULAR{background:#f0f0ed;color:#45484d}
.lu-rk-SILVER{background:#dedfe2;color:#2b2e33}
.lu-rk-GOLD{background:#b9bcc1;color:#17181a}
.lu-rk-PLATINUM{background:#555a61;color:#fff}
.lu-rk-BLACK{background:#111;color:#fff}
.lu-num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.lu-mno{font-family:var(--mono);font-weight:700}
.lu-msl{margin-top:4px}
.lu-itags{margin-bottom:6px}
.lu-inbox{display:grid;grid-template-rows:minmax(0,1fr);position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;min-height:440px}
.lu-inbox[data-cols="3"]{grid-template-columns:280px minmax(400px,1fr) 260px}
.lu-inbox[data-cols="2"]{grid-template-columns:280px minmax(400px,1fr)}
.lu-inbox[data-cols="1"]{grid-template-columns:minmax(0,1fr)}
.lu-list,.lu-conv,.lu-info{min-height:0;min-width:0;background:#fff}
.lu-list{display:flex;flex-direction:column;border-right:1px solid var(--line)}
.lu-conv{display:flex;flex-direction:column}
.lu-info{display:flex;flex-direction:column;border-left:1px solid var(--line);overflow:hidden}
/* 3 列: 情報は常に出す(閉じるボタン・相手の情報ボタンは不要=見えないだけで場所は残す)。
   会話の見出しの「一覧へ戻る」(1 列だけ)と 3 列の「相手の情報」は列の数で決まる=押して切り替わらないので場所を取らない(2026-10-14 見出しを 1 行に収めるため) */
.lu-inbox[data-cols="3"] .lu-iclose{visibility:hidden}
.lu-inbox[data-cols="3"] .lu-infobtn,.lu-inbox[data-cols="3"] .lu-back,.lu-inbox[data-cols="2"] .lu-back{display:none}
/* 2 列: 情報は右からの引き出し */
.lu-inbox[data-cols="2"] .lu-info{position:absolute;top:0;right:0;bottom:0;width:280px;z-index:3;box-shadow:-8px 0 24px rgba(23,24,26,.10);visibility:hidden}
.lu-inbox[data-cols="2"][data-info="1"] .lu-info{visibility:visible}
/* 1 列: 一覧と会話は同じ場所に重ね、どちらかだけ見せる。情報は全面 */
.lu-inbox[data-cols="1"] .lu-list,.lu-inbox[data-cols="1"] .lu-conv{grid-area:1/1;border-right:none}
.lu-inbox[data-cols="1"] .lu-conv{visibility:hidden}
.lu-inbox[data-cols="1"][data-view="conv"] .lu-conv{visibility:visible}
.lu-inbox[data-cols="1"][data-view="conv"] .lu-list{visibility:hidden}
.lu-inbox[data-cols="1"] .lu-info{position:absolute;inset:0;z-index:3;border-left:none;visibility:hidden}
.lu-inbox[data-cols="1"][data-info="1"] .lu-info{visibility:visible}
.lu-inbox[data-sel="0"] .lu-infobtn{visibility:hidden}

/* 一覧 */
.lu-lbar{display:flex;gap:8px;align-items:center;padding:10px 10px 6px;border-bottom:1px solid var(--line2)}
.lu-lbar .lu-q{flex:1;min-width:0;padding:7px 10px;font-size:13px}
.lu-lbar .seg{flex:none;flex-wrap:nowrap}
.lu-lbar .seg button{padding:5px 12px !important;font-size:12px}
.lu-stale{height:22px;line-height:22px;padding:0 12px;font-size:11.5px;color:var(--danger);visibility:hidden;border-bottom:1px solid var(--line2)}
.lu-rows{flex:1;overflow-y:auto;min-height:0}
.lu-row{display:flex;align-items:center;gap:10px;height:56px;padding:0 12px 0 10px;border-bottom:1px solid var(--line2);border-left:2px solid transparent;cursor:pointer;outline:none}
.lu-row:hover{background:#fafaf7}
.lu-row:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.35)}
.lu-row.on{background:#fff4ec;border-left-color:var(--accent)}
.lu-row.blocked .lu-nm,.lu-row.blocked .lu-av{opacity:.5}
.lu-av{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#efeee9;color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;overflow:hidden}
.lu-av img{width:100%;height:100%;object-fit:cover;display:block}
.lu-rmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.lu-rtop,.lu-rbot{display:flex;align-items:center;gap:6px;min-width:0}
.lu-nm{flex:0 1 auto;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lu-tm{flex:none;margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--faint)}
.lu-pv{flex:1;min-width:0;font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lu-row.unread .lu-nm{font-weight:800}
.lu-row.unread .lu-pv{color:var(--txt)}
.lu-dot{flex:none;width:8px;height:8px;border-radius:50%;background:transparent}
.lu-pvp{color:var(--faint)}
/* 未確認の数(2026-10-15): 1 以上の時だけ見せる(0 は visibility で隠す=本文の幅が動かない) */
.lu-cnt{flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;font-family:var(--mono)}
.lu-cnt.lu-cnt-0{visibility:hidden}
.lu-bdg{flex:none;display:inline-block;font-size:10.5px;font-weight:700;color:var(--sub);background:#f0f1ec;border-radius:999px;padding:1px 8px;white-space:nowrap}
.lu-bdg-x{color:var(--danger);background:var(--danger-bg)}
.lu-empty{padding:18px 14px;font-size:12.5px}
.lu-more{padding:10px;text-align:center}
.lu-more button{font-size:12px;padding:6px 14px;min-height:36px}

/* 会話 */
.lu-chead{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);min-height:48px}
.lu-cwho{flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.lu-cname{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:56px;flex:0 1 auto}
.lu-cwho>.lu-tag{flex:none}
.lu-chead button{flex:none;font-size:12px;padding:6px 12px;min-height:36px}
/* 確認のボタン: 位置は固定(幅も固定=文言が変わっても動かない)。未確認がある=主操作(オレンジ)/ 無い=控えめ */
.lu-chead .lu-cf{width:128px;padding:6px 8px}
.lu-chead .lu-cf.lu-pri{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important}
/* 押せない理由と「直前の確認を取り消す」は同じ場所(重ねる・同時には出さない)。幅は固定 */
.lu-cnote{flex:none;display:grid;align-items:center;justify-items:end;width:156px;min-width:0}
.lu-cnote>*{grid-area:1/1;max-width:100%}
.lu-cwhy{font-size:11.5px;white-space:normal;line-height:1.25;text-align:right;min-width:0}
.lu-chead .lu-undo{font-size:11.5px;padding:4px 10px;font-weight:600}
.lu-mwrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}
.lu-msgs{flex:1;overflow-y:auto;min-height:0;padding:10px 14px;background:#fcfcfa}
/* 確認の結果を取得できない・保存できない時の帯(会話の上に重ねる=位置は動かさない) */
.lu-cbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 12px;background:var(--danger-bg,#fdecea);color:var(--danger);font-size:12px;border-bottom:1px solid var(--line);visibility:hidden}
.lu-cbar-t{flex:1;min-width:0}
.lu-cbar .lu-cbar-b{flex:none;font-size:12px;padding:4px 12px;min-height:30px}
.lu-day{display:flex;align-items:center;gap:10px;margin:8px 0 4px;font-size:11px;color:var(--faint)}
.lu-day::before,.lu-day::after{content:'';flex:1;height:1px;background:var(--line)}
.lu-b{display:flex;flex-direction:column;margin:4px 0}
.lu-b.in{align-items:flex-start}
.lu-b.out{align-items:flex-end}
.lu-bb{max-width:72%;border-radius:12px;padding:7px 12px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.lu-b.in .lu-bb{background:var(--bg2,#f0f1ec)}
.lu-b.out .lu-bb{background:var(--accent-soft,#fdeee3)}
.lu-bm{font-size:10.5px;color:var(--faint);margin-top:2px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:72%}
.lu-bm time{font-family:var(--mono)}
.lu-bst{color:var(--sub)}
.lu-bst-ng{color:var(--danger)}
.lu-bbtn{font-size:11px !important;padding:2px 10px !important;min-height:28px}
.lu-tpl{display:flex;gap:6px;flex-wrap:wrap;padding:6px 12px 0}
.lu-tplbtn{font-size:12px;padding:4px 10px}
.lu-compose{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 4px;border-top:1px solid var(--line)}
.lu-ta{flex:1;min-width:0;resize:none;min-height:44px;max-height:160px;padding:9px 12px;font-size:14px;line-height:1.5}
.lu-send{flex:none;min-height:44px;min-width:76px}
.lu-chint{font-size:10.5px;padding:0 12px 8px}

/* 相手の情報 */
.lu-ihead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:56px}
.lu-ihead b{font-size:13px}
.lu-ihead button{font-size:12px;padding:6px 12px;min-height:36px}
.lu-ibody{flex:1;overflow-y:auto;padding:12px 14px}
.lu-ibody .lu-isec{padding:10px 0;border-bottom:1px solid var(--line2)}
.lu-ibody .lu-isec:last-child{border-bottom:none}
.lu-ibody .lu-ik{font-size:11px;font-weight:700;color:var(--faint);margin-bottom:4px}
.lu-ibody .lu-iv{font-size:12.5px;word-break:break-word}
.lu-ibody input,.lu-ibody textarea{font-size:13px;padding:7px 10px}
.lu-ibody .lu-iact{display:flex;gap:8px;align-items:center;margin-top:8px}
.lu-ibody .lu-iact button{font-size:12px;padding:6px 14px;min-height:36px}

/* 準備中(採用LINE の入れ物) */
.lu-prep{border:1px solid var(--line);border-radius:6px;background:#fff;padding:28px 22px}
.lu-prep b{display:block;font-size:14px;margin-bottom:6px}

/* 権限表: 全店権限のロールだけの列(顧客LINE・採用LINE) */
#roleTable .g-wideonly{background:#fafaf7}
#roleTable .rl-wo{display:inline-block;font-size:9.5px;line-height:1.25;color:var(--faint);max-width:64px;white-space:normal}

/* 1 列(本文が狭い): 会話の見出しは 2 行(1 行目=一覧へ戻る・名前 / 2 行目=確認のボタン・取り消し・相手の情報)。押す場所は 44px 以上 */
.lu-inbox[data-cols="1"] .lu-chead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back who who" "cf note info";gap:6px 8px;padding:6px 10px}
.lu-inbox[data-cols="1"] .lu-back{grid-area:back}
.lu-inbox[data-cols="1"] .lu-cwho{grid-area:who}
.lu-inbox[data-cols="1"] .lu-cnote{grid-area:note;width:auto}
.lu-inbox[data-cols="1"] .lu-cf{grid-area:cf}
.lu-inbox[data-cols="1"] .lu-infobtn{grid-area:info}
.lu-inbox[data-cols="1"] .lu-chead button{min-height:44px}
.lu-inbox[data-cols="1"] .lu-chead .lu-cf{width:104px;padding:6px 4px}
.lu-inbox[data-cols="1"] .lu-chead .lu-infobtn{padding:6px 10px}
.lu-inbox[data-cols="1"] .lu-chead .lu-undo{white-space:normal;line-height:1.2;font-size:11px;padding:2px 8px;max-width:100%}
.lu-inbox[data-cols="1"] .lu-cwhy{white-space:normal;line-height:1.25;text-align:right}
/* スマホ: 入力欄は 16px(拡大を防ぐ)・押す場所は 44px 以上 */
@media (max-width:760px){
  .lu-ta,.lu-lbar .lu-q{font-size:16px}
  .lu-chead button,.lu-ihead button,.lu-more button{min-height:44px}
  .lu-lbar .seg button{min-height:40px}
}

/* ---- 友だち(2026-10-14 方針 line-ui-redesign B-3): 表の行 40px・文字 13px・数字は等幅・見出しの行は上に固定 ---- */
.lf-grp{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.lf-chip{flex-shrink:0;max-width:100%}
.lf-gl{font-size:11px;font-weight:600;color:var(--sub);margin-right:2px}
.lx-chips .lf-chip,.lx-tm .lf-chip{font-size:12px !important;font-weight:500;padding:2px 10px !important;min-height:24px;line-height:18px;background:#fff !important;color:var(--txt) !important;border:1px solid var(--line) !important;box-shadow:none !important}
.lx-tm .lf-chip.on,.lx-chips .lf-chip.on{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important;font-weight:700}
.lx-chips .lf-chip .lu-tag{margin:0;background:transparent;padding:0 0 0 4px;font-size:12px}
.lx-chips .lf-chip .lu-tag-st{padding-left:6px;margin-left:-6px}
.lf{position:absolute;inset:0;display:flex;flex-direction:column}
.lf-wrap{flex:1;min-height:0;overflow:auto}
.lf.has-sel .lf-wrap{padding-bottom:60px}
.lf-tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px;font-size:13px}
.lf-tbl th{position:sticky;top:0;z-index:2;background:#fafaf7;height:32px;font-size:11.5px;font-weight:600;color:var(--sub);text-align:left;padding:0 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.lf-tbl td{height:40px;padding:0 8px;border-bottom:1px solid var(--line2);white-space:nowrap;vertical-align:middle;line-height:1.25}
.lf-tbl tr[data-uid]{cursor:pointer;outline:none}
.lf-tbl tr[data-uid]:hover td{background:#fafaf7}
.lf-tbl tr.on td{background:#fff4ec}
.lf-tbl tr[data-uid]:focus-visible td{box-shadow:inset 0 2px 0 rgba(242,92,5,.45),inset 0 -2px 0 rgba(242,92,5,.45)}
.lf-tbl tr.lf-blk .lf-nm{opacity:.55}
.lf-tbl .lf-empty td{height:auto;padding:18px 14px;color:var(--sub);white-space:normal}
.lf-r{text-align:right}
.lf-cb{width:36px;text-align:center !important;padding:0 4px !important}
.lf-cb input{width:16px;height:16px;margin:0;vertical-align:middle}
.lf-c-nm{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.lf-av{width:24px !important;height:24px !important;flex-basis:24px !important;font-size:11px !important;display:inline-flex !important;vertical-align:middle;margin-right:8px}
.lf-nm{font-weight:600;vertical-align:middle}
.lf-tbl td.lf-c-tg{white-space:normal;min-width:200px;padding-top:4px;padding-bottom:4px}
.lf-c-pt{min-width:120px}
.lf-ptm{display:inline-flex;align-items:center;gap:6px}
.lf-ptm b{font-size:14px}
.lf-pto{display:block;font-size:10.5px;color:var(--sub);line-height:1.2;font-family:var(--mono)}
.lf-un{display:inline-block;font-size:10.5px;font-weight:700;color:var(--accent);margin-left:4px}
.lf-foot{text-align:center;padding:10px}
.lf-foot button{font-size:12px;min-height:36px;padding:6px 16px}
.lf-stale{color:var(--danger);font-weight:600}
.lf-sm{font-size:11.5px}
.lf-bulk{position:absolute;left:0;right:0;bottom:0;z-index:5;min-height:56px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 12px rgba(23,24,26,.06);visibility:hidden}
.lf-bulk .lf-bn{font-size:13px;margin-right:4px}
.lf-bulk button{font-size:12px;min-height:36px;padding:6px 14px}
.lf-bulk .lf-btag{width:150px;padding:6px 10px;font-size:13px}
.lf-bulk .lf-bst{font-size:12px}
/* 友だちの詳細(右から 400px の引き出し。画面の幅が 480px 未満は全面) */
.lf-drawer{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:100%;z-index:6;background:#fff;border-left:1px solid var(--line);box-shadow:-8px 0 24px rgba(23,24,26,.10);display:flex;flex-direction:column;visibility:hidden}
.lf-drawer.open{visibility:visible}
@media (max-width:479px){.lf-drawer{width:auto;left:0;border-left:none}}
.lf-dh{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:52px;flex:none}
.lf-dn{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-dclose{min-width:44px;min-height:44px;font-size:18px !important;padding:0 !important}
.lf-db{flex:1;min-height:0;overflow-y:auto;padding:0 16px 16px}
.lf-ds{padding:12px 0;border-bottom:1px solid var(--line2)}
.lf-ds:last-child{border-bottom:none}
.lf-ds h3{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 8px}
.lf-mnobig{margin-bottom:8px;font-size:13px}
.lf-mnobig b{font-size:18px}
.lf-mcard{border-top:1px solid var(--line2);padding:8px 0}
.lf-mh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.lf-mpt{font-size:18px}
.lf-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:12.5px}
.lf-dl dt{color:var(--sub)}
.lf-dl dd{margin:0;word-break:break-word}
.lf-dtags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.lf-dtag{display:inline-flex;align-items:center}
.lf-dtag .lu-tag{margin-right:0}
.lf-tx{min-width:28px;min-height:28px;padding:0 !important;font-size:13px !important;margin-left:2px}
.lf-drow{display:flex;gap:8px;align-items:center}
.lf-drow input{flex:1;min-width:0;padding:6px 10px;font-size:13px}
.lf-drow button,.lf-open{font-size:12px;min-height:36px;padding:6px 14px}
.lf-note{width:100%;font-size:13px;padding:7px 10px;margin-bottom:6px}
.lf-msg{display:flex;flex-direction:column;padding:4px 0;font-size:12.5px;border-bottom:1px dashed var(--line2)}
.lf-msg.out .lf-mb{color:var(--sub)}
.lf-mt{font-size:11px;color:var(--sub);font-family:var(--mono)}
.lf-mb{white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lf-open{margin-top:10px}
/* スマホ(本文 640px 未満): 表の 1 行を縦のカードに(横スクロールなし)・押す場所 44px */
@container (max-width:639px){
  .lf-tbl{min-width:0}
  .lf-tbl thead{display:none}
  .lf-tbl tbody{display:block}
  .lf-tbl tr[data-uid]{display:grid;grid-template-columns:36px repeat(3,minmax(0,1fr));gap:4px 10px;padding:8px 10px;border-bottom:1px solid var(--line2)}
  .lf-tbl tr[data-uid] td{display:block;height:auto;border:none;padding:0;white-space:normal;max-width:none;font-size:12.5px}
  .lf-tbl tr[data-uid] td.lf-cb{grid-row:1 / span 6;display:flex;align-items:flex-start;justify-content:center;padding-top:4px !important}
  .lf-tbl tr[data-uid] td.lf-cb input{width:22px;height:22px}
  .lf-tbl tr[data-uid] td.lf-c-nm{grid-column:2 / span 3;font-size:14px}
  .lf-tbl tr[data-uid] td[data-l]:not(.lf-c-nm)::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--sub)}
  .lf-tbl tr[data-uid] td.lf-c-tg{grid-column:2 / span 3}
  .lf-tbl tr[data-uid] td.lf-c-pt{min-width:0}
  .lf-tbl tr[data-uid] td.lf-r{text-align:left}
  .lf-bulk{padding:8px 10px}
  .lf-bulk button,.lf-foot button{min-height:44px}
  .lf-bulk .lf-btag{font-size:16px;flex:1 1 120px}
  .lx-chips .lf-chip{min-height:36px}
}
@media (hover:none) and (pointer:coarse){.lx-chips .lf-chip{min-height:44px !important}.lx-it{height:44px}}
/* 友だちの絞り込みの板(2026-10-15 方針 friends-filter-panel): 普段は畳む。ボタンの位置は固定(数の幅は常に確保)。板はツールバーの下に全幅・上に罫線。閉じている時は選んでいる条件のチップの行(無ければ出さない) */
.lf-fbtn{display:inline-flex;align-items:center;gap:6px;font-size:12px !important;font-weight:600;min-height:30px;padding:4px 12px !important;white-space:nowrap}
.lf-fbtn svg{width:15px;height:15px;flex:none}
.lf-fbtn .lf-fn{display:inline-block;min-width:1.1em;font-family:var(--mono);font-weight:700;color:var(--accent);text-align:left}
.lf-fbtn[aria-expanded="true"]{border-color:var(--txt) !important;background:#fafaf7 !important}
.lf-panel{border-top:1px solid var(--line);padding-top:8px}
.lf-panel[hidden],.lf-act[hidden]{display:none}
.lf-pfoot{display:flex;justify-content:flex-end;padding:0 16px 8px}
.lf-pfoot button{font-size:12px;min-height:30px;padding:4px 12px}
.lf-act{display:flex;flex-wrap:wrap;gap:4px 6px;padding:0 16px 7px}
button.lf-ac{display:inline-flex;align-items:center;gap:4px;font-size:12px !important;font-weight:500;padding:2px 6px 2px 10px !important;min-height:24px;line-height:18px;background:#fff !important;color:var(--txt) !important;border:1px solid var(--line) !important;box-shadow:none !important;cursor:pointer}
button.lf-ac:hover{border-color:var(--txt) !important}
.lf-ac .lf-al{color:var(--sub)}
.lf-ac .lf-ax{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:13px;color:var(--sub)}
@container (min-width:640px){.lx-tm:has(>.lf-sortbox) input[type=search]{flex:1 1 200px;max-width:280px}.lx-tm .lf-sortbox{margin-left:auto;flex:none}.lx-tm .lf-sortbox .lf-grp{flex-wrap:nowrap}}
@container (max-width:639px){.lf-pfoot{padding:0 10px 8px}.lf-act{padding:0 10px 8px}button.lf-ac,.lf-pfoot button,.lf-fbtn{min-height:36px}}
@media (hover:none) and (pointer:coarse){button.lf-ac,.lf-pfoot button,.lf-fbtn{min-height:44px !important}}
/* タグの画面 */
.lt-tbl{min-width:0;max-width:640px}

/* ---- ホーム(2026-10-15 方針 line-ui-redesign 第2段 B-1): KPI 帯は .an-kpi を 5 つに・推移/店舗別/最新の受信は .an-card ---- */
.lh-kpi{grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;background:#fff}
@container (max-width:900px){.lh-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.lh-kpi>div:nth-child(odd){border-left:0}.lh-kpi>div:nth-child(even){border-left:1px solid var(--line)}.lh-kpi>div:nth-child(n+3){border-top:1px solid var(--line)}}
.lh-kpi .s{white-space:normal;overflow:visible;text-overflow:clip}
.lh-kpi .v .lh-na{font-size:14px;color:var(--sub);font-weight:500}
.lh-klink{color:inherit;text-decoration:none}
.lh-klink:hover{text-decoration:underline}
.lh-herr{font-size:12px;margin-bottom:8px}
.lx-body[data-tab="home"] .an-card{border:1px solid var(--line);border-radius:6px;background:#fff}
@container (max-width:1099px){.lx-body[data-tab="home"] .an-7,.lx-body[data-tab="home"] .an-5{grid-column:span 12}}
.lh-trend{width:100%;height:auto;display:block}
.lh-trendwrap{position:relative}
.lh-nohist{fill:#f3f3f0}
.lh-share{grid-template-columns:10px minmax(80px,120px) 1fr 48px 52px}
.lh-share .lu-tag{margin:0}
.lh-rcs{display:flex;flex-direction:column}
.lh-rc{display:grid;grid-template-columns:28px minmax(80px,160px) 76px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:0 4px;border-bottom:1px solid var(--line2);cursor:pointer;outline:none}
.lh-rc:last-child{border-bottom:0}
.lh-rc:hover{background:#fafaf7}
.lh-rc:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
.lh-rc .lu-av{width:28px;height:28px;flex-basis:28px;font-size:11px}
.lh-rcn{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-rcb{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--sub);white-space:nowrap}
.lh-rcb.un{color:var(--txt)}
.lh-rcb.un .lu-dot{background:var(--accent)}
.lh-rct{font-size:12.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-rc.unread .lh-rct{color:var(--txt)}
@container (max-width:639px){.lh-rc{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"av nm tm" "av tx bd";padding:6px 2px}.lh-rc .lu-av{grid-area:av}.lh-rcn{grid-area:nm}.lh-rct{grid-area:tx}.lh-rcb{grid-area:bd}.lh-rc time{grid-area:tm}}

/* ---- 一斉配信(2026-10-15 第2段 B-4): 一覧=友だちの表と同じ型(行 40px)・状態は「失敗・結果不明」だけ赤 ---- */
.lb-tbl{min-width:860px}
.lb-tbl tr[data-id]{cursor:pointer;outline:none}
.lb-tbl tr[data-id]:hover td{background:#fafaf7}
.lb-tbl tr[data-id].on td{background:#fff4ec}
.lb-tbl tr[data-id]:focus-visible td{box-shadow:inset 0 2px 0 rgba(242,92,5,.45),inset 0 -2px 0 rgba(242,92,5,.45)}
.lb-tbl tr.lb-cx td{color:var(--faint)}
.lb-c-tx{max-width:420px;overflow:hidden;text-overflow:ellipsis}
.lb-tbl td.lb-c-cond{min-width:180px;max-width:280px;white-space:normal}
.lb-tx{vertical-align:middle}
.lb-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;border:1px solid var(--line);vertical-align:middle;margin-right:8px}
.lb-src{font-size:10.5px;margin-left:8px}
.lb-k{font-size:11px;margin-right:4px}
.lb-k+.lu-tag{margin-left:0}
.lb-all{font-weight:600}
.lb-cn{font-size:10.5px;color:var(--sub);margin-left:2px}
.lb-st{display:inline-block;font-size:11px;font-weight:700;border-radius:3px;padding:1px 8px;line-height:18px;white-space:nowrap}
.lb-s-sch{background:#fff;color:var(--txt);box-shadow:inset 0 0 0 1px #8c8f94}
.lb-s-run{background:#e7e8e9;color:#2b2e33}
.lb-s-ok{background:#f0f1ec;color:#45484d}
.lb-s-ng{background:var(--danger-bg,#fdecea);color:var(--danger)}
.lb-s-cx{background:transparent;color:var(--faint);box-shadow:inset 0 0 0 1px var(--line)}
.lf-empty .lb-new2{margin-left:10px;font-size:12px;min-height:32px;padding:4px 14px}
/* 引き出し(右から全面): 左=中身 / 右=LINE の見本 / 下に固定の帯(確認はこの帯の中=位置を動かさない) */
.lb-drawer{position:absolute;inset:0;z-index:6;background:#fff;display:flex;flex-direction:column;visibility:hidden}
.lb-drawer.open{visibility:visible}
.lb-dh{display:flex;align-items:center;gap:10px;padding:6px 16px;border-bottom:1px solid var(--line);min-height:48px;flex:none}
.lb-dh b{font-size:15px;font-weight:600}
.lb-dh .lb-close{margin-left:auto;min-width:44px;min-height:44px;font-size:18px !important;padding:0 !important}
.lb-db{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start}
@container (max-width:1099px){.lb-db{grid-template-columns:minmax(0,1fr) 290px}.lb-pv{padding:12px}}
.lb-form{padding:0 16px 16px;min-width:0;border-right:1px solid var(--line)}
.lb-sec{padding:12px 0;border-bottom:1px solid var(--line2)}
.lb-sec:last-child{border-bottom:0}
.lb-sec h3{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 8px}
.lb-txt{width:100%;font-size:14px;line-height:1.55;padding:8px 10px;resize:vertical;min-height:120px}
.lb-lbl{display:block;font-size:11.5px;color:var(--sub);margin-top:10px}
.lb-lbl input{display:block;width:100%;margin-top:4px;padding:7px 10px;font-size:13px}
.lb-chk{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;cursor:pointer;min-height:32px}
.lb-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:10px}
.lb-mode{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:8px 10px;cursor:pointer;min-height:44px}
.lb-mode:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.lb-mode input{margin-top:3px;flex:none;width:auto;min-width:0}
.lb-mode>span{flex:1;min-width:0;text-align:left}
.lb-mode b{display:block;font-size:13px}
.lb-mode small{display:block;font-size:11px;color:var(--sub);line-height:1.35;margin-top:2px}
.lb-mode.lb-off{opacity:.55;cursor:default}
.lb-tg{display:flex;flex-direction:column;gap:6px}
.lb-tg.lb-dim{opacity:.55}
.lb-tg .lf-chip{font-size:12px !important;font-weight:500;padding:2px 10px !important;min-height:28px;background:#fff !important;color:var(--txt) !important;border:1px solid var(--line) !important;box-shadow:none !important}
.lb-tg .lf-chip.on{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important;font-weight:700}
.lb-tg .lf-chip .lu-tag{margin:0}
.lb-cnt{margin-top:10px;font-size:13px;font-weight:600;min-height:20px}
.lb-at{padding:7px 10px;font-size:13px}
.lb-body{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.55}
.lb-iu{word-break:break-all;margin-top:6px}
.lb-pv{padding:16px;position:sticky;top:0}
.lb-phone{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;max-width:340px;margin:0 auto}
.lb-ph-h{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;background:#fff;border-bottom:1px solid var(--line);font-size:13px}
.lb-ph-h span{font-size:20px;color:var(--sub);line-height:1}
.lb-ph-b{background:#8ca6c9;padding:14px 10px 18px;min-height:260px;display:flex;flex-direction:column;gap:8px}
.lb-brow{display:flex;align-items:flex-end;gap:6px}
.lb-brow time{font-size:10px;color:#eef2f7;font-family:var(--mono);flex:none}
.lb-pav{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#dfe5ee;overflow:hidden;align-self:flex-start}
.lb-pav img{width:100%;height:100%;object-fit:cover;display:block}
.lb-pav0{visibility:hidden}
.lb-bub{max-width:220px;background:#fff;border-radius:16px;padding:8px 12px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:#111}
.lb-pimg{max-width:200px;border-radius:14px;overflow:hidden;background:#fff}
.lb-pimg img{display:block;width:100%;max-height:300px;object-fit:cover}
.lb-pempty{color:#fff;font-size:12px;text-align:center;margin-top:90px}
.lb-qr{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;background:#8ca6c9;border-top:1px solid rgba(255,255,255,.35)}
.lb-qr span{flex:none;background:#fff;border-radius:999px;padding:4px 14px;font-size:12px;border:1px solid #c9d2df}
.lb-foot{flex:none;display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 16px;border-top:1px solid var(--line);background:#fff}
.lb-foot .lb-fmsg{flex:1;min-width:0;font-size:12.5px}
.lb-foot.lb-cf .lb-fmsg{font-weight:700;color:var(--txt)}
.lb-foot button{min-height:40px;font-size:13px;padding:6px 16px;flex:none}
.lb-foot .lb-go,.lb-foot .lb-act{min-width:168px}
@container (max-width:699px){.lb-db{grid-template-columns:minmax(0,1fr)}.lb-form{border-right:0}.lb-pv{position:static;border-top:1px solid var(--line)}.lb-modes{grid-template-columns:minmax(0,1fr)}}
@container (max-width:639px){
  .lb-tbl{min-width:0}
  .lb-tbl thead{display:none}
  .lb-tbl tbody{display:block}
  .lb-tbl tr[data-id]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px;padding:8px 10px;border-bottom:1px solid var(--line2)}
  .lb-tbl tr[data-id] td{display:block;height:auto;border:none;padding:0;white-space:normal;max-width:none;font-size:12.5px}
  .lb-tbl tr[data-id] td.lb-c-tx{grid-column:1 / span 2}
  .lb-txt,.lb-lbl input,.lb-at{font-size:16px}
  .lb-foot{flex-wrap:wrap;padding:8px 10px}
  .lb-foot .lb-fmsg{flex-basis:100%}
  .lb-foot button{min-height:44px;flex:1}
  .lb-foot .lb-go,.lb-foot .lb-act{min-width:0}
  .lb-tg .lf-chip{min-height:36px}
  .lb-form{padding:0 10px 12px}
}
.lb-len,.lb-imgerr,.lb-atn{min-height:17px;line-height:17px}
.lx-body[data-tab="home"] .an-head{flex-wrap:wrap;row-gap:2px}
.lx-body[data-tab="home"] .an-head .m{white-space:normal;margin-left:0}
@container (max-width:639px){.lh-share{grid-template-columns:10px minmax(56px,84px) 1fr 40px 46px;gap:0 6px}.lx-body[data-tab="home"] .an-card{padding:12px}}

/* ---- 第3段(2026-10-15 方針 line-ui-redesign 手順 4): ステップ配信・自動応答・リッチメニュー・流入経路・友だち追加時 ---- */
.lf-empty-b{padding:18px 16px;color:var(--sub);font-size:13px}
.lf-empty-b button{margin-left:10px;font-size:12px;min-height:32px;padding:4px 14px}
/* スイッチ(写真指名の .ksw と同じ部品。テーマの button の地色より強く) */
.lx button.ksw{width:46px;height:28px;position:relative;background:#e3e5ea !important;border:none !important;box-shadow:none !important;padding:0 !important;min-height:0;flex:none;vertical-align:middle}
.lx button.ksw.on{background:#34c759 !important}
.lx button.ksw:hover:not(:disabled){background:#d7dae0 !important}
.lx button.ksw.on:hover:not(:disabled){background:#2fb350 !important}
.lx button.ksw::before{content:"";position:absolute;inset:-8px -9px}
.lx button.ksw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lx-dfoot .lx-del{color:var(--danger)}
.lx-dfoot .lx-del.warn{color:#fff}
.lf-drawer .lb-foot{flex-wrap:wrap}
.lf-drawer .lb-foot .lb-fmsg{flex-basis:100%;order:-1;min-height:17px}
.lf-drawer .lb-foot button{flex:1;min-width:0}
/* LINE の見本: お客様の送った文(右・緑) */
.lb-brow.lb-me{justify-content:flex-end}
.lb-bub.lb-bme{background:#8de055;color:#111}
/* ステップ配信: 縦の時系列(日数の見出し → 時刻・吹き出し・処理済みの人数・スイッチ) */
.lst-wrap{padding:4px 16px 24px}
.lst-tl{position:relative;max-width:980px}
.lst-day{display:flex;align-items:baseline;gap:10px;padding:14px 0 6px 64px;border-bottom:1px solid var(--line)}
.lst-day b{font-size:14px}
.lst-day span{font-size:12px;color:var(--sub)}
.lst-it{display:grid;grid-template-columns:52px 16px minmax(0,1fr) 96px 64px;align-items:center;column-gap:8px;min-height:56px;padding:6px 0;border-bottom:1px solid var(--line2);cursor:pointer;outline:none;position:relative}
.lst-it:hover{background:#fafaf7}
.lst-it.on{background:#fff4ec}
.lst-it:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
.lst-tm{font-size:13px;text-align:right;color:var(--txt)}
.lst-dot{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #8c8f94;justify-self:center}
.lst-it.off .lst-dot{border-color:var(--line)}
.lst-it::before{content:"";position:absolute;left:67px;top:0;bottom:0;width:1px;background:var(--line)}
.lst-dot{position:relative;z-index:1}
.lst-bd{min-width:0;display:flex;align-items:center;gap:8px}
.lst-bub{max-width:520px;background:#f0f1ec;border-radius:14px;padding:6px 12px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lst-it.off .lst-bub{color:var(--faint)}
.lst-off{flex:none;font-size:11px;font-weight:700;color:var(--sub)}
.lst-done{font-size:12px;text-align:right;line-height:1.2}
.lst-done b{font-size:14px}
.lst-done small{display:block;font-size:10.5px;color:var(--sub)}
.lst-sw{display:flex;justify-content:center}
.lst-when{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}
.lst-when input[type=number]{width:72px;padding:6px 8px;font-size:13px}
.lst-when input[type=time]{padding:6px 8px;font-size:13px}
.lst-txt,.lar-txt,.ljn-text,.ljn-reply{width:100%;font-size:13px;line-height:1.55;padding:7px 10px;resize:vertical}
.lf-drawer .lb-phone{max-width:320px}
.lf-drawer .lb-ph-b{min-height:150px}
/* 自動応答 */
.lar-tbl{min-width:680px}
.lar-tbl tr[data-id]{cursor:pointer;outline:none}
.lar-tbl tr[data-id]:hover td{background:#fafaf7}
.lar-tbl tr[data-id].on td{background:#fff4ec}
.lar-tbl tr[data-id]:focus-visible td{box-shadow:inset 0 2px 0 rgba(242,92,5,.45),inset 0 -2px 0 rgba(242,92,5,.45)}
.lar-tbl tr.lar-off td:not(.lar-c-sw){color:var(--faint)}
.lar-kw{display:inline-block;font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:1px 10px;line-height:18px;background:#fff;max-width:240px;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.lar-c-tx{max-width:300px;overflow:hidden;text-overflow:ellipsis}
.lar-kwin,.lar-tag{width:100%;padding:7px 10px;font-size:13px}
.lar-mts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.lar-tagpv{margin-top:6px;min-height:20px}
/* リッチメニュー: カードの並び+タグ → メニューの対応表 */
.lrm-wrap{padding:12px 16px 24px}
.lrm-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.lrm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;align-content:start}
.lrm-card{border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.lrm-img{border-bottom:1px solid var(--line)}
.lrm-pic{position:relative;width:100%;background:#f3f3f0;overflow:hidden}
.lrm-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lrm-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--sub);padding:8px;text-align:center}
.lrm-ov{position:absolute;inset:0}
.lrm-ov span{position:absolute;box-shadow:inset 0 0 0 1px rgba(23,24,26,.55);box-sizing:border-box}
.lrm-ov b{position:absolute;top:3px;left:3px;font-size:10px;font-weight:700;line-height:15px;min-width:15px;text-align:center;background:rgba(23,24,26,.75);color:#fff;border-radius:3px;font-family:var(--mono)}
.lrm-cb{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;flex:1}
.lrm-ch{display:flex;align-items:center;gap:8px}
.lrm-nm{font-size:13px;min-width:0;overflow-wrap:anywhere}
.lrm-def{flex:none;display:inline-block;font-size:10.5px;font-weight:700;background:#17181a;color:#fff;border-radius:3px;padding:0 7px;line-height:17px}
.lrm-who{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-height:20px;font-size:12px}
.lrm-wk{font-size:11.5px;font-weight:600;margin-right:4px}
.lrm-acts{margin:0;padding-left:18px;font-size:11.5px;color:var(--sub);line-height:1.5}
.lrm-acts li{overflow-wrap:anywhere}
.lrm-meta{font-size:11px}
.lrm-btns{display:flex;gap:8px;margin-top:auto}
.lrm-btns button{font-size:12px;min-height:36px;padding:4px 12px}
.lrm-btns .lrm-delb{color:var(--danger)}
.lrm-map:empty{display:none}
.lrm-map{border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px 12px}
.lrm-mh{font-size:13px;font-weight:600;margin:0 0 6px}
.lrm-mt{min-width:0}
.lrm-mt td{height:44px}
.lrm-mt select{max-width:190px;padding:5px 8px;font-size:12.5px}
.lrm-mdef td{color:var(--sub);white-space:normal}
.lrm-mbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lrm-mbtns button{font-size:12px;min-height:36px;padding:4px 12px}
.lrm-mst{min-height:17px;margin-top:6px}
.lrm-nms{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:10px}
.lrm-nms .lb-lbl{margin-top:0}
.lrm-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.lrm-tpl{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);border-radius:6px;padding:8px 6px;cursor:pointer;font-size:11.5px;min-height:44px;position:relative}
.lrm-tpl:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}
.lrm-tpl input{position:absolute;opacity:0;pointer-events:none}
.lrm-tpl:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.lrm-tsvg{width:90px;height:auto;display:block}
.lrm-tsvg rect{fill:#f0f1ec;stroke:#8c8f94;stroke-width:1}
.lrm-tsvg text{font-size:10px;fill:#45484d;font-family:var(--mono)}
.lrm-areas{display:flex;flex-direction:column;gap:6px}
.lrm-ar{display:grid;grid-template-columns:22px 130px minmax(0,1fr);gap:8px;align-items:center}
.lrm-ar select,.lrm-ar input{padding:6px 8px;font-size:13px;min-width:0}
.lrm-imsg{margin-top:6px;min-height:17px}
.lrm-phone .lb-ph-b{min-height:110px}
.lrm-pvm{border-top:1px solid var(--line);background:#fff}
.lrm-pvbar{text-align:center;font-size:12px;padding:6px 0;border-top:1px solid var(--line);color:var(--sub)}
/* 流入経路 */
.lsr-tbl{min-width:680px}
.lsr-tbl tr[data-id]{cursor:pointer;outline:none}
.lsr-tbl tr[data-id]:hover td{background:#fafaf7}
.lsr-tbl tr[data-id].on td{background:#fff4ec}
.lsr-tbl tr[data-id]:focus-visible td{box-shadow:inset 0 2px 0 rgba(242,92,5,.45),inset 0 -2px 0 rgba(242,92,5,.45)}
.lsr-tbl tr.lsr-gh td{background:#fafaf7;height:34px;border-bottom:1px solid var(--line);font-size:12.5px;position:sticky;top:32px;z-index:1}
.lsr-tbl tr.lsr-gh .muted{font-size:11.5px;margin-left:6px}
.lsr-c-nm{max-width:300px;white-space:normal !important;overflow-wrap:anywhere}
.lsr-dest{display:block;font-size:10.5px;line-height:1.2;overflow-wrap:anywhere}
.lsr-c-qr button{font-size:11.5px;min-height:30px;padding:2px 10px;margin-right:6px}
.lsr-url{display:block;background:var(--bg2,#f0f1ec);border-radius:4px;padding:4px 8px;font-size:12px;word-break:break-all;margin:6px 0}
.lsr-ubtn{flex-wrap:wrap}
.lsr-trend{position:relative}
.lsr-svg{width:100%;height:auto;display:block}
.lsr-frs{display:flex;flex-direction:column}
.lsr-fr{display:flex;align-items:center;gap:8px;min-height:44px;border-bottom:1px solid var(--line2);cursor:pointer;outline:none;padding:0 2px}
.lsr-fr:hover{background:#fafaf7}
.lsr-fr:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
.lsr-fr .lu-av{width:28px;height:28px;flex-basis:28px;font-size:11px}
.lsr-frn{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lsr-mkdb{grid-template-columns:minmax(0,1fr)}
.lsr-mkdb .lb-form{border-right:0;max-width:760px}
.lsr-pres{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lsr-pre{display:inline-flex;align-items:center}
.lsr-pre .lf-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:3px 12px;min-height:32px;cursor:pointer;background:#fff}
.lsr-pre .lf-chip.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}
.lsr-pre .lf-chip input{margin:0}
.lsr-pdel{min-width:32px;min-height:32px;padding:0 !important;font-size:13px !important}
.lsr-padd{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px}
.lsr-padd .lb-lbl{margin-top:0}
.lsr-padd button{min-height:36px;font-size:12px}
.lsr-nm{width:100%;padding:8px 10px;font-size:14px}
.lsr-nmst{margin-top:6px;min-height:20px}
/* 友だち追加時: 左=設定 / 右=LINE の見本 */
.ljn{display:grid;grid-template-columns:minmax(0,640px) 360px;gap:24px;align-items:start}
.ljn-form .lb-sec:first-child{padding-top:0}
.ljn-on{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:600}
.ljn-side{font-size:12.5px}
.ljn-side a{color:inherit}
.ljn-pv{position:sticky;top:0}
.ljn-pst{margin-bottom:8px}
.ljn-pst .lf-chip{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;min-height:28px;background:#fff}
.ljn-pst .lf-chip.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}
.ljn-pst .lf-chip .lu-tag{margin:0}
@container (max-width:1099px){.lrm-grid{grid-template-columns:minmax(0,1fr)}.ljn{grid-template-columns:minmax(0,1fr) 300px}}
@container (max-width:799px){.ljn{grid-template-columns:minmax(0,1fr)}.ljn-pv{position:static}}
@container (max-width:639px){
  .lst-wrap,.lrm-wrap{padding:4px 10px 16px}
  .lst-day{padding-left:0}
  .lst-it{grid-template-columns:44px 12px minmax(0,1fr) 54px;grid-template-areas:"tm dot bd sw" "tm dot dn sw";row-gap:2px}
  .lst-it::before{left:51px}
  .lst-tm{grid-area:tm}.lst-dot{grid-area:dot}.lst-bd{grid-area:bd}.lst-done{grid-area:dn;text-align:left}.lst-done small{display:inline;margin-left:4px}.lst-sw{grid-area:sw}
  .lar-tbl,.lsr-tbl{min-width:0}
  .lar-tbl thead,.lsr-tbl thead{display:none}
  .lar-tbl tbody,.lsr-tbl tbody{display:block}
  .lar-tbl tr[data-id],.lsr-tbl tr[data-id]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:8px 10px;border-bottom:1px solid var(--line2)}
  .lar-tbl tr[data-id] td,.lsr-tbl tr[data-id] td{display:block;height:auto;border:none;padding:0;white-space:normal;max-width:none;font-size:12.5px}
  .lar-tbl tr[data-id] td[data-l]::before,.lsr-tbl tr[data-id] td[data-l]:not(.lsr-c-nm)::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--sub)}
  .lar-tbl tr[data-id] td.lar-c-tx,.lsr-tbl tr[data-id] td.lsr-c-nm,.lsr-tbl tr[data-id] td.lsr-c-qr{grid-column:1 / span 2}
  .lar-tbl tr[data-id] td.lf-r,.lsr-tbl tr[data-id] td.lf-r{text-align:left}
  .lsr-tbl tr.lsr-gh{display:block}.lsr-tbl tr.lsr-gh td{display:block;height:auto;padding:6px 10px;position:static;white-space:normal}
  .lsr-c-qr button{min-height:44px}
  .lx-tl{overflow:hidden}
  .lx-tr button{white-space:nowrap}
  .lar-tbl tr[data-id]:focus-visible td,.lsr-tbl tr[data-id]:focus-visible td{box-shadow:none}
  .lar-tbl tr[data-id]:focus-visible,.lsr-tbl tr[data-id]:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
  .lar-tbl tr[data-id].on,.lsr-tbl tr[data-id].on{background:#fff4ec}
  .lrm-nms,.lsr-padd{grid-template-columns:minmax(0,1fr)}
  .lrm-ar{grid-template-columns:22px minmax(0,1fr)}.lrm-ar input{grid-column:1 / span 2}
  .lar-mts{grid-template-columns:minmax(0,1fr)}
  .lst-txt,.lar-txt,.lar-kwin,.lar-tag,.ljn-text,.ljn-reply,.lsr-nm,.lsr-padd input,.lrm-nms input,.lrm-ar input,.lrm-ar select,.lst-when input{font-size:16px}
  .lrm-btns button,.lrm-mbtns button{min-height:44px}
}
/* ---- 採用LINE(2026-10-15 採用 第1段・方針 docs/plans/2026-10-14_recruit-phase1.md ・画面の作りは line-ui-redesign D) ----
 * 顧客LINE と同じ部品(luShell・luBar・luInbox・.lf-tbl・.lf-drawer・.lb-drawer・.an-kpi)に、応募者の段階の列(かんばん)・面接の週の表・動作の並びの編集だけを足す */
#rcShell .lx-body.rc-full{overflow:hidden;padding:0}
#rcShell .an-card{border:1px solid var(--line);border-radius:6px;background:#fff}
.rc-kpi{grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;background:#fff;margin-bottom:16px}
@container (max-width:900px){.rc-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-kpi>div:nth-child(3){border-left:0}.rc-kpi>div:nth-child(n+3){border-top:1px solid var(--line)}}
.rc-list{display:flex;flex-direction:column}
.rc-li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;border-bottom:1px solid var(--line2);font-size:13px;cursor:pointer;padding:0 4px}
.rc-li:last-child{border-bottom:0}.rc-li:hover{background:#fafaf7}
.rc-li .t{font-family:var(--mono);color:var(--sub);font-size:12px}
.rc-stg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:6px}
.rc-stg>div{padding:10px 12px;border-left:1px solid var(--line2);border-top:1px solid var(--line2);font-size:12px;color:var(--sub)}
.rc-stg b{display:block;font-size:20px;font-weight:500;color:var(--txt);font-variant-numeric:tabular-nums}
/* 応募者: 段階の列(PC)/ 段階を選んで縦のカード(狭い幅)・表 */
.rc-board{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden}
.rc-col{flex:0 0 228px;display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0;background:#fcfcfa}
.rc-colh{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;color:var(--sub);background:#fafaf7;flex:none}
.rc-colh .n{margin-left:auto;font-family:var(--mono);font-weight:500}
.rc-cards{flex:1;overflow-y:auto;padding:6px}
.rc-card{border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px 10px;margin-bottom:6px;cursor:pointer;font-size:12.5px;outline:none;min-height:44px}
.rc-card:hover{background:#fafaf7}.rc-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.rc-card:focus-visible{box-shadow:0 0 0 2px rgba(242,92,5,.45)}
.rc-ct{display:flex;align-items:baseline;gap:6px;min-width:0}
.rc-no{font-family:var(--mono);color:var(--sub);font-size:11.5px;flex:none}
.rc-nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.rc-cm{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:4px;color:var(--sub);font-size:11.5px;align-items:center}
.rc-cm .lu-tag{margin:0}
.rc-bdg{display:inline-block;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:9px;background:#efefec;color:#4d4f54;white-space:nowrap}
.rc-bdg.dk{background:#3b3d42;color:#fff}.rc-bdg.warn{background:#fdecea;color:var(--danger)}
.rc-mob{position:absolute;inset:0;display:flex;flex-direction:column}
.rc-mob .rc-cards{padding:8px 10px}
.rc-mstg{display:flex;flex-wrap:wrap;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);flex:none}
.rc-wait{color:var(--danger);font-weight:600}
/* 詳細の引き出し(友だち・応募者で共通・顧客LINE の .lf-drawer を広げた幅) */
.rc-drawer{width:520px}
@media (max-width:519px){.rc-drawer{width:auto;left:0;border-left:none}}
.rc-chips{display:flex;flex-wrap:wrap;gap:4px}
.rc-chips button{font-size:12px !important;font-weight:500;padding:2px 10px !important;min-height:32px;background:#fff !important;color:var(--txt) !important;border:1px solid var(--line) !important;box-shadow:none !important;border-radius:16px}
.rc-chips button.on{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important;font-weight:700}
.rc-chips button[disabled]{opacity:.5}
.rc-cfm{border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-top:8px;font-size:12.5px;background:#fffaf6}
.rc-cfm ul{margin:4px 0 8px 18px;padding:0}
.rc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.rc-row input,.rc-row select{padding:6px 10px;font-size:13px;min-height:36px}
.rc-row button{font-size:12px;min-height:36px;padding:6px 14px}
.rc-ph{display:flex;gap:8px;flex-wrap:wrap}
.rc-ph figure{margin:0;width:120px}.rc-ph img{width:120px;height:150px;object-fit:cover;border-radius:4px;border:1px solid var(--line2);display:block;background:#f5f5f2}
.rc-ph figcaption{font-size:11px;color:var(--sub)}
/* 画像の全体表示(2026-10-16 職種ごとのフォーム C・監査 #10): 種別の見出し・前後・押すと原寸 */
.rc-phopen{display:block;padding:0;border:0;background:none;cursor:zoom-in;min-height:0}
.rc-phdl{font-size:11px;min-height:28px;padding:2px 8px;margin-top:2px}
.rc-pre{white-space:pre-wrap;word-break:break-word}
.rc-warnline{font-size:12px;color:var(--danger)}
.rc-pv{position:fixed;inset:0;z-index:2000;background:rgba(20,20,20,.88);display:flex;flex-direction:column}
.rc-pvbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background:var(--bg,#fff);border-bottom:1px solid var(--line2)}
.rc-pvbar .rc-pvlb{flex:1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-pvbar button{min-height:36px;font-size:12px;padding:6px 14px}
.rc-pvbox{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;flex-direction:column}
.rc-pvbox img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;background:#f5f5f2}
.rc-pvbox.z{display:block}.rc-pvbox.z img{max-width:none;max-height:none;cursor:zoom-out}
.rc-pvmsg{color:#ddd;font-size:12px;padding:8px}
.rc-log{font-size:12px}.rc-log div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;padding:3px 0;border-bottom:1px dashed var(--line2)}
.rc-log time{font-family:var(--mono);color:var(--sub);font-size:11px}
.rc-danger{color:var(--danger) !important;border-color:var(--danger) !important}
/* 面接: 週の表(縦=時刻・横=日)+右に受付のひな形・休み */
.rc-iv{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) 340px}
@container (max-width:999px){.rc-iv{grid-template-columns:minmax(0,1fr)}.rc-ivside{border-left:0;border-top:1px solid var(--line)}}
.rc-ivmain{overflow:auto;min-height:0}
.rc-ivside{overflow:auto;min-height:0;border-left:1px solid var(--line);padding:12px 14px}
.rc-wk{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:12px}
.rc-wk th{position:sticky;top:0;z-index:2;background:#fafaf7;height:36px;font-size:11.5px;font-weight:600;color:var(--sub);border-bottom:1px solid var(--line);border-left:1px solid var(--line2);padding:0 6px;white-space:nowrap}
.rc-wk th.today{color:var(--accent)}
.rc-wk td{border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);height:34px;vertical-align:top;padding:2px 4px}
.rc-wk td.tm{font-family:var(--mono);color:var(--sub);font-size:11px;white-space:nowrap;border-left:0;width:52px;text-align:right;padding-right:8px}
.rc-slot{display:block;width:100%;text-align:left;border:0;border-radius:4px;background:#f3f3f0;color:var(--sub);padding:3px 6px;margin:1px 0;font-size:11.5px;min-height:24px;cursor:pointer}
.rc-slot.bk{background:#fff4ec;color:var(--txt);border-left:3px solid var(--accent)}
.rc-slot.off{opacity:.55;text-decoration:line-through}
.rc-slot.full{background:#ececea;color:var(--txt)}
.rc-ivside h3{font-size:12px;font-weight:700;color:var(--sub);margin:12px 0 6px}
.rc-ivside h3:first-child{margin-top:0}
.rc-rule{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;font-size:12.5px;border-bottom:1px solid var(--line2);padding:6px 0}
.rc-frm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.rc-frm label{font-size:11px;color:var(--sub);display:flex;flex-direction:column;gap:2px}
.rc-frm input,.rc-frm select{padding:6px 8px;font-size:13px;min-height:36px}
.rc-frm .w2{grid-column:span 2}
/* 動作の並び・ステップの編集 */
.rc-steps{display:flex;flex-direction:column;gap:6px}
.rc-st{display:flex;gap:6px;align-items:center;flex-wrap:wrap;border:1px solid var(--line2);border-radius:6px;padding:6px 8px}
.rc-st select,.rc-st input{padding:5px 8px;font-size:13px;min-height:34px;max-width:100%}
.rc-st textarea{flex:1 1 100%;font-size:13px;padding:6px 8px;min-height:60px}
.rc-st .x{margin-left:auto;min-width:34px;min-height:34px;padding:0 !important}
.rc-add{font-size:12px;min-height:34px;padding:4px 12px;align-self:flex-start}
.rc-cols{display:flex;flex-direction:column;gap:10px}
.rc-colbox{border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.rc-colbox>.rc-row:first-child{margin-top:0}
.rc-btnbox{border-top:1px dashed var(--line2);padding-top:6px;margin-top:6px}
.rc-pvwrap{padding:16px;position:sticky;top:0}
.rc-tbl{min-width:720px}
.rc-tbl tr[data-id]{cursor:pointer}
.rc-tbl tr[data-id]:hover td{background:#fafaf7}
.rc-mute{color:var(--sub);font-size:11.5px}
.rc-mono{font-family:var(--mono)}
.rc-sec2{padding:12px 0;border-bottom:1px solid var(--line2)}
.rc-sec2:last-child{border-bottom:0}
.rc-sec2 h3{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 8px}
.rc-url{font-family:var(--mono);font-size:12px;word-break:break-all;background:#f6f6f3;border-radius:4px;padding:6px 8px;display:block;margin:4px 0}
@media (max-width:760px){#rcShell input,#rcShell select,#rcShell textarea{font-size:16px}#rcShell .rc-chips button,#rcShell .rc-row button,#rcShell .rc-slot{min-height:44px}}

/* ===== フレックスメッセージの作成画面(2026-10-16 方針 docs/plans/2026-10-16_flex-editor.md・js/flex-editor.js) =====
   NIGHT OPS(白基調・罫線区切り・オレンジ=選択中/主操作・削除は赤・線画アイコン)。プレビューだけは LINE の見た目(トークの背景・吹き出しの角丸・LINE の文字の大きさ)。
   列は部品の板の実際の幅で切り替える(.fe[data-cols]): 3=左 260px/中 可変/右 320px・2=左に 構成/設定 のタブ+右にプレビュー・1=3 つのタブ。… で切らない(全部折り返す) */
.fe{container-type:inline-size;display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--txt)}
.fe-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fe-top .fe-alt{flex:1 1 280px;min-width:0;height:36px}
.fe-tb{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fe-meter{font-size:12px;color:var(--sub);white-space:nowrap}
.fe-meter.fe-bad{color:var(--danger);font-weight:600}
.fe-meter[data-ok]::after{content:'LINE の検査に通りました';margin-left:8px;color:#1f7a3a;font-weight:600}
.fe-pre{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.fe-lbl{font-size:12px;color:var(--sub);white-space:nowrap;line-height:28px}
.fe-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0}
.fe button.fe-chip{height:28px;min-height:28px;padding:0 10px !important;font-size:12.5px;font-weight:500 !important;color:var(--txt) !important;background:#fff !important;border:0 !important;box-shadow:inset 0 0 0 1px var(--line) !important;border-radius:999px !important;transform:none !important;white-space:normal;line-height:1.2}
.fe button.fe-chip:hover{box-shadow:inset 0 0 0 1px var(--txt) !important}
.fe-sepv{display:inline-block;width:1px;height:18px;background:var(--line);margin:0 4px}
.fe-probs{display:flex;flex-wrap:wrap;gap:4px}
.fe button.fe-prob{min-height:28px;padding:3px 10px !important;font-size:12px;font-weight:500 !important;color:var(--danger) !important;background:#fff !important;border:0 !important;box-shadow:inset 0 0 0 1px rgba(207,31,46,.35) !important;border-radius:6px !important;text-align:left;white-space:normal;transform:none !important}
.fe button.fe-prob.fe-warn{color:#8a5a00 !important;box-shadow:inset 0 0 0 1px rgba(180,120,0,.35) !important}
.fe-more{font-size:12px;color:var(--sub);align-self:center}
.fe .fe-seg{flex-wrap:wrap}
.fe .fe-seg button{padding:5px 11px !important;font-size:12.5px;min-height:30px;flex:0 0 auto}
.fe-tabs{display:none;align-self:flex-start}
.fe-cols{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr);border:1px solid var(--line);border-radius:6px;background:#fff;height:max(480px,calc(100dvh - 250px));min-width:0}
.fe-cols>section{min-width:0;overflow:auto}
.fe-tree{border-right:1px solid var(--line);padding:6px 0}
.fe-pvw{display:flex;flex-direction:column;background:#f6f7f4}
.fe-props{border-left:1px solid var(--line);padding:0 12px 14px}
.fe[data-cols="2"] .fe-tabs{display:flex}
.fe[data-cols="2"] .fe-tabs [data-tab="pv"]{display:none}
.fe[data-cols="2"] .fe-cols{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}
.fe[data-cols="2"] .fe-tree,.fe[data-cols="2"] .fe-props{grid-column:1;grid-row:1;border-left:0;border-right:1px solid var(--line)}
.fe[data-cols="2"] .fe-pvw{grid-column:2;grid-row:1}
.fe[data-cols="2"][data-tab="props"] .fe-tree,.fe[data-cols="2"]:not([data-tab="props"]) .fe-props{visibility:hidden}
.fe[data-cols="1"] .fe-tabs{display:flex}
.fe[data-cols="1"] .fe-cols{grid-template-columns:minmax(0,1fr)}
.fe[data-cols="1"] .fe-cols>section{grid-column:1;grid-row:1;border:0}
.fe[data-cols="1"]:not([data-tab="tree"]) .fe-tree,.fe[data-cols="1"]:not([data-tab="pv"]) .fe-pvw,.fe[data-cols="1"]:not([data-tab="props"]) .fe-props{visibility:hidden}
.fe-json{display:none}
.fe.fe-jmode .fe-cols,.fe.fe-jmode .fe-tabs{display:none !important}
.fe.fe-jmode .fe-json{display:block}
.fe-jsont{width:100%;min-height:420px;font-size:12px;line-height:1.5;border:1px solid var(--line);border-radius:6px;padding:10px;box-sizing:border-box;resize:vertical}
.fe-jrow{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
/* 構成の木 */
.fe-bubs{display:flex;flex-wrap:wrap;gap:4px;padding:4px 10px 6px}
.fe button.fe-bub{min-width:32px;height:30px;min-height:30px;padding:0 8px !important;font-size:12.5px;font-weight:600 !important;background:#fff !important;color:var(--sub) !important;border:0 !important;box-shadow:inset 0 0 0 1px var(--line) !important;border-radius:6px !important;transform:none !important}
.fe button.fe-bub.active{background:var(--accent) !important;color:#fff !important;box-shadow:none !important}
.fe button.fe-bub.fe-err:not(.active){box-shadow:inset 0 0 0 1.5px var(--danger) !important;color:var(--danger) !important}
.fe-bubops{display:flex;align-items:center;gap:2px;padding:0 8px 6px;border-bottom:1px solid var(--line2);margin-bottom:4px}
.fe-rows{display:flex;flex-direction:column}
.fe-row{position:relative;display:flex;align-items:center;gap:6px;min-height:32px;padding:3px 6px 3px calc(10px + var(--d,0) * 14px);cursor:pointer;border-left:2px solid transparent;outline:none}
.fe-row:hover{background:#f7f7f4}
.fe-row:focus-visible{box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
.fe-row.fe-on{background:#fff4ec;border-left-color:var(--accent)}
.fe-row.fe-ghost{cursor:default;color:var(--faint)}
.fe-row.fe-ghost:hover{background:transparent}
.fe-ic{display:inline-flex;color:var(--sub);flex:none}
.fe-row.fe-on .fe-ic{color:var(--accent)}
.fe-nm{font-size:13px;font-weight:500;white-space:nowrap;flex:none}
.fe-sm{font-size:12px;color:var(--sub);min-width:0;flex:1 1 auto;line-height:1.3;word-break:break-all}
.fe-dot{width:7px;height:7px;border-radius:50%;background:var(--danger);flex:none}
.fe-row.fe-err .fe-nm{color:var(--danger)}
.fe-acts{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:0;visibility:hidden;background:inherit;border-radius:6px;box-shadow:-8px 0 8px -4px rgba(255,255,255,.9)}
.fe-row:hover .fe-acts{background:#f7f7f4}.fe-row.fe-on .fe-acts{background:#fff4ec}.fe-row:not(:hover):not(.fe-on) .fe-acts{background:#fff}
.fe-row:hover .fe-acts,.fe-row.fe-on .fe-acts,.fe-row:focus-within .fe-acts{visibility:visible}
.fe-row.fe-fixed .fe-acts{visibility:visible;position:static;transform:none;box-shadow:none;margin-left:auto}
.fe button.fe-ib{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:var(--sub) !important;border-radius:6px !important;transform:none !important}
.fe button.fe-ib:hover:not(:disabled){background:#efefea !important;color:var(--txt) !important}
.fe button.fe-ib.fe-red{color:var(--danger) !important}
.fe button.fe-ib:disabled{opacity:.35}
.fe button.fe-ib.fe-touch{display:none}
.fe-row.fe-dragging{opacity:.4}
.fe-row.fe-dropb{box-shadow:inset 0 2px 0 var(--accent)}
.fe-row.fe-dropin{box-shadow:inset 0 0 0 2px var(--accent)}
.fe button.fe-addsec,.fe button.fe-addbub{margin-left:auto;min-height:26px;padding:2px 10px !important;font-size:12px;font-weight:500 !important}
.fe button.fe-addbub{margin-left:0}
.fe-mute{color:var(--sub);font-size:12px}
.fe-pad{padding:14px}
/* 右の設定 */
.fe-ph{display:flex;align-items:center;gap:8px;min-height:44px;border-bottom:1px solid var(--line2);margin:0 0 4px;position:sticky;top:0;background:#fff;z-index:1}
.fe-ph b{font-size:14px;font-weight:600}
.fe-phops{margin-left:auto;display:flex}
.fe-sec{padding:8px 0;border-bottom:1px solid var(--line2)}
.fe-sec:last-child{border-bottom:0}
.fe-sec h4{font-size:12px;font-weight:600;color:var(--sub);margin:0 0 6px}
.fe-in{width:100%;max-width:100%;box-sizing:border-box;min-height:34px}
.fe-ta{min-height:84px;line-height:1.5;resize:vertical}
.fe-num{width:110px !important}
.fe-cnt{font-size:11.5px;color:var(--faint);text-align:right;margin-top:2px}
.fe-row2{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.fe-row2 select.fe-in{flex:1 1 160px;width:auto;min-width:0;max-width:100%}
.fe-perr{margin:6px 0;padding:6px 8px;border-left:2px solid var(--danger);background:#fdf3f4;color:var(--danger);font-size:12px;line-height:1.5}
.fe-perr .fe-warn{color:#8a5a00}
.fe-colors{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.fe button.fe-sw{width:24px;height:24px;min-height:24px;padding:0 !important;border-radius:50% !important;background:var(--c) !important;border:0 !important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15) !important;transform:none !important}
.fe button.fe-sw.active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent) !important}
.fe button.fe-sw0{width:auto;padding:0 8px !important;border-radius:999px !important;background:#fff !important;font-size:11.5px;color:var(--sub) !important}
.fe .fe-hex{width:96px;min-height:28px;height:28px;font-size:12px;padding:2px 6px}
.fe .fe-pick{width:30px;height:28px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff}
.fe button.fe-tg{min-height:28px;padding:2px 10px !important;font-size:12px;font-weight:600 !important;background:#fff !important;color:var(--sub) !important;border:0 !important;box-shadow:inset 0 0 0 1px var(--line) !important;border-radius:999px !important;transform:none !important}
.fe button.fe-tg.active{background:var(--accent) !important;color:#fff !important;box-shadow:none !important}
.fe button.fe-small{min-height:28px;padding:2px 10px !important;font-size:12px}
.fe-span{padding:6px 0;border-bottom:1px dashed var(--line)}
.fe-vars{margin-top:6px}
.fe-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px 0}
.fe button.fe-part{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px !important;font-size:13px;font-weight:500 !important;background:#fff !important;color:var(--txt) !important;border:0 !important;box-shadow:inset 0 0 0 1px var(--line) !important;border-radius:6px !important;text-align:left;white-space:normal;transform:none !important}
.fe button.fe-part:hover{box-shadow:inset 0 0 0 1.5px var(--accent) !important}
.fe-imgrow{display:flex;gap:8px;align-items:flex-start}
.fe-thumb{width:64px;height:64px;flex:none;border:1px solid var(--line);border-radius:6px;background:#f2f3ee;overflow:hidden;display:flex;align-items:center;justify-content:center}
.fe-thumb img{width:100%;height:100%;object-fit:cover}
.fe-imgc{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.fe-upl{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer}
.fe-upl span{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:600}
.fe-pubimg{margin-top:8px;line-height:1.6}
.fe-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;margin-top:4px}
.fe button.fe-imgb{aspect-ratio:1/1;height:auto;min-height:0;padding:0 !important;border:0 !important;border-radius:6px !important;overflow:hidden;background:#f2f3ee !important;box-shadow:inset 0 0 0 1px var(--line) !important;transform:none !important}
.fe button.fe-imgb img{width:100%;height:100%;object-fit:cover;display:block}
.fe button.fe-imgb.active{box-shadow:0 0 0 2px var(--accent) !important}
.fe-bdef{margin-top:8px;padding:8px 0 0;border-top:1px dashed var(--line)}
/* プレビュー(LINE の見た目) */
.fe-pvh{display:flex;justify-content:center;padding:8px;border-bottom:1px solid var(--line2);background:#fff}
.fe-pvb{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:14px 10px;overflow:auto}
.fe-phonef{border:1px solid #d9dad4;border-radius:14px;overflow:hidden;background:#fff;max-width:100%;flex:none}
.fe-phh{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border-bottom:1px solid #e6e6e6;font-size:13px;background:#fff}
.fe-phh span{font-size:20px;color:#888;line-height:1}
.fe-phb{background:#8ca6c9;padding:14px 0 22px;min-height:420px}
.fe-pv{position:relative;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;line-height:1.4;color:#111}
.fe-pv-msg{display:flex;align-items:flex-start;gap:8px;padding:0 0 0 10px}
.fe-pv-av{width:34px;height:34px;border-radius:50%;background:#dfe6ef;flex:none}
.fe-pv-flex{min-width:0;flex:1;display:flex;padding-right:10px}
.fe-pv-car{overflow-x:auto;gap:9px;scroll-snap-type:x proximity;padding-bottom:4px}
.fe-pv-car>.fe-pv-bub{scroll-snap-align:start}
.fe-pv-bub{background:#fff;border-radius:17px;overflow:hidden;flex:none;display:flex;flex-direction:column;cursor:pointer}
.fe-pv-sec{display:flex;flex-direction:column}
.fe-pv-sec>*{flex:none !important}
.fe-pv-box{min-width:0;box-sizing:border-box}
.fe-pv-txt{min-width:0}
.fe-pv-img{position:relative;overflow:hidden;background:#eef0f3;flex-shrink:0}
.fe-pv-img img{position:absolute;inset:0;width:100%;height:100%;display:block}
.fe-pv-noimg,.fe-pv-broken{background:repeating-linear-gradient(45deg,#e7e9ee 0 8px,#f1f2f5 8px 16px)}
.fe-pv-btn{display:flex;align-items:center;justify-content:center;text-align:center;border-radius:8px;font-size:15px;font-weight:700;padding:0 12px;box-sizing:border-box;line-height:1.25;word-break:break-word}
.fe-pv-link{font-weight:400}
.fe-pv-ico{display:inline-block;flex:none !important;vertical-align:baseline;position:relative}
.fe-pv-ico img{width:100%;height:100%;object-fit:contain;display:block}
.fe-pv-unk{padding:6px;border:1px dashed #b9bcc4;color:#6b6f78;font-size:11px}
.fe-pv-on{outline:2px solid var(--accent);outline-offset:-2px}
.fe-pv-bub.fe-pv-on{outline-offset:1px}
.fe-pv-approx{position:absolute;top:-10px;right:12px;font-size:10.5px;padding:1px 6px;border-radius:999px;background:#fff;color:#8a5a00;box-shadow:inset 0 0 0 1px rgba(180,120,0,.4)}
.fe-pv-compact .fe-pv-msg{padding:0}
.fe-pv-compact .fe-pv-av{display:none}
.fe-pv-compact .fe-pv-flex{padding-right:0}
.fe-pv-compact .fe-pv-bub{cursor:default}
/* タッチ端末: 木の行 44px・複製/削除は「…」から */
@media (pointer:coarse){
  .fe-row{min-height:44px}
  .fe button.fe-ib{width:40px;height:40px}
  .fe-acts{visibility:visible}
  .fe button.fe-ib.fe-mo{display:none}
  .fe button.fe-ib.fe-touch{display:inline-flex}
  .fe-row.fe-mopen button.fe-ib.fe-mo{display:inline-flex}
}
/* 採用LINE のテンプレートの板(フレックスの時は画面いっぱいまで広げる・最大 1400px・body の直下へ移す) */
body>.lb-drawer.rcc-wide{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(100vw,1400px);z-index:60;box-shadow:-12px 0 32px rgba(23,24,26,.14);border-left:1px solid var(--line)}
body>.lb-drawer.rcc-wide .lb-db{display:block;padding:0}
body>.lb-drawer.rcc-wide .lb-form{border-right:0;padding:0 16px 0}
body>.lb-drawer.rcc-wide .rt-pv{display:none}
body>.lb-drawer.rcc-wide .rt-savebar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);margin:8px -16px 0;padding:10px 16px;z-index:3}
@media (max-width:700px){body>.lb-drawer.rcc-wide .lb-form{padding:0 10px}body>.lb-drawer.rcc-wide .rt-savebar{margin:8px -10px 0;padding:10px}}
@media (max-width:760px){body>.lb-drawer.rcc-wide input,body>.lb-drawer.rcc-wide select,body>.lb-drawer.rcc-wide textarea{font-size:16px}}
/* ===== ブロック型(Lステップの作り・2026-10-29 方針 docs/plans/2026-10-29_recruit-flex-ls-editor.md A・js/flex-editor.js の openLs) =====
   上=パネル設定(背景色・テーマカラー・サイズ)+通知の文・保存 / 左=プレビュー+パネルの帯 / 右=ブロック設定(操作の帯は固定・できない操作は薄く+理由を横に) */
.fl-top{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff}
.fl-ps{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.fl-pst{font-size:13px;font-weight:600;margin-right:4px}
.fl-k{font-size:12px;color:var(--sub);white-space:nowrap}
.fl-pbg .fe-colors,.fl-theme{display:inline-flex}
.fl-tb2{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fl-tb2 .fe-alt{flex:1 1 280px;min-width:0;height:36px}
.fl-why{font-size:11.5px;color:#8a5a00;line-height:1.4}
.fl-why:empty{display:none}
.fl-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);border:1px solid var(--line);border-radius:6px;background:#fff;height:max(520px,calc(100dvh - 290px));min-width:0}
.fl-cols>section{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.fl-left{background:#f6f7f4;border-right:1px solid var(--line)}
.fl-pvb{flex:1;overflow:auto}
.fl-pbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:#fff}
.fl-pn{font-size:13px;font-weight:600;white-space:nowrap}
.fl-ptabs{display:inline-flex;flex-wrap:wrap;gap:4px}
.fl-pops{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:auto}
.fe .fl-pops button:disabled,.fe .fl-add button:disabled,.fe .fl-size button:disabled{opacity:.4}
.fl-right{background:#fff}
.fl-rh{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;border-bottom:1px solid var(--line2)}
.fl-rh b{font-size:14px;font-weight:600}
.fl-ops{margin-left:auto;display:inline-flex;gap:2px}
.fl-bwhy{padding:4px 10px 0}
.fl-add{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line2)}
.fl-add .fe-chip{display:inline-flex;align-items:center;gap:4px}
.fl-awhy{flex-basis:100%}
.fl-list{flex:1;overflow:auto;padding:8px 10px 16px;display:flex;flex-direction:column;gap:6px}
.fl-card{border:1px solid var(--line);border-radius:6px;background:#fff}
.fl-card.fl-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.fl-card.fe-err{border-color:var(--danger)}
.fe button.fl-ch{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:4px 10px !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:var(--txt) !important;font-weight:500 !important;text-align:left;transform:none !important;white-space:normal}
.fl-no{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:#efefea;font-size:12px;font-weight:700;color:var(--sub)}
.fl-card.fl-on .fl-no{background:var(--accent);color:#fff}
.fl-sum{font-size:12px;color:var(--sub);min-width:0;flex:1;word-break:break-all}
.fl-ch .fe-dot{display:none}
.fl-card.fe-err .fl-ch .fe-dot{display:inline-block}
.fl-cb{padding:0 10px 10px;border-top:1px solid var(--line2)}
.fl-rtb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}
.fl-rhint{display:block;min-height:0}
.fl-rich{min-height:120px;max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.6;font-size:14px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff;outline:none}
.fl-rich:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(242,92,5,.18)}
/* プレビューのブロックの番号(押すとそのブロックへ) */
.fl-bk{position:relative;cursor:pointer}
.fl-num{position:absolute;left:3px;top:3px;z-index:2;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:rgba(23,24,26,.72);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;pointer-events:none;font-family:var(--mono,ui-monospace,monospace)}
.fl-num.fl-bad{background:var(--danger)}
.fe-pv-bub.fl-pon{outline:2px solid rgba(242,92,5,.55);outline-offset:1px}
.fe-pv-video img{position:absolute;inset:0;width:100%;height:100%;display:block}
.fe-pv-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:18px;line-height:44px;text-align:center;padding-left:3px;box-sizing:border-box}
@container (max-width:860px){.fl-cols{grid-template-columns:minmax(0,1fr);height:auto}.fl-left{border-right:0;border-bottom:1px solid var(--line)}.fl-pvb{max-height:70vh}.fl-list{overflow:visible}}

/* ===== 改善リスト(2026-10-15 方針 docs/plans/2026-10-15_improve-list.md・作り直し 2026-10-15_improve-list-redesign.md) =====
   今のタスク管理の型: 見出しの行(表示の切替・主操作)→ ツールバー(範囲の下線のタブ・店舗・担当・検索。折り返しは js が実寸で data-m を決める)
   → 状態でまとめた 1 行 1 件のリスト(最小 44px・内容で伸びる・罫線区切り)/ ボード(状態の列・カードだけ 1px 罫線)→ 下に浮くまとめての操作バー。
   NIGHT OPS: 白基調・罫線区切り・角丸カードで区切らない・オレンジ=選択中/主操作/対応中のアイコンだけ・ピル型のボタン・見出しの目盛りは残す */
#view-improve{min-width:0;container-type:inline-size}
.im-hd{display:flex;align-items:center;gap:8px 14px;min-height:40px;margin:0 0 2px;flex-wrap:wrap}
#view-improve .im-hd h1{font-size:20px;font-weight:600;line-height:1.2;margin:0;display:flex;align-items:center;outline:none}
#view-improve .im-hd h1::after{display:inline-block;flex:none;width:121px;height:12px;min-height:0;margin:0 0 0 16px;padding:0}   /* 目盛りの装飾は名前の横へ(高さを取らない) */
.im-hr{margin-left:auto;display:flex;align-items:center;gap:10px}
.im-vw.seg.yt2-seg button{padding:5px 14px !important}
/* ---- ツールバー ---- */
.im-tb{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:0;border-bottom:1px solid var(--line);padding:0 0 6px}
.im-tb::before,.im-tb::after{content:'';flex-basis:100%;height:4px;display:none}   /* 行の切れ目 */
.yt2-tabs.im-tabs{order:1;border-bottom:0;margin:0;overflow:visible;flex:none}
.im-tabs button[role=tab]{padding:9px 11px !important;min-height:38px;font-size:13px}
.im-tn{font-size:11.5px;color:var(--sub);font-weight:500;margin-left:1px}
.im-tabs button[aria-selected=true] .im-tn{color:var(--txt)}
.im-stores{display:flex;flex-wrap:nowrap;gap:4px;min-width:0;flex:none}
.im-who{display:flex;flex-wrap:nowrap;gap:4px;flex:none}
.im-q{position:relative;display:flex;align-items:center;flex:0 1 200px;width:200px;min-width:120px}
/* 1=1 行 / 2=タブ・担当・検索|店舗 / 3=タブ・担当|店舗・検索 / 4=タブ|担当・検索|店舗 */
.im-tb[data-m="1"] .im-stores{order:2}.im-tb[data-m="1"] .im-who{order:3;margin-left:auto}.im-tb[data-m="1"] .im-q{order:4}
.im-tb[data-m="2"] .im-who{order:2;margin-left:auto}.im-tb[data-m="2"] .im-q{order:3}.im-tb[data-m="2"]::before{display:block;order:4}.im-tb[data-m="2"] .im-stores{order:5}
.im-tb[data-m="3"] .im-who{order:2;margin-left:auto}.im-tb[data-m="3"]::before{display:block;order:3}.im-tb[data-m="3"] .im-stores{order:4}.im-tb[data-m="3"] .im-q{order:5;margin-left:auto;flex:1 1 120px;width:auto;max-width:200px}
.im-tb[data-m="4"]::before{display:block;order:2}.im-tb[data-m="4"] .im-who{order:3}.im-tb[data-m="4"] .im-q{order:4;flex:1 1 120px;width:auto}.im-tb[data-m="4"]::after{display:block;order:5}.im-tb[data-m="4"] .im-stores{order:6;flex-wrap:wrap;flex:1 1 100%}
.im-q svg{position:absolute;left:10px;top:50%;width:15px;height:15px;margin-top:-7.5px;color:var(--sub);pointer-events:none}
#view-improve .im-q input[type=search]{width:100%;box-sizing:border-box;padding:5px 12px 5px 31px;font-size:13px;font-weight:500;min-height:32px}
#view-improve button.im-pl{display:inline-flex;align-items:center;gap:5px;height:30px;min-height:30px;padding:0 10px !important;font-size:12.5px;font-weight:600 !important;color:var(--sub) !important;background:#fff !important;box-shadow:inset 0 0 0 1.5px var(--line) !important;border:0 !important;white-space:nowrap;transform:none !important}
#view-improve button.im-pl:hover:not(:disabled):not(.on){color:var(--txt) !important;box-shadow:inset 0 0 0 1.5px #dcddd6 !important}
#view-improve button.im-pl.on{background:var(--accent) !important;color:#fff !important;box-shadow:none !important}
#view-improve button.im-pl:disabled{opacity:.45;cursor:not-allowed}
.im-pl .yt2-num{font-size:11.5px;font-weight:500}
#view-improve .im-stores button.im-pl{padding:0 8px !important;gap:4px}
.im-pl.on .im-dot{box-shadow:0 0 0 1.5px #fff}
.im-pl svg{width:12px;height:12px;flex:none}
.im-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none}
.yt2-note.im-note{min-height:0;padding:0;line-height:22px}
.im-note.on{padding:6px 2px 0}
.im-nb{height:24px;min-height:24px;padding:0 10px !important;font-size:12px;line-height:22px;vertical-align:middle}
/* ---- アイコンの押しボタン・選択のチェック・アバター ---- */
#imList button.im-ib,#imBar button.im-ib{width:20px;height:20px;min-height:0;padding:0 !important;border:0 !important;border-radius:50% !important;background:transparent !important;box-shadow:none !important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;color:var(--sub) !important;transform:none !important;flex:none}
#imList button.im-ib:hover{background:#efefea !important}
#imList button.im-ib:focus-visible{outline:2px solid rgba(242,92,5,.6);outline-offset:1px}
#imList button.im-av{width:22px;height:22px}
.im-ico{display:block;flex:none}
.im-ck{margin:0 !important;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;user-select:none;-webkit-user-select:none;flex:none}
.im-ck input{width:15px;height:15px;margin:0;cursor:pointer}
.im-avc{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;flex:none;box-sizing:border-box}
.im-avc.none{border:1.5px dashed #b4b6ad;background:transparent}
/* タッチ端末: 見た目は小さくても押す範囲は 40px 以上(透明の当たり判定) */
@media (hover:none) and (pointer:coarse){
  #imList button.im-ib::after,.im-ck::after{content:'';position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px}
  #view-improve button.im-pl{height:36px;min-height:36px}
  #view-improve .im-q input[type=search]{min-height:36px}
}
/* ---- リスト(状態でまとめる) ---- */
.im-list{container-type:inline-size;min-width:0}
.im-gh{position:sticky;top:var(--im-top,52px);z-index:3;display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;background:#fafaf7;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600}
@media (max-width:760px){.im-gh{top:calc(56px + env(safe-area-inset-top))}}
.im-gh b{font-weight:600}
.im-gi{display:inline-flex}
.im-gn{color:var(--sub);font-weight:500;font-size:12px}
#imList button.im-gadd{margin-left:auto;width:26px;height:26px}
.im-r{display:grid;grid-template-columns:20px 20px minmax(0,1fr) auto;grid-template-areas:"ck st tt mt";column-gap:10px;align-items:start;min-height:44px;padding:12px 12px 11px;box-sizing:border-box;border-bottom:1px solid var(--line2);cursor:pointer;position:relative;background:#fff;outline:none;line-height:20px}
.im-r>.im-ck{grid-area:ck}.im-r>.im-sti{grid-area:st}.im-r>.im-rt{grid-area:tt}.im-r>.im-meta{grid-area:mt}
/* 全店表示: 店舗の点+店舗名はアイコンとタスクの文の間(スマホは下の段) */
.im-list.im-st-on .im-r{grid-template-columns:20px 20px 76px minmax(0,1fr) auto;grid-template-areas:"ck st rs tt mt"}
.im-r>.im-rs-a{grid-area:rs;height:20px;min-width:0}
.im-meta .im-rs-b{display:none}
.im-r:hover{background:#fbfbf9}
.im-r.sel{background:#fff4ec}
.im-r.on{box-shadow:inset 2px 0 0 var(--accent)}
.im-r.kf,.im-card.kf{outline:2px solid rgba(242,92,5,.45);outline-offset:-2px}
.im-rt{min-width:0;font-size:13.5px;line-height:20px}
.im-tt{font-size:13.5px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.im-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:20px}
.im-rs{display:inline-flex;align-items:center;gap:5px;min-width:72px;font-size:12px;color:var(--sub);white-space:nowrap}
.im-rd{font-size:12px;color:var(--faint);min-width:38px;text-align:right;white-space:nowrap}
.im-rm{display:inline-flex;width:14px;color:var(--faint)}
.im-r.kept .im-tt,.im-r.kept .im-meta,.im-r.kept .im-sti,.im-card.kept .im-tt,.im-card.kept .im-cm{opacity:.5}
.im-sv{display:inline-block;margin-left:8px;font-size:11.5px;line-height:20px;color:var(--sub);vertical-align:top}
.im-sv.err{color:var(--danger)}
.im-keep{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-left:8px;font-size:11.5px;color:var(--txt);vertical-align:top}
#imList button.im-undo{padding:0 10px !important;font-size:11.5px;height:24px;min-height:24px}
.im-empty{padding:12px;font-size:13px;color:var(--sub);border-bottom:1px solid var(--line2)}
/* スマホ(本文 560px 未満): 行を 2 段(上=アイコン+タスクの文・下=店舗・報告日・担当・メモの印を小さく)。カードにはしない */
@container (max-width:559px){
  .im-r,.im-list.im-st-on .im-r{grid-template-columns:20px 20px minmax(0,1fr);grid-template-areas:"ck st tt" ". . mt";row-gap:4px;padding:10px}
  .im-r>.im-rs-a{display:none}.im-meta .im-rs-b{display:inline-flex}
  .im-r>.im-meta{justify-content:flex-start;gap:12px;height:22px}
  .im-meta .im-rs{order:1;min-width:0}.im-meta .im-rd{order:2;min-width:0;text-align:left}.im-meta .im-av{order:3}.im-meta .im-rm{order:4}
  .im-gh{padding:0 10px}
}
/* 追加の入力の行(まとまりの先頭・列の先頭) */
.im-addrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:8px 12px;border-bottom:1px solid var(--line2);background:#fffaf6}
.im-addi{display:inline-flex;width:20px;justify-content:center;flex:none}
.im-list .im-addrow>.im-addi{margin-left:30px}
input.im-addin{flex:1 1 220px;min-width:140px;box-sizing:border-box;padding:6px 10px;font-size:13.5px;border:1px solid var(--line);border-radius:6px;background:#fff;min-height:32px;font-family:inherit;color:var(--txt)}
input.im-addin:focus{outline:none;border-color:#f7b58a;box-shadow:0 0 0 2px rgba(242,92,5,.18)}
.im-addst{display:flex;flex-wrap:wrap;gap:4px}
#imList button.im-addgo{min-height:32px;padding:0 14px}
#imList button.im-addx{width:32px;height:32px;min-height:32px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center}
.im-addx svg{width:14px;height:14px}
.im-adderr{flex-basis:100%;margin-left:0}
.im-adderr:empty{display:none}
/* ---- ボード(状態の列・横スクロール可) ---- */
.im-board{display:flex;gap:12px;overflow-x:auto;padding:10px 0 8px;align-items:stretch}
.im-col{flex:1 1 0;min-width:260px;max-width:440px;background:#f7f7f4;border-radius:6px;display:flex;flex-direction:column}
.im-col.over{background:#fff1e6;box-shadow:inset 0 0 0 2px rgba(242,92,5,.45)}
.im-ch{display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;font-size:12.5px;font-weight:600}
.im-ch .im-gadd{margin-left:auto}
.im-cb{display:flex;flex-direction:column;gap:6px;padding:0 8px 10px;min-height:88px;flex:1}
.im-cb .im-addrow{border:1px solid var(--line);border-radius:6px;padding:8px}
.im-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px 10px 7px;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none;position:relative}
.im-card:hover{border-color:#dcddd6}
.im-card.on{box-shadow:inset 2px 0 0 var(--accent)}
.im-card .im-tt{display:inline}
.im-ct{font-size:13.5px;line-height:20px}
.im-cm{display:flex;align-items:center;gap:8px;margin-top:6px;min-height:22px}
.im-cm .im-av{margin-left:auto}
.im-cm .im-rs{min-width:0}
.im-cm .im-rd{min-width:0;text-align:left}
.im-card.arm{box-shadow:0 0 0 2px rgba(242,92,5,.35)}
.im-card.drag{opacity:.35}
.im-ghost{position:fixed;z-index:1200;pointer-events:none;box-shadow:0 12px 28px rgba(23,24,26,.18);opacity:.96;margin:0;cursor:grabbing}
/* ---- まとめての操作バー(画面の下に固定の位置・高さぶんの余白は流れの中で常に確保) ---- */
.im-bar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:center;min-height:48px;margin-top:10px;visibility:hidden;pointer-events:none}
.im-bar.on{visibility:visible}
.im-bar-in{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:6px 10px;flex-wrap:wrap;max-width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px 7px 18px;box-shadow:0 10px 28px rgba(23,24,26,.14);font-size:12.5px}
.im-bar:not(.on) .im-bar-in{pointer-events:none}
.im-bn{white-space:nowrap}.im-bn b{font-size:13px}
.im-bst{display:flex;flex-wrap:wrap;gap:4px}
#imBar button.im-bb{display:inline-flex;align-items:center;gap:5px;height:30px;min-height:30px;padding:0 10px !important;font-size:12.5px;font-weight:600 !important;color:var(--txt) !important;background:#fff !important;box-shadow:inset 0 0 0 1.5px var(--line) !important;border:0 !important;white-space:nowrap;transform:none !important}
#imBar button.im-bb:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px #dcddd6 !important}
#imBar button.im-bb:disabled{opacity:.5}
#imBar button.im-bundo{color:var(--accent) !important}
.im-bmsg{color:var(--sub);white-space:normal}
.im-bmsg:empty{display:none}
.im-bmsg.err{color:var(--danger)}
.im-bb svg{flex:none}
/* ---- 状態・担当のメニュー(押した場所の下に出る) ---- */
.im-menu{position:fixed;left:-9999px;top:0;z-index:1300;min-width:210px;max-width:min(320px,calc(100vw - 16px));max-height:min(420px,calc(100vh - 16px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 28px rgba(23,24,26,.16);padding:4px;visibility:hidden;box-sizing:border-box}
.im-menu.open{visibility:visible}
.im-mh{font-size:11px;font-weight:600;color:var(--sub);padding:8px 10px 4px;display:flex;align-items:center;gap:6px}
#imMenu button.im-mi{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:4px 10px !important;border:0 !important;border-radius:4px !important;background:transparent !important;box-shadow:none !important;text-align:left;font-size:13px;font-weight:500 !important;color:var(--txt) !important;transform:none !important;outline:none}
#imMenu button.im-mi.act,#imMenu button.im-mi:hover{background:#f3f2ee !important}
.im-mn{flex:1;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;overflow-wrap:anywhere}
.im-mn small{font-size:11px;color:var(--sub)}
.im-mi kbd{font-family:var(--mono);font-size:11px;color:var(--sub);border:1px solid var(--line);border-radius:3px;padding:0 5px;line-height:16px}
.im-mc{width:14px;color:var(--accent);display:inline-flex;flex:none}
.im-ms{padding:4px 4px 6px;position:sticky;top:-4px;background:#fff;z-index:1}
#imMenu .im-ms input{width:100%;box-sizing:border-box;padding:6px 10px;font-size:13px;border:1px solid var(--line);border-radius:6px;font-weight:500;min-height:32px}
.im-mnone{padding:8px 10px;color:var(--sub);font-size:12.5px}
@media (hover:none) and (pointer:coarse){#imMenu button.im-mi{min-height:42px}}
/* ---- 右の板 ---- */
.yt2-drw.im-drw{width:520px}
.im-dh{gap:2px}
.yt2-dt.im-dt{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--sub);-webkit-line-clamp:unset;overflow:visible}
.im-dtd{color:var(--faint);font-weight:500;margin-left:4px}
#imDrw button.im-nav{width:40px;height:40px;min-width:40px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;flex:none}
#imDrw button.im-nav:disabled{opacity:.35}
.yt2-db.im-db{padding:14px 20px 20px}
textarea.im-dtitle{display:block;width:calc(100% + 12px);box-sizing:border-box;margin:0 -6px;padding:4px 6px;font-size:20px;font-weight:600;line-height:1.4;border:1px solid transparent;border-radius:6px;resize:none;overflow:hidden;font-family:inherit;color:var(--txt);background:transparent;min-height:36px}
textarea.im-dtitle:hover{border-color:var(--line)}
textarea.im-dtitle:focus{outline:none;border-color:#f7b58a;background:#fff;box-shadow:0 0 0 2px rgba(242,92,5,.18)}
.im-dterr{display:block;margin:4px 0 0}
.im-dterr:empty{display:none}
.im-props{display:grid;grid-template-columns:96px minmax(0,1fr);margin:12px 0 0;font-size:13px}
.im-props dt{color:var(--sub);font-size:12.5px;min-height:38px;display:flex;align-items:center}
.im-props dd{margin:0;min-height:38px;padding:3px 0;box-sizing:border-box;display:flex;align-items:center;gap:7px;flex-wrap:wrap;overflow-wrap:anywhere}
.im-dseg{display:flex;flex-wrap:wrap;gap:4px}
#imDrw .im-dseg button{display:inline-flex;align-items:center;gap:5px;height:30px;min-height:30px;padding:0 10px !important;font-size:12.5px;font-weight:600 !important;background:#fff !important;color:var(--sub) !important;box-shadow:inset 0 0 0 1.5px var(--line) !important;border:0 !important;transform:none !important}
#imDrw .im-dseg button.on{color:var(--txt) !important;background:#fff4ec !important;box-shadow:inset 0 0 0 1.5px var(--accent) !important}
#imDrw .im-dseg button.pend{outline:1.5px dashed var(--accent);outline-offset:-3px}
#imDrw button.im-pv{display:inline-flex;align-items:center;gap:8px;height:32px;min-height:32px;padding:0 10px 0 5px !important;font-size:13px;font-weight:500 !important;background:#fff !important;color:var(--txt) !important;box-shadow:inset 0 0 0 1.5px var(--line) !important;border:0 !important;transform:none !important}
.im-dmw{margin-top:6px}
.im-lbl{display:block;font-size:12px;font-weight:600;color:var(--sub);margin:12px 0 6px}
textarea.im-dmemo{display:block;width:100%;box-sizing:border-box;padding:8px 12px;font-size:13.5px;line-height:1.6;border:1px solid var(--line);border-radius:6px;font-family:inherit;resize:vertical;min-height:112px;color:var(--txt);background:#fff}
textarea.im-dmemo:focus{outline:none;border-color:#f7b58a;box-shadow:0 0 0 2px rgba(242,92,5,.18)}
.im-dsv{min-height:22px;text-align:right;font-size:11.5px;line-height:22px;color:var(--sub);margin-top:2px}
.im-dsv.err{color:var(--danger)}
.im-drep{margin-top:8px}
.im-quote{margin:0;border-left:3px solid var(--line);padding:2px 0 2px 14px}
.im-quote h4{margin:12px 0 2px;font-size:12px;font-weight:600;color:var(--sub)}
.im-quote h4:first-child{margin-top:0}
.im-quote p{margin:0;font-size:13px;line-height:1.6}
.im-pre{white-space:pre-wrap;overflow-wrap:anywhere}
.im-dfoot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--sub)}
#imDrw button.im-del{margin-left:auto;color:var(--danger) !important;background:transparent !important;box-shadow:none !important;border:0 !important;font-weight:600 !important;padding:6px 10px !important;min-height:36px}
.im-delcf{flex-basis:100%;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;color:var(--txt);font-size:12.5px}
.im-dconf{background:#fff5f5;border:1px solid #f3c9c9;border-radius:6px;padding:10px 12px;margin:0 0 12px;color:var(--danger)}
.im-dconf b{display:block;font-size:13px;margin-bottom:6px}
.im-dconf dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0;font-size:12px;color:var(--txt)}
.im-dconf dt{color:var(--sub)}.im-dconf dd{margin:0;overflow-wrap:anywhere}
.im-dcact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media (max-width:760px),(hover:none) and (pointer:coarse){   /* 入力は 16px(iPad・スマホで拡大しない) */
  #view-improve .im-q input[type=search],input.im-addin,textarea.im-dmemo,#imMenu .im-ms input{font-size:16px}
  #imDrw .im-dseg button,#imDrw button.im-pv{height:38px;min-height:38px}
  #imBar button.im-bb{height:36px;min-height:36px}
}
/* 店舗管理・ダッシュボードの【タスク】に添える状態のピル(押すと改善リストの板)。見た目は改善リストの状態のアイコンに揃える */
.im-pill{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:10.5px;font-weight:700;padding:0 8px 0 4px;border-radius:999px;line-height:17px;text-decoration:none;vertical-align:1px;border:1px solid var(--line);white-space:nowrap;background:#fff;color:#45483f}
.im-pill:hover{text-decoration:underline}
.im-pill.s-doing{color:#b4470a}.im-pill.s-done{color:#2f6b3f}.im-pill.s-skip{color:var(--sub)}

/* ===== MEO(2026-10-16 方針 docs/plans/2026-10-16_meo-page.md・作り直し 2026-10-16_meo-redesign.md)
   見出しの行(56px: MEO・店舗のセグメント・主操作)→ 上の帯 → 統計の帯(88px)→ 下線のタブ+右にツールバー(44px)→ 本文。
   クチコミ=受信箱(本文 1040px 以上: 左 400px の一覧+右の詳細・それぞれ内側でスクロール・返信の欄は詳細の下に固定 / 未満: 一覧+右の板)。
   イベント・最新情報=写真つきのカード(3/2/1 列・gap 16px・1px 罫線・角丸 8px・影なし)。設定=罫線で区切った行。
   土台: 8px グリッド・余白 16/24・文字 13/14/16/20/26・hairline・角丸 8px・影なし・hover は地の色。オレンジは主操作・選択中・未返信の数だけ。店舗の色は点と頭文字の丸の淡い地だけ。
   … で切るのは一覧の本文の 1 行だけ(全文は右の詳細で読める)。NIGHT OPS の背景・見出しの目盛り・ピルの形は維持 ===== */
#view-meo{min-width:0;container-type:inline-size;--me-hv:#fafaf7;--me-sk:#f0f0ec;--me-ink:#45483f}
/* ---- 見出しの行 ---- */
.me-hd{display:flex;align-items:center;gap:8px 16px;min-height:56px;margin:0;flex-wrap:wrap}
#view-meo .me-hd h1{font-size:20px;font-weight:600;line-height:1.2;margin:0;display:flex;align-items:center;outline:none}
#view-meo .me-hd h1::after{display:inline-block;flex:none;width:121px;height:12px;min-height:0;margin:0 0 0 16px;padding:0}   /* 目盛りの装飾は名前の横へ(高さを取らない) */
.me-hr{margin-left:auto;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;justify-content:flex-end}
.seg.yt2-seg.me-stores button{display:inline-flex;align-items:center;gap:6px;padding:5px 14px !important}
.seg.yt2-seg.me-stores button.active .me-dot{box-shadow:0 0 0 1.5px #fff}
.seg.yt2-seg.me-stores.me-ro button{cursor:default}
.me-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.me-rs{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--sub);white-space:nowrap}
.me-mute{color:var(--faint);font-size:13px}
/* ---- 上の帯(接続/書込の停止=赤・取込の遅れ/更新の失敗=黄) ---- */
.me-alert{display:none;flex-direction:column;gap:8px;margin:0 0 8px}
.me-alert.on{display:flex}
.me-al{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px 4px 12px;border-radius:8px;font-size:13px;font-weight:600;box-sizing:border-box}
.me-al svg,.me-jband svg{width:16px;height:16px;flex:none}
.me-al.bad{background:#fff5f5;border:1px solid #f3c9c9;color:var(--danger)}
.me-al.warn,.me-jband{background:#fffaeb;border:1px solid #f0e2b4;color:#6d5300}
.me-al .me-nb,.me-jband .me-nb{margin-left:auto}
/* ---- 統計の帯(.an-kpi と同じ型: 縦の罫線で分ける・値 26px/500) ---- */
.me-band{margin:0 0 8px}
@container (min-width:720px){.me-kpi{height:88px}}
.me-kpi{display:grid;border:1px solid var(--line);border-radius:8px;background:#fff;min-height:88px;overflow:hidden}
.me-kpi-one{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(200px,1.3fr)}
.me-kpi-st{grid-template-columns:repeat(var(--n,3),minmax(0,1fr)) minmax(160px,.8fr)}
.me-kpi.me-sk{grid-template-columns:repeat(4,1fr)}
.me-kc{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:0 20px;border-left:1px solid var(--line);box-sizing:border-box;text-align:left;color:var(--txt)}
.me-kc:first-child{border-left:0}
#view-meo button.me-kc{background:#fff !important;border:0 !important;border-left:1px solid var(--line) !important;border-radius:0 !important;box-shadow:none !important;font-weight:400 !important;transform:none !important;min-height:0;cursor:pointer;color:var(--txt) !important}
#view-meo button.me-kc:first-child{border-left:0 !important}
#view-meo button.me-kc:hover{background:var(--me-hv) !important}
#view-meo button.me-kc:focus-visible{outline:2px solid rgba(242,92,5,.45);outline-offset:-2px}
.me-kl{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--sub);white-space:nowrap}
.me-kl .me-ks{margin-left:auto}
.me-kv{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.me-kv b{font-size:26px;font-weight:500;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.me-kv small{font-size:13px;color:var(--sub);font-weight:500}
.me-kv.hot b{color:var(--accent)}
.me-kv.zero b{color:var(--faint)}
.me-kstar{font-size:18px;color:var(--me-ink);align-self:center}
.me-kd{font-size:26px}
.me-stop{color:var(--accent) !important;font-weight:600 !important}
.me-delta{font-variant-numeric:tabular-nums}
.me-ks{font-size:13px;color:var(--sub);white-space:nowrap}
.me-ks b{font-weight:600;color:var(--txt);font-variant-numeric:tabular-nums}
.me-ks.hot b{color:var(--accent)}
.me-sync{font-size:13px;color:var(--sub);margin-left:auto;font-variant-numeric:tabular-nums}
.me-kspark .me-kl{justify-content:space-between}
.me-spk{position:relative;display:block;height:40px;min-width:120px;cursor:crosshair;touch-action:pan-y}
.me-spk svg{display:block;width:100%;height:40px;overflow:visible}
.me-spl{fill:none;stroke:var(--me-ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.me-spb{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.me-spx{stroke:#c9cbc2;stroke-width:1;vector-effect:non-scaling-stroke}
.me-spd{fill:var(--me-ink);stroke:#fff;stroke-width:2}
.me-sptip{position:absolute;bottom:calc(100% + 6px);left:0;padding:4px 8px;border-radius:6px;background:var(--txt);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;z-index:2}
.me-sk>div{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 20px;border-left:1px solid var(--line)}
.me-sk>div:first-child{border-left:0}
.me-sk i,.me-sk b,.me-rsk i,.me-csk i{display:block;height:12px;width:56px;border-radius:4px;background:var(--me-sk)}
.me-sk b{height:24px;width:88px}
/* ---- タブ+ツールバー(1 行・狭い幅は折り返す) ---- */
.me-tabrow{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:0;border-bottom:1px solid var(--line);min-height:44px;box-sizing:border-box}
.yt2-tabs.me-tabs{border-bottom:0;margin:0;flex:none;overflow:visible}
.me-tabs button[role=tab]{padding:10px 12px !important;min-height:43px;font-size:14px}
.me-tn{font-size:13px;color:var(--sub);font-weight:500;margin-left:2px;font-variant-numeric:tabular-nums}
.me-tabs button[aria-selected=true] .me-tn{color:var(--txt)}
.me-tn.hot{color:var(--accent) !important;font-weight:600}
.me-tb2{display:flex;align-items:center;gap:8px 12px;flex:1 1 420px;justify-content:flex-end;flex-wrap:wrap;padding:0;min-width:0}
.me-tbf{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}
.seg.yt2-seg.me-seg button{padding:5px 12px !important}
.me-sn{font-size:12px;font-weight:500;margin-left:2px}
.me-stars{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;padding:2px;height:32px;box-sizing:border-box}
#view-meo button.me-stb{display:inline-flex;align-items:center;gap:2px;height:26px;min-height:26px;padding:0 8px !important;border:0 !important;border-radius:999px !important;background:transparent !important;box-shadow:none !important;font-size:12px;font-weight:600 !important;color:var(--faint) !important;transform:none !important}
#view-meo button.me-stb span{color:var(--sub)}
#view-meo button.me-stb:hover:not(.on){background:var(--me-hv) !important;color:var(--sub) !important}
#view-meo button.me-stb.on{background:var(--accent) !important;color:#fff !important}
#view-meo button.me-stb.on span{color:#fff}
.me-q{position:relative;display:flex;align-items:center;flex:0 1 220px;min-width:140px}
.me-q svg{position:absolute;left:10px;top:50%;width:15px;height:15px;margin-top:-7.5px;color:var(--sub);pointer-events:none}
#view-meo .me-q input[type=search]{width:100%;box-sizing:border-box;padding:5px 12px 5px 31px;font-size:13px;font-weight:500;min-height:32px}
/* 知らせ(保存の結果など)=画面の下に浮かべる(高さを動かさない) */
.yt2-note.me-note{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1150;min-height:0;padding:0;margin:0;max-width:calc(100vw - 32px);pointer-events:none}
.yt2-note.me-note.on{padding:8px 16px;border-radius:999px;background:var(--txt);color:#fff;font-size:13px;font-weight:600}
.yt2-note.me-note.on.err{background:var(--danger)}
.me-nb{height:28px;min-height:28px;padding:0 12px !important;font-size:13px;line-height:26px;vertical-align:middle}
/* ---- 本文 ---- */
.me-list{min-width:0;margin-top:3px}
#view-meo:not([data-tab=reviews]) .me-list{margin-top:8px}
.me-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 16px;text-align:center;font-size:14px;color:var(--sub)}
.me-empty svg{width:40px;height:40px;color:#c4c6bd}
.me-empty .me-nb{margin-top:4px}
.me-none{padding:16px 0;font-size:13px;color:var(--faint)}
.me-lim{padding:12px 16px;font-size:13px;color:var(--sub);text-align:center}
.me-more{padding:12px 0;text-align:center}
.me-gn{color:var(--sub);font-weight:500;font-size:13px;margin-left:8px;font-variant-numeric:tabular-nums}
/* クチコミ: 受信箱 */
.me-inbox{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.me-dp{display:none}
@container (min-width:1040px){
  .me-inbox{display:grid;grid-template-columns:minmax(360px,400px) minmax(0,1fr);height:var(--me-ph,600px)}
  .me-lp{border-right:1px solid var(--line);overflow-y:auto;min-height:0}
  .me-dp{display:flex;flex-direction:column;min-width:0;min-height:0}
}
.me-r{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-areas:"av r1" "av r2";grid-template-rows:minmax(20px,auto) minmax(20px,auto);column-gap:12px;row-gap:4px;align-items:center;min-height:72px;padding:13px 16px;box-sizing:border-box;border-bottom:1px solid var(--line2);background:#fff;position:relative;cursor:pointer;outline:none}
.me-r:hover{background:var(--me-hv)}
.me-r:focus-visible{outline:2px solid rgba(242,92,5,.45);outline-offset:-2px}
.me-r.on{box-shadow:inset 2px 0 0 var(--accent);background:#fff8f2}
.me-r>.me-av{grid-area:av;align-self:start}
.me-av{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:13px;font-weight:700;color:var(--me-ink);flex:none;line-height:1}
.me-av.big{width:40px;height:40px;font-size:16px}
.me-r1{grid-area:r1;display:flex;align-items:baseline;gap:8px;min-width:0;line-height:20px}
.me-who{font-size:14px;font-weight:600;overflow-wrap:anywhere;min-width:0}
.me-rst{font-size:13px;color:var(--sub);white-space:nowrap}
.me-rt{margin-left:auto;font-size:13px;color:var(--faint);white-space:nowrap;flex:none}
.me-r2{grid-area:r2;display:flex;align-items:center;gap:8px;min-width:0;line-height:20px}
.me-rx{flex:1 1 auto;min-width:0;font-size:13px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}   /* 一覧の本文の 1 行だけ … で切る(全文は右の詳細) */
.me-rx.none{color:var(--faint)}
.me-state{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:13px;font-weight:600;white-space:nowrap}
.me-state i{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.me-state.s-open{color:var(--accent)}
.me-state.s-pend{color:var(--sub)}
.me-state.s-rej{color:var(--danger)}
.me-rsk{cursor:default}
.me-rsk .me-av{background:var(--me-sk)}
.me-rsk .me-r2 i{width:70%}
.me-star{display:inline-flex;align-items:center;letter-spacing:0;white-space:nowrap;line-height:1}
.me-star.sm{font-size:12px}
.me-star.lg{font-size:16px}
.me-sf{color:var(--me-ink)}.me-se{color:#d9dad3}
/* 右の詳細(2 ペイン) */
.me-dph{display:flex;align-items:center;min-height:64px;padding:12px 24px;border-bottom:1px solid var(--line);box-sizing:border-box}
.me-dhw{display:flex;align-items:center;gap:12px;min-width:0}
.me-dhn{display:flex;flex-direction:column;gap:2px;min-width:0}
.me-dhn b{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.me-dhm{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--sub)}
.me-dpb{flex:1 1 auto;min-height:0;overflow-y:auto;padding:24px 24px 32px}   /* 端まで来たらページへ渡す(contain だとページが少しずれた時に戻せなくなった 2026-10-24) */
.me-dpf{flex:none;border-top:1px solid var(--line);padding:12px 24px 16px;background:#fff}
.me-dp.empty .me-dpb{display:flex;align-items:center;justify-content:center}
.me-dp.empty .me-dph,.me-dp.empty .me-dpf{display:none}
.me-dpe{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--sub);font-size:14px}
.me-dpe svg{width:40px;height:40px;color:#c4c6bd}
.me-dpk{display:flex;gap:4px;margin-top:4px}
kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:#fff;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--sub);box-sizing:border-box}
.me-rvb{display:flex;flex-direction:column;gap:8px}
.me-full{margin:0;max-width:44em;font-size:16px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--txt)}
.me-bub{max-width:44em;margin-top:24px;padding:12px 16px;border-radius:8px;background:#f5f5f2;font-size:14px;line-height:1.7}
.me-bubh{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:13px}
.me-bubh b{font-weight:600}
.me-bubh .me-mute{margin-left:auto}
.me-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.me-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--me-ink);box-sizing:border-box}
.me-pill.s-open{border-color:var(--accent);color:#b4470a;background:#fff4ec}
.me-pill.s-ok{color:#2f6b3f}
.me-pill.s-pend{color:var(--sub)}
.me-pill.s-rej{border-color:#f3c9c9;color:var(--danger);background:#fff5f5}
/* 返信の欄(右の詳細の下・右の板の下に固定) */
.me-cmp{display:flex;flex-direction:column;gap:8px}
textarea.me-ta{display:block;width:100%;box-sizing:border-box;padding:10px 12px;font-size:14px;line-height:1.65;border:1px solid var(--line);border-radius:8px;font-family:inherit;resize:none;overflow-y:hidden;min-height:90px;color:var(--txt);background:#fff}
textarea.me-ta:focus,input.me-in:focus{outline:none;border-color:#f7b58a;box-shadow:0 0 0 2px rgba(242,92,5,.18)}
.me-cbar{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.me-taw{max-width:44em;margin-top:24px}   /* 返信の欄は本文と同じスクロールの中(中身に合わせて伸びる=欄の中に別のスクロールを作らない) */
.me-cbar{flex-wrap:nowrap}
@media (max-width:479px){.me-cbar{flex-wrap:wrap}}
#view-meo .me-dr,#meDrw .me-dr{display:inline-flex;align-items:center;gap:6px}
.me-dr svg{width:16px;height:16px;flex:none}
.me-cbar .me-cnt{margin:0;flex:none}
.me-cbar .me-cmsg{flex:1 1 0;min-width:0;font-size:13px;line-height:1.4}
.me-cbar [data-act="send"]{margin-left:auto}
#view-meo button.me-danger,#meDrw button.me-danger{color:var(--danger) !important}
.me-cnt{display:block;text-align:right;font-size:13px;color:var(--sub);min-height:18px;font-variant-numeric:tabular-nums}
.me-cnt.err{color:var(--danger);font-weight:600}
.me-conf{background:#fff5f5;border:1px solid #f3c9c9;border-radius:8px;padding:12px 16px;margin:16px 0 0;color:var(--danger)}
#meRvConf .me-conf{max-width:44em;margin:24px 0 0}
.me-conf b{display:block;font-size:13px;margin-bottom:8px}
.me-conf dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:13px;color:var(--txt)}
.me-conf dt{color:var(--sub)}.me-conf dd{margin:0;overflow-wrap:anywhere}
.me-okbox{background:#f3faf4;border:1px solid #cfe6d4;border-radius:8px;padding:12px 16px;margin:0 0 16px;color:#2f6b3f;font-size:13px}
.me-info{font-size:13px;color:var(--sub);margin:16px 0 0}
.me-warn{font-size:13px;color:var(--danger);margin:8px 0 0}
.me-lbl{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--sub);margin:0 0 4px}
.me-lbl svg{width:15px;height:15px}
.me-draft{max-width:44em;margin-top:24px;border:1px dashed #d8d9d2;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.7;background:#fcfcfa}
.me-dcact{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.me-delcf{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;font-size:13px;background:#fff}
/* キーボードの一覧(?) */
.me-keys{position:fixed;right:24px;bottom:24px;z-index:1150;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:none}
.me-keys.open{display:block}
.me-keys dl{display:grid;grid-template-columns:auto auto;gap:8px 16px;margin:0;font-size:13px;align-items:center}
.me-keys dt{display:flex;gap:4px}.me-keys dd{margin:0;color:var(--sub)}
/* ---- イベント・最新情報: カード ---- */
.me-sec{margin:0 0 24px}
.me-sh{display:flex;align-items:center;font-size:14px;font-weight:600;margin:16px 0 12px;padding:0;border:0;color:var(--txt)}
.me-sh::after,.me-sh::before{display:none !important}
.me-sec:first-child .me-sh,.me-jband+.me-sec .me-sh{margin-top:8px}
.me-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@container (min-width:600px){.me-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (min-width:1040px){.me-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.me-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;cursor:pointer;outline:none;transition:border-color .12s}
.me-card:hover{border-color:#cfd1c8}
.me-card:focus-visible{outline:2px solid rgba(242,92,5,.45);outline-offset:1px}
.me-card.on{border-color:var(--accent)}
.me-cph{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#f3f3ef;color:#c4c6bd;overflow:hidden;border-bottom:1px solid var(--line2)}
.me-cph img{width:100%;height:100%;object-fit:cover;display:block}
.me-cph svg{width:32px;height:32px}
.me-cb{display:flex;flex-direction:column;gap:8px;padding:16px;flex:1 1 auto}
.me-ct{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.me-cx{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.me-cd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--sub);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.01em}
.me-live{font-family:inherit;font-size:12px;font-weight:700;color:var(--txt);border:1px solid var(--txt);border-radius:999px;padding:0 8px;line-height:20px;letter-spacing:0}
.me-cdiff{font-size:13px;color:#6d5300}
.me-cf{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px}
.me-cs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0}
.me-org{font-size:13px;color:var(--faint)}
.me-cst{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;flex:none}
.me-csk{cursor:default}
.me-csk .me-cb i:first-child{width:70%}.me-csk .me-cb i:last-child{width:40%}
.me-jband{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 8px 4px 12px;border-radius:8px;font-size:13px;font-weight:600;margin:0 0 8px;box-sizing:border-box}
/* ---- 設定: 罫線で区切った行 ---- */
.me-set{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.me-srow{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);column-gap:16px;row-gap:8px;align-items:center;min-height:56px;padding:12px 16px;border-top:1px solid var(--line2);box-sizing:border-box;font-size:14px}
.me-srow:first-child{border-top:0}
.me-shd{min-height:40px;padding-top:8px;padding-bottom:8px;font-size:13px;font-weight:600;color:var(--sub);background:var(--me-hv)}
.me-sone{display:flex}
.me-sst{display:flex;align-items:center;font-weight:600}
.me-sst .me-rs{font-size:14px;color:var(--txt)}
.me-ssw{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.me-smsg{font-size:13px;color:var(--sub)}
.me-smsg.err{color:var(--danger)}
.me-ssync{font-size:13px;color:var(--sub)}
.me-cmd{font-size:13px;color:var(--sub);grid-column:span 2}
.me-cmd code{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f3ef;border-radius:4px;padding:2px 6px;color:var(--txt);overflow-wrap:anywhere}
.me-sjm{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;overflow-wrap:anywhere}
.me-sjm b{font-size:14px}
.me-sact{display:flex;justify-content:flex-end}
.me-rsk.me-srow i{width:50%}
#view-meo button.me-sw{width:44px;height:24px;min-height:24px;border-radius:999px !important;position:relative;background:#dcdee3 !important;border:none !important;box-shadow:none !important;padding:0 !important;flex:none;transform:none !important}
#view-meo button.me-sw::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:left .15s}
#view-meo button.me-sw.on{background:var(--accent) !important}
#view-meo button.me-sw.on::after{left:22px}
#view-meo button.me-sw:disabled{opacity:.5}
#view-meo button.me-sw::before{content:'';position:absolute;inset:-10px -4px}
#view-meo button.me-sw:focus-visible{outline:2px solid rgba(242,92,5,.6);outline-offset:2px}
/* ---- 狭い幅 ---- */
@container (max-width:1039px){
  .me-kpi-one{grid-template-columns:repeat(4,minmax(0,1fr))}
  .me-kpi-one .me-kspark{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);flex-direction:row;align-items:center;gap:16px}
  .me-kpi-one .me-kspark .me-spk{flex:1 1 auto}
  .me-kpi-one .me-kspark .me-kl{flex:none;gap:12px}
}
@container (max-width:719px){
  .me-kpi-one,.me-kpi-st,.me-kpi.me-sk{grid-template-columns:repeat(2,minmax(0,1fr))}   /* 2×2 */
  .me-kpi>.me-kc:nth-child(2n+1),.me-kpi.me-sk>div:nth-child(2n+1),#view-meo .me-kpi>button.me-kc:nth-child(2n+1){border-left:0 !important}
  .me-kpi>.me-kc:nth-child(n+3),.me-kpi.me-sk>div:nth-child(n+3){border-top:1px solid var(--line)}
  #view-meo .me-kpi>button.me-kc:nth-child(n+3){border-top:1px solid var(--line) !important}
  .me-kpi-st[style*="--n:2"] .me-ktot{grid-column:1/-1}
  .me-kc{padding:12px 16px;min-height:76px}
  .me-kpi-one .me-kspark{grid-column:1/-1;border-left:0 !important;border-top:1px solid var(--line)}
  .me-tb2{flex-basis:100%;justify-content:flex-start;padding:8px 0}
  .me-tbf{display:contents}
  .me-q{flex:1 1 120px;min-width:120px;max-width:none}
  .me-hr{display:contents}   /* 見出しの行: MEO と主操作を 1 行目・店舗のセグメントを 2 行目に(主操作が隠れていても高さを取らない) */
  #meAdd{margin-left:auto}
  .seg.yt2-seg.me-stores{order:3;flex:1 1 100%;margin-bottom:8px;justify-content:flex-start;background:transparent !important;box-shadow:none;padding:0}
  .seg.yt2-seg.me-stores button{flex:none}
  .me-hd{min-height:48px}
  .me-srow{grid-template-columns:1fr 1fr}
  .me-srow .me-sst{grid-column:1/-1}
  .me-shd{display:none}
  .me-cmd{grid-column:1/-1}
  .me-r{padding:12px 16px}
}
@container (max-width:479px){
  .seg.yt2-seg.me-seg{flex:1 1 100%}
  .seg.yt2-seg.me-seg button{flex:1 1 auto;justify-content:center}
}
/* ---- 右の板(狭い幅のクチコミ・作る/直す) ---- */
.yt2-drw.me-drw{width:560px}
.yt2-dt.me-dt{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--txt);-webkit-line-clamp:unset;overflow:visible;flex-wrap:wrap;min-width:0}
.yt2-db.me-db{padding:16px 24px 24px}
.yt2-df.me-df{flex-wrap:wrap;gap:8px 12px;padding:12px 24px}
.yt2-df.me-df.me-cmp{flex-direction:column;align-items:stretch}
.yt2-df.me-df .yt2-dst{flex:1 1 120px;min-width:0}
.me-f{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:16px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line2)}
.me-f:last-of-type{border-bottom:0}
.me-fl{font-size:13px;font-weight:600;color:var(--sub);padding-top:8px}
.me-fv{display:flex;flex-direction:column;gap:4px;min-width:0}
input.me-in{box-sizing:border-box;padding:7px 10px;font-size:14px;border:1px solid var(--line);border-radius:8px;min-height:36px;font-family:inherit;color:var(--txt);background:#fff;width:100%}
.me-chips{display:flex;flex-wrap:wrap;gap:4px;padding-top:2px}
#meDrw button.me-pl{display:inline-flex;align-items:center;gap:6px;height:32px;min-height:32px;padding:0 12px !important;font-size:13px;font-weight:600 !important;color:var(--sub) !important;background:#fff !important;box-shadow:inset 0 0 0 1.5px var(--line) !important;border:0 !important;white-space:nowrap;transform:none !important}
#meDrw button.me-pl:hover:not(:disabled):not(.on){color:var(--txt) !important;box-shadow:inset 0 0 0 1.5px #dcddd6 !important}
#meDrw button.me-pl.on{background:var(--accent) !important;color:#fff !important;box-shadow:none !important}
.me-pl.on .me-dot{box-shadow:0 0 0 1.5px #fff}
.me-dates{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.me-dt1{display:flex;gap:4px;flex:0 1 auto;min-width:0}
.me-dates input.me-in{width:148px;flex:0 1 148px;min-width:0}
.me-dates input.me-tm{width:100px;flex:0 1 100px}
.me-dsep{color:var(--sub)}
.me-photo{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
label.me-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;aspect-ratio:16/9;border:1.5px dashed #d2d4cb;border-radius:8px;background:#fafaf7;color:var(--sub);font-size:13px;font-weight:600;cursor:pointer;margin:0;overflow:hidden;box-sizing:border-box;text-align:center;padding:8px}
label.me-drop:hover{border-color:#b9bbb2}
label.me-drop svg{width:28px;height:28px;color:#b4b6ad}
label.me-drop.has{padding:0;border-style:solid;border-color:var(--line)}
label.me-drop.has img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
label.me-drop.has span{position:absolute;left:8px;bottom:8px;background:rgba(23,24,26,.72);color:#fff;border-radius:999px;padding:2px 10px}
label.me-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
label.me-drop:focus-within{outline:2px solid rgba(242,92,5,.45);outline-offset:2px}
label.me-drop.busy{opacity:.6;pointer-events:none}
.seg.yt2-seg.me-ctaseg{align-self:flex-start}
.me-meta{font-size:13px;color:var(--sub);margin-top:12px;overflow-wrap:anywhere}
.me-res{display:flex;flex-direction:column;gap:4px;color:var(--txt)}
.me-resr{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:13px;min-height:28px}
.me-resr .me-rs{min-width:72px}
.me-ok{color:#2f6b3f}.me-ng{color:var(--danger)}
@media (max-width:760px),(hover:none) and (pointer:coarse){
  #view-meo .me-q input[type=search],textarea.me-ta,input.me-in{font-size:16px}
  #meDrw button.me-pl{height:40px;min-height:40px}
  #view-meo button.me-stb{height:32px;min-height:32px;padding:0 10px !important}
  .me-stars{height:38px}
}
@media (max-width:760px){.yt2-drw.me-drw{width:auto}.yt2-db.me-db{padding:16px}.yt2-df.me-df{padding:12px 16px}.me-f{grid-template-columns:1fr;row-gap:4px}.me-fl{padding-top:0}}
@media (prefers-reduced-motion:reduce){.me-card{transition:none}#view-meo button.me-sw::after{transition:none}}
/* 分析のタブ(2026-10-24〜25)の css は 2026-10-25 に集客分析へ移した(marketing.css の .me-instate / .me-intbl / .me-kwtbl)。タブは 4 つに戻ったので狭い幅の横送りの規則も外した */

/* マーケティング(アクセス解析・検索分析・GTM・ブログ 2026-10-16 方針 docs/plans/2026-10-15_marketing.md)
   SNS 分析と同じ文法: 上に数字のまとめ(.an-kpi)、下に罫線区切りの表(.an-tbl)。角丸カードで区切らない。色は既存のトークンだけ。
   成果は 1 色の濃淡・前期比は緑/赤に符号と文字を添える。数字は右揃え・桁区切り。スマホ幅は表をやめて 1 件 1 カード(横スクロールなし)・まとめは 2 列。 */
.mk-tb .yt2-tr{gap:12px}
.mk-last{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.mk-per{display:block;font-size:11.5px;color:var(--sub);margin:12px 0 8px;font-variant-numeric:tabular-nums}
.mk-kpi{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mk-kpi .s{white-space:normal}
.mk-sec{border-top:1px solid var(--line);padding:16px 0 8px;margin-top:8px}
.mk-sec .an-head{margin-bottom:8px}
.mk-tbl th,.mk-tbl td{padding:8px 10px}
.mk-tbl th.n,.mk-tbl td.n{text-align:right}
.mk-tbl td.mk-c-main{font-weight:600}
.mk-q{word-break:break-all}
.mk-barh{width:30%}.mk-barc{width:30%}
.mk-bar{display:block;height:8px;border-radius:2px;background:var(--line2);overflow:hidden}
.mk-bar i{display:block;height:100%;background:#2a78d6}
.mk-d{font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.mk-d.up{color:#1b7f3b}.mk-d.dn{color:#c62828}.mk-d.flat{color:var(--sub);font-weight:500}
.mk-empty{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0}
.mk-empty b{font-size:15px}.mk-empty span{font-size:12.5px;color:var(--sub);max-width:72ch;line-height:1.7}
.mk-fail{color:var(--danger);font-size:12.5px;padding:6px 0;line-height:1.6}
.mk-warn{color:var(--danger);font-weight:600}
.mk-warnbar{border-left:3px solid var(--danger);padding:8px 12px;margin:12px 0;font-size:12.5px;color:var(--danger);background:#fff7f7}
.mk-note{font-size:11.5px;color:var(--sub);line-height:1.7;margin:8px 0;max-width:96ch}
.mk-sub{margin-top:8px}
.mk-tag{display:inline-block;font-size:10.5px;font-weight:600;padding:0 6px;border:1px solid var(--line);border-radius:999px;color:var(--sub);vertical-align:1px}
.mk-odd td,.mk-bad td{background:#fff7f7}
.mk-ng{color:var(--danger)}.mk-ok{color:#1b7f3b}
.mk-paused td{color:var(--sub)}
.mk-more{text-align:center;padding:12px 0}
#mkGtmLink{white-space:nowrap}
@media (max-width:640px){
  .mk-sec .an-head{flex-wrap:wrap;row-gap:2px}.mk-sec .an-head .m{white-space:normal;margin-left:0}
  .mk-tb .yt2-tr .mk-last{white-space:normal}
  .mk-tb{grid-template-columns:minmax(0,1fr);grid-template-areas:"tl" "tm" "tr"}.mk-tb .yt2-tl{white-space:normal;min-width:0}.mk-tb .yt2-tr{justify-content:space-between}
  .mk-tb .seg{flex-wrap:nowrap;width:100%;box-sizing:border-box}.mk-tb .seg button{padding:6px 4px !important;font-size:12px;min-width:0;flex:1 1 auto}
  .mk-tbl thead{display:none}
  .mk-tbl,.mk-tbl tbody,.mk-tbl tr,.mk-tbl td{display:block;width:auto}
  .mk-tbl tr{border-bottom:1px solid var(--line);padding:10px 0}
  .mk-tbl td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .mk-tbl td::before{content:attr(data-l);color:var(--sub);font-size:11.5px;font-weight:500;text-align:left;flex:none}
  .mk-tbl td.mk-c-main{display:block;text-align:left;font-size:14px;padding-bottom:4px}
  .mk-tbl td.mk-c-main::before{content:none}
  .mk-tbl td.mk-c-main{white-space:normal}   /* 2026-10-24: 長い検索語・サイト名とタグを折り返す(375 幅で切れていた) */
  .mk-tbl td.mk-barc{display:block}.mk-tbl td.mk-barc::before{content:none}
  .mk-tbl td.mut{font-size:11.5px}
  .mk-tbl tbody tr:hover td{background:transparent}
}
/* ---- 2026-10-24 集客分析の作り直し(方針 docs/plans/2026-10-24_acquisition-analytics.md C2〜C5) ---- */
/* 出どころの帯: 1 行・淡い灰色の小さな文字のチップ */
.mk-src{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:4px 0 10px;font-size:11.5px;color:var(--sub);line-height:1.6}
.mk-chip{display:inline-flex;align-items:center;font-size:11.5px;color:var(--sub);background:#f4f4f1;border-radius:4px;padding:1px 7px;white-space:nowrap;font-variant-numeric:tabular-nums}
.mk-src .mk-chip{white-space:normal;max-width:100%;box-sizing:border-box}   /* 帯のチップは折り返す(長い文で横にはみ出さない) */
.mk-sep{color:var(--line)}
.mk-mut{color:var(--sub)}
/* 説明の「?」: 見た目 16px の線画の丸・押せる範囲 32px(タッチの端末は 44px)。位置は動かさない(余白は負のマージンで打ち消す) */
.mk-qb{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-8px -6px -8px -4px;padding:0;border:0;background:transparent;color:var(--sub);cursor:pointer;border-radius:50%;vertical-align:middle;flex:none}
button.mk-qb,button.mk-qb:not(.ghost):not(.adjbtn):not(.swb){background:transparent!important;border:0!important;box-shadow:none!important;min-height:0;min-width:0}   /* テーマの button(灰色の丸・影)を打ち消す */
.mk-qb svg{width:16px;height:16px;display:block}
button.mk-qb:not(.ghost):not(.adjbtn):not(.swb){color:var(--sub)}
button.mk-qb:not(.ghost):not(.adjbtn):not(.swb):hover,button.mk-qb:not(.ghost):not(.adjbtn):not(.swb)[aria-expanded="true"]{color:var(--txt)}
.mk-qb:focus-visible{outline:2px solid var(--accent);outline-offset:-6px}
@media (pointer:coarse){.mk-qb{width:44px;height:44px;margin:-14px -12px -14px -10px}}
.mk-pop{position:absolute;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.7;color:var(--txt);box-shadow:0 6px 20px rgba(16,24,40,.12);box-sizing:border-box}
.mk-pop b{display:block;font-size:12.5px;margin-bottom:2px}.mk-pop span{display:block;color:var(--sub)}
.mk-sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.mk-subrow td{color:var(--sub)}
/* 折れ線(高さは幅に合わせる=縦横比を保つ) */
.mk-line .kk-svg.mk-lsvg{height:auto;min-width:0}
.mk-lsvg .mk-elab{font-size:11px;fill:var(--sub)}
.mk-lsvg .mk-cx{stroke:#b9b8b0;stroke-width:1}
.mk-legend{margin:0 0 6px}
/* 集客の流れ: 5 つの段の横並び(段の間は細い矢印だけ)。主役=段の大きな数字。狭い幅は縦に積む */
.fn-flow{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);align-items:stretch;margin:6px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fn-st{padding:14px 12px 12px;min-width:0;display:flex;flex-direction:column;gap:2px}
.fn-h{display:flex;align-items:flex-start;gap:6px;min-height:56px}   /* 2026-10-25: 段の名前は 2〜3 行に折り返すので、横並びの時は 3 行分を確保して大きな数字の高さを揃える */
.fn-h h2{margin:0;font-size:13px;font-weight:600;color:var(--txt);line-height:1.4;min-width:0}   /* 2026-10-25: 段の名前は長くなった(回数/件数・どこで)ので折り返す */
.fn-no{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums}
.fn-big{font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:1.15;margin-top:6px;white-space:nowrap}
.fn-big small{font-size:12px;color:var(--sub);margin-left:3px;letter-spacing:0}
.fn-diff{min-height:18px}
.fn-lines{border-top:1px solid var(--line2);margin-top:6px;padding-top:6px;display:flex;flex-direction:column;gap:3px}
.fn-li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;font-size:11.5px;align-items:center}
.fn-ll{color:var(--sub);min-width:0;display:flex;align-items:center}
.fn-lv{text-align:right;font-variant-numeric:tabular-nums;color:var(--txt)}
.fn-ld{grid-column:1/-1;text-align:right;min-height:0}.fn-ld:empty{display:none}
.fn-note{font-size:11px;color:var(--sub);margin-top:2px}
.fn-rates{border-top:1px solid var(--line2);margin-top:6px;padding-top:6px;display:flex;flex-direction:column;gap:2px}
.fn-rate{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--sub)}.fn-rate>span{display:flex;align-items:center;flex:1;min-width:0}
.fn-rate b{font-weight:600;color:var(--txt);font-variant-numeric:tabular-nums}.fn-rate small{font-size:11px}
.fn-src{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:8px}
.fn-link{font-size:12px;margin-top:6px;color:var(--txt);text-decoration:underline;text-underline-offset:2px}
.fn-arw{display:flex;align-items:center;justify-content:center;color:#b9b8b0}.fn-arw svg{width:16px;height:16px}
.fn-sk .fn-st i,.fn-sk .fn-st b{display:block;background:#f1f1ee;border-radius:3px;height:12px;margin:6px 0}.fn-sk .fn-st b{height:28px;width:60%}
.fn-tl{list-style:none;margin:0;padding:0}
.fn-tl li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13px;line-height:1.6}
.fn-tl li:last-child{border-bottom:0}.fn-tl li>span:nth-child(2){flex:1;min-width:0}.fn-tl a{white-space:nowrap;font-size:12px}
.fn-tbl td.n div{min-height:0}
@media (max-width:1180px){.fn-big{font-size:24px}.fn-st{padding:12px 8px}}
@media (max-width:980px){
  .fn-flow{grid-template-columns:minmax(0,1fr)}
  .fn-arw{height:18px}.fn-arw svg{transform:rotate(90deg)}
  .fn-st{border-bottom:1px solid var(--line2)}
  .fn-h{min-height:20px}
}
@media (max-width:640px){.fn-tl li{flex-wrap:wrap}.mk-src{flex-wrap:wrap}}
.fn-st .fn-link{display:inline-block;margin-right:12px}
/* ---- 2026-10-25 集客分析(方針 docs/plans/2026-10-25_marketing-redesign.md E4): 見出しの行・対象スイッチャー 2 段・要点・破線の折れ線・よく見られたページ ---- */
.mkt-hd{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0 0 8px}
.mkt-hd h1{margin:0}
.mkt-hr{margin-left:auto;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;justify-content:flex-end}
.mkt-sw{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.seg.yt2-seg.mkt-stores{align-self:flex-start;min-height:32px}
.mkt-kinds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#view-mkt button.mkt-kb{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px !important;border:1px solid var(--line) !important;border-radius:8px !important;background:#fff !important;box-shadow:none !important;color:var(--txt) !important;text-align:left;font-weight:500 !important;transform:none !important;min-width:0;cursor:pointer}
#view-mkt button.mkt-kb .ic{display:flex;flex:none;width:16px;height:16px;color:var(--sub)}
#view-mkt button.mkt-kb .ic svg{width:16px;height:16px}
#view-mkt button.mkt-kb .t{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.3}
#view-mkt button.mkt-kb .t b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-mkt button.mkt-kb .t small{font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
#view-mkt button.mkt-kb:hover:not(:disabled):not(.active){border-color:#cfd1c8 !important}
#view-mkt button.mkt-kb.active{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important}
#view-mkt button.mkt-kb.active .ic{color:var(--accent)}
#view-mkt button.mkt-kb:disabled{cursor:default;color:var(--faint) !important;background:#fafaf7 !important}
#view-mkt button.mkt-kb:disabled .ic,#view-mkt button.mkt-kb:disabled .t small{color:var(--faint)}
#view-mkt button.mkt-kb:focus-visible{outline:2px solid rgba(242,92,5,.45);outline-offset:1px}
.mkt-head{margin:0 0 4px}
.mkt-h2{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;margin:0;font-size:18px;font-weight:600;line-height:1.4;color:var(--txt)}
.mkt-h2 .mkt-dot{color:var(--sub);font-weight:400}
.mkt-url{font-size:12.5px;font-weight:500;color:var(--sub);text-decoration:underline;text-underline-offset:2px;word-break:break-all}
a.mkt-url:hover{color:var(--txt)}
.mkt-per{display:flex;flex-wrap:wrap;gap:4px 6px;margin:6px 0 0}
.mkt-sum{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:10px 0 12px}
.mkt-sum p{margin:0;max-width:72ch;font-size:14px;line-height:1.8;color:var(--txt)}
.mkt-sum .yt2-num{font-variant-numeric:tabular-nums}
.mkt-more{white-space:nowrap;color:var(--txt);text-decoration:underline;text-underline-offset:2px;font-size:13px}
.mkt-msg{padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;font-size:14px;color:var(--txt);line-height:1.7}
.mkt-pre{font-size:18px;color:var(--sub);font-weight:500}
.mkt-grid{margin-top:8px}
.mkt-grid .an-card{border:0;padding:0}
.mkt-grid .an-head .m{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;white-space:normal}
.mkt-detail{margin-top:16px}
.mkt-detail>.an-head .m{white-space:normal}
.mkt-pages td.mkt-path{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12px;font-weight:500;overflow-wrap:anywhere;word-break:break-all}
.mkt-ch .mk-barh,.mkt-ch .mk-barc{width:26%}
.mk-leg-dash{display:inline-block;width:14px;height:0;border-top:2px dashed #b9b8b0;vertical-align:middle;margin-right:5px}
.mk-tip-p{margin-top:4px;color:var(--sub)}
.mk-tip-dash{display:inline-block;width:10px;height:0;border-top:2px dashed #b9b8b0;vertical-align:middle;margin-right:6px}
.mkt-sk .an-kpi>div i,.mkt-sk .an-kpi>div b{display:block;background:#f1f1ee;border-radius:3px;height:12px;margin:6px 0;width:60%}
.mkt-sk .an-kpi>div b{height:26px;width:50%}
.mkt-skc{height:190px;border:1px solid var(--line2);border-radius:6px;background:#fafaf8;margin:12px 0}
/* Google マップの対象(旧 MEO の分析の css を移した) */
.me-instate{display:flex;flex-direction:column;gap:4px;margin:6px 0 10px}
.me-instate .me-al{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;padding:8px 12px;border-left:3px solid var(--line);background:#fafaf8;line-height:1.6;border-radius:0}
.me-instate .me-al svg{width:16px;height:16px;flex:none;margin-top:3px}
.me-instate .me-al small{display:block;color:var(--sub);font-size:11.5px}
.me-instate .me-al.bad{border-left-color:var(--danger);color:var(--danger);background:#fff7f7;border-top:0;border-right:0;border-bottom:0}
.me-instate .me-al.warn{border-left-color:#c98500;color:#7a5200;background:#fffaf0;border-top:0;border-right:0;border-bottom:0}
.me-instate .me-al.info{color:var(--txt)}
.me-intbl{margin-top:8px}
.me-kwtbl td.n,.me-kwtbl th.n{text-align:right}
@media (max-width:900px){.mkt-kinds{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .mkt-hd h1{flex:1 1 100%}
  .mkt-hr{margin-left:0;justify-content:flex-start;flex:1 1 100%}
  .mkt-hr .seg{flex:1 1 100%}
  .mkt-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}   /* 375px は 2 列(順番は同じ・高さ 44px 以上) */
  #view-mkt button.mkt-kb{min-height:52px}
  .mkt-h2{font-size:16px}
  .seg.yt2-seg.mkt-stores{align-self:stretch}
  .seg.yt2-seg.mkt-stores button{flex:1 1 auto;min-width:0;padding:6px 4px !important;font-size:12px}
}
/* ---- 2026-10-28 店舗ごとのページ・ページの中・予約の手順(方針 docs/plans/2026-10-28_onpage-analytics.md A・G) ---- */
.mkt-h1st{display:inline-flex;align-items:center;gap:7px;font-size:18px;font-weight:600;color:var(--txt);line-height:1.3;min-height:24px}
.mkt-h1st i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#b9b8b0;flex:none}
.mkt-h1st.cmp i{background:transparent;border:1.5px solid #b9b8b0;box-sizing:border-box}
.mkt-kinds{grid-template-columns:repeat(7,minmax(0,1fr))}
/* 段ごとの到達率の縦の帯(ページの縮図: 上から下へ 1 行 1 段・1 行 40px)。棒は 1 色の濃淡(順次)・数値は右の列・棒の中に数字を置かない */
.mkt-reach{border-top:1px solid var(--line);margin:4px 0 0}
.mkt-reach .rr{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr) 64px 72px 72px minmax(120px,1fr);align-items:center;gap:0 12px;min-height:40px;border-bottom:1px solid var(--line2);padding:4px 0;font-size:12.5px}
.mkt-reach .rr.hd{min-height:28px;font-size:11px;color:var(--sub);font-weight:500;border-bottom:1px solid var(--line)}
.mkt-reach .rr.base{background:#fafaf8}
.mkt-reach .rn{font-weight:600;min-width:0;display:flex;align-items:center;gap:4px}
.mkt-reach .rn small{font-weight:500;color:var(--sub);font-size:11px}
.mkt-reach .rb{display:block;height:10px;border-radius:0 4px 4px 0;background:var(--line2);overflow:hidden;position:relative}
.mkt-reach .rb i{display:block;height:100%;border-radius:0 4px 4px 0;background:#2a78d6}
.mkt-reach .rb.z{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.mkt-reach .rv{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mkt-reach .rv b{font-weight:600}
.mkt-reach .rv .mk-d{display:block;font-size:11px}
.mkt-reach .rv .mut,.mkt-reach .rc .mut{color:var(--sub)}
.mkt-reach .rc{display:flex;flex-wrap:wrap;gap:3px;min-width:0}
.mkt-reach .rc .mk-chip{font-size:11px;padding:0 6px}
.mkt-depth{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 4px}
.mkt-depth>div{border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:0}
.mkt-depth .l{font-size:11.5px;color:var(--sub)}
.mkt-depth .v{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums;margin:2px 0}
.mkt-depth .v small{font-size:11px;color:var(--sub);margin-left:4px}
.mkt-depth .rb{display:block;height:6px;border-radius:0 3px 3px 0;background:var(--line2);overflow:hidden}
.mkt-depth .rb i{display:block;height:100%;background:#2a78d6}
/* 予約の手順の棒(上から 訪問 → … → 予約完了・1 色=予約サイトの橙・数値と前の段との差は右の列) */
.mkt-funnel{border-top:1px solid var(--line);margin:4px 0 0}
.mkt-funnel .rr{display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr) 72px 64px minmax(120px,160px);align-items:center;gap:0 12px;min-height:40px;border-bottom:1px solid var(--line2);padding:4px 0;font-size:12.5px}
.mkt-funnel .rr.hd{min-height:28px;font-size:11px;color:var(--sub);font-weight:500;border-bottom:1px solid var(--line)}
.mkt-funnel .rn{font-weight:600}
.mkt-funnel .rb{display:block;height:10px;border-radius:0 4px 4px 0;background:var(--line2);overflow:hidden}
.mkt-funnel .rb i{display:block;height:100%;border-radius:0 4px 4px 0;background:#eb6834}
.mkt-funnel .rb.z{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.mkt-funnel .rv{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mkt-funnel .rv b{font-weight:600}
.mkt-funnel .rd{font-size:11.5px;color:var(--sub);font-variant-numeric:tabular-nums;text-align:right}
.mkt-funnel .rd .mk-d{display:block}
.mkt-rank td.n small{display:block;font-size:10.5px;color:var(--sub);font-weight:500}
.mkt-noname{color:var(--sub);font-weight:500}
/* 店舗の比較(列=店舗・列の見出しは店舗のページへ・失敗した列だけ再試行) */
.mkt-cmp th a{color:var(--txt);text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;gap:6px}
.mkt-cmp th i.sw{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.mkt-cmp td.n div{min-height:0}
.mkt-cmp td .mkt-cmpst{display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:11.5px;color:var(--sub)}
.mkt-cmp td .mkt-cmpst.err{color:var(--danger)}
.mkt-cmp td .mkt-cmpst button{font-size:11.5px;padding:2px 8px !important;min-height:26px}
.mkt-cmp .sk{display:inline-block;width:48px;height:12px;background:#f1f1ee;border-radius:3px}
@media (max-width:1180px){.mkt-kinds{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.mkt-kinds{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mkt-reach .rr{grid-template-columns:minmax(0,1fr) 64px 72px 72px;grid-template-areas:"n n n n" "b b b b" "v1 v2 v3 c"}
  .mkt-reach .rr>.rn{grid-area:n}.mkt-reach .rr>.rbw{grid-area:b}.mkt-reach .rr>.rv.v1{grid-area:v1}.mkt-reach .rr>.rv.v2{grid-area:v2}.mkt-reach .rr>.rv.v3{grid-area:v3}.mkt-reach .rr>.rc{grid-area:c;justify-content:flex-end}
  .mkt-reach .rr.hd{display:none}
  .mkt-reach .rv::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--sub);font-weight:500}
  .mkt-funnel .rr{grid-template-columns:minmax(0,1fr) 72px 64px;grid-template-areas:"n n n" "b b b" "v1 v2 d"}
  .mkt-funnel .rr>.rn{grid-area:n}.mkt-funnel .rr>.rbw{grid-area:b}.mkt-funnel .rr>.rv.v1{grid-area:v1}.mkt-funnel .rr>.rv.v2{grid-area:v2}.mkt-funnel .rr>.rd{grid-area:d}
  .mkt-funnel .rr.hd{display:none}
  .mkt-funnel .rv::before,.mkt-funnel .rd::before{content:attr(data-l);display:block;font-size:10.5px;color:var(--sub);font-weight:500}
  .mkt-depth{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mkt-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}.mkt-h1st{font-size:16px}
  .mkt-cmp td .mkt-cmpst{align-items:flex-start}}
/* ブログ */
.bl-hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bl-band{font-size:12.5px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--sub);min-height:22px;line-height:1.6}
.bl-band.pend{color:#9a4b00}.bl-band.bad{color:var(--danger);font-weight:600}
.bl-tbl tbody tr{cursor:pointer}.bl-tbl tbody tr.on td{box-shadow:inset 3px 0 0 var(--accent)}
.bl-slug{display:block;font-weight:400;font-size:11.5px;font-family:var(--mono)}
.bl-sm{font-size:11px}
.yt2-drw.bl-drw{width:640px}
.bl-form{display:flex;flex-direction:column;gap:2px;padding-top:12px}
.bl-l{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--sub);margin-top:10px}
.bl-l input:not([type=radio]):not([type=file]),.bl-l textarea{font:inherit;font-size:14px;font-weight:400;color:var(--txt);padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;width:100%;box-sizing:border-box}
.bl-l textarea#blBody{font-family:var(--mono);font-size:13px;line-height:1.7;min-height:240px}
.bl-l small{font-weight:400}
.bl-slugw{display:flex;align-items:center;gap:4px;font-family:var(--mono)}
.bl-err{min-height:16px;font-size:12px;color:var(--danger);font-weight:600}
.bl-cover{display:flex;align-items:center;gap:10px;font-weight:400}.bl-cover img{width:160px;height:90px;object-fit:cover;border:1px solid var(--line);border-radius:4px}
.bl-rcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bl-rc{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:6px;padding:10px;cursor:pointer;font-weight:400;color:var(--txt)}
.bl-rc input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.bl-rc.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.bl-rc b{font-size:13px}.bl-rc span{font-size:11.5px;color:var(--sub);display:flex;flex-direction:column;gap:4px}
.bl-rc input[type=datetime-local]{font:inherit;font-size:12.5px;padding:4px 6px;border:1px solid var(--line);border-radius:4px}
.bl-imgbar{display:flex;align-items:center;gap:10px;font-weight:400}
.bl-up{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--txt);font-weight:600}
.bl-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;font-weight:400}
.bl-im{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:6px;font-size:11px}
.bl-im.on{box-shadow:inset 0 3px 0 var(--accent)}
.bl-im img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px;background:#f3f3f0}
.bl-imb,.bl-imc{display:flex;flex-wrap:wrap;gap:4px}.bl-imb button,.bl-imc button{font-size:11.5px;padding:3px 8px !important;min-height:28px}
.bl-fmsg{flex:1;min-width:0;font-size:12.5px;color:var(--sub)}.bl-fmsg.dirty{color:#9a4b00;font-weight:600}.bl-fmsg.err{color:var(--danger);font-weight:600}
.bl-art{border:1px solid var(--line);border-radius:6px;padding:16px 18px;font-weight:400;color:var(--txt);font-size:15px;line-height:1.9;background:#fff}
.bl-art h1{font-size:22px;margin:0 0 12px;line-height:1.4}.bl-art h2{font-size:18px;margin:20px 0 8px}.bl-art h3{font-size:16px;margin:16px 0 6px}
.bl-art p{margin:0 0 12px}.bl-art ul{margin:0 0 12px;padding-left:1.4em}
.bl-art figure{margin:12px 0}.bl-art img{max-width:100%;height:auto;border-radius:4px}
.bl-art a{color:#2a78d6;text-decoration:underline}
.bl-pvc{width:100%;max-height:320px;object-fit:cover;margin-bottom:12px}
@media (max-width:760px){.yt2-drw.bl-drw{width:auto}.bl-rcs{grid-template-columns:1fr}}
/* ---- 2026-10-30 集客分析「目的ごと」(方針 docs/plans/2026-10-30_marketing-purpose.md): 目的の一行・子ページ 4 つ・改善案のカード・順位の表と折れ線・格子図・キャストの人気・狙いの語の板・AI の提案 ---- */
.mkt-aim{font-size:13px;color:var(--sub);line-height:1.6;margin:-4px 0 10px;min-height:20px}
.mkt-kinds{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.mkt-kinds{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.mkt-kinds{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.mkt-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 改善案のカード: 白+1px 罫線・角丸 6px・影なし・左の縦線 4px(注意=赤 / 提案・AI=無彩色)。印は必ず文字 */
.mk-advs{display:flex;flex-direction:column;gap:8px;margin:4px 0 8px}
.mk-adv{border:1px solid var(--line);border-left:4px solid #b9b8b0;border-radius:6px;padding:10px 14px;background:#fff;display:flex;flex-direction:column;gap:4px;min-width:0}
.mk-adv.warn{border-left-color:var(--danger)}
.mk-adv .r1{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;color:var(--txt)}
.mk-adv .r1 b{font-weight:600;min-width:0}
.mk-advtag{display:inline-block;flex:none;font-size:10.5px;font-weight:600;padding:0 6px;border:1px solid var(--line);border-radius:999px;color:var(--sub);line-height:18px;margin-top:2px;white-space:nowrap}
.mk-adv.warn .mk-advtag{color:var(--danger);border-color:var(--danger)}
.mk-adv .r2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;color:var(--sub)}
.mk-adv .r2 code{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12px;color:var(--txt);font-variant-numeric:tabular-nums;background:transparent;padding:0}
.mk-adv .r3{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;line-height:1.6}
.mk-adv .r3 a{white-space:nowrap;color:var(--txt);text-decoration:underline;text-underline-offset:2px;font-size:12.5px}
.mk-adv .r4{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:44px}
.mk-adv .r4 button{min-height:36px;font-size:13px;padding:6px 14px !important;border-radius:999px !important}
.mk-adv .r4 button.ghost{background:#fff !important}
.mk-adv .dec{font-size:12px;color:var(--sub)}
.mk-advhd{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.mk-advhd h3{margin:0;font-size:13px;font-weight:600}
.mk-advhd .mk-aigen{min-height:36px;white-space:nowrap;min-width:9em}
.mk-aimsg{font-size:12.5px;color:var(--sub);min-height:20px;line-height:1.6;margin:4px 0}
.mk-aimsg.err{color:var(--danger);font-weight:600}.mk-aimsg.ok{color:#1b7f3b;font-weight:600}
@media (max-width:640px){.mk-adv .r4{visibility:hidden;min-height:0;height:0}.mk-advhd .mk-aigen{visibility:hidden}}
/* 順位の表と状態の文字: 順位は等幅・右寄せ・差は符号つき(上がった=緑・下がった=赤・矢印と数字)。状態の文字は灰色・等幅ではない */
.mk-st{color:#8a8a84;font-variant-numeric:normal;font-size:12px;white-space:nowrap}
.mk-kpi .v.mk-ok{color:#1b7f3b}.mk-kpi .v.mk-ng{color:#c62828}
.mk-kpi .v small.mk-req{color:#c62828;font-weight:600}
.mkt-rank td.n{font-variant-numeric:tabular-nums}
.mkt-rank td.mkt-path{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12px;overflow-wrap:anywhere}
.mk-rdiff{font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.mk-rdiff.up{color:#1b7f3b}.mk-rdiff.dn{color:#c62828}.mk-rdiff.flat{color:var(--sub);font-weight:500}
/* 順位の折れ線(y 軸は 1 が上・目盛 1/3/10/20/50・上位 5 語の固定カテゴリ色)。格子図(3×3・数字を中央・順次 3 段の青・圏外は枠だけ) */
.mk-rline .kk-svg{height:auto;min-width:0}
.mk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-width:300px;margin:8px auto}
.mk-grid>div{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:6px;color:var(--txt)}
.mk-grid>div.g1{background:#2a78d6;color:#fff;border-color:#2a78d6}.mk-grid>div.g2{background:#9fc2ea;border-color:#9fc2ea}.mk-grid>div.g0{color:#8a8a84}
.mk-gridwrap{border:1px solid var(--line2);border-radius:6px;background:#fafaf8;padding:12px;min-height:190px;display:flex;flex-direction:column;justify-content:center}
.mk-gridwrap .mk-st{display:block;text-align:center}
.mk-gridseg{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.mk-gridseg button{font-size:12px;padding:4px 10px !important;min-height:32px;border-radius:999px !important}
/* キャストの人気の積み上げ棒(順位に色)・区分の表 */
.mkt-castsrow td.mut{color:var(--sub)}
.mk-left td{color:var(--sub)}
/* 狙いの語を編集の板(560px・1 行 1 語・最初から全部見せる・下に固定の保存) */
.yt2-drw.mkkw-drw{width:560px}
@media (max-width:760px){.yt2-drw.mkkw-drw{width:auto}}
.mkkw-top{font-size:12px;color:var(--sub);padding:8px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.mkkw-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.mkkw-tbl th{font-size:11px;color:var(--sub);text-align:left;padding:6px 4px;white-space:nowrap}
.mkkw-tbl td{padding:4px;border-bottom:1px solid var(--line2);vertical-align:middle}
.mkkw-tbl input[type=text]{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;min-height:36px}
.mkkw-tbl input[type=text].bad{border-color:var(--danger)}
.mkkw-tbl td.c{text-align:center;white-space:nowrap}
.mkkw-tbl button{font-size:12px;padding:2px 8px !important;min-height:30px;min-width:30px}
.mkkw-tbl button.mkkw-brand{min-width:4.5em;border-radius:999px !important}
.mkkw-tbl button.mkkw-brand.on{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important}
.mkkw-add{margin:10px 0}
.mkkw-err{min-height:18px;font-size:12px;color:var(--danger);font-weight:600;line-height:1.6}
.mkkw-foot{display:flex;align-items:center;gap:12px;width:100%}
.mkkw-foot .mkkw-msg{flex:1;min-width:0;font-size:12.5px;color:var(--sub)}
.mkkw-foot .mkkw-msg.ok{color:#1b7f3b;font-weight:600}.mkkw-foot .mkkw-msg.err{color:var(--danger);font-weight:600}
.mk-kwedit{white-space:nowrap}
.mk-secmix{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mk-stars td.n{width:4em}
.mk-reviewtxt{color:var(--txt);font-size:12.5px;line-height:1.6}

/* クリエイティブ(2026-10-22 方針 docs/plans/2026-10-21_creative-page.md B): 本日のPICK-UP / キャストカード。カードは白+1px 罫線・角丸 6px・影なし */
.cr-lead{max-width:72ch;margin:2px 0 4px;font-size:12.5px}
.cr-small{font-size:12px;margin:0 0 8px}
.cr-tb .yt2-tm{gap:6px 10px}
.cr-month{min-width:7.5em;text-align:center;font-size:14px}
.cr-mv{min-width:34px;padding:4px 8px}
.cr-last{font-size:12px;color:var(--sub)}
.cr-autol{font-size:12px;color:var(--sub)}
.cr-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;margin-top:8px;align-items:start}
.cr-side{display:flex;flex-direction:column;gap:16px}
.cr-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 14px}
.cr-card>h2{font-size:13px;font-weight:600;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.cr-vidst{font-size:12px;color:var(--sub);min-height:18px;margin-bottom:8px}
.cr-vidst.err{color:var(--danger)}
.cr-vid video{display:block;width:100%;aspect-ratio:9/16;background:#111;border-radius:4px}
.cr-vid-empty{aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:4px;font-size:12px}
.cr-fr{display:grid;grid-template-columns:5.5em minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line2)}
.cr-fr.on .cr-frl{font-weight:700}
.cr-frl{font-size:12.5px}
.cr-frst{font-size:12px;color:var(--sub);overflow-wrap:anywhere}
.cr-frst.err{color:var(--danger)}
.cr-tblwrap{overflow-x:auto}
.cr-tbl tbody tr{cursor:default}
.cr-tbl td{height:44px}
.cr-tbl tr.cr-fut td{color:var(--sub);background:#fcfcfa}
.cr-c-d{white-space:nowrap;font-variant-numeric:tabular-nums}
.cr-c-s{white-space:nowrap}
.cr-c-m{font-size:12px;color:var(--sub);white-space:nowrap}
.cr-c-a{white-space:nowrap}
.cr-c-a button{min-height:30px;padding:3px 10px;font-size:12px;margin-right:4px}
.cr-c-a .cr-b-st{min-width:12em}
.cr-c-a .cr-danger{color:var(--danger)}
.cr-st{font-size:12px}
.cr-st.err{color:var(--danger)}
.cr-st.off{color:var(--sub)}
.cr-st.run{color:#8a5a00}
.cr-tag{display:inline-block;font-size:11px;padding:1px 6px;border:1px solid var(--line);border-radius:4px;color:var(--sub);margin-left:4px;white-space:nowrap}
.cr-tag.warn{color:#8a5a00;border-color:#e8d2a6}
.cr-tag.err{color:var(--danger);border-color:var(--danger)}
.cr-dlg{width:min(520px,100%)}
.cr-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px 10px;max-height:46vh;overflow:auto;padding:6px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin-bottom:6px}
.cr-pk{display:flex;align-items:center;gap:6px;font-size:13px;min-height:32px;cursor:pointer}
.cr-cclist{margin-top:8px}
/* キャストカードの一覧(2026-10-30): 写真のグリッド。1 枚=押すとライトボックス。作れない人は薄く+理由のチップ */
.cr-cclist{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px 10px}
.cr-cclist>p{grid-column:1/-1}
button.cc-tile{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:5px;min-width:0;cursor:pointer;border-radius:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--txt)!important}
.cc-tile .cc-ph{position:relative;display:block;width:100%;aspect-ratio:1/1;border-radius:8px;background:#eee center/cover no-repeat;outline:1px solid rgba(0,0,0,.06);outline-offset:-1px;transition:transform .15s,box-shadow .15s}
button.cc-tile:hover:not(:disabled) .cc-ph{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.14)}
button.cc-tile:focus-visible .cc-ph{outline:2px solid var(--accent);outline-offset:2px}
.cc-tile .cc-nm{display:flex;align-items:baseline;gap:6px;font-size:12.5px;line-height:1.3;padding:0 2px;min-width:0}
.cc-tile .cc-nm b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.cc-tile .cc-nm span{margin-left:auto;flex:none;font-size:11px;color:var(--sub);font-variant-numeric:tabular-nums}
button.cc-tile.cc-ng{cursor:default}
.cc-tile.cc-ng .cc-ph{filter:grayscale(1);opacity:.45}
.cc-tile.cc-ng .cc-nm{color:var(--sub)}
.cc-why{position:absolute;left:6px;right:6px;bottom:6px;font-size:10.5px;line-height:1.35;color:#fff;background:rgba(30,26,32,.82);border-radius:4px;padding:2px 6px;text-align:center}
@media (prefers-reduced-motion:reduce){.cc-tile .cc-ph{transition:none}}
/* ZIP の形式(▾)。ラベルの幅は固定(選んでもボタンが動かない) */
.cc-zipw{position:relative;display:inline-flex;align-items:stretch}
.cc-zipw .cc-zipb{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.cc-zipw .cc-zipm{border-top-left-radius:0!important;border-bottom-left-radius:0!important;margin-left:1px;padding-left:10px;padding-right:12px;min-width:0}
#ccZipL{display:inline-block;min-width:5.6em;text-align:center}
.cc-zipmenu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;display:flex;flex-direction:column;min-width:15em;background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.cc-zipmenu button{all:unset;border-radius:4px!important;background:transparent!important;color:var(--txt)!important;box-shadow:none!important;box-sizing:border-box;display:block;padding:8px 10px 8px 28px;font-size:12.5px;border-radius:4px;cursor:pointer;position:relative;color:var(--txt)}
.cc-zipmenu button:hover,.cc-zipmenu button:focus-visible{background:#f6f5f2!important}
.cc-zipmenu button[aria-checked="true"]::before{content:"✓";position:absolute;left:10px;color:var(--accent);font-weight:700}
/* ライトボックス(2026-10-28 オーナー承認の見た目: 左=暗い背景に大きなカード / 右=操作の欄 320px) */
.cc-lb{position:fixed;inset:0;z-index:1350;background:rgba(18,14,20,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;visibility:hidden}
.cc-lb.open{visibility:visible}
.cc-lb:not(.open) *{visibility:hidden!important}   /* 子に style の visible があっても閉じたら全部隠す(2026-10-30) */
body.cc-lb-on{overflow:hidden}
.cc-lb-box{position:relative;width:100%;height:100%;background:#fff;border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) 288px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cc-lb-stage{position:relative;background:#1d1a1f;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0}
.cc-lb-frame{position:relative;border-radius:6px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);background:#2a262c}
.cc-lb-frame img{position:absolute;inset:0;width:100%;height:100%;display:block}
.cc-lb-skel{position:absolute;inset:0;background:linear-gradient(90deg,#2a262c 0%,#36313a 50%,#2a262c 100%);background-size:200% 100%;animation:ccSk 1.4s linear infinite}
@keyframes ccSk{from{background-position:200% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.cc-lb-skel{animation:none}}
.cc-lb-err{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#ffb4b4;font-size:13px}
button.cc-lb-nav{position:absolute;top:calc(50% - 24px);width:48px;height:48px;min-height:0;padding:0;border:0;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
button.cc-lb-nav:hover,button.cc-lb-nav:focus-visible{background:rgba(255,255,255,.26)!important}
.cc-lb-nav.l{left:20px}.cc-lb-nav.r{right:20px}
.cc-lb-cnt{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);color:#bbb;font-size:14px;letter-spacing:.05em;font-variant-numeric:tabular-nums}
.cc-lb-side>*{flex:none}
.cc-lb-side{position:relative;padding:18px 18px;display:flex;flex-direction:column;gap:14px;border-left:1px solid #eee;min-height:0;overflow:auto}
button.cc-lb-x{position:absolute;right:12px;top:12px;width:34px;height:34px;min-height:0;padding:0;border:0;border-radius:50%!important;background:#f1efec!important;color:#333!important;box-shadow:none!important;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
button.cc-lb-x:hover,button.cc-lb-x:focus-visible{background:#e6e3de!important}
.cc-lb-hd{padding-right:44px}
.cc-lb-hd h2{font-size:22px;font-weight:700;margin:0;line-height:1.3;overflow-wrap:anywhere}
.cc-lb-sub{color:#888;font-size:12.5px;margin-top:2px}
.cc-lb-lab{font-size:11.5px;color:#888;letter-spacing:.08em;margin-bottom:6px}
.cc-lb-seg{display:flex;background:#f1efec;border-radius:999px;padding:4px}
.cc-lb-seg button{flex:1;min-width:0;min-height:0;padding:7px 0;border:0;border-radius:999px;background:transparent!important;font-size:13px;color:#555!important;cursor:pointer;box-shadow:none!important}
.cc-lb-seg button.on{background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.12)!important;color:#111!important;font-weight:700}
.cc-lb-meta{font-size:12px;color:#777;line-height:1.6;overflow-wrap:anywhere}
button.cc-lb-btn{border-radius:999px!important;padding:10px 0;min-height:0;text-align:center;font-weight:700;font-size:14px;background:#fff!important;border:1px solid #ddd!important;color:#222!important;cursor:pointer;box-shadow:none!important}
button.cc-lb-btn:hover:not(:disabled){border-color:#bbb!important}
button.cc-lb-btn.cc-lb-pri{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
button.cc-lb-btn.cc-lb-pri:hover:not(:disabled){background:var(--acc-fill)!important}
button.cc-lb-btn:disabled{opacity:.45;cursor:default}
.cc-lb-two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:-6px}
.cc-lb-two .cc-lb-btn{font-size:13px!important;font-weight:600!important}
.cc-lb-kb{font-size:11.5px;color:#999;margin-top:auto;line-height:1.8}
.cc-lb-kb span{white-space:nowrap;margin-right:10px}
.cc-lb-kb kbd{border:1px solid #ccc;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px;background:#fff;font-family:inherit}
.cc-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:1400;background:#222;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;max-width:calc(100% - 32px);opacity:0;transition:opacity .2s}
.cc-toast.on{opacity:1}
.cc-toast.err{background:#7a1520}
/* スマホ幅: 操作の欄はカードの下へ */
@media (max-width:900px){
  .cc-lb{padding:0}
  .cc-lb-box{grid-template-columns:minmax(0,1fr);width:100%;grid-template-rows:minmax(0,56vh) minmax(0,1fr);height:100%;border-radius:0}
  .cc-lb-side{border-left:0;border-top:1px solid #eee;padding:18px 18px 22px;gap:14px}
  .cc-lb-hd h2{font-size:22px}
  .cc-lb-kb{display:none}
  button.cc-lb-nav{width:40px;height:40px;font-size:24px;top:calc(50% - 20px)}
  .cc-lb-nav.l{left:8px}.cc-lb-nav.r{right:8px}
  .cc-lb-cnt{bottom:8px;font-size:12px}
}
@media (max-width:900px){.cr-grid{grid-template-columns:1fr}}
.cr-tblwrap .cr-tbl th{position:static!important;top:auto!important}   /* overflow-x:auto の内側では汎用 th の吸着(top:52px)が先頭行に被る(base.css 575 と同じ) */
/* 広告クリエイティブ(2026-10-25 方針 docs/plans/2026-10-25_ad-creative.md B): 操作列 1 行・左の列 360px 固定・右に 6 案。カードは画像が主役(枠線だけ)・下の説明は 11.5px のミュート・判定の理由は赤 */
.ad-tb .yt2-tl{display:flex;gap:10px;flex-wrap:wrap}
.ad-recent{min-width:16em;max-width:24em}
.ad-wrap{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;margin-top:8px;align-items:start}
.ad-left{display:flex;flex-direction:column;gap:12px}
.ad-left .cr-card>h2{display:flex;align-items:center;gap:8px}
.ad-h2s{font-size:11.5px;font-weight:400;margin-left:auto}
.ad-h2b{margin-left:auto;min-height:28px;padding:2px 10px;font-size:12px;font-weight:400}
.ad-sh{display:flex;align-items:baseline;gap:8px;margin:10px 0 6px;font-size:12.5px}
.ad-sh:first-of-type{margin-top:0}
.ad-sh .muted{font-size:11.5px;margin-left:auto}
.ad-casts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.ad-cast{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;border:1px solid transparent;border-radius:6px;background:none;min-height:0;cursor:pointer}
.ad-cast.on{border-color:var(--accent);background:#fff8f3}
.ad-cph{width:52px;height:52px;border-radius:50%;background:#eee center/cover no-repeat}
.ad-cnm{font-size:11.5px;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-sps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ad-sp{position:relative;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:#eee;aspect-ratio:1/1;min-height:0;cursor:pointer}
.ad-sp img{width:100%;height:100%;object-fit:cover;display:block}
.ad-sp i{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:10.5px;background:rgba(255,255,255,.9);padding:0 4px;border-radius:3px}
.ad-sp.on{border-color:var(--accent)}
.ad-loc{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:52px;border-top:1px solid var(--line2);padding:4px 0}
.ad-loc img{width:44px;height:44px;object-fit:cover;border-radius:4px}
.ad-loc .ad-locn{grid-column:2;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-loc button{grid-column:3;min-height:30px;padding:2px 10px;font-size:12px}
.ad-axes{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}
.ad-ck{display:flex;align-items:center;gap:6px;font-size:12.5px;min-height:30px;cursor:pointer}
.ad-ck i{font-style:normal;font-size:10.5px;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:0 4px;margin-left:auto}
.ad-term{display:grid;grid-template-columns:5em minmax(0,1fr) auto;gap:6px;align-items:center;padding:4px 0;border-top:1px solid var(--line2)}
.ad-tl{font-size:12.5px}
.ad-ti{display:flex;align-items:center;gap:4px;min-width:0}
.ad-ti .yt2-in{width:100%;min-width:0;min-height:32px;padding:4px 8px;font-size:12.5px}
.ad-ti .ad-num{width:6.5em}
.ad-ti span{font-size:12px;color:var(--sub)}
.ad-off{font-size:11.5px;color:var(--sub);display:flex;align-items:center;gap:3px;white-space:nowrap}
.ad-noteta{width:100%;box-sizing:border-box;font-size:12.5px}
.ad-tones{display:flex;gap:12px;flex-wrap:wrap}
.ad-rc{display:flex;align-items:center;gap:4px;font-size:12.5px;min-height:30px;cursor:pointer}
.ad-err{color:var(--danger);font-size:12px;min-height:0}
.ad-right{min-width:0}
.ad-rh{display:flex;align-items:center;gap:12px;min-height:36px;margin-bottom:8px}
.ad-warn{font-size:12px;color:#8a5a00}
.ad-grid{display:grid;gap:14px}
.ad-g9x16{grid-template-columns:repeat(3,minmax(0,1fr))}
.ad-g4x5,.ad-g1x1{grid-template-columns:repeat(3,minmax(0,1fr))}
.ad-card{display:flex;flex-direction:column;gap:6px;padding:0;border:none;background:none;text-align:left;min-height:0;cursor:pointer;color:inherit;font:inherit}
.ad-card .ad-cv{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#f6f5f2;display:flex;align-items:center;justify-content:center}
.ad-card .ad-cv canvas{width:100%;height:100%;display:block}
.ad-card:hover .ad-cv,.ad-card:focus-visible .ad-cv{border-color:var(--accent)}
.ad-cap{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:var(--sub);min-height:58px}
.ad-cap b{font-size:12.5px;color:var(--text,#222);font-weight:600}
.ad-st{color:#2c7a4b}
.ad-empty,.ad-skel,.ad-fail{cursor:default}
.ad-empty .ad-cv span{font-size:12px;padding:12px;text-align:center}
.ad-fail .ad-cv span{color:var(--danger);font-size:12px;padding:12px}
.ad-skel .ad-cv{background:linear-gradient(90deg,#f1efea 0%,#f8f7f4 50%,#f1efea 100%);background-size:200% 100%;animation:adSk 1.4s linear infinite}
.ad-sk{display:block;height:10px;width:70%;background:#eeece7;border-radius:3px}
.ad-sk.s{width:45%}
@keyframes adSk{from{background-position:200% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.ad-skel .ad-cv{animation:none}}
.ad-panel{width:600px}
.ad-pbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0}
.ad-pcv{display:flex;justify-content:center;background:#f6f5f2;border:1px solid var(--line);border-radius:6px;padding:10px}
.ad-pcv canvas{max-width:100%;height:auto;max-height:62vh;display:block}
.ad-psec{padding:12px 0;border-top:1px solid var(--line2)}
.ad-psec h3{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 8px}
.ad-phs{display:flex;flex-wrap:wrap;gap:6px}
.ad-phb{min-height:30px;padding:2px 10px;font-size:12px}
.ad-phb.on{border-color:var(--accent);color:var(--accent)}
.ad-ef{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12.5px}
.ad-ef span{display:flex;justify-content:space-between}
.ad-ef i{font-style:normal;color:var(--sub);font-size:11.5px}
.ad-ef .yt2-in{width:100%;box-sizing:border-box}
.ad-ef em{font-style:normal}
.ad-pf{flex-wrap:wrap;min-height:96px;align-content:flex-start}
.ad-pmsg{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:12px;min-height:36px}
.ad-pst{color:#2c7a4b}
.ad-openads{min-height:30px;padding:2px 10px;font-size:12px}
.ad-pl{display:flex;flex-direction:column;gap:4px;font-size:12.5px;margin:8px 0}
.ad-pl .yt2-in{width:100%;box-sizing:border-box}
@media (max-width:1100px){.ad-wrap{grid-template-columns:1fr}.ad-g9x16{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== 契約書(1 ページ・権限 esign / esignadm / esigntpl)(2026-10-29 方針 docs/plans/2026-10-28_cast-esign-ipad.md・2026-10-30/31 作り直し 第 1〜3 段 docs/plans/2026-10-30_esign-console-redesign-plan.md・2026-11-01 タブ廃止 docs/plans/2026-11-01_esign-design-audit.md) =====
   NIGHT OPS の既存の部品(.seg.yt2-seg / .yt2-pri / .ghost / .lf-drawer / .an-empty)をそのまま。新しい色は足さない(オレンジ=選択中/主操作・赤=取消と失敗の文だけ)。見出しは改善リスト・MEO と同じ(20px/600・目盛りは名前の横で高さを取らない)。
   受信箱: 見出しの行(契約書・右端に主ボタン「契約を始める」・その左に控えめな入口 2 つ)→ 今日やることの箱 4 つ(.es-today・分析ページの KPI 帯と同じ型・押すと絞り込み)→ ツールバー 1 行(店舗・状態・検索・右端に鮮度 .es-fresh+「最新にする」。再取得の失敗は鮮度の文が赤くなるだけ=行を足さない)
   → 一覧(1 件 1 行・本文の幅 700px 以下は 1 件 1 カードで 1 行目に 状態+次にすること・横スクロールなし)→ 一覧の下の固定の 1 行(.es-more)→ 右の板 1 つ(依頼の詳細= 進み具合 .es-steps → 次にすること(主ボタン 1 つ・承認の確かめること 4 つ .es-checks)→ 書類 → 本人情報 → 身分証とサイン .es-imgs → 控え → 記録 → 証明の情報 .es-proof → 取消 / 契約を始める / iPad の設定と使い方)。
   雛形の管理(別の画面): 見出しの行(‹ 契約書へ戻る・雛形の管理・右端に「新しい雛形」)→ ツールバー(店舗・鮮度)→ 固定の 1 行 .es-tplnote → 一覧 → 同じ場所に全幅の作業の画面 .es-ed(5 つの歩・下に固定の保存バー)。
   幅の切替は画面幅ではなく本文の幅(container: #view-esign。iPad 縦 768px はサイドバー 216px を引いた本文で判定)。位置は固定・表示切替は visibility */
#view-esign{min-width:0;container-type:inline-size}
.es-root{padding:0 0 24px}
/* ---- 見出しの行(改善リスト .im-hd・MEO .me-hd と同じ型) ---- */
.es-hd{display:flex;align-items:center;gap:8px 14px;min-height:44px;margin:0 0 10px;flex-wrap:wrap}
#view-esign .es-hd h1{font-size:20px;font-weight:600;line-height:1.2;margin:0;display:flex;align-items:center;outline:none}
#view-esign .es-hd h1::after{display:inline-block;flex:none;width:121px;height:12px;min-height:0;margin:0 0 0 16px;padding:0}   /* 目盛りの装飾は名前の横へ(高さを取らない) */
.es-hd .status{font-size:12.5px;min-width:0;white-space:nowrap}
.es-hr{margin-left:auto;display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;justify-content:flex-end}
.es-hr .es-quiet{font-size:12.5px;font-weight:600;white-space:nowrap;padding:6px 10px;color:var(--sub)}
.es-hr .es-quiet:hover{color:var(--txt)}
.es-hd .es-back{white-space:nowrap;padding:6px 10px;font-size:12.5px}
/* iPad の設定と使い方(右の板(幅 400px)の中に描く。中身の文は変えない。板の幅では 1 列) */
.es-guide h2{margin:10px 0 8px;font-size:12.5px;color:var(--sub);font-weight:700}
.es-gd{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.es-gq{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.es-qr{width:160px;height:160px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;text-align:center;padding:4px}
.es-qr svg{width:100%;height:100%;display:block}
.es-url{display:block;font-size:11.5px;word-break:break-all;background:var(--bg2,#f0f1ec);border-radius:6px;padding:4px 8px}
.es-gs{font-size:13px;line-height:1.7}
.es-gh{font-weight:800;margin:4px 0 2px}
.es-gs ol{margin:0 0 8px;padding-left:22px}
.es-gs li{margin:2px 0}
.es-gn{color:var(--sub);border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
/* ---- ツールバー(1 行・右端に鮮度+最新にする) ---- */
.es-tb{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;padding:6px 0 8px;border-bottom:1px solid var(--line);margin-bottom:4px;min-height:44px;box-sizing:border-box}
.es-tb .es-q{min-width:160px;max-width:220px;font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:999px}
.es-tb .es-sp{flex:1}
.es-tb .es-store{font-size:13px}
.es-tbr{margin-left:auto;display:flex;align-items:center;gap:8px}   /* 鮮度+最新にする は 1 組で動き、折り返して 2 行目に落ちても右端に寄る */
.es-fresh{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:64px;text-align:right}
.es-fresh.err{color:var(--danger);white-space:normal;font-weight:600}
.es-tb .es-reload{padding:5px 10px;font-size:12px;white-space:nowrap}
/* ---- 一覧 ---- */
.es-body{position:relative;min-height:max(360px,calc(100dvh - 340px));overflow:hidden}   /* 右の板はこの箱の高さ=行が少ない日でも板が画面の高さまで伸びる(契約を始める・承認の確かめることが窮屈にならない) */
.es-tbl{width:100%;border-collapse:collapse;font-size:13px}
/* position:static= 全ページ共通の th{position:sticky;top:52px}(base.css)が .es-body{overflow:hidden}(と板の .lf-db{overflow-y:auto})の中では箱の上端から 52px 下に吸着し 1 行目に重なるため戻す(.an-tbl th / .stp-tbl th と同じ) */
.es-tbl th{text-align:left;font-size:11.5px;font-weight:600;color:var(--sub);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap;position:static}
.es-tbl td.es-next{font-size:13px;white-space:normal;line-height:1.5;min-width:180px}
/* 空の状態(見出し / 説明 / 次の 1 手の 3 行・高さは固定しない) */
.an-empty.es-empty{padding:28px 12px}
.es-empty b{display:block;font-size:14px;font-weight:600;color:var(--txt)}
.es-empty .es-em{display:block;color:var(--sub);font-size:12.5px;margin-top:4px;line-height:1.6}
.es-empty .es-en{display:block;color:var(--txt);font-size:13px;margin-top:8px}
/* 雛形の一覧の上の 1 行(公開中の雛形が無い店舗の知らせ・無い時も場所は残す) */
.es-tplnote{min-height:28px;font-size:12.5px;color:var(--sub);padding:4px 0;visibility:hidden}
.es-tplnote.show{visibility:visible}
.es-tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle;height:44px}
.es-tbl tr[data-id],.es-tbl tr[data-tpl]{cursor:pointer}
.es-tbl tr[data-id]:hover,.es-tbl tr[data-tpl]:hover{background:#fafaf7}
.es-tbl tr.on{background:#fff6f0}
.es-tbl tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.es-st{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:600;white-space:nowrap;color:var(--sub)}
.es-st.sign{border-color:var(--accent);color:var(--accent)}
.es-st.wait{color:#17181a;border-color:#17181a}
.es-st.done{background:#17181a;border-color:#17181a;color:#fff}
.es-aum{letter-spacing:1px}
/* 本文の幅 700px 以下(スマホ・iPad 縦でサイドバーがある時): 1 件 1 カード */
@container (max-width:700px){
  .es-tbl thead{display:none}
  .es-tbl tr{display:flex;flex-wrap:wrap;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:6px 10px;margin:8px 0}
  .es-tbl td{display:flex;gap:8px;border:none;padding:3px 0;height:auto;min-height:0;flex:0 0 100%;min-width:0;box-sizing:border-box}
  .es-tbl td::before{content:attr(data-l);color:var(--sub);font-size:11.5px;min-width:72px;flex:none}
  .es-tbl td:empty{display:none}
  /* 1 件 1 カードの 1 行目= 状態+次にすること(見出しの文字は出さない・次にすることは折り返す・ボタンや文は横にはみ出さない) */
  .es-tbl td.es-stc{order:-2;flex:0 0 auto;padding-right:8px}
  .es-tbl td.es-next{order:-1;flex:1 1 160px;min-width:0;overflow-wrap:anywhere}
  .es-tbl td.es-stc::before,.es-tbl td.es-next::before{content:none}
  .es-hr .es-quiet{white-space:normal;text-align:left}
}
/* ---- 右の板 ---- */
.es-drw .lf-db{flex:1;overflow:auto;padding:4px 14px 20px}
.es-sec{padding:10px 0;border-bottom:1px solid var(--line)}
.es-sec h3{margin:0 0 6px;font-size:12.5px;color:var(--sub);font-weight:700}
/* 板の「次にすること」(状態 → 1 文。署名待ちは必須の運用 2 行を毎回)と、作った直後の 1 行 */
.es-nx{font-size:13.5px;font-weight:700;line-height:1.5}
.es-nx2{margin-top:4px;line-height:1.6}
.es-created{font-size:13px;font-weight:700;color:var(--accent);padding:10px 0 2px}
.es-dl{display:grid;grid-template-columns:84px 1fr;gap:3px 10px;font-size:13px;margin:0}
.es-dl dt{color:var(--sub)}
.es-dl dd{margin:0;min-width:0}
.es-wrap{word-break:break-all;font-size:11.5px}
.es-small{font-size:12px}
.es-diff{color:var(--danger);font-weight:700;font-size:12px}
.es-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.es-row input[type=text],.es-row input:not([type]),.es-row input[type=search]{font-size:14px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;min-height:40px}
.es-reason,.es-note{flex:1;min-width:160px}
.es-log{font-size:12px}
.es-log>div{display:grid;grid-template-columns:36px 92px 1fr;gap:6px;padding:3px 0;border-bottom:1px dashed var(--line)}
.es-img{max-width:100%;border:1px solid var(--line);border-radius:6px;margin-top:8px;display:block}
.es-cps td,.es-cps th{padding:5px 6px;height:auto}
.es-cards{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.es-card{border:1px solid var(--line);border-radius:6px;padding:10px 14px;min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;background:#fff}
.es-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);font-weight:700}
.es-dlvf{border:1px solid var(--line);border-radius:6px;padding:8px 12px;margin-top:8px}
/* 依頼を作る */
.es-casts{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow:auto}
.es-castrow{display:flex;align-items:center;gap:8px;min-height:44px;padding:2px 6px;border-bottom:1px dashed var(--line);cursor:pointer}
.es-castrow.off{opacity:.6;cursor:not-allowed}
/* 丸いラジオは 18px に固定(全ページ共通の input の幅の規則で横に伸び、名前が 1 文字ずつ折れていた)。名前は折らず、理由は右端に */
.es-castrow input[type=radio]{width:18px;height:18px;min-width:0;min-height:0;flex:none;margin:0;padding:0}
.es-castrow .cchip{flex:1 1 auto;min-width:0}
.es-castrow .cc-nm{white-space:nowrap}
.es-castrow .es-small{margin-left:auto;flex:none;white-space:nowrap;padding-left:8px}
.es-nfoot{position:sticky;bottom:0;background:#fff;padding:10px 0 4px;border-top:1px solid var(--line)}
/* .hide(base.css の display:none)は .es-tb / .es-more の display:flex に負けるので、作業の画面の間に隠す分はここで明示 */
.es-tb.hide,.es-more.hide{display:none}
/* ===== 雛形の作業の画面(2026-10-31 第 3 段: 一覧の場所に全幅・5 つの歩・下に固定の保存バー) =====
   #esTplEd は一覧(#esTplMain)と同じ箱に重ね .hide で切り替える。歩は上に横 1 列(本文 700px 以下で 2 列)。条文の歩は 3 列(条の一覧 220px / 本文 / プレビュー)・本文 1000px 以下で 2 列(プレビューは本文の下)・700px 以下で 1 列(条の一覧は chip で折り返し)・入力欄は 700px 以下で 16px(iOS の自動拡大を避ける) */
.es-ed{padding:12px 16px 0;border:1px solid var(--line);border-radius:6px;background:#fff;min-height:320px}
.es-wkhd{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 8px}
.es-wkhd .es-edback{white-space:nowrap;padding:6px 10px;font-size:12.5px}
.es-ed h2{margin:0;font-size:16px;min-width:0;overflow-wrap:anywhere}
.es-wro{margin:0 0 8px}
/* 5 つの歩(最初から全部・押すとその歩へ・済んだ歩は丸印・選択中はオレンジの下線) */
.es-wsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;list-style:none;margin:0 0 12px;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.es-wsteps li{min-width:0}
.es-wsteps button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px !important;border:0 !important;border-left:1px solid var(--line) !important;border-radius:0 !important;background:#fff !important;font:inherit;font-size:12.5px;font-weight:600 !important;color:var(--sub) !important;text-align:left;box-shadow:none !important;transform:none !important;clip-path:none;cursor:pointer}
.es-wsteps li:first-child button{border-left:0 !important}
.es-wsteps button i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);font-style:normal;font-size:11.5px;flex:none;background:#fff;color:var(--sub)}
.es-wsteps button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es-wsteps button.done i{background:#17181a;border-color:#17181a;color:#fff}
.es-wsteps button.on{color:var(--accent) !important;box-shadow:inset 0 -3px 0 var(--accent) !important}
.es-wsteps button.on i{border-color:var(--accent);color:var(--accent)}
.es-wsteps button.on.done i{background:#17181a;color:#fff;border-color:#17181a}
.es-wsteps button:disabled{opacity:.6;cursor:not-allowed}
.es-wsteps button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* 歩の中身 */
.es-wsec{padding:8px 0 12px;border-bottom:1px solid var(--line)}
.es-wsec h3{margin:0 0 6px;font-size:12.5px;color:var(--sub);font-weight:700}
.es-wnav{padding:10px 0 12px;justify-content:space-between}
.es-wnav .ghost{padding:7px 12px}
/* 1 店舗と題(店舗の行は新しい雛形の間だけ押せる・既存の版は disabled で表示・選択肢は最初から全部) */
.es-edstore{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;font-size:13px}
.es-edstore .seg button:disabled{opacity:.6;cursor:not-allowed}
.es-ed .es-title{width:100%;max-width:520px;font-size:14px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;box-sizing:border-box;min-height:40px}
/* 2 店の情報 */
.es-vars{display:flex;flex-direction:column;gap:6px}
.es-var{display:grid;grid-template-columns:180px 1fr auto;gap:6px;align-items:center}
.es-var input{font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;min-height:36px;min-width:0}
/* 3 条文(3 列) */
.es-w3{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;padding:8px 0 4px}
.es-wlh{font-size:11.5px;color:var(--sub);font-weight:700;margin:0 0 6px}
.es-chips{display:flex;flex-direction:column;gap:4px}
.es-chip{display:flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px !important;border:1px solid var(--line) !important;border-radius:6px !important;background:#fff !important;font:inherit;font-size:12.5px;font-weight:500 !important;color:var(--txt) !important;text-align:left;box-shadow:none !important;transform:none !important;clip-path:none;cursor:pointer;min-width:0;max-width:100%}
.es-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es-chip.on{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important;color:var(--accent) !important;font-weight:700 !important}
.es-am{font-style:normal;font-size:11px;flex:none;width:14px;text-align:center}
.es-am.match{color:#1f7a4a}
.es-am.stale{color:var(--danger)}
.es-am.none{color:var(--sub)}
.es-wmain .es-pno{flex:none}
.es-wmain .es-ptitle{flex:1;min-width:160px;font-size:14px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;min-height:40px}
.es-wmain .es-pbody{width:100%;min-height:320px;margin-top:8px;font-size:13.5px;line-height:1.7;padding:8px 10px;border:1px solid var(--line);border-radius:6px;resize:vertical;box-sizing:border-box}
.es-pinfo{margin-top:4px}
.es-pv{padding:8px 10px;background:var(--bg2,#f7f7f4);border-radius:6px;font-size:13px;min-height:120px}
.es-pre{white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}
/* 4 音声 */
.es-aubar{min-height:44px;margin-top:0}
.es-aubar .es-aun{font-size:13px;font-weight:700}
.es-aubar .yt2-pri:disabled,.es-aubar .ghost:disabled{opacity:.5;cursor:not-allowed}
.es-autbl{margin-top:8px}
.es-autbl td,.es-autbl th{padding:6px 8px;height:auto}
.es-au{font-size:12px;white-space:nowrap}
.es-au.match{color:#1f7a4a;font-weight:700}
.es-au.stale{color:var(--danger);font-weight:700}
.es-au.none{color:var(--sub)}
.es-au.busy{color:var(--accent);font-weight:700}
.es-aures{font-size:12px;color:var(--sub);white-space:normal}
.es-aurow{display:flex;gap:8px;align-items:center;margin-top:6px;min-height:36px}
.es-aurow .es-audio{height:36px;max-width:100%}
/* 5 確認して公開(全文・条件・2 段のボタン) */
.es-full{max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:13px;background:#fff}
.es-fp{padding:6px 0;border-bottom:1px dashed var(--line)}
.es-fp b{display:block;margin-bottom:2px}
.es-pubrow{min-height:44px}
.es-pubrow .es-pub{background:#17181a;color:#fff;border-color:#17181a;font-weight:700}
.es-pubrow .es-pub:disabled{opacity:.45;cursor:not-allowed}
/* 下に固定の保存バー(状態の文+「保存」。変更が無い時と保存中はボタンを visibility で消す・キーボードと重ならないよう safe-area) */
.es-wsave{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;background:#fff;border-top:1px solid var(--line);padding:10px 0 10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));margin-top:12px;min-height:56px;box-sizing:border-box;z-index:2}
.es-wsave .es-edst{flex:1;min-width:0;font-size:12.5px}
@container (max-width:1000px){.es-w3{grid-template-columns:220px minmax(0,1fr)}.es-wprev{grid-column:2}}
@container (max-width:700px){
  .es-ed{padding:10px 12px 0}
  .es-wsteps{grid-template-columns:repeat(2,1fr)}
  .es-wsteps li:nth-child(odd) button{border-left:0 !important}
  .es-wsteps li:nth-child(n+3) button{border-top:1px solid var(--line) !important}
  .es-w3{grid-template-columns:minmax(0,1fr)}
  .es-wprev{grid-column:auto}
  .es-chips{flex-direction:row;flex-wrap:wrap}
  .es-chip{max-width:100%}
  .es-var{grid-template-columns:minmax(0,1fr) auto}
  .es-var .es-vv{grid-column:1 / -1}
  .es-ed .es-title,.es-var input,.es-wmain .es-row .es-ptitle,.es-wmain .es-pbody{font-size:16px}   /* .es-row input:not([type]) の 14px より強く */
  .es-wmain .es-pbody{min-height:220px}
  .es-autbl td.es-aures::before{content:none}
}
/* ===== 今日やること(見出しの直下・固定で 4 つ・件数 0 でも出す。分析ページの KPI 帯 .an-kpi と同じ型: 1 枠を縦罫線で 4 分割・値 26px/500・補足 11.5px・影なし。押すと絞り込み(選択中はオレンジ)・もう一度押すと外れる。数が無い時は「—」) ===== */
.es-today{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:6px;background:#fff;margin:0 0 10px;overflow:hidden}
/* 箱は button だが KPI 帯の見た目(テーマの button{border-radius:999px !important}・ピルの背景・押した時の skew を !important で戻す) */
.es-today .es-tbox{display:block;text-align:left;padding:12px 16px !important;border:0 !important;border-left:1px solid var(--line) !important;border-radius:0 !important;background:#fff !important;min-width:0;min-height:44px;cursor:pointer;font:inherit;font-weight:400 !important;color:var(--txt) !important;box-shadow:none !important;transform:none !important;clip-path:none}
.es-today .es-tbox:first-child{border-left:0 !important}
.es-today .es-tbox:hover{background:#fafaf7 !important}
.es-today .es-tbox .l{display:block;font-size:11px;color:var(--sub);letter-spacing:.02em;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.es-today .es-tbox .v{display:block;font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.es-today .es-tbox .s{display:block;font-size:11.5px;color:var(--sub);margin-top:6px;min-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.es-today .es-tbox.on{color:var(--accent) !important;box-shadow:inset 0 -3px 0 var(--accent) !important}
.es-today .es-tbox.on .l{color:var(--accent)}
.es-today .es-tbox:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@container (max-width:640px){.es-today{grid-template-columns:repeat(2,1fr)}.es-today .es-tbox:nth-child(3){border-left:0 !important}.es-today .es-tbox:nth-child(n+3){border-top:1px solid var(--line) !important}}
/* 一覧の下の固定の 1 行(「<箱> N 件のうち n 件を表示中」+続きを読む / 全部表示しました。無い時も場所は残す) */
.es-more{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:40px;font-size:12.5px;color:var(--sub);visibility:hidden;padding:4px 0}
.es-more.show{visibility:visible}
.es-more .ghost{padding:5px 12px;font-size:12.5px}
/* 板: 進み具合(依頼 → 署名 → 承認 → 締結 の丸 4 つ。済=黒・次=オレンジの輪) */
.es-steps{display:flex;align-items:center;padding:10px 0 4px;font-size:11.5px;color:var(--sub);border-bottom:1px solid var(--line)}
.es-step{display:flex;align-items:center;gap:5px;flex:1;min-width:0;white-space:nowrap}
.es-step i{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);background:#fff;box-sizing:border-box;flex:none}
.es-step.done{color:var(--txt)}
.es-step.done i{background:#17181a;border-color:#17181a}
.es-step.cur i{border-color:var(--accent)}
.es-step+.es-step::before{content:'';flex:1;height:1px;background:var(--line);margin:0 6px;order:-1;min-width:8px}
/* 板の先頭「次にすること」の主ボタンの行(1 つだけ・位置固定)と、承認の「確かめること 4 つ」 */
.es-nxbtn{min-height:44px}
.es-checks{margin:8px 0 0;padding:0;list-style:none;font-size:13px}
.es-checks li{display:grid;grid-template-columns:22px 1fr;gap:6px;padding:6px 0;border-bottom:1px dashed var(--line);align-items:start}
.es-checks .es-ck{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700;border:1px solid var(--line);color:var(--sub);background:#fff;font-style:normal}
.es-checks .es-ck.ok{background:#17181a;border-color:#17181a;color:#fff}
.es-checks .es-ck.ng{background:var(--danger);border-color:var(--danger);color:#fff}
.es-checks .es-ckt{display:block;font-weight:700}
.es-checks .es-ckd{display:block;color:var(--sub);font-size:12px;margin-top:2px}
/* 身分証とサイン(横に並べる・板を開いた時に並行して取る・HEIC はダウンロードのまま) */
.es-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.es-fig{margin:0;min-width:0}
.es-fig figcaption{font-size:11.5px;color:var(--sub);margin-bottom:4px}
.es-fig .es-img{margin-top:0}
.es-figbox{min-height:48px;word-break:break-word}
/* 記録(2 列=時刻・中身)・証明の情報(11.5px の等幅・1 つの塊・本文の後ろ) */
.es-log.es-log2>div{grid-template-columns:92px 1fr}
.es-proof{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--sub);background:var(--bg2,#f7f7f4);border-radius:6px;padding:8px 10px;word-break:break-all;line-height:1.6}
.es-proof>div{display:grid;grid-template-columns:92px 1fr;gap:6px}
.es-proof .es-diff{font-size:11.5px}
/* 契約を始める: 公開中の雛形が 1 つの時は題を表示だけ */
.es-ntpl1{font-size:13.5px}
