/* ═══════════════════════════════════════════════════════════════
   SedoNote 統合スタイルシート（sn.css / v0.184 ガラス退役Phase3a）
   旧3層（app.css → app-flat.css → sn.css）を読み込み順のまま結合。
   第1部はガラス専用規則をパージ済み（削除は全件、到達性分析＋反証検証を通過）。
   カスケード順は旧構成と完全等価。--sn-*トークン・0.57pxルール・chromeは不変。
   ═══════════════════════════════════════════════════════════════ */

/* ═════════ 第1: 基礎層（旧app.css・パージ済）部 ═════════ */

/* SedoNote app.css v0.135 — index.php の基幹スタイル（ベーストークン/コンポーネント + ホーム/クローム）
   変更時は index.php 側 <link> の ?v= を必ず更新（キャッシュ更新のため） */
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  /* ダッシュボード統一：旧フラット面（--surface系）をガラス値へ再定義。
     全レガシーコンポーネント（カード/テーブル/フォーム/モーダル/ナビ）が
     機能そのままにガラス意匠へ追従する */
  --bg:#0f1420;--surface:rgba(255,255,255,.05);--surface2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.09);--border2:rgba(255,255,255,.14);
  --accent:#e8d5a3;--accent2:#c9a84c;
  /* v0.224: コントロール標準縦幅（ピル/入力/プルダウン/標準ボタン共通。
     正典=development_guide.md §3「コントロール縦幅」・適用ブロック=panels.css末尾） */
  --ctl-h:32px;
  --text:#f0ede8;--text2:#9b9898;--text3:#6b6868;
  --danger:#e05252;--success:#52b788;--info:#5b9bd5;
  --tag-bg:rgba(255,255,255,.07);
  /* 不透明が必要な箇所専用（select option / フェード / モーダル面） */
  --menu:#151a27;--fade:#101420;--modal-bg:rgba(22,27,38,.72);
  /* ダッシュボード統一：キャンバス＆ガラス（テーマ可変） */
  --app-bg:radial-gradient(ellipse 50% 45% at 8% 92%,rgba(201,168,76,.07) 0%,transparent 100%),radial-gradient(ellipse 40% 38% at 92% 8%,rgba(82,136,200,.06) 0%,transparent 100%),linear-gradient(160deg,#0a0d16 0%,#0f1420 55%,#0a0e18 100%);
  --grid:rgba(255,255,255,.025);
  --glass:rgba(255,255,255,.05);--glass-2:rgba(255,255,255,.07);
  --glass-border:rgba(255,255,255,.09);--glass-border-strong:rgba(255,255,255,.14);
  --dock-bg:rgba(20,24,36,.82);
  --c-blue:#7bade0;--c-flea:#b58fd8;
}

html{scrollbar-gutter:stable;}
body{color:var(--text);font-size:13px;line-height:1.5;min-height:100vh;display:flex;transition:color .3s;color-scheme:dark;}

/* ライトモード（アプリ全体）：既存トークンを上書き → 全UIが追従 */
body.light{
  color-scheme:light;
  --app-bg:radial-gradient(ellipse 50% 45% at 8% 92%,rgba(201,168,76,.05) 0%,transparent 100%),radial-gradient(ellipse 40% 38% at 92% 8%,rgba(82,136,200,.04) 0%,transparent 100%),linear-gradient(160deg,#f8f6f1 0%,#f2ece2 55%,#f6f2ec 100%);
  --grid:rgba(0,0,0,.03);
  --bg:#f4efe6;--surface:rgba(0,0,0,.035);--surface2:rgba(0,0,0,.06);
  --border:rgba(0,0,0,.10);--border2:rgba(0,0,0,.17);
  --text:#1f1d18;--text2:#6a6353;--text3:#8a8270;
  --tag-bg:rgba(0,0,0,.06);
  --menu:#f6f3ec;--fade:#f5f1e9;--modal-bg:rgba(248,246,241,.9);
  --glass:rgba(0,0,0,.035);--glass-2:rgba(0,0,0,.06);
  --glass-border:rgba(0,0,0,.10);--glass-border-strong:rgba(0,0,0,.17);
  --dock-bg:rgba(244,239,230,.92);
  --c-blue:#3a6aa8;--c-flea:#6f48a8;
}

/* ── メインコンテンツ ─────── */
.main{margin-left:0;flex:1;min-height:100vh;display:flex;flex-direction:column;min-width:0;position:relative;z-index:1;padding-top:var(--bar-h);}
.content{padding:26px 28px 130px;flex:1;min-width:0;max-width:1200px;margin:0 auto;width:100%;}

/* ===== ダッシュボード統一：追加コンポーネント ===== */
.page-head{position:relative;z-index:1;margin-bottom:18px;}
.page-head h1{font-size:19px;font-weight:600;letter-spacing:.2px;color:var(--text);}
.page-head .sub{font-size:11.5px;color:var(--text3);margin-top:3px;}

/* 左下：テーマ切替＋ページ操作（ダッシュボードと同配置） */
.app-corner{position:fixed;bottom:20px;left:20px;z-index:200;display:flex;align-items:center;gap:9px;}
.app-theme-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0;}

.app-corner-btn{height:36px;padding:0 14px;border-radius:18px;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.02em;border:1px solid var(--glass-border);transition:all .15s;}

.app-corner .icon-sun{display:block;}.app-corner .icon-moon{display:none;}
body.light .app-corner .icon-sun{display:none;}body.light .app-corner .icon-moon{display:block;}

@media(max-width:768px){
  .content{padding:18px 14px 116px;}
  .app-corner{bottom:14px;left:14px;}
}

/* ── ボタン ─────────────── */
.btn{padding:7px 14px;border:1px solid var(--border2);font-size:12px;cursor:pointer;transition:all 0.15s;display:inline-flex;align-items:center;gap:5px;text-decoration:none;}

/* ── カード ─────────────── */
.card{border:1px solid var(--border);padding:20px;margin-bottom:20px;}
.card-title{font-size:13px;font-weight:500;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:6px;}

/* ── パネル ─────────────── */
.panel{display:none;}
.panel.active{display:block;}

/* ── フォーム ─────────────── */
.field{display:flex;flex-direction:column;gap:5px;}

label{font-size:11px;color:var(--text3);}
input[type=text],input[type=date],input[type=number],input[type=email],select,textarea{border:1px solid var(--border);padding:8px 10px;font-size:13px;transition:border-color 0.15s,background .15s,box-shadow .15s;width:100%;}
input:focus,select:focus,textarea:focus{outline:none;}
select option{background:var(--menu);color:var(--text);}
.radio-group{display:flex;gap:6px;flex-wrap:wrap;}
.radio-opt{padding:5px 12px;border:1px solid var(--border);color:var(--text2);cursor:pointer;font-size:12px;transition:all 0.15s;user-select:none;}

/* ── テーブル ─────────────── */
.table-wrap{overflow-x:auto;border:1px solid var(--border);}
table{width:100%;border-collapse:collapse;font-size:12px;}

th{padding:9px 12px;text-align:left;font-weight:500;font-size:11px;white-space:nowrap;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;}

tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.1s;}
tbody tr:last-child{border-bottom:none;}

td{padding:9px 12px;color:var(--text);white-space:nowrap;}

/* ── 統計カード ─────────────── */
.stat-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.stat-card{border:1px solid var(--border);padding:12px 16px;min-width:120px;}
.stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:0.6px;}
.stat-value{font-size:20px;font-weight:500;color:var(--accent);margin-top:2px;}
.stat-sub{font-size:11px;color:var(--text3);margin-top:1px;}

/* ── 一覧ツールバー ─────────── */
.list-toolbar{display:flex;flex-direction:row;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--border);padding:0 12px;flex:1;min-width:160px;height:var(--ctl-h);transition:border-color .15s,background .15s,box-shadow .15s;}

.search-box input{background:transparent;border:none;color:var(--text);font-size:13px;width:100%;outline:none;height:100%;box-shadow:none;}
.search-box input::placeholder{color:var(--text3);}
.list-toolbar select{height:var(--ctl-h);}

/* ── バッジ ─────────────── */
.badge{display:inline-block;padding:2px 7px;font-size:10px;font-weight:500;letter-spacing:0.3px;}
.badge-success{background:rgba(82,183,136,0.15);color:var(--success);}
.badge-danger{background:rgba(224,82,82,0.15);color:var(--danger);}
.badge-info{background:rgba(91,155,213,0.15);color:var(--info);}
.badge-warn{background:rgba(201,168,76,0.15);color:var(--accent2);}
.badge-gray{background:var(--border);color:var(--text3);}

/* ── モーダル ─────────────── */
.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.modal{width:100%;max-width:700px;max-height:85vh;overflow-y:auto;padding:24px;background:var(--menu);border:1px solid var(--border2);border-radius:7px;}
.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;}
.modal-title{font-size:16px;font-weight:500;}
.modal-sub{font-size:12px;color:var(--text3);margin-top:2px;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.detail-row{display:contents;}
.detail-key{background:var(--surface2);padding:8px 12px;font-size:11px;color:var(--text3);border-bottom:1px solid var(--border);}
.detail-val{padding:8px 12px;font-size:12px;color:var(--text);border-bottom:1px solid var(--border);word-break:break-all;}
.detail-row:last-child .detail-key,.detail-row:last-child .detail-val{border-bottom:none;}

.msg{display:flex;gap:10px;align-items:flex-start;}
.msg-user{flex-direction:row-reverse;}
.msg-avatar{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0;}
.msg-avatar-ai{background:linear-gradient(135deg,#2a2060,#1a3a5c);color:#c8b8ff;}
.msg-avatar-user{background:var(--accent2);color:#0f0f11;}
.msg-bubble{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:9px 13px;font-size:12px;line-height:1.7;max-width:85%;white-space:pre-wrap;word-break:break-word;}
.msg-user .msg-bubble{background:rgba(201,168,76,0.1);border-color:rgba(201,168,76,0.25);}
.msg-bubble strong{color:var(--accent);font-weight:500;}
.msg-bubble em{color:var(--info);font-style:normal;}
.thinking{display:flex;gap:4px;padding:4px 0;}
.thinking span{width:5px;height:5px;background:var(--text3);border-radius:50%;animation:blink 1.2s infinite;}
.thinking span:nth-child(2){animation-delay:0.2s;}
.thinking span:nth-child(3){animation-delay:0.4s;}
@keyframes blink{0%,80%,100%{opacity:0.3;}40%{opacity:1;}}

/* ── 週刊レポート ─────────── */

.report-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color 0.15s;}
.report-card:hover{border-color:var(--border2);}
.report-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;}
.report-card-title{font-size:12px;font-weight:500;color:var(--accent);}
.report-card-date{font-size:10px;color:var(--text3);}
.report-card-body{font-size:11px;color:var(--text2);line-height:1.6;white-space:pre-wrap;max-height:70px;overflow:hidden;position:relative;}
.report-card-body.expanded{max-height:none;}
.report-card-body::after{content:'';position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(transparent,var(--fade));pointer-events:none;}
.report-card-body.expanded::after{display:none;}

/* ── チャート時間軸ボタン ── */

/* ── マスタ ─────────────── */
.master-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.master-item{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;border-bottom:1px solid var(--border);font-size:12px;cursor:default;transition:background .1s;}
.master-item:last-child{border-bottom:none;}
.master-item:hover{background:var(--surface2);}
.master-item.dragging{opacity:0.4;background:var(--surface2);}
.master-item.drag-over{border-top:2px solid var(--accent2);}
.master-drag-handle{color:var(--text3);cursor:grab;padding:0 8px 0 0;font-size:14px;user-select:none;flex-shrink:0;}
.master-drag-handle:active{cursor:grabbing;}
.master-item-info{display:flex;flex-direction:column;gap:2px;flex:1;}
.master-item-name{color:var(--text);font-weight:500;}
.master-item-sub{font-size:10px;color:var(--text3);}
.master-item-actions{display:flex;gap:5px;}
.master-empty{padding:20px;text-align:center;color:var(--text3);font-size:11px;}

/* ── 収支レポート ─────────── */

/* ── デバイスタグ ─────────── */
.device-tag{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 5px;border-radius:4px;background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.3);color:var(--accent2);font-size:10px;font-weight:600;}

/* ── トースト/共通 ─────────── */
.empty-state{text-align:center;padding:50px 20px;color:var(--text3);}
.empty-state .icon{font-size:36px;margin-bottom:10px;opacity:0.4;}
.empty-state p{font-size:13px;}
.toast{position:fixed;top:72px;left:50%;transform:translateX(-50%) translateY(-20px);padding:9px 18px;font-size:12px;z-index:6000;opacity:0;transition:all 0.3s;pointer-events:none;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:768px){
  .content{padding:12px;}

  /* 統計カード：2列 */
  .stat-row{display:grid;grid-template-columns:1fr 1fr;}
  .stat-value{font-size:18px;}

  /* モーダル */
  .modal-overlay{padding:8px;}
  .modal{padding:16px;max-height:92vh;}
  .modal-header{flex-wrap:wrap;gap:8px;}
  .modal-header > div:last-child{flex-wrap:wrap;}
  .detail-grid{grid-template-columns:1fr;}
  .detail-key{background:var(--surface2);border-bottom:none;padding-bottom:2px;color:var(--accent2);}
  .detail-val{border-bottom:1px solid var(--border);padding-top:2px;}

  /* 一覧ツールバー */
  .list-toolbar{flex-wrap:wrap;}
  .search-box{max-width:none;flex:1;min-width:160px;}
  .list-toolbar select{width:auto;}

  /* チャット */
  .chat-window{max-height:260px;}

  /* 収支レポート */

  /* レポートカード */
  .report-card-header{flex-direction:column;gap:8px;}

  /* AI使用量メーター：縦並び */
  #usage-meter{gap:8px;}

  /* ラジオグループ：小さく */
  .radio-opt{font-size:11px;padding:4px 9px;}

  /* ボタン類 */
  .btn-sm{padding:3px 7px;font-size:10px;}

  /* テーブル：縦スクロール維持 */
  .table-wrap{border-radius:6px;}
  table{font-size:11px;}
  th,td{padding:7px 9px;}
}

@media(max-width:480px){
  /* さらに小さい画面 */
  .stat-row{grid-template-columns:1fr 1fr;}
  .stat-card{padding:10px 12px;}
  .stat-value{font-size:16px;}
  .content{padding:10px;}
  .card{padding:14px;}
  .modal-title{font-size:14px;}
}

::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
/* ===== グローバル ドック＋検索バー（ホームと同一意匠・同一スケール scale(s)） ===== */
#gbar{position:fixed;left:0;width:100vw;bottom:calc(var(--bar-h) + 19px);z-index:5001;display:flex;justify-content:center;pointer-events:none;}
#gbar .gb-inner{transform-origin:bottom center;display:flex;flex-direction:column;align-items:stretch;width:277.1px;}
/* 検索バー（ホーム .sbar 素の値・新規入力時のみ表示） */
#gbar .gb-search{display:none;pointer-events:auto;width:100%;align-items:center;padding:0 4px 0 0;overflow:hidden;}
#gbar.show-search .gb-search{display:flex;}
#gbar .gb-sleft{flex:1;display:flex;align-items:center;padding:6px 9px 6px 12px;gap:7px;min-width:0;}
#gbar .gb-sico{flex-shrink:0;opacity:.3;line-height:0;}
#gbar .gb-sinp{flex:1;min-width:0;background:transparent;border:none;outline:none;font-size:10px;padding:0;}

#gbar .gb-sdiv{width:1px;height:16px;flex-shrink:0;margin:0 2px;}
#gbar .gb-cbtn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
/* ドック（ホーム .dock 素の値・backdrop-filterなし） */
#gbar .dock{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:2px;padding:2px 6px;}
#gbar .di{width:24.3px;height:24.3px;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;}
#gbar .di:hover{transform:translateY(-5px) scale(1.1);transition:transform .15s;}
#gbar .diw{width:20.4px;height:20.4px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
#gbar .dock svg{width:14px;height:14px;}
#gbar .dlbl{font-size:6px;position:absolute;bottom:-10px;white-space:nowrap;opacity:0;pointer-events:none;}
#gbar .di:hover .dlbl{opacity:1;}
#gbar .dsep{width:1px;height:15px;margin:0 2px;flex-shrink:0;}
#gbar .dact::after,#gbar .di.active::after{content:'';position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;}

#gbar .icTips .diw{background:rgba(232,190,90,.22);}
/* light（ホームと同一） */

/* v0.135: ライト取りこぼし修正（白系rgbaが明色面で不可視になる箇所） */

body.light #gbar .di.ic0 svg path,body.light #gbar .di.ic0 svg polyline{stroke:rgba(80,55,10,.9) !important;}

body.light #gbar .gb-sico{opacity:1;}
body.light #gbar .gb-sico svg circle,body.light #gbar .gb-sico svg path{stroke:rgba(0,0,0,.55)!important;}

body.light #gbar .gb-cbtn svg path,body.light #gbar .gb-cbtn svg circle{stroke:rgba(130,95,30,.85)!important;}
#home-screen .center .sbar{display:none!important;}
/* ===== 同意モーダル：ガラスモーダル意匠へ統一（インラインstyle上書き） ===== */

/* ═══════════════════════════════════════════════════════════
   ライトモード統一パッチ
   後発パネル（stock/sold/profit/ai/mypage/nf-embed）はダーク固定の
   rgba(255,255,255,…) を直書きしているため、body.light 配下でのみ
   同等のライト系ガラス値へ差し替える。意匠・レイアウトは不変。
   ═══════════════════════════════════════════════════════════ */
/* メトリクスカード（mcard系）面と区切り */

/* ラベル・数値 */

/* ツールバー（検索・select・ピルボタン・ページャ） */

/* ガラスカード（テーブル外枠・フォームカード・収支カード） */

/* 収支テーブル・チャネルバー */

body.light #panel-profit .pr-table tbody tr:hover td{background:rgba(0,0,0,.025);}

body.light #panel-profit .pr-custom input{color-scheme:light;}
body.light #panel-profit .pr-custom .pr-apply{color:rgba(0,0,0,.65);}
/* 新規入力フォーム：入力・ピル・ノート・検索バー */

/* 詳細検索モーダル（sv/sd）：モーダル共通トークンへ */

/* ═══ 以下 旧第2ブロック（ホーム画面・クローム） ═══ */
#home-screen{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;overflow:hidden;}

#home-screen .home-stage{flex-shrink:0;}

#home-screen .grid-lines-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;z-index:0;pointer-events:none;}
#home-screen.light .grid-lines-bg{background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);}

#home-screen .icon-sun{display:block;}
#home-screen .icon-moon{display:none;}
#home-screen .home.light-mode .icon-sun{display:none;}
#home-screen .home.light-mode .icon-moon{display:block;}
#home-screen *{box-sizing:border-box;margin:0;padding:0;}
#home-screen .home{width:680px;height:382px;background:transparent;position:relative;overflow:hidden;border-radius:10px;}
#home-screen .home::before{display:none;}
#home-screen .grid-lines{display:none;}
#home-screen .logo-sn{position:absolute;left:50%;top:174px;transform:translate(-50%,-50%);width:165px;pointer-events:none;z-index:0;}
#home-screen .logo-sn img{width:100%;display:block;}
#home-screen .logo-center{position:absolute;z-index:1;left:50%;top:174px;transform:translate(-50%,-50%);width:152px;pointer-events:none;}
#home-screen .logo-center img{width:100%;display:block;}

#home-screen .home.light-mode .ut{color:rgba(0,0,0,.5);}
#home-screen .home.light-mode .sw-time{color:rgba(0,0,0,.35);}
#home-screen .home.light-mode .rn-{color:rgba(0,0,0,.35);}

#home-screen .home.light-mode .footer-sep{color:rgba(0,0,0,.18);}

#home-screen .mcard{position:absolute;top:10px;height:56px;display:flex;align-items:stretch;padding:0 4px;}
#home-screen .mcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 4px;min-width:0;}
#home-screen .mcol-label{white-space:nowrap;}
#home-screen .mcol-val{line-height:1;white-space:nowrap;}

#home-screen .mcol-val .ut{font-size:7px;margin-left:1px;}
#home-screen .mcol-chg{font-size:6.8px;display:flex;align-items:center;gap:2px;white-space:nowrap;letter-spacing:.01em;}

#home-screen .mcol-chg .ar{font-size:6.5px;}
#home-screen .mdiv{margin:13px 0;flex-shrink:0;}
#home-screen .side-widget{position:absolute;top:76px;height:218px;overflow:hidden;display:flex;flex-direction:column;}
#home-screen .sw-left{left:10.0px;}

#home-screen .sw-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
#home-screen .sw-title{display:flex;align-items:center;gap:5px;}
#home-screen .sw-dot{width:5px;height:5px;border-radius:50%;background:#e05252;box-shadow:0 0 5px rgba(224,82,82,.6);}
#home-screen .sw-dot.green{background:#5abf8a;box-shadow:0 0 5px rgba(90,191,138,.6);}

#home-screen .sw-list{flex:1;}
#home-screen .rk-item{display:flex;align-items:center;gap:8px;padding:2px 12px;}
#home-screen .rk-no{width:14px;text-align:center;flex-shrink:0;font-weight:500;}

#home-screen .rk-info{flex:1;min-width:0;}
#home-screen .rk-name{overflow:hidden;line-height:1;margin-bottom:1px;}
#home-screen .rk-count{flex-shrink:0;min-width:28px;text-align:right;}
#home-screen .mv-item{display:flex;align-items:center;gap:8px;padding:1.5px 12px;}
#home-screen .mv-info{flex:1;min-width:0;}
#home-screen .mv-name{overflow:hidden;line-height:1;margin-bottom:1px;}

#home-screen .mv-chg{display:flex;align-items:center;gap:3px;flex-shrink:0;min-width:40px;justify-content:flex-end;}

#home-screen .mv-arrow{font-size:7px;}
#home-screen .center{position:absolute;top:298px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:277.1px;}
#home-screen .sbar{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:24px;display:flex;align-items:center;padding:0 4px 0 0;overflow:hidden;}
#home-screen .sleft{flex:1;display:flex;align-items:center;padding:6px 9px 6px 12px;gap:7px;}
#home-screen .sico{flex-shrink:0;opacity:.3;line-height:0;}

#home-screen .sdiv{width:1px;height:16px;background:rgba(255,255,255,.1);flex-shrink:0;margin:0 2px;}
#home-screen .cbtn{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:3px 0;flex-shrink:0;}
#home-screen .gap{height:6px;}
/* ===== ダッシュボード インライン検索 ===== */
#home-screen .sinp{flex:1;min-width:0;background:transparent;border:none;outline:none;font-size:10px;color:rgba(255,255,255,.85);padding:0;}
#home-screen .sinp::placeholder{color:rgba(255,255,255,.28);}
#home-screen.light .sinp{color:rgba(0,0,0,.82);}
#home-screen.light .sinp::placeholder{color:rgba(0,0,0,.4);}
/* ===== 検索結果ブラウザ 枠（既存値を維持） ===== */
#dash-browser{display:none;}
/* v0.255: 角R 12→4px（キャンバス内規約＝画面上7px・内部部品と統一）／高さ286px固定→bottom:8px
   （キャンバス下端G＝左右カラム・ドック下端のラインまで延長。.homeの height はlayoutHomeが設定） */
#dash-browser.open{display:block;position:absolute;top:8px;left:10px;width:660px;bottom:8px;z-index:40;border:.57px solid rgba(255,255,255,.10);border-radius:4px;overflow:hidden;}  /* v0.258: 枠線は0.57pxルール（画面上1px） */

#dash-browser .db-close{position:absolute;top:8px;right:8px;z-index:2;width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;border:1px solid rgba(255,255,255,.12);transition:background .15s,color .15s;}

#home-screen.light #dash-browser .db-close{color:rgba(0,0,0,.55);background:rgba(255,255,255,.6);border-color:rgba(0,0,0,.12);}
#dash-browser .db-body{height:100%;overflow-y:auto;padding:7px 13px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;}
#dash-browser .db-body::-webkit-scrollbar{width:6px;}
#dash-browser .db-body::-webkit-scrollbar-thumb{border-radius:3px;}
#dash-browser .db-body::-webkit-scrollbar-track{background:transparent;}
#dash-browser .db-sub{font-size:8px;color:var(--text3);margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em;}

/* ===== kx- : 検索結果ブラウザ専用コンポーネント =====
   v0.258 B-59: JAN検索結果は item.php?embed=1 のiframe表示へ一本化した。
   旧モーダルUI（km-* 一式・kx-store系の店舗行・ec-linkピル・チャート枠）は退役（git 536a7f4 に保存）。
   ここに残すのは「iframe枠・キーワード一覧(kx-kw-*)・空表示・履歴/現在JANチップ・ローディング/エラー」 */

/* 商品詳細ページのiframe枠。実寸はJS(snEmbedFit)が逆スケールで設定＝キャンバス拡大でもぼやけない */
#dash-browser .db-body.embed-mode{display:flex;flex-direction:column;overflow:hidden;}
#dash-browser #kaitori-embed{position:relative;flex:1;min-height:0;overflow:hidden;
  border:.57px solid var(--border);border-radius:4px;background:var(--surface);}
#dash-browser #kaitori-frame{display:block;border:0;transform-origin:top left;background:transparent;}
#dash-browser .km-embed-load{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:var(--surface);}

#dash-browser .kx-empty{text-align:center;padding:32px;color:var(--text3);font-size:10px;
  background:var(--surface);border:1px solid var(--border);border-radius:4px;}  /* v0.255: 破線→実線・角R統一 */

/* ローディング / エラー */
#dash-browser #kaitori-loading{text-align:center;padding:52px 0;}
#dash-browser .kx-spinner{width:26px;height:26px;margin:0 auto 12px;border-radius:50%;
  border:2px solid rgba(201,168,76,.18);border-top-color:var(--accent2);animation:kx-spin .8s linear infinite;}
@keyframes kx-spin{to{transform:rotate(360deg);}}
#dash-browser #kaitori-loading .kx-loading-text{font-size:10px;color:var(--text3);letter-spacing:.04em;}
#dash-browser #kaitori-error{padding:14px 18px;background:rgba(224,82,82,.08);
  border:1px solid rgba(224,82,82,.25);border-radius:4px;color:var(--danger);font-size:10px;line-height:1.6;}


/* ===== ライトモード ===== */

#home-screen.light #dash-browser .kx-kw-name{color:rgba(0,0,0,.85);}
#home-screen.light #dash-browser .kx-kw-jan,
#home-screen.light #dash-browser .kx-kw-stores,
#home-screen.light #dash-browser .db-sub{color:rgba(0,0,0,.42);}
#home-screen.light #dash-browser .db-body{scrollbar-color:rgba(0,0,0,.18) transparent;}
#home-screen #kaitori-camera-wrap{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:20px;}
#kaitori-camera-wrap .db-cam-inner{width:100%;max-width:420px;background:var(--menu);border:1px solid var(--border2);border-radius:7px;overflow:hidden;}
#kaitori-camera-wrap .db-cam-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border);font-size:12px;color:var(--text);}
#kaitori-camera-wrap .db-cam-head button{background:transparent;border:1px solid var(--border2);color:var(--text);border-radius:7px;padding:3px 10px;font-size:11px;cursor:pointer;}
#kaitori-camera-wrap #kaitori-qr-reader{width:100%;}

#home-screen .footer-bar{position:absolute;top:369px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;}
#home-screen .footer-links{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;flex:0 0 auto;}
#home-screen .footer-links a{font-size:6.5px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:color .15s;}
#home-screen .footer-sep{font-size:5.5px;}
#home-screen .footer-ver{font-size:7px;letter-spacing:.07em;text-transform:uppercase;color:rgba(201,168,76,.45);background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.14);border-radius:20px;padding:2px 8px;white-space:nowrap;flex-shrink:0;}
#home-screen .badge{display:none;position:absolute;bottom:15px;right:16px;font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:rgba(201,168,76,.5);background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.15);border-radius:20px;padding:3px 9px;}
#home-screen .theme-btn{position:absolute;bottom:10px;left:10px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;padding:0;cursor:pointer;outline:none;transition:background .2s,color .2s;}

#home-screen .login-btn{position:absolute;bottom:10px;left:36px;height:20px;padding:0 9px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:7.5px;letter-spacing:.04em;font-weight:500;cursor:pointer;white-space:nowrap;filter:drop-shadow(0px 0px 3px rgba(0,0,0,.45));outline:none;}

#home-screen .home.light-mode .login-btn{color:rgba(0,0,0,.5);background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.14);filter:drop-shadow(0px 0px 3px rgba(0,0,0,.2));}
#home-screen .home.light-mode .login-btn:hover{background:rgba(0,0,0,.09);color:rgba(0,0,0,.75);}
#home-screen .home.light-mode{background:transparent;}
#home-screen .home.light-mode .grid-lines{background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);}

#home-screen .home.light-mode .theme-btn{font-size:12px;}

#home-screen .home.light-mode .sbar{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.2);}

#home-screen .home.light-mode .sico{opacity:1;}
#home-screen .home.light-mode .sico svg circle,#home-screen .home.light-mode .sico svg path{stroke:rgba(0,0,0,.55) !important;}
#home-screen .home.light-mode .sdiv{background:rgba(0,0,0,.18);}
#home-screen .home.light-mode .cbtn svg path,#home-screen .home.light-mode .cbtn svg circle{stroke:rgba(130,95,30,.85) !important;}

#home-screen .footer-copy{flex:1;text-align:right;font-size:6.5px;white-space:nowrap;letter-spacing:.02em;}

/* ===== v12 ダッシュボード追加CSS：AI分析ウィジェット固有 ===== */
#home-screen .sw-ai{left:201.4px;width:277.1px;z-index:2;}
#home-screen .sw-dot.blue{background:#5aa0dc;box-shadow:0 0 5px rgba(90,160,220,.6);}
#home-screen .ai-item{display:flex;}
#home-screen .ai-mark{flex-shrink:0;text-align:center;}

#home-screen .ai-text b{color:rgba(255,255,255,.85);font-weight:600;}
#home-screen .home.light-mode .ai-text{color:rgba(0,0,0,.6);}
#home-screen .home.light-mode .ai-text b{color:#1a1a1a;}
#home-screen .home.light-mode .ai-mark.up{color:rgba(25,130,75,.95);}
#home-screen .home.light-mode .ai-mark.down{color:rgba(185,45,45,.95);}
#home-screen .home.light-mode .ai-mark.info{color:rgba(40,110,170,.95);}

/* ===== v12 ダッシュボード追加CSS：ヘッダー/フッター・縦フィル・利益/お知らせ・スクロールバー・文字統一・コンパクト化 ===== */
/* （プレビューの body.light は本番テーマ機構に合わせ #home-screen.light に読み替え済み） */
/* ===== ネイティブ ヘッダー / フッター（kaitorix基準・少し小さい / ダーク・ライト対応） ===== */
:root{--bar-h:56px;}
.app-bar{position:fixed;left:0;right:0;z-index:5000;height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-sizing:border-box;}
.app-header{top:0;}
.app-footer{bottom:0;}
#home-screen.light .app-header{background:rgba(248,246,241,.9);border-bottom-color:rgba(0,0,0,.08);}
#home-screen.light .app-footer{background:rgba(248,246,241,.9);border-top-color:rgba(0,0,0,.08);}
/* ロゴ */
.hbrand{display:flex;align-items:center;gap:9px;text-decoration:none;}
.hbrand img{height:26px;width:auto;display:block;}

/* 右側コントロール */
.hright{display:flex;align-items:center;gap:10px;}
.h-icon{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;padding:0;}

.h-icon .icon-sun{display:block;}.h-icon .icon-moon{display:none;}

/* Google サインイン（公式準拠・ライト/ダーク両対応） */
.gsi-btn{height:34px;display:inline-flex;align-items:center;gap:9px;padding:0 14px 0 11px;border-radius:9px;cursor:pointer;font-weight:500;font-size:13px;line-height:1;white-space:nowrap;transition:background .15s,box-shadow .15s;}
.gsi-btn .gsi-logo{display:flex;width:17px;height:17px;flex-shrink:0;}
.gsi-dark{color:#e3e3e3;border:1px solid #5f6368;}

.gsi-light{background:#fff;color:#1f1f1f;border:1px solid #747775;}
.gsi-light:hover{background:#f7f8f8;box-shadow:0 1px 2px rgba(60,64,67,.3);}
.gsi-light{display:none;}.gsi-dark{display:inline-flex;}

body.light .gsi-light{display:inline-flex;}body.light .gsi-dark{display:none;}
/* フッター */
.fcopy{font-size:12px;letter-spacing:.02em;}
.fcopy .fver{font-size:11px;opacity:.7;margin-left:7px;}

.flinks{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.flinks a{font-size:12px;text-decoration:none;cursor:pointer;transition:color .15s;white-space:nowrap;}

.fsep{font-size:10px;}

/* モック内部の旧フッター/テーマ/ログインは新バーに集約するため非表示 */
.footer-bar{display:none !important;}
#theme-toggle,#login-btn{display:none !important;}
@media(max-width:640px){
  .app-bar{padding:0 12px;}
  .hbrand .hname{font-size:15px;}
  .gsi-btn .gsi-text{display:none;}
  .gsi-btn{padding:0 10px;}
  .hright{gap:7px;}
  .flinks{gap:6px;}
  .flinks a{font-size:11px;}
  .fcopy{font-size:11px;}
}
/* 縦フィル：ステージを絶対配置・左上基準にしヘッダー〜フッター間を充填（layoutHomeで制御） */
#home-screen .home-stage{position:absolute!important;transform-origin:top left!important;}
/* 修正1：3ウィジェットのヘッダータイトルを横一列に揃える（折り返さず1行・同じ縦位置） */
#home-screen .sw-title{white-space:nowrap;min-width:0;overflow:hidden;}
#home-screen .sw-time{white-space:nowrap;flex-shrink:0;margin-left:8px;}
/* 修正6：Tipsアイコンの色タイル */

/* 変更3：利益ランキング（sw-profit）— 検索ランキング下に新設・左カラムを均等2分割 */
#home-screen .sw-profit{left:10.0px;}
#home-screen .sw-dot.gold{background:#c9a84c;box-shadow:0 0 5px rgba(201,168,76,.6);}
#home-screen .pf-item{display:flex;align-items:center;}
#home-screen .pf-info{flex:1;min-width:0;}
#home-screen .pf-name{white-space:nowrap;overflow:hidden;}
#home-screen .pf-sub{overflow:hidden;}
#home-screen .pf-profit{flex-shrink:0;min-width:42px;text-align:right;}
/* v0.207: 利益率25%超（api gray=true）の「要確認」バッジ。赤系=--sn-claude（v0.196ルール・両テーマ共通） */
#home-screen .pf-gray{display:inline-block;margin-left:2px;padding:0 2px;border:1px solid rgba(217,119,87,.5);border-radius:4px;color:var(--sn-claude,#d97757);font-size:5px;line-height:1.5;white-space:nowrap;vertical-align:baseline;}
#home-screen .home.light-mode .pf-name{color:#1a1a1a;}
#home-screen .home.light-mode .pf-sub{color:rgba(0,0,0,.4);}
#home-screen .home.light-mode .pf-profit{color:rgba(25,130,75,.95);}
/* お知らせ・ニュース（sw-news）— 変動率ランキング下に新設・右カラムを均等2分割 */

#home-screen .sw-dot.violet{background:#9f8adc;box-shadow:0 0 5px rgba(159,138,220,.6);}
#home-screen .nw-item{display:flex;align-items:center;}
#home-screen .nw-date{flex-shrink:0;}
#home-screen .nw-body{flex:1;min-width:0;overflow:hidden;}
#home-screen .nw-tag{display:inline-block;padding:0 3px;border-radius:3px;margin-right:4px;letter-spacing:.03em;}

#home-screen .home.light-mode .nw-date{color:rgba(0,0,0,.35);}
#home-screen .home.light-mode .nw-body{color:rgba(0,0,0,.6);}
/* ウィジェット内スクロール：表示しきれない項目は縦スクロールで確認可能（細いスクロールバー） */

#home-screen .sw-list::-webkit-scrollbar-track{background:transparent;}

/* === スクロールバーをより控えめに === */
#home-screen .sw-list{scrollbar-color:rgba(255,255,255,.1) transparent;}
#home-screen .sw-list::-webkit-scrollbar{width:2px;}
#home-screen .sw-list::-webkit-scrollbar-thumb{border-radius:2px;}

#home-screen .home.light-mode .sw-list{scrollbar-color:rgba(0,0,0,.1) transparent;}
#home-screen .home.light-mode .sw-list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);}
#home-screen .home.light-mode .sw-list:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);}
/* === 5ウィジェット内の文字サイズ・余白・段組みを統一 === */
/* メイン名（商品名・見出し・AI本文）= 8px */
#home-screen .rk-name,#home-screen .mv-name,#home-screen .pf-name,#home-screen .nw-body,#home-screen .ai-text{line-height:1.35;}
/* 値（検索数・変動率・利益額）= 8.5px */

/* サブ（価格・仕入元・日付）= 6px */

/* 行の余白・段間を統一 */
#home-screen .rk-item,#home-screen .mv-item,#home-screen .pf-item,#home-screen .nw-item{gap:8px;}
#home-screen .ai-item{gap:8px;align-items:flex-start;}
/* 左端要素（順位/マーク/日付）の幅をそろえ、本文の開始位置を統一 */
#home-screen .ai-mark{width:14px;line-height:1.35;margin-top:0;}

/* === 項目をコンパクト化して表示情報量を増やす（縦間隔を詰める・文字サイズは統一済みのまま） === */
#home-screen .sw-list{padding:2px 0;}
#home-screen .rk-item,#home-screen .mv-item,#home-screen .pf-item,#home-screen .nw-item{padding:1.5px 12px;}
#home-screen .ai-item{padding:2.5px 12px;}
#home-screen .rk-name,#home-screen .mv-name,#home-screen .pf-name{line-height:1.1;margin-bottom:0;}
#home-screen .nw-body{line-height:1.1;}
#home-screen .mv-price,#home-screen .pf-sub{line-height:1;}
/* ===== v12 ホーム画面 表示修正（リセット#home-screen *への詳細度対策＋スクロール有効化） ===== */
#home-screen .sw-list{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}

/* ===== Phase1: グローバルchrome light対応（body.light配下） ===== */

/* ═════════ 第2: フラット層（旧app-flat.css）部 ═════════ */

/* =====================================================
   SedoNote app-flat.css v0.137 — B案「フラット・速度優先」
   プライスター等の業務ツールを参考にしたフラットUI。
   すべて body.flat スコープの上書きレイヤー（A案には無影響）。
   有効化: /?design=flat ／ 戻す: /?design=glass
   ライト⇄ダーク: 既存のテーマ切替ボタン（body.light の有無）で切替
   速度方針:
     - Webフォント0リクエスト（index.php側で読込スキップ）
     - backdrop-filter 全廃 / グラデーション・背景グリッド廃止
     - background-attachment:fixed 廃止（モバイルスクロール高速化）
   意匠署名: ヘッダー上端の3pxゴールドライン（ブランドの一筆）
   ===================================================== */

/* ── トークン: フラット・ダーク（基準）─────────────── */
body.flat{
  --bg:#10151d;--surface:#171e29;--surface2:#1e2734;
  --border:#28313f;--border2:#39455a;
  --line-soft:#212938;                            /* 表の行罫線 */
  --text:#e8ecf2;--text2:#9aa5b5;--text3:#6b7688;
  --accent:#d8b45e;--accent2:#d8b45e;             /* ダークでは明ゴールド */
  --action:#4d8bff;--action-h:#6ba0ff;            /* 主操作=ソリッドブルー */
  --action-tint:rgba(77,139,255,.16);
  --danger:#e06565;--success:#3dbb7d;--info:#4d8bff;
  --tag-bg:#222b3a;--menu:#171e29;--fade:#171e29;--modal-bg:#171e29;
  --dock-bg:#171e29;
  --glass:#171e29;--glass-2:#1e2734;
  --glass-border:#28313f;--glass-border-strong:#39455a;
  --grid:transparent;
  --shadow:0 2px 12px rgba(0,0,0,.35);
  --shadow-lg:0 8px 30px rgba(0,0,0,.5);
}
/* ── トークン: フラット・ライト（プライスター系の白基調）── */
body.flat.light{
  --bg:#f3f5f8;--surface:#ffffff;--surface2:#f6f8fb;
  --border:#dfe4ec;--border2:#c9d1de;
  --line-soft:#edf0f5;
  --text:#1f2733;--text2:#5a6577;--text3:#8b95a6;
  --accent:#b8912f;--accent2:#b8912f;             /* 白地で読める濃ゴールド */
  --action:#2f6fed;--action-h:#2159cf;
  --action-tint:#e8effc;
  --danger:#d64545;--success:#1a9e5c;--info:#2f6fed;
  --tag-bg:#eef1f6;--menu:#ffffff;--fade:#ffffff;--modal-bg:#ffffff;
  --dock-bg:#ffffff;
  --glass:#ffffff;--glass-2:#f6f8fb;
  --glass-border:#dfe4ec;--glass-border-strong:#c9d1de;
  --shadow:0 2px 12px rgba(20,30,50,.10);
  --shadow-lg:0 8px 30px rgba(20,30,50,.18);
}

/* ── 全域: 効果の無効化と地の単色化 ─────────────────── */
body.flat{
  background:var(--bg) !important;
  background-attachment:scroll !important;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
}
body.flat::before{display:none;}                 /* 背景グリッド廃止 */

/* フォント統一（Webフォント不読込のため、等幅フォールバック等も回収） */

/* ── クローム: 単色 + 罫線 + 金3pxの署名 ─────────────── */
body.flat .app-header{background:var(--surface) !important;border-top:3px solid #c9a84c;border-bottom:1px solid var(--border);}
body.flat .app-footer{background:var(--surface) !important;border-top:1px solid var(--border);}
body.flat .hbrand .hname{color:var(--text);}
body.flat .h-icon{background:var(--surface);border-color:var(--border2);color:var(--text2);}
body.flat .h-icon:hover{background:var(--surface2);color:var(--text);border-color:var(--border2);}
body.flat .fcopy{color:var(--text3);}
body.flat .flinks a{color:var(--text2);}
body.flat .flinks a:hover{color:var(--text);}
body.flat .fsep{color:var(--border2);}
body.flat .app-theme-btn{background:var(--surface);border:1px solid var(--border2);color:var(--text2);}
body.flat .app-theme-btn:hover{background:var(--surface2);color:var(--accent);}

/* ── ボタン ─────────────────────────────────────────── */
body.flat .btn{background:var(--surface);border-color:var(--border2);border-radius:6px;color:var(--text);}
body.flat .btn:hover{background:var(--surface2);border-color:var(--border2);}
body.flat .btn-primary,
body.flat #nf-embed .btn-primary,
body.flat .reg-btn,
body.flat #panel-price-chart .ws-gold,
body.flat #panel-price-chart #jan-add-btn,
body.flat #alert-section .al-btn-primary,
body.flat #sv-filter-modal .sv-btn-apply,
body.flat #sd-filter-modal .sv-btn-apply{
  background:var(--action) !important;border-color:var(--action) !important;
  color:#fff !important;font-weight:600;filter:none !important;
}
body.flat .btn-primary:hover,
body.flat #nf-embed .btn-primary:hover,
body.flat .reg-btn:hover,
body.flat #panel-price-chart .ws-gold:hover,
body.flat #alert-section .al-btn-primary:hover,
body.flat :is(#sv-filter-modal,#sd-filter-modal) .sv-btn-apply:hover{
  background:var(--action-h) !important;border-color:var(--action-h) !important;opacity:1;
}
body.flat .btn-danger{background:var(--surface);border-color:rgba(214,90,90,.5);color:var(--danger);}
body.flat .btn-danger:hover{background:rgba(214,90,90,.12);}
/* v0.196: 商品を削除ボタン（新規入力/編集フォーム下段）。赤系=Claudeアイコン色 #d97757 ルール初適用 */
.nf-del-btn{align-items:center;justify-content:center;gap:6px;padding:0 18px;background:var(--surface);border:1px solid rgba(217,119,87,.5);border-radius:7px;color:var(--sn-claude);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;}
.nf-del-btn:hover{background:rgba(217,119,87,.12);border-color:var(--sn-claude);}

/* ── フォーム: 単色地 + 青フォーカス ────────────────── */
body.flat :is(input[type=text],input[type=date],input[type=number],input[type=email],select,textarea){
  background:var(--surface);border-color:var(--border2);border-radius:6px;color:var(--text);
}
body.flat :is(input,select,textarea):focus{
  border-color:var(--action) !important;background:var(--surface) !important;
  box-shadow:0 0 0 3px rgba(77,139,255,.18) !important;
}
body.flat .search-box{background:var(--surface);border-color:var(--border2);border-radius:6px;}
body.flat .search-box:focus-within{border-color:var(--action);background:var(--surface);box-shadow:0 0 0 3px rgba(77,139,255,.18);}
body.flat .radio-opt{background:var(--surface);border-color:var(--border2);border-radius:6px;}
body.flat .radio-opt.selected,
body.flat #nf-embed .radio-opt.selected,
body.flat :is(#sv-filter-modal,#sd-filter-modal) .sv-pill.on{
  background:var(--action-tint) !important;border-color:var(--action) !important;color:var(--action-h) !important;
}

/* ── カード・テーブル: 単色 + 1px罫線・角丸控えめ ────── */
body.flat .card{background:var(--surface);border-color:var(--border);border-radius:10px;}
body.flat .table-wrap{background:var(--surface);border-color:var(--border);border-radius:8px;}
body.flat thead{background:var(--surface2);}
body.flat th{color:var(--text2);border-bottom-color:var(--border);}
body.flat tbody tr{border-bottom-color:var(--line-soft);}
body.flat tbody tr:hover{background:var(--surface2);}
body.flat .stat-card{background:var(--surface);border-color:var(--border);border-radius:8px;}
body.flat .badge{border-radius:4px;}

/* ── 後発パネル群（ハードコードrgbaのソリッド化）────── */
body.flat :is(#panel-stock,#panel-sold,#panel-ai) .mcard,
body.flat #panel-profit .pr-mcard,
body.flat #panel-mypage .mpg-mcard{background:var(--surface);border-color:var(--border);border-radius:8px;}
body.flat :is(#panel-stock,#panel-sold,#panel-ai) .mdiv{background:var(--border2);}
body.flat :is(#panel-stock,#panel-sold,#panel-ai) .mcol-label,
body.flat #panel-profit .pr-mlabel,
body.flat #panel-mypage .mpg-mlabel{color:var(--text3);}
body.flat :is(#panel-stock,#panel-sold,#panel-ai) .mcol-val,
body.flat #panel-profit .pr-mval,
body.flat #panel-mypage .mpg-mval{color:var(--text);font-weight:600;}
body.flat :is(#panel-stock,#panel-sold,#panel-ai) .mcol-val .ut,
body.flat #panel-profit .pr-mval .ut,
body.flat #panel-mypage .mpg-mval .lim{color:var(--text3);}
body.flat :is(#panel-stock,#panel-sold) .list-toolbar select,
body.flat :is(#panel-stock,#panel-sold) .list-toolbar .search-box,
body.flat :is(#panel-stock,#panel-sold) :is(.sv-detail-btn,.sv-csv-btn,.sv-pager-btn){
  background:var(--surface);border-color:var(--border2);border-radius:6px;color:var(--text2);
}
body.flat :is(#panel-stock,#panel-sold) .sv-fcard,
body.flat #nf-embed .fcard,
body.flat #panel-profit .pr-card,
body.flat #panel-mypage :is(.mpg-card,.mpg-nav),
body.flat .tips-card,  /* v0.214 B-31: #panel-tips と #pr-myrank の共用化でスコープ解除 */
body.flat .aia-card,
body.flat #panel-price-chart :is(.ws-item,#alert-section .al-card,#alert-section .al-item){
  background:var(--surface) !important;border-color:var(--border) !important;border-radius:10px;
}
body.flat :is(#panel-stock,#panel-sold) .sv-fcard .fhead,
body.flat #nf-embed .fhead,
body.flat #panel-profit .pr-card-head{border-bottom-color:var(--border);}
body.flat :is(#panel-stock,#panel-sold) .sv-fcard thead th{border-bottom-color:var(--border);}
body.flat :is(#panel-stock,#panel-sold) .sv-fcard tbody td{border-bottom-color:var(--line-soft);}
body.flat :is(#panel-stock,#panel-sold) .sv-fcard tbody tr:hover td{background:var(--surface2);}
body.flat #panel-profit .pr-table thead th{color:var(--text2);border-bottom-color:var(--border);}
body.flat #panel-profit .pr-table tbody td{color:var(--text);border-bottom-color:var(--line-soft);}
body.flat #panel-profit .pr-bar{background:var(--tag-bg);}
body.flat #panel-profit .pr-pill{background:var(--surface);border-color:var(--border2);color:var(--text2);}
body.flat #panel-profit .pr-pill.active{background:var(--action-tint);border-color:var(--action);color:var(--action-h);}
body.flat #panel-profit .pr-custom input{background:var(--surface);border-color:var(--border2);}
body.flat #nf-embed :is(input,select,textarea){background:var(--surface) !important;border-color:var(--border2) !important;}
body.flat #nf-embed .radio-opt,body.flat #nf-embed .ghost-btn{background:var(--surface);border-color:var(--border2);}
body.flat #nf-embed .note{background:var(--surface2);border-color:var(--border2);}
body.flat #nf-embed .sbar-g{background:var(--surface);border-color:var(--border2);}
body.flat #panel-mypage .mpg-snav.active{background:var(--action-tint);border-color:var(--action);color:var(--action-h);}
body.flat #panel-mypage .mpg-btn{background:var(--surface);border-color:var(--border2);}
body.flat #panel-mypage .mpg-btn.primary{background:var(--action-tint);border-color:var(--action);color:var(--action-h);}

/* ── モーダル / トースト: 単色 + 薄影のみ ───────────── */
body.flat .modal,
body.flat :is(#sv-filter-modal,#sd-filter-modal) .sv-modal,
body.flat #consent-overlay > div{
  background:var(--modal-bg) !important;border:1px solid var(--border2) !important;
  border-radius:10px !important;box-shadow:var(--shadow-lg) !important;
}
body.flat .modal-overlay,
body.flat :is(#sv-filter-modal,#sd-filter-modal){background:rgba(10,14,20,.55) !important;}
body.flat.light .modal-overlay,
body.flat.light :is(#sv-filter-modal,#sd-filter-modal){background:rgba(25,32,44,.4) !important;}
body.flat :is(#sv-filter-modal,#sd-filter-modal) :is(.sv-modal-head,.sv-modal-foot){border-color:var(--border);}
body.flat :is(#sv-filter-modal,#sd-filter-modal) .sv-pill{background:var(--surface);border-color:var(--border2);}
body.flat :is(#sv-filter-modal,#sd-filter-modal) .sv-range input{background:var(--surface);border-color:var(--border2);}
body.flat .toast{background:#232b38;border:1px solid #39455a;color:#fff;box-shadow:var(--shadow-lg);border-radius:8px;}

/* ── グローバルドック（#gbar）: 単色ピル + 罫線 ──────── */
body.flat #gbar .dock{background:var(--surface) !important;border:1px solid var(--border);box-shadow:var(--shadow);}
body.flat #gbar .dlbl{color:var(--text2);}
body.flat #gbar .dsep{background:var(--border);}
body.flat #gbar .gb-search{background:var(--surface);border-color:var(--border2);box-shadow:var(--shadow);}
body.flat #gbar .gb-sinp{color:var(--text);}
body.flat #gbar .gb-sinp::placeholder{color:var(--text3);}
body.flat .app-corner-btn{background:var(--surface);border-color:var(--border2);color:var(--text2);}

/* ── ホーム画面: 単色地 + 単色ウィジェット ──────────── */
body.flat #home-screen{background:var(--bg) !important;}
body.flat #home-screen .grid-lines-bg{display:none;}
body.flat #home-screen :is(.mcard,.side-widget){background:var(--surface) !important;border:1px solid var(--border) !important;}
body.flat #home-screen .sw-header{border-bottom-color:var(--line-soft);}
/* 上部ウィジェット列間の仕切り（|）— 単色面で見えるようトークン化 */
body.flat #home-screen .mdiv{background:var(--border) !important;}
body.flat #home-screen .sbar{background:var(--surface);border-color:var(--border2);}
body.flat #home-screen .dock{background:var(--surface) !important;border:1px solid var(--border);box-shadow:var(--shadow);}
/* 中央ロゴ: .sw-ai(z-index:2)が不透明面でロゴ(z-index:1)を覆うため、
   フラットではAIパネル内のウォーターマークとして描画（同一画像=追加読込なし）
   ::before=SNロゴ（背面・A案と同比率の淡さ） ::after=中央ロゴ（ダーク.15/ライト.3） */
body.flat #home-screen :is(.logo-center,.logo-sn){display:none;}
body.flat #home-screen .sw-ai::before{content:'';position:absolute;inset:0;background:url(../img/logo-sn.png) center/165px no-repeat;opacity:.04;pointer-events:none;}
body.flat.light #home-screen .sw-ai::before{opacity:.06;filter:brightness(.45) saturate(.5);}
body.flat #home-screen .sw-ai::after{content:'';position:absolute;inset:0;background:url(../img/logo-center.png) center/152px no-repeat;opacity:.15;pointer-events:none;}
body.flat.light #home-screen .sw-ai::after{opacity:.3;filter:brightness(.66) saturate(1.25) contrast(1.05);}
body.flat #home-screen .sw-ai > *{position:relative;z-index:1;}
body.flat #dash-browser.open{background:var(--surface) !important;border-color:var(--border2) !important;box-shadow:0 8px 24px rgba(0,0,0,.18);}  /* v0.258: 影をさらに軽く（IZUNA指摘・ドック影の約半分） */
body.flat.light #dash-browser.open,body.light #dash-browser.open{box-shadow:0 8px 24px rgba(0,0,0,.07);}
body.flat #dash-browser :is(#kaitori-embed,.km-embed-load,.kx-kw-list){background:var(--surface) !important;border-color:var(--border) !important;}

/* ── v0.135: 白系不可視の一括修正（監査で検出した未カバー箇所）── */
body.flat #panel-mypage .mpg-mdiv{background:var(--border2);}
body.flat #panel-mypage :is(.mpg-addbox-h,.mpg-mlist-h){background:var(--surface2);border-color:var(--border);}
body.flat #nf-embed :is(.bsec-div,.vdiv){background:var(--border);}
body.flat #nf-embed .gift-rm{background:var(--surface2);border-color:var(--border2);color:var(--text2);}
body.flat #panel-price-chart :is(.ws-inp,.ws-sel){background:var(--surface);border-color:var(--border2);color:var(--text);}
body.flat #panel-price-chart .ws-unit{background:var(--tag-bg);color:var(--text2);}
body.flat #panel-price-chart .ws-chk{background:var(--surface);border-color:var(--border2);}
body.flat #alert-section :is(.al-input,.al-select){background:var(--surface);border-color:var(--border2);color:var(--text);}
body.flat #alert-section .al-unit{background:var(--tag-bg);color:var(--text2);}
body.flat #home-screen .login-btn{background:var(--surface);border:1px solid var(--border2);color:var(--text);}
body.flat #dash-browser .db-close{background:var(--surface2);border-color:var(--border2);color:var(--text2);}
body.flat :is(#sv-filter-modal,#sd-filter-modal) :is(.sv-modal-close,.sv-btn-reset){background:var(--surface2);border-color:var(--border2);color:var(--text2);}
body.flat #home-screen .sw-list::-webkit-scrollbar-thumb,
body.flat #home-screen .pf-scroll::-webkit-scrollbar-thumb,   /* v0.221: 横バーも縦と同色に */
body.flat #dash-browser .db-body::-webkit-scrollbar-thumb{background:var(--border2);}

/* ── スクロールバー ─────────────────────────────────── */
body.flat ::-webkit-scrollbar-thumb{background:var(--border2);}

/* ═════════ 第3: 正典層（旧sn.css）部 ═════════ */

/* ============================================================
   SedoNote 新意匠レイヤー（Notion風フラット） — css/sn.css
   正典: ClaudeDesign草案 3a/4a トークン体系（v0.157〜 Phase 1）
   読み込み順: app.css → app-flat.css → sn.css（最後＝上書き層）
   方針: Q6=3 ハイブリッド。既存CSSは変更せず本ファイルで上書きし、
         全ページ適用完了後に旧層と統合する。
   Phase 1 第1段の範囲: トークン定義＋グローバルchrome
   （ヘッダー / ヘッダーメニュー / フッター2種）。
   ドック・検索バー・KPI・パネル5種は第2段（配置・DOM・挙動は現行遵守）。
   ============================================================ */

/* ═══ 1. デザイントークン（ダーク既定 / body.light でライト） ═══ */
body.flat{
  --sn-bg:#1d1d1d;              /* 草案どおりの本文面 */
  --sn-bar:#242424;             /* 視認性調整: chrome面を一段明るく */
  --sn-hover:#2b2b2b;
  --sn-text:#e3e2e0;
  --sn-text2:#9b9b9b;
  --sn-text3:#6f6f6f;
  --sn-gold:#c9a961;
  --sn-action:#25a0d5;
  --sn-success:#7ab894;
  --sn-danger:#de6a5f;
  --sn-line-1:rgba(255,255,255,.13);
  --sn-line-2:rgba(255,255,255,.08);
  --sn-line-3:rgba(255,255,255,.06);
  --sn-line-row:rgba(255,255,255,.055);
  --sn-row-hover:rgba(255,255,255,.04);
  --sn-search-bg:rgba(255,255,255,.045);
  --sn-search-line:rgba(255,255,255,.08);
  --sn-kpi-bg:var(--sn-bar);    /* ウィジェット面はヘッダーと同色（IZUNA指定・参照で保証） */
  --sn-kpi-line:rgba(255,255,255,.07);  /* ClaudeDesign草案の原典値 */
  --sn-badge-blue-bg:rgba(37,160,213,.14);
  --sn-badge-blue-tx:#79c4e6;
  --sn-badge-blue2-bg:rgba(37,160,213,.11);
  --sn-badge-blue2-tx:#8fc0d8;
  --sn-badge-gold-bg:rgba(203,175,84,.14);
  --sn-badge-gold-tx:#cdb37c;
  --sn-badge-orange-bg:rgba(217,146,70,.14);
  --sn-badge-orange-tx:#d3a678;
  --sn-dock-neutral:#333333;
  --sn-dock-ink:#e3e2e0;
  --sn-dock-line:rgba(255,255,255,.1);
  --sn-dock-border:rgba(255,255,255,.08);  /* 草案原典値 */
  --sn-dock-shadow:0 8px 24px rgba(0,0,0,.4);
  --sn-wm-op:.35;
  --sn-wm-woman:.07;   /* IZUNA指定 7/09 */
  --sn-wm-sn:.03;      /* IZUNA指定 7/09 */
  /* ── 既存変数の上書き（草案トークン対応表A案・ダーク）──
     本体の全部品はこれらを参照しているため、ここが実際の色替えの本命 */
  --bg:#1d1d1d;
  --surface:var(--surface-bar);   /* カード面もヘッダーと同色（参照で保証） */
  --surface2:#2b2b2b;             /* hover・入力面 */
  --surface-bar:#242424;          /* 新規: ヘッダー/ドック/カードの面 */
  --menu:var(--surface-bar);      /* v0.194: モーダル/メニュー面の青(#171e29)残渣を正典無彩色に統一 */
  --modal-bg:var(--surface-bar);
  --fade:var(--surface-bar);
  --tag-bg:var(--surface2);       /* v0.195: 旧青#222b3a→正典無彩色 */
  --glass:var(--surface-bar);--glass-2:var(--surface2);          /* v0.195: 旧紺#171e29/#1e2734の面を正典に */
  --glass-border:var(--border);--glass-border-strong:var(--border2); /* 旧紺罫線#28313f/#39455aを正典に */
  --action-tint:rgba(37,160,213,.16); /* v0.195: 旧青rgba(77,139,255)→正典action(#25a0d5)由来 */
  --sn-claude:#d97757;            /* v0.196: 赤系=Claudeアイコン色ルール（両テーマ共通・ブランド定数） */
  --border:rgba(255,255,255,.07); /* 草案原典値 */
  --border2:rgba(255,255,255,.13);/* 強罫線 */
  --line-soft:rgba(255,255,255,.045);
  --text:#e3e2e0;
  --text2:#9b9b9b;
  --text3:#6f6f6f;
  --accent:#c9a961;               /* 署名専用ゴールド（彩度1段減） */
  --accent2:#c9a961;
  --action:#25a0d5;               /* Notion実測のトグル/リンク青 */
  --action-h:#3fb1e0;
  --danger:#de6a5f;
  --success:#7ab894;
  --info:#25a0d5;
  --toggle-on:#25a0d5;            /* 新規 */
}
body.flat.light{
  --sn-bg:#ffffff;
  --sn-bar:#f7f7f5;
  --sn-hover:#f1f1ef;
  --sn-text:#37352f;
  --sn-text2:#787774;
  --sn-text3:#9b9a97;
  --sn-gold:#b08d4a;
  --sn-action:#2383e2;
  --sn-success:#448361;
  --sn-danger:#d44c47;
  --sn-line-1:rgba(0,0,0,.16);
  --sn-line-2:rgba(0,0,0,.09);
  --sn-line-3:rgba(0,0,0,.06);
  --sn-line-row:rgba(0,0,0,.055);
  --sn-row-hover:rgba(0,0,0,.025);
  --sn-search-bg:rgba(0,0,0,.03);
  --sn-search-line:rgba(0,0,0,.09);
  --sn-kpi-bg:var(--sn-bar);
  --sn-kpi-line:rgba(0,0,0,.06);   /* 草案原典値（ライト） */
  --sn-badge-blue-bg:#d3e5ef;
  --sn-badge-blue-tx:#28456c;
  --sn-badge-blue2-bg:rgba(35,131,226,.10);
  --sn-badge-blue2-tx:#2e5568;
  --sn-badge-gold-bg:rgba(176,141,74,.16);
  --sn-badge-gold-tx:#6d5426;
  --sn-badge-orange-bg:#fadec9;
  --sn-badge-orange-tx:#6b3f1c;
  --sn-dock-neutral:#ececea;
  --sn-dock-ink:#37352f;
  --sn-dock-line:rgba(0,0,0,.09);
  --sn-dock-border:rgba(0,0,0,.07);        /* 草案原典値（ライト） */
  --sn-dock-shadow:0 8px 24px rgba(0,0,0,.12);
  --sn-wm-op:.6;
  --sn-wm-woman:.15;   /* ライト（IZUNA指定 7/09） */
  --sn-wm-sn:.1;       /* ライト（IZUNA指定 7/09・据え置き） */
  /* ── 既存変数の上書き（対応表・ライト対）── */
  --bg:#ffffff;
  --surface:var(--surface-bar);
  --surface2:#f1f1ef;
  --surface-bar:#f7f7f5;
  --tag-bg:var(--surface2);       /* v0.195: 旧寒色#eef1f6→正典暖色系 */
  --glass:var(--surface-bar);--glass-2:var(--surface2);
  --glass-border:var(--border);--glass-border-strong:var(--border2);
  --action-tint:rgba(35,131,226,.10); /* 正典action(#2383e2)由来 */
  --border:rgba(0,0,0,.06);
  --border2:rgba(0,0,0,.16);
  --line-soft:rgba(0,0,0,.045);
  --text:#37352f;
  --text2:#787774;
  --text3:#9b9a97;
  --accent:#b08d4a;
  --accent2:#b08d4a;
  --action:#2383e2;
  --action-h:#1f74c8;
  --danger:#d44c47;
  --success:#448361;
  --info:#2383e2;
  --toggle-on:#2383e2;
}

/* ═══ 2. ヘッダー（草案4a: --sn-bar面・金の上罫3px・下ヘアライン） ═══ */
body.flat .app-header{
  background:var(--surface-bar) !important;
  border-top:3px solid var(--sn-gold);
  border-bottom:1px solid var(--sn-line-3);

}

/* ブランド: ロゴは旧デザインの画像（img/logo-sn.png）を継続採用（IZUNA指定）。
   .hsn（セリフ体SN）はmarkupに残るがhidden属性のまま非表示 */
body.flat .hbrand .hname{
  font-size:15px;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--sn-text);
}

/* ヘッダーのアイコンボタン（テーマ切替・メニュー）: 32px角・角丸4・枠線型 */
body.flat .h-icon{
  width:32px;height:32px;border-radius:4px;
  background:transparent;
  border:1px solid var(--sn-line-1);
  color:var(--sn-text2);
}
body.flat .h-icon:hover{
  background:var(--sn-hover);
  color:var(--sn-text);
  border-color:var(--sn-line-1);
}

/* ═══ 3. ヘッダーメニュー #hdr-menu（機能・DOM・挙動は現行のまま、皮のみ） ═══ */
body.flat #hdr-menu{
  background:var(--sn-bar);
  border:1px solid var(--sn-line-1);
  border-radius:6px;
  box-shadow:var(--sn-dock-shadow);
}
body.flat #hdr-menu .hm-sec{color:var(--sn-text3);}
body.flat #hdr-menu .hm-item{color:var(--sn-text);}
body.flat #hdr-menu .hm-item:hover{background:var(--sn-hover);}

/* ═══ 4. フッター（機能タブ側 .app-footer / 草案: ヘッダーと同面） ═══ */
body.flat .app-footer{
  background:var(--surface-bar) !important;
  border-top:1px solid var(--sn-line-3);

}
body.flat .fcopy{color:var(--sn-text3);}
body.flat .fcopy .fver{color:var(--sn-text3);}
body.flat .flinks a{color:var(--sn-text2);}
body.flat .flinks a:hover{color:var(--sn-text);}
body.flat .app-theme-btn{
  background:transparent;
  border:1px solid var(--sn-line-1);
  color:var(--sn-text2);
  border-radius:4px;
}
body.flat .app-theme-btn:hover{background:var(--sn-hover);color:var(--sn-gold);}

/* ═══ 5. フッター（ホーム画面側 .footer-bar / 配置・寸法は現行のまま色のみ） ═══ */
body.flat #home-screen .footer-links a{color:var(--sn-text3);}
body.flat #home-screen .footer-links a:hover{color:var(--sn-text2);}
body.flat #home-screen .footer-sep{color:var(--sn-line-1);}
body.flat #home-screen .footer-copy{color:var(--sn-text3);}
body.flat #home-screen .home.light-mode .footer-links a{color:var(--sn-text3);}
body.flat #home-screen .home.light-mode .footer-copy{color:var(--sn-text3);}
body.flat #home-screen .theme-btn{
  background:transparent;
  border:1px solid var(--sn-line-1);
  color:var(--sn-text2);
}
body.flat #home-screen .home.light-mode .theme-btn{
  background:transparent;
  border-color:var(--sn-line-1);
  color:var(--sn-text2);
  filter:none;
}

/* ═══ 6. ホーム画面（Phase 1 第2段: KPI・パネル5種・透かし / 配置・寸法は現行のまま） ═══ */
body.flat #home-screen{background:var(--sn-bg);}
body.flat #home-screen .grid-lines-bg{display:none;} /* 草案はフラット無地 */

/* KPIカード（.mcard×3グループ / 草案: kpi-bg面・ヘアライン枠・角丸小・影なし） */
body.flat #home-screen .mcard{
  background:var(--sn-kpi-bg);
  border:1px solid var(--sn-kpi-line);
  border-radius:3px;
}
body.flat #home-screen .mcol-label,
body.flat #home-screen .home.light-mode .mcol-label{
  font-family:inherit;text-transform:none;letter-spacing:0;
  font-size:6.6px;color:var(--sn-text2);
}
body.flat #home-screen .mcol-val,
body.flat #home-screen .home.light-mode .mcol-val{
  font-family:inherit;font-weight:600;font-size:12px;letter-spacing:0;
  color:var(--sn-text);font-variant-numeric:tabular-nums;
}
body.flat #home-screen .mcol-val .ut{color:var(--sn-text2);font-weight:400;}
body.flat #home-screen .mcol-val.gold{color:var(--sn-text);} /* 草案: KPI値は無彩・彩度1色原則 */
body.flat #home-screen .mdiv{background:var(--sn-line-3);width:.57px;}  /* KPI縦仕切り: ヘアラインと同じ0.57px物理太さに統一（カード位置でのサブピクセル丸め差を解消・IZUNA指定7/09） */
body.flat #home-screen .mcol-chg{font-family:inherit;font-weight:500;}
body.flat #home-screen .mcol-chg.up,
body.flat #home-screen .home.light-mode .mcol-chg.up{color:var(--sn-success);}
body.flat #home-screen .mcol-chg.down,
body.flat #home-screen .home.light-mode .mcol-chg.down{color:var(--sn-danger);}

/* パネル5種（.side-widget / 草案: kpi-bg面・ヘアライン枠・角丸・影なし） */
body.flat #home-screen .side-widget,
body.flat #home-screen .home.light-mode .side-widget{
  background:var(--sn-kpi-bg);
  border:1px solid var(--sn-kpi-line);
  border-radius:4px;
}
body.flat #home-screen .sw-header{border-bottom:1px solid var(--sn-line-1);}
body.flat #home-screen .sw-title,
body.flat #home-screen .home.light-mode .sw-title{
  font-family:inherit;text-transform:none;letter-spacing:0;
  font-size:6.9px;font-weight:600;color:var(--sn-text);  /* 7.4→6.9（中身と同比率縮小） */
}
body.flat #home-screen .sw-time,
body.flat #home-screen .home.light-mode .sw-time{font-family:inherit;color:var(--sn-text3);}

/* 行（ランキング/ニュース共通: ヘアライン区切りの目地はレイアウト不変のため色のみ） */
body.flat #home-screen .rk-no,
body.flat #home-screen .rn1, body.flat #home-screen .rn2, body.flat #home-screen .rn3{
  font-family:inherit;color:var(--sn-text3);font-variant-numeric:tabular-nums;
}
body.flat #home-screen .rk-name,
body.flat #home-screen .home.light-mode .rk-name{color:var(--sn-text);}
body.flat #home-screen .rk-count,
body.flat #home-screen .home.light-mode .rk-count{font-family:inherit;color:var(--sn-text2);font-variant-numeric:tabular-nums;}

/* 利益ランキング */
body.flat #home-screen .pf-name{color:var(--sn-text);}
body.flat #home-screen .pf-sub{color:var(--sn-text3);}
body.flat #home-screen .pf-profit{color:var(--sn-success);font-weight:500;font-variant-numeric:tabular-nums;}

/* 変動率ランキング */
body.flat #home-screen .mv-name,
body.flat #home-screen .home.light-mode .mv-name{color:var(--sn-text);}
body.flat #home-screen .mv-price,
body.flat #home-screen .home.light-mode .mv-price{font-family:inherit;color:var(--sn-text3);font-variant-numeric:tabular-nums;}
body.flat #home-screen .mv-chg{font-family:inherit;font-weight:500;}
body.flat #home-screen .mv-up{color:var(--sn-success);}
body.flat #home-screen .mv-down{color:var(--sn-danger);}
body.flat #home-screen .mv-arrow{color:var(--sn-text3);}

/* ニュース */
body.flat #home-screen .nw-date{color:var(--sn-text3);font-variant-numeric:tabular-nums;}
body.flat #home-screen .nw-body{color:var(--sn-text);}
body.flat #home-screen .nw-tag{background:var(--sn-badge-blue-bg);color:var(--sn-badge-blue-tx);border:none;}
body.flat #home-screen .nw-tag.update{background:var(--sn-search-bg);color:var(--sn-text2);}

/* AI分析（行頭記号＋中央ロゴ透かし・濃度はテーマ別トークン） */
body.flat #home-screen .ai-text{color:var(--sn-text);}
body.flat #home-screen .ai-mark{font-family:inherit;}
body.flat #home-screen .ai-mark.up{color:var(--sn-success);}
body.flat #home-screen .ai-mark.down{color:var(--sn-danger);}
body.flat #home-screen .ai-mark.info{color:var(--sn-action);}
body.flat #home-screen .logo-center{opacity:var(--sn-wm-woman);}
body.flat #home-screen .logo-sn{opacity:var(--sn-wm-sn);}
body.flat #home-screen .home.light-mode .logo-center{opacity:var(--sn-wm-woman);filter:none;}
body.flat #home-screen .home.light-mode .logo-sn{opacity:var(--sn-wm-sn);filter:none;}

/* ═══ 7. グローバル検索バー＋ドック（#gbar / 皮のみ・配置/DOM/挙動は現行遵守） ═══ */
body.flat #gbar .gb-search{
  background:var(--sn-bar);
  border:1px solid var(--sn-dock-border);
  box-shadow:var(--sn-dock-shadow);
}
body.flat #gbar .gb-sinp{color:var(--sn-text);}
body.flat #gbar .gb-sinp::placeholder{color:var(--sn-text3);}
body.flat #gbar .gb-sico svg circle,
body.flat #gbar .gb-sico svg path{stroke:var(--sn-text3);}
body.flat #gbar .gb-sdiv{background:var(--sn-dock-line);}
body.flat #gbar .dock,
body.flat.light #gbar .dock{
  background:var(--sn-bar);
  border:1px solid var(--sn-dock-border);
  box-shadow:var(--sn-dock-shadow);
}
body.flat #gbar .dsep{background:var(--sn-dock-line);}
body.flat #gbar .dlbl{color:var(--sn-text3);}
body.flat #gbar .ic0 .diw{background:var(--sn-dock-neutral);}
body.flat #gbar .ic0 svg{stroke:var(--sn-dock-ink);}
body.flat #gbar .dact::after, body.flat #gbar .di.active::after{background:var(--sn-gold);}

/* ドックのアイコン配色: ClaudeDesign草案4aの色値に準拠（タイル.16透過＋線色） */
body.flat #gbar .di[data-tab="form"] .diw{background:rgba(61,187,125,.16);}
body.flat #gbar .di[data-tab="form"] svg{stroke:#3dbb7d;}
body.flat #gbar .di[data-tab="stock"] .diw{background:rgba(107,160,255,.16);}
body.flat #gbar .di[data-tab="stock"] svg{stroke:#6ba0ff;}
body.flat #gbar .di[data-tab="sold"] .diw{background:rgba(216,180,94,.16);}
body.flat #gbar .di[data-tab="sold"] svg{stroke:#d8b45e;}
body.flat #gbar .di[data-tab="price-chart"] .diw{background:rgba(154,132,218,.16);}
body.flat #gbar .di[data-tab="price-chart"] svg{stroke:#9a84da;}
body.flat #gbar .di[data-tab="ai"] .diw{background:rgba(77,139,255,.16);}
body.flat #gbar .di[data-tab="ai"] svg{stroke:#4d8bff;}
body.flat #gbar .di[data-tab="profit"] .diw{background:rgba(47,179,163,.16);}
body.flat #gbar .di[data-tab="profit"] svg{stroke:#2fb3a3;}
body.flat #gbar .di[data-tab="mypage"] .diw{background:rgba(224,101,101,.16);}
body.flat #gbar .di[data-tab="mypage"] svg{stroke:#e06565;}

/* 検索バーのカメラアイコン: 旧ゴールド → 草案どおり text2 の無彩色 */
body.flat #gbar .gb-cbtn svg{stroke:var(--sn-text2);}

/* 検索バー高さ調整（IZUNA指定 7/08）: 30px→28.3px（ドックと同高）。
   〇ボタンの上マージンのみ縮小=上方向に詰める（3px→1.3px、下3pxは維持）。
   コンテナ.gb-searchは明示heightを持たず最も高い子要素で決まるため、
   このマージン変更だけで検索バー全体が 1.3+24+3=28.3px になる。 */
body.flat #gbar .gb-cbtn{
  margin:1.3px 0 3px;               /* 3px 0 → 上だけ1.3pxに圧縮（下3pxは維持） */
  border-radius:7px;                /* 円形(50%)→ドックの角丸(.di=7px)に合わせる */
}

/* 検索バー位置を上げる／間隔の均一化（IZUNA指定 7/08）:
   ウィジェット→検索バー間の間隔は layoutHome() の G=10（コード内コメント
   「共通の縦間隔・ここを変えれば一括調整」）が基準。一方 .gb-search の
   margin-bottom は6pxのみ据え置かれており、検索バー→ドック間だけ狭い
   ＝不揃いの原因だった。6px→10px（Gに合わせる）で3つの間隔を統一。
   副次効果として、ドックは#gbarの下端アンカーで実質固定なので、
   検索バーの上端がその分（4px相当）上に上がる＝位置調整も同時に達成。 */
body.flat #gbar .gb-search{margin-bottom:8px;}  /* 間隔10→8に統一 */

/* パネル見出しの色ドット: 草案はドットなしのため非表示（見出し＋右端補足のみ） */
body.flat #home-screen .sw-dot{display:none;}

/* ═══ 8. 微調整（IZUNA指定 7/08）: ウィジェット内文字を一段小さく ═══ */
body.flat #home-screen .rk-no{font-size:7.5px;}
body.flat #home-screen .rk-name{font-size:7.5px;}  /* 変動率(mv-name 7.5)に統一 */
body.flat #home-screen .rk-count{font-size:6.5px;}  /* 右端数値も一段縮小 */
body.flat #home-screen .pf-name{font-size:7.5px;}
body.flat #home-screen .pf-sub{font-size:5.6px;}
body.flat #home-screen .pf-profit{font-size:8.5px;}
body.flat #home-screen .mv-name{font-size:7.5px;}
body.flat #home-screen .mv-price{font-size:5.6px;}
body.flat #home-screen .mv-chg{font-size:8px;}
body.flat #home-screen .ai-mark{font-size:7px;}
body.flat #home-screen .ai-text{font-size:7.5px;}
body.flat #home-screen .nw-date{font-size:5.6px;}
body.flat #home-screen .nw-body{font-size:7px;}
body.flat #home-screen .nw-tag{font-size:5.2px;}
/* 見出しも同比率で縮小＋見出しエリアを上に詰めてリスト部（flex:1）を拡大 */
body.flat #home-screen .sw-time{font-size:6.5px;}
body.flat #home-screen .sw-header{padding:4px 12px 3px;}  /* 6/5px→4/3px: 実質4px分リストが広がる */

/* ═══ 9. 微調整（IZUNA指定 7/08）: ドック・検索バーの角Rを小さく ═══ */
body.flat #gbar .gb-search{border-radius:6px;} /* 楕円→四角（角丸6px・Notion調） */
body.flat #gbar .dock{border-radius:6px;}      /* 楕円→四角（角丸6px・Notion調） */

/* ═══ 11. ウィジェット間隔の均一縮小（IZUNA指定 7/08: 10→8px・コンテンツ幅不変） ═══
   側列を+2.0px拡幅し、右列を-2.1px左へ寄せることで、
   左右外周マージン10pxを維持したまま水平ギャップを8pxに統一。
   縦の間隔はJS側 G=8（layoutHome）が一括制御。 */
body.flat #home-screen .side-widget:not(.sw-ai){width:183.4px;}
/* ↑ :not(.sw-ai)必須。v19で.side-widget一律上書きにしたためAI分析(277.1px)まで
   183.4pxに縮み表示崩れ→sw-aiを除外して修正（7/08） */
body.flat #home-screen .sw-right{left:486.5px;}
body.flat #home-screen .sw-news{left:486.5px;}

/* ═══ 12. Sign in with Googleボタン: ダーク時は本体背景色と同色（IZUNA指定 7/08） ═══
   自前実装の.gsi-dark(#131314)を本体背景(--bg=#1d1d1d)に合わせる。
   ロゴ4色の視認性のため枠線は据え置き(#5f6368相当=--sn-line-1)。ライトは変更しない */
body.flat .app-header .gsi-btn.gsi-dark{
  background:var(--bg);
  border-color:var(--sn-line-1);
}
body.flat .app-header .gsi-btn.gsi-dark:hover{
  background:var(--sn-hover);
  box-shadow:none;
}

/* ═══ 13. 透かしロゴ: 旧デザイン同様キャンバス中央の重ね配置へ復帰（IZUNA指定 7/08） ═══
   app-flat.cssが .logo-center/.logo-sn を display:none にし sw-ai::before/::after で
   AI分析パネル内に代替描画していたため、それを打ち消して本来の中央フリー配置に戻す。
   サイズは従来どおり（SN=165px / 女性=152px・同一中心・女性が前面） */
body.flat #home-screen .logo-center{display:block;z-index:4;} /* sw-ai(z=2)より前面へ */
body.flat #home-screen .logo-sn{display:block;z-index:3;}     /* sw-ai(z=2)より前面へ */
body.flat #home-screen .logo-sn{width:148.4px;} /* 165→148.4px: 高さを女性ロゴ(141.4px)に一致（IZUNA指定 7/09） */
body.flat #home-screen .sw-ai::before{content:none;}
body.flat #home-screen .sw-ai::after{content:none;}

/* ═══ 14. ヘアラインの太さ補正（IZUNA指定 7/08: ClaudeDesign草案と同じ見た目へ） ═══
   草案は等倍ページ(1px=画面1px)だが、ウィジェットは約1.7647倍のキャンバス内、
   検索バー/ドックも同率のtransform scaleが掛かるため、1px指定は画面上で約1.76pxに
   太って描画される。0.57px(=1/1.7647)指定で画面上約1.0px＝草案と同じ物理太さになる。
   ※mcard/side-widgetの枠はapp-flat.cssが border:1px !important で固定しているため、
     同仕様の!importantで幅のみ上書きする */
body.flat #home-screen :is(.mcard,.side-widget){border-width:.57px !important;}
body.flat #home-screen .sw-header{border-bottom-width:.57px;}
body.flat #gbar .gb-search{border-width:.57px;}
body.flat #gbar .dock, body.flat.light #gbar .dock{border-width:.57px;}

/* ═══ 15. 言語切り替え（IZUNA指定 7/09: 多言語対応の準備） ═══ */
#lang-menu{
  position:fixed;top:52px;right:56px;z-index:5100;min-width:150px;
  background:var(--surface-bar);
  border:1px solid var(--sn-line-1);
  border-radius:6px;padding:5px;
  box-shadow:var(--sn-dock-shadow);
}
#lang-menu .lm-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;border-radius:4px;font-size:13px;color:var(--sn-text);cursor:pointer;
}
#lang-menu .lm-item:hover{background:var(--sn-hover);}
#lang-menu .lm-check{color:var(--sn-gold);font-size:12px;}
#lang-menu .lm-soon{color:var(--sn-text3);font-size:10px;}

/* ═══ v0.164: 利益ランキングの商品名を横スクロール可能に ═══
   app.cssのellipsisを上書き（見切れ→スクロールで全文確認可能。バーは非表示） */
#home-screen .pf-name{overflow-x:auto;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
#home-screen .pf-name::-webkit-scrollbar{display:none;}
#home-screen .pf-sub{overflow-x:auto;text-overflow:clip;white-space:nowrap;scrollbar-width:none;}  /* v0.165c: ellipsis解除（売却先「…」の修正） */
#home-screen .pf-sub::-webkit-scrollbar{display:none;}

/* ═══ v0.164a: 利益ランキング下部の共通横スクロールバー ═══
   v0.165b: 縦スクロール中も常時見えるよう sticky でエリア下部に固定
   （#home-profit-list=.sw-list が縦スクロールコンテナ。最終子要素のsticky bottomは
     スクロール位置に関わらず可視領域下端に張り付く） */
/* v0.165e: バーはリストのフローから外し、ウィジェット枠（.side-widget=positioned）に
   対する絶対配置で下端に張り付ける＝縦スクロールバーと同じオーバーレイ方式。
   コンテンツ領域を消費しないため視認性を阻害しない */
#home-screen .pf-scroll-wrap{position:absolute;left:12px;right:12px;bottom:1px;z-index:2;background:transparent;padding:0;}
/* v0.221: 透過度を縦スクロールバー（.sw-list）と同値に統一（.28→.1系・IZUNA指摘） */
#home-screen .pf-scroll{overflow-x:auto;overflow-y:hidden;height:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;}
#home-screen .pf-item{cursor:pointer;}
#home-screen .pf-scroll::-webkit-scrollbar{height:6px;}
#home-screen .pf-scroll::-webkit-scrollbar-track{background:transparent;}
#home-screen .pf-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px;}
#home-screen .home.light-mode .pf-scroll{scrollbar-color:rgba(0,0,0,.1) transparent;}
#home-screen .home.light-mode .pf-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);}
#home-screen .pf-scroll-inner{height:1px;}

/* ═══ v0.169: 変動率・検索・お知らせも利益ランキングと同じ横スクロール仕様に ═══
   各行のテキストを省略(…)ではなく横スクロールで全文確認可能に（個別バーは非表示）。
   下端の共通横スクロールバー(.pf-scroll-*)はJSで各ウィジェットに付与（app.js）。
   ※.pf-scroll-* のCSSは上記v0.164aの汎用セレクタをそのまま流用する */
#home-screen .mv-name,#home-screen .mv-price,
#home-screen .rk-name,
#home-screen .nw-body{overflow-x:auto;text-overflow:clip;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
#home-screen .mv-name::-webkit-scrollbar,
#home-screen .mv-price::-webkit-scrollbar,
#home-screen .rk-name::-webkit-scrollbar,
#home-screen .nw-body::-webkit-scrollbar{display:none;}

/* ═══ v0.174: お知らせ・ニュースの日付と更新タグの間隔を詰める（IZUNA指定） ═══
   nw-date の幅22px（app.css統一節）が日付5文字（5.6px Mono≈13px）より広く、
   gap 8px と合わせて間延びしていた → 幅を実文字幅+αへ・gapも一段縮小 */
body.flat #home-screen .nw-item{gap:5px;}
body.flat #home-screen .nw-date{width:16px;}

/* ═══ v0.175: 新規入力ページの調整（IZUNA指定） ═══
   ①ピル（.radio-opt）と保存ボタンの角Rをホームウィジェットと同じ見た目に統一
     （ウィジェットは4px×キャンバス拡大1.7647≈画面上7px。等倍ページなので7px指定）
   ②保存ボタン（仕入リストへ追加）が明るすぎる → ダークのみ一段深い青へ
     （--action=#25a0d5 は据え置き=リンク・トグル等は不変。ボタンだけ限定上書き） */
body.flat #nf-embed .radio-opt{border-radius:7px;}
body.flat #nf-embed .btn-primary{border-radius:7px;}
body.flat:not(.light) #nf-embed .btn-primary{background:#1d7fa8 !important;border-color:#1d7fa8 !important;}
body.flat:not(.light) #nf-embed .btn-primary:hover{background:#2591bd !important;border-color:#2591bd !important;}
/* ③入力欄・プルダウン・セクション大枠・補助ボタン・注記も同じ角R=7pxに統一（IZUNA指定・追加分）
   （元値: input/select/textarea=9px・.fcard=14px・.ghost-btn/.gift-rm=9px・.note=11px） */
body.flat #nf-embed input[type=text],
body.flat #nf-embed input[type=email],
body.flat #nf-embed input[type=number],
body.flat #nf-embed input[type=date],
body.flat #nf-embed select,
body.flat #nf-embed textarea{border-radius:7px;}
body.flat #nf-embed .fcard{border-radius:7px;}
body.flat #nf-embed .ghost-btn{border-radius:7px;}
body.flat #nf-embed .gu-rm{border-radius:7px;}   /* v0.199: 旧.gift-rm→充当ウィジェットの.gu-rmに改名 */
body.flat #nf-embed .note{border-radius:7px;}

/* ═══ v0.176: 仕入リスト・販売リストの角R統一（角R統一ルール適用・IZUNA指示） ═══
   ルール: コンテンツ面部品=7px / 小型バッジ・タグ=4px（development_guide.md デザイン方針）
   元値: mcard=12px・sv-fcard=14px・sv-modal=16px・search-box/select/ボタン/ピル=9px・
         pager/modal-close=8px・sv-ch/sv-cond=5px */
body.flat :is(#panel-stock,#panel-sold) .mcard{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .list-toolbar .search-box{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .list-toolbar select{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .sv-detail-btn{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .sv-csv-btn{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .sv-detail-badge{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .sv-fcard{border-radius:7px;}
body.flat :is(#panel-stock,#panel-sold) .sv-pager-btn{border-radius:7px;}
body.flat .sv-modal{border-radius:7px;}
body.flat .sv-modal-close{border-radius:7px;}
body.flat .sv-pill{border-radius:7px;}
body.flat .sv-btn-reset{border-radius:7px;}
body.flat .sv-btn-apply{border-radius:7px;}
/* 小型バッジ（チャネル・コンディション）= 4px（正典 .badge 準拠） */
body.flat :is(#panel-stock,#panel-sold) .sv-ch{border-radius:4px;}
body.flat :is(#panel-stock,#panel-sold) .sv-cond{border-radius:4px;}

/* ═══ v0.177: 角R統一ルールを6ページへ展開（IZUNA指示） ═══
   価格ウォッチ・ランキング・AI分析・収支レポート・マイページ・FBA納品プラン。
   ルール: 面部品=7px / 小型バッジ・タグ=4px（development_guide.md デザイン方針）。
   対象外（機能形状・装飾）: al-track/aia-slider(トグルスイッチ)・aia-meter・pr-bar(グラフ) */
/* 価格ウォッチ #panel-price-chart（元: ws-gold/ghost=8・ws-item/empty=10・ws-chk=5） */
body.flat #panel-price-chart .ws-gold{border-radius:7px;}
body.flat #panel-price-chart .ws-ghost{border-radius:7px;}
body.flat #panel-price-chart .ws-item{border-radius:7px;}
body.flat #panel-price-chart .ws-empty{border-radius:7px;}
body.flat #panel-price-chart .ws-chk{border-radius:4px;}
/* 価格アラート（al-・元: card=12・btn=8・item/empty=10・icon-btn=5） */
body.flat #alert-section .al-card{border-radius:7px;}
body.flat #alert-section .al-btn-primary{border-radius:7px;}
body.flat #alert-section .al-btn-ghost{border-radius:7px;}
body.flat #alert-section .al-item{border-radius:7px;}
body.flat #alert-section .al-empty{border-radius:7px;}
body.flat #alert-section .al-icon-btn{border-radius:4px;}
/* ランキング tips-*（元: card=14・toggle=11・tbtn/note=9・rank=8。
   v0.214 B-31: #panel-tips と #pr-myrank（収支レポート内カード）の共用化でスコープ解除 */
body.flat .tips-card{border-radius:7px;}
body.flat .tips-toggle{border-radius:7px;}
body.flat .tips-tbtn{border-radius:7px;}
body.flat .tips-note{border-radius:7px;}
body.flat .tips-rank{border-radius:4px;}
/* AI分析（元: mcard=10・aia-card=14・btn-gold=8・input=10・anon-btn=6・sg=20・chip=20） */
body.flat #panel-ai .mcard{border-radius:7px;}
body.flat .aia-card{border-radius:7px;}
body.flat .aia-btn-gold{border-radius:7px;}
body.flat .aia-input input{border-radius:7px;}
body.flat .aia-anon-btn{border-radius:7px;}
body.flat .aia-sg{border-radius:7px;}
body.flat .aia-chip{border-radius:4px;}
/* 収支レポート #panel-profit（元: pill=8・mcard=12・card=14・chip=5） */
body.flat #panel-profit .pr-pill{border-radius:7px;}
body.flat #panel-profit .pr-mcard{border-radius:7px;}
body.flat #panel-profit .pr-card{border-radius:7px;}
body.flat #panel-profit .pr-chip{border-radius:4px;}
/* マイページ #panel-mypage（元: nav/card=14・msub/addbox/mlist-card=11・mcard=10・
   snav/fld/btn/note/msub-btn=9・btn.sm=8・badge=20） */
body.flat #panel-mypage .mpg-nav{border-radius:7px;}
body.flat #panel-mypage .mpg-snav{border-radius:7px;}
body.flat #panel-mypage .mpg-card{border-radius:7px;}
body.flat #panel-mypage .mpg-fld{border-radius:7px;}
body.flat #panel-mypage .mpg-btn{border-radius:7px;}
body.flat #panel-mypage .mpg-btn.sm{border-radius:7px;}
body.flat #panel-mypage .mpg-mcard{border-radius:7px;}
body.flat #panel-mypage .mpg-note{border-radius:7px;}
body.flat #panel-mypage .mpg-msub{border-radius:7px;}
body.flat #panel-mypage .mpg-msub-btn{border-radius:7px;}
body.flat #panel-mypage .mpg-addbox{border-radius:7px;}
body.flat #panel-mypage .mpg-mlist-card{border-radius:7px;}
body.flat #panel-mypage .mpg-badge{border-radius:4px;}
/* FBA納品プラン（元: newbtn/mbody input/row=9・card=12・btn/sel=8・modal=14・box=11・badge=6・sku=5） */
body.flat #panel-inbound .ib-newbtn{border-radius:7px;}
body.flat .ib-card{border-radius:7px;}
body.flat .ib-btn{border-radius:7px;}
body.flat .ib-sel{border-radius:7px;}
body.flat .ib-modal{border-radius:7px;}
body.flat .ib-mbody input[type=text],
body.flat .ib-mbody input[type=number],
body.flat .ib-mbody input[type=date],
body.flat .ib-mbody input[type=tel]{border-radius:7px;}
body.flat .ib-row{border-radius:7px;}
body.flat .ib-box{border-radius:7px;}
body.flat .ib-badge{border-radius:4px;}
body.flat .ib-sku{border-radius:4px;}

/* ── 検索サジェスト（v0.251・body直下の浮動メニュー。トークンで両テーマ追従・フラット）
      検索バーの「上側」に表示（JSがバー上端-6pxにtopを置き、translateY(-100%)で上に展開） ── */
#sn-suggest{position:absolute;z-index:5002;transform:translateY(-100%);background:var(--menu);border:1px solid var(--border2);border-radius:7px;overflow:hidden;display:none;}
#sn-suggest .sn-sg-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:12px;color:var(--text);}
#sn-suggest .sn-sg-item.active,#sn-suggest .sn-sg-item:hover{background:var(--surface2);}
#sn-suggest .sn-sg-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#sn-suggest .sn-sg-meta{color:var(--text3);font-size:10px;flex-shrink:0;}
#sn-suggest .sn-sg-price{color:var(--success);font-weight:600;font-size:12px;flex-shrink:0;font-family:'Space Grotesk',monospace;}

/* ── キーワード検索 結果一覧（v0.251新設・v0.255デザイン統一: item.php .it-list と同語彙＝
      面コンテナ.kx-kw-list＋ヘアライン行。カード分割は廃止） ── */
#dash-browser .kx-kw-list{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden;}
#dash-browser .kx-kw-item{display:flex;align-items:center;gap:10px;padding:5px 10px;border-bottom:.57px solid var(--border);cursor:pointer;transition:background .15s;}
#dash-browser .kx-kw-item:last-child{border-bottom:none;}
#dash-browser .kx-kw-item:hover{background:var(--surface2);}
#dash-browser .kx-kw-main{flex:1;min-width:0;}
#dash-browser .kx-kw-name{font-size:10px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#dash-browser .kx-kw-jan{font-size:8px;color:var(--text3);font-family:'Space Grotesk',monospace;letter-spacing:.04em;margin-top:2px;}
#dash-browser .kx-kw-right{text-align:right;flex-shrink:0;}
#dash-browser .kx-kw-price{font-size:11px;font-weight:600;color:var(--success);font-family:'Space Grotesk',monospace;}
#dash-browser .kx-kw-stores{font-size:8px;color:var(--text3);margin-top:2px;}

/* ── 検索バーのフォーカス枠（v0.251: 既定では内側の<input>に青リングが付き形がバーと合わない。
      入力欄側の全input共通focus(807行)を打ち消し、バー全体の :focus-within に付け直す。
      色・リング語彙は既存 .search-box:focus-within と同一） ── */
body.flat #home-screen .sinp:focus,
body.flat #gbar .gb-sinp:focus{background:transparent !important;box-shadow:none !important;border-color:transparent !important;}
body.flat #home-screen .sbar:focus-within{border-color:var(--action);box-shadow:0 0 0 3px rgba(77,139,255,.18);}
body.flat #gbar .gb-search:focus-within{border-color:var(--action);box-shadow:var(--sn-dock-shadow),0 0 0 3px rgba(77,139,255,.18);}
/* キャレット部分描画対策はJS側 snCaretFix（app.js）に一本化（v0.252）。
   translateZ(0)・will-change によるレイヤー昇格はいずれも実機で効果なしと確認済み→撤去 */

/* ── ランキング3種（検索/変動率/利益）の順位列を締める（v0.251 IZUNA指摘: 左側の空白が過大）
      順位数字はニュースの日付(nw-date)と同じ「左寄せ・行頭12pxから開始」に揃える＝数字の左の
      空白がニュースと同等になる。幅9px（2桁"10"が収まる最小）・gap8→6px。
      行の左右padding(12px)とニュース側の目地・余白は据え置き ── */
body.flat #home-screen .rk-item,
body.flat #home-screen .mv-item,
body.flat #home-screen .pf-item{gap:6px;}
body.flat #home-screen .rk-no{width:9px;text-align:left;}
