/* ============================================================
   /portfolio — Asset-grade Cockpit（Wave 4 Identity）
   ------------------------------------------------------------
   設計言語:
   1. 数字が主役 — 金額は DM Sans 800 tabular / 44px、ラベルは 11px 大文字トラッキング
   2. 深墨緑（ink-green）を構造色に — ヒーロー面が視線の錨、薄荷はアクセントのみ
   3. 一つの図表言語 — 丸頂バー・ベースライングリッド・当月強調
   tokens.css（--pv-*）を参照。ページ固有変数は --pf-* 。
   ============================================================ */

body.page-mo {
  /* 旧 mo-* 変数の互換エイリアス（テンプレ内 style 属性が参照） */
  --mint: var(--pv-green-400); --mint-deep: var(--pv-green-500); --mint-ink: var(--pv-green-700);
  --mint-light: var(--pv-green-50); --mint-mid: var(--pv-green-100);
  --amber: var(--pv-warn); --amber-bg: var(--pv-warn-bg); --red: var(--pv-danger); --red-bg: var(--pv-danger-bg);
  --blue: var(--pv-info); --blue-bg: var(--pv-info-bg); --border: var(--pv-border);
  --bg: var(--pv-bg); --ink: var(--pv-ink); --ink2: var(--pv-ink-2); --muted: var(--pv-muted); --white: #fff;
  --pf-ink-green: #0b2f21;
  --pf-ink-green-2: #114231;
  --pf-glow: rgba(0, 212, 160, .25);
  background: var(--pv-bg, #f6f9f8);
  color: var(--pv-ink, #0f172a);
  font-family: var(--pv-font, 'Noto Sans JP', sans-serif);
  font-size: 13.5px;
}
body.page-mo main.container { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.page-mo .mo-wrap a:not([class]) { color: var(--pv-green-700); text-underline-offset: 2px; }

.mo-wrap { max-width: 1120px; margin: 0 auto; padding: 40px 28px 72px; }

/* ---- 数値の共通処遇 ---- */
.mo-rev-val, .mo-kpi-val, .mo-bval {
  font-family: 'DM Sans', var(--pv-font-num, 'Inter'), system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}
/* ---- ラベルの共通処遇（11px・大文字・トラッキング） ---- */
.mo-rev-lbl, .mo-kpi-lbl, .mo-ct .mo-sublabel {
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
}

/* ================= ページヘッダ ================= */
.mo-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 28px; }
.mo-welcome h1 { font-size: 25px; font-weight: 900; letter-spacing: -.015em; color: var(--pv-ink); margin: 0; text-wrap: balance; }
.mo-welcome p { font-size: 12.5px; color: var(--pv-muted); margin: 6px 0 0; }
.mo-acts { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }

.mo-btn { display: inline-flex; align-items: center; gap: 7px; padding: .6rem 1.1rem; border-radius: 10px;
  font-size: 12.5px; font-weight: 700; text-decoration: none; border: 1px solid transparent;
  transition: background .15s, border-color .15s, box-shadow .15s, transform .1s; }
/* !important の理由: app-light-theme の全リンク着色規則
   `body.pv-v2-shell main a:not(...)×5`（特異性 ~0,5,3）に通常指定では勝てない。
   P1 でこの blanket 規則自体を tokens ベースに退役させる。 */
body.page-mo a.mo-btn-pri, body.page-mo .mo-btn-pri { background: var(--pv-green-600); color: #fff !important; box-shadow: 0 2px 8px rgba(0, 149, 111, .25); }
body.page-mo .mo-btn-pri:hover { background: var(--pv-green-500); box-shadow: 0 4px 14px rgba(0, 149, 111, .3); transform: translateY(-1px); }
body.page-mo a.mo-btn-sec, body.page-mo .mo-btn-sec { background: var(--pv-surface); color: var(--pv-ink-2); border-color: var(--pv-border); }
body.page-mo .mo-btn-sec:hover { border-color: var(--pv-green-100); color: var(--pv-green-700); }

/* ================= Cockpit（今日の確認事項） ================= */
.ck { margin-bottom: 28px; }
.ck-banner { display: flex; align-items: center; gap: 12px; border-radius: 14px; padding: 15px 20px;
  font-weight: 800; font-size: 14.5px; margin-bottom: 10px; letter-spacing: -.01em; }
.ck-banner .sub { font-weight: 600; font-size: 12px; opacity: .72; margin-left: auto; letter-spacing: 0; }
body.page-mo .ck-banner.all_clear { background: var(--pv-green-50); border: 1px solid var(--pv-green-100); color: var(--pv-green-700); }
body.page-mo .ck-banner.info { background: var(--pv-info-bg); border: 1px solid var(--pv-border); color: var(--pv-info); }
body.page-mo .ck-banner.warn { background: var(--pv-warn-bg); border: 1px solid #f0d38b; color: #92400e; }
body.page-mo .ck-banner.danger { background: var(--pv-danger-bg); border: 1px solid #f6c8c8; color: #b91c1c; }
/* 紙面: 事項はカードの群れでなく1つの表 — 罫線で区切る（2026-09-07） */
.ck-list { display: flex; flex-direction: column; gap: 0;
  background: var(--pv-surface); border: 1px solid var(--pv-border); }
.ck-item { display: flex; align-items: center; gap: 14px; background: transparent;
  border: 0; border-radius: 0; padding: 13px 16px;
  transition: background .12s; position: relative; }
.ck-item + .ck-item { border-top: 1px solid var(--pv-border); }
.ck-item:hover { background: var(--pv-bg); }
.ck-item::before { content: ''; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.ck-item.danger::before { background: var(--pv-danger); box-shadow: 0 0 0 4px var(--pv-danger-bg); }
.ck-item.warn::before { background: var(--pv-warn); box-shadow: 0 0 0 4px var(--pv-warn-bg); }
.ck-item.info::before { background: #94a3b8; box-shadow: 0 0 0 4px var(--pv-info-bg); }
.ck-item .tx { flex: 1; min-width: 0; }
.ck-item .t { font-size: 13.5px; font-weight: 700; color: var(--pv-ink); }
.ck-item .d { font-size: 12px; color: var(--pv-muted); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ck-item .act { flex-shrink: 0; font-size: 12px; font-weight: 700; color: var(--pv-green-700);
  text-decoration: none; border: 1px solid var(--pv-green-100); border-radius: 9px; padding: .45rem .85rem;
  white-space: nowrap; transition: background .15s; }
.ck-item .act:hover { background: var(--pv-green-50); }
.ck-more { font-size: 12px; color: var(--pv-muted); padding: 9px 16px; border-top: 1px solid var(--pv-border); }

/* ================= 収益ヒーロー（数字が主役・紙面） =================
   2026-09-07: 深墨緑のグラデ面を白紙＋罫線に置換。数字はインクで主役のまま。
   緑の面は「画面で一番強い要素」を毎朝奪っていた — スマホ版で先に外し、
   デスクトップも同じ判断に揃える（B紙面の全幅展開）。 */
.mo-rev { background: var(--pv-surface); color: var(--pv-ink);
  border: 1px solid var(--pv-border); border-top: 2px solid var(--pv-ink);
  border-radius: 0; padding: 22px 26px 20px;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 2rem; align-items: end;
  margin-bottom: 14px; position: relative; }
.mo-rev-link { position: absolute; top: 16px; right: 22px; z-index: 3; font-size: 11.5px;
  color: var(--pv-green-700) !important; text-decoration: none; font-weight: 700; }
.mo-rev-link:hover { text-decoration: underline; }
.mo-rev-lbl { color: var(--pv-muted); margin-bottom: 8px; text-transform: none; }
.mo-rev-m .mo-rev-val { font-size: 42px; font-weight: 800; line-height: 1; }
.mo-rev-side .mo-rev-val { font-size: 22px; font-weight: 700; line-height: 1.15; }
.mo-rev-val .u { font-size: .5em; font-weight: 600; opacity: .7; margin-left: 2px; }
.mo-rev-sub { font-size: 11.5px; color: var(--pv-muted); margin-top: 10px; }

/* ---- 空状態 ---- */
.mo-rev-empty { display: flex; align-items: center; gap: 18px;
  background: linear-gradient(135deg, var(--pv-green-50), #fff);
  border: 1px solid var(--pv-green-100); border-radius: 18px; padding: 26px 28px; margin-bottom: 14px; }
.mo-rev-ic { width: 52px; height: 52px; border-radius: 14px; background: #fff;
  border: 1px solid var(--pv-green-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mo-rev-ic svg { width: 26px; height: 26px; color: var(--pv-green-500); }
.mo-rev-body { flex: 1; }
.mo-rev-t { font-size: 15px; font-weight: 800; color: var(--pv-ink); margin-bottom: 4px; }
.mo-rev-d { font-size: 12.5px; color: var(--pv-ink-2); line-height: 1.65; }

/* ================= カード共通 ================= */
.mo-card { background: var(--pv-surface); border: 1px solid var(--pv-border); border-radius: 16px;
  padding: 20px 24px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.mo-ch { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.mo-ct { font-size: 14px; font-weight: 800; color: var(--pv-ink); letter-spacing: -.01em; }
.mo-ct .mo-sublabel { color: var(--pv-muted); font-weight: 600; margin-left: 8px; letter-spacing: .02em; }
.mo-cl { font-size: 11.5px; font-weight: 700; color: var(--pv-green-700); text-decoration: none; }
.mo-cl:hover { text-decoration: underline; }

/* ================= 図表（唯一のバー言語） ================= */
.mo-chart-card { margin-bottom: 14px; }
.mo-chart { padding-top: 6px; }
.mo-bars { display: flex; align-items: flex-end; gap: 10px; height: 190px; padding-top: 26px;
  border-bottom: 1px solid var(--pv-border); position: relative;
  background: repeating-linear-gradient(to top, transparent 0, transparent 47px, #eef2f1 47px, #eef2f1 48px); }
.mo-barwrap { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; position: relative; }
.mo-bval { font-size: 10px; font-weight: 700; color: var(--pv-muted); margin-bottom: 5px;
  white-space: nowrap; opacity: 0; transition: opacity .15s; }
.mo-barwrap:hover .mo-bval { opacity: 1; }
.mo-bar { width: 68%; max-width: 40px; min-height: 2px; border-radius: 6px 6px 2px 2px;
  background: linear-gradient(to top, var(--pv-green-100), #c9f5e2); transition: filter .15s; }
.mo-barwrap:hover .mo-bar { filter: brightness(.96); }
.mo-bar.on { background: linear-gradient(to top, var(--pv-green-600), var(--pv-green-400));
  box-shadow: 0 3px 10px rgba(0, 149, 111, .3); }
.mo-barwrap:has(.mo-bar.on) .mo-bval { opacity: 1; color: var(--pv-green-700); }
.mo-bar.empty { background: #eef2f1; }
.mo-blabel { font-size: 10.5px; color: var(--pv-muted); margin-top: 7px; font-weight: 600; }

/* ================= KPI（紙面: カード3枚 → 罫線1行の統計欄） =================
   2026-09-07: 色付きアイコンチップと箱・影を外す。保有数/容量/県数は
   静的な事実であって毎朝の主役ではない — 決算書の脚注のように1行で足りる。 */
.mo-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 14px 0;
  background: var(--pv-surface); border: 1px solid var(--pv-border); border-top: 2px solid var(--pv-ink); }
.mo-kpi { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 14px 20px 12px; }
.mo-kpi + .mo-kpi { border-left: 1px solid var(--pv-border); }
.mo-kpi-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.mo-kpi-lbl { color: var(--pv-muted); }
.mo-kpi-ic { display: none; }
.mo-kpi-val { font-size: 23px; font-weight: 800; color: var(--pv-ink); line-height: 1; }
.mo-kpi-val .u { font-size: 12px; font-weight: 600; color: var(--pv-muted); margin-left: 3px; }

/* ================= 2カラム（次のステップ / 発電所一覧） ================= */
.mo-cols { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px; margin-bottom: 14px; }
.mo-todo { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid #f0f4f2; }
.mo-todo:first-of-type { border-top: 0; }
.mo-todo-ic { width: 30px; height: 30px; border-radius: 9px; background: var(--pv-green-50);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mo-todo-ic svg { width: 15px; height: 15px; color: var(--pv-green-700); }
.mo-todo-body { flex: 1; min-width: 0; }
.mo-todo-t { font-size: 13px; font-weight: 700; color: var(--pv-ink); }
.mo-todo-d { font-size: 11.5px; color: var(--pv-muted); margin-top: 2px; line-height: 1.55; }
.mo-todo-act { flex-shrink: 0; font-size: 11.5px; font-weight: 700; color: var(--pv-green-700);
  text-decoration: none; border: 1px solid var(--pv-green-100); border-radius: 8px; padding: .4rem .75rem; white-space: nowrap; }
.mo-todo-act:hover { background: var(--pv-green-50); }
.mo-todo-act--off { flex-shrink: 0; font-size: 11.5px; font-weight: 700; color: #b6c0ba;
  border: 1px dashed var(--pv-border); border-radius: 8px; padding: .4rem .75rem; white-space: nowrap; }

.mo-fac { display: flex; align-items: center; gap: 12px; padding: 13px 4px; text-decoration: none;
  border-top: 1px solid #f0f4f2; transition: background .12s; border-radius: 8px; }
.mo-fac:first-of-type { border-top: 0; }
.mo-fac:hover { background: var(--pv-bg); }
.mo-fac-main { flex: 1; min-width: 0; }
.mo-fac-name { font-size: 13px; font-weight: 700; color: var(--pv-ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mo-fac-meta { font-size: 11px; color: var(--pv-muted); margin-top: 2px; }
.mo-fac-meta code { font-family: ui-monospace, Consolas, monospace; font-size: 10.5px;
  background: #eef2f1; padding: 1px 6px; border-radius: 5px; color: var(--pv-ink-2); }
.mo-cap { font-size: 12px; font-weight: 700; color: var(--pv-ink-2);
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.mo-vc { font-size: 10px; font-weight: 800; background: var(--pv-green-50); color: var(--pv-green-700);
  padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.mo-arrow { font-size: 11px; font-weight: 700; color: var(--pv-green-700); white-space: nowrap; }

/* ================= 0件ヒーロー ================= */
.mo-zero { text-align: center; background: var(--pv-surface); border: 1px solid var(--pv-border);
  border-radius: 20px; padding: 64px 28px; margin-bottom: 14px; }
.mo-zero-ic { width: 64px; height: 64px; border-radius: 18px; background: var(--pv-green-50);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.mo-zero-ic svg { width: 30px; height: 30px; color: var(--pv-green-600); }
.mo-zero h2 { font-size: 21px; font-weight: 900; color: var(--pv-ink); margin: 0 0 10px; letter-spacing: -.01em; }
.mo-zero p { font-size: 13px; color: var(--pv-muted); max-width: 30em; margin: 0 auto 22px; line-height: 1.8; }

/* ================= 下段カード ================= */
.mo-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.mo-bcard { background: var(--pv-surface); border: 1px solid var(--pv-border); border-radius: 16px; padding: 20px 24px; }
.mo-bcard--muted { opacity: .65; }
.mo-bcard h3 { font-size: 13.5px; font-weight: 800; color: var(--pv-ink); margin: 0 0 6px; }
.mo-bcard p { font-size: 12px; color: var(--pv-muted); margin: 0 0 12px; line-height: 1.65; }
.mo-bcard-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.mo-bcard-acts a { font-size: 11.5px; font-weight: 700; color: var(--pv-green-700); text-decoration: none;
  border: 1px solid var(--pv-green-100); border-radius: 8px; padding: .4rem .8rem; }
.mo-bcard-acts a:hover { background: var(--pv-green-50); }
.mo-bcard-off { font-size: 11.5px; font-weight: 700; color: #b6c0ba; border: 1px dashed var(--pv-border);
  border-radius: 8px; padding: .4rem .8rem; }

/* ================= レスポンシブ ================= */
@media (max-width: 900px) {
  .mo-wrap { padding: 28px 18px 56px; }
  .mo-rev { grid-template-columns: 1fr; gap: 1.2rem; padding: 24px 22px; }
  .mo-rev-m .mo-rev-val { font-size: 38px; }
  .mo-kpis { grid-template-columns: 1fr 1fr; }
  .mo-cols, .mo-bottom { grid-template-columns: 1fr; }
  .mo-bval { display: none; }
  /* 収支カードが1列に畳まれると絶対配置のリンクが値に被る → 通常フローへ */
  .mo-rev-link { position: static; display: inline-block; margin: 0 0 10px; }
}
@media (max-width: 640px) {
  .ck-item { flex-wrap: wrap; }
  .ck-item .act { margin-left: auto; }
  .mo-welcome h1 { font-size: 21px; }
  .mo-kpi-val { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .mo-btn, .ck-item, .mo-bar, .mo-fac { transition: none; }
}

/* 売電サマリーカードを台帳へのリンク化（2026-07-08）。紙面化に伴い hover は罫線の濃化のみ */
.mo-rev--clickable { cursor: pointer; transition: border-color .15s; }
.mo-rev--clickable:hover { border-color: var(--pv-ink-2); }
.mo-rev--clickable:focus-visible { outline: 2px solid var(--mint-ink, #0e7a55); outline-offset: 2px; }

/* 概況スリム化（2026-07-17）: 底部カード群 → 静かなリンク行 / KPI リンク化 */
.mo-more { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px;
  margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--pv-border, #e5eae7);
  font-size: 12.5px; }
.mo-more-lbl { font-weight: 700; color: var(--pv-muted, #64748b); font-size: 11.5px; }
.mo-more a { color: var(--pv-ink-2, #475569); text-decoration: none; font-weight: 600; }
.mo-more a:hover { color: #00734f; text-decoration: underline; }
.mo-kpi--link { text-decoration: none; color: inherit; display: block; }
.mo-kpi--link:hover { background: var(--pv-bg); }
.mo-more-off { color: var(--pv-muted, #94a3b8); font-weight: 600; }
.mo-monitor-warn { color: #b91c1c; }

/* 組合タブ（発電モニター・保有発電所と同じ保存ビュー）。
   monitor.css と同じ見た目にするため、必要な分だけここへ複製する。 */
.mon-tabs { display: inline-flex; gap: 4px; border: 1px solid var(--pv-border, #e5eae7); border-radius: 10px;
  padding: 3px; background: var(--pv-surface, #fff); flex-wrap: wrap; }
.mon-gtabs { margin-top: 10px; }
.mon-tab { padding: 6px 16px; font-size: 12.5px; font-weight: 800; color: var(--pv-ink-2, #475569);
  text-decoration: none; border-radius: 7px; }
.mon-tab.on { background: #ecfdf5; color: #00734f; }
.mon-tab:hover:not(.on) { background: #f4f8f6; }
.mon-tab--edit { font-weight: 600; color: var(--pv-muted, #94a3b8); }
.mon-tab--edit:hover { color: var(--pv-green-700, #00734f); }
.mon-pin-form { display: contents; }
button.mon-tab { background: transparent; cursor: pointer; border: 0; font-family: inherit; }
button.mon-tab:hover { color: #d97706; }
.mon-pin-mark { color: #d97706; font-size: 10px; }
.mon-gcount { margin-left: 5px; font-size: 10px; font-weight: 700; color: var(--pv-muted, #94a3b8); }
.mon-tab.on .mon-gcount { color: inherit; }

.mo-add-mobile { display: none; }

/* ── デモ限定: 毎朝メールの実物サンプル（紙面の「郵便」ブロック） ── */
.mo-mail { background: var(--pv-surface); border: 1px solid var(--pv-border);
  border-top: 2px solid var(--pv-ink); padding: 16px 20px 14px; margin-bottom: 14px; }
.mo-mail-k { font-size: 11px; font-weight: 700; letter-spacing: .14em;
  color: var(--pv-muted); margin-bottom: 10px; }
.mo-mail-sec { font-size: 12.5px; font-weight: 800; color: var(--pv-ink); margin-top: 8px; }
.mo-mail-line { font-size: 12.5px; color: var(--pv-ink-2); line-height: 1.8;
  padding-left: 1em; font-variant-numeric: tabular-nums; }
.mo-mail-note { font-size: 11.5px; color: var(--pv-muted); margin: 12px 0 0;
  border-top: 1px solid var(--pv-border); padding-top: 10px; }

/* ── C頭部「今日の一枚」: danger がある朝だけ、スマホ先頭に大活字で1件 ──
   方向Cから借りた唯一の部品。PC とデスクトップ幅では確認事項リストが
   最初の画面に入るため出さない（見出しが重複の騒音になる）。 */
.mo-today { display: none; }
@media (max-width: 760px) {
  .mo-today {
    display: block; text-decoration: none;
    background: var(--pv-danger-bg); color: var(--pv-ink);
    margin: 0 -18px 14px; padding: 18px 18px 16px;
    border-bottom: 1px solid #f6c8c8;
  }
  .mo-today-k { font-size: 11px; font-weight: 900; letter-spacing: .1em; color: #b91c1c; margin-bottom: 6px; }
  .mo-today-t { font-size: 19px; font-weight: 900; line-height: 1.35; letter-spacing: -.01em; }
  .mo-today-d { font-size: 12.5px; color: var(--pv-ink-2); margin-top: 5px; line-height: 1.6; }
  .mo-today-act { font-size: 13px; font-weight: 800; color: #b91c1c; margin-top: 10px; }
  .mo-today:active { filter: brightness(.97); }
}

/* ── スマホ: 現状は畳み、やることを最初の画面に入れる ───────────────
   実測（430px幅）では「今日の確認事項」が y=911px にあり、丸1画面
   スクロールしないと出てこなかった。上を占めていたのは深緑の大カード2枚で、
   年累計・直近月収入・直近月発電量・昨日の総発電・本日ここまで の5つの数字。
   どれも「現状」で、毎朝アプリを開く理由ではない。

   順番（現状 → やること）は変えない。現状を2行に圧縮して、やることを
   最初の画面に押し上げる。詳しい数字は各カードをタップした先にある。 */
@media (max-width: 760px) {
  /* 挨拶は情報を持たない。40px を確認事項に回す */
  .mo-welcome h1, .mo-welcome p { display: none; }

  /* 一番上は「組合の切替」1行だけにする。
     ここには3つのボタンが並んでいたが、
       ・「発電所を追加」と「発電所を登録」は同じ /portfolio/add-asset 行き
       ・「発電所を検索」はヘッダーの「全国検索」と重複、かつ我々の立ち位置でもない
     さらに space-between で折り返すため、幅の揃わない要素が段違いに並んでいた。
     残す1つ（登録）は、状況を見終わった後に置く。 */
  .mo-welcome { display: block; margin-bottom: 14px; }
  .mo-acts { display: none; }
  .gs { max-width: none; }

  /* 発電所の登録は「確認事項を見た後」に1本だけ、幅いっぱいで置く */
  .mo-kpis { position: relative; }
  .mo-add-mobile {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 48px; margin: 4px 0 18px;
    border: 1px solid var(--pv-border); border-radius: 12px;
    background: var(--pv-surface); color: var(--pv-green-700);
    font-size: 14px; font-weight: 700; text-decoration: none;
  }

  /* 収支・モニターのカードは1行に。緑の面も外す
     （緑は「押せるもの」の色。面を塗ると画面で一番強い要素になってしまう） */
  .mo-rev {
    background: var(--pv-surface); border: 1px solid var(--pv-border);
    color: var(--pv-ink); padding: 12px 14px; gap: 0; margin-bottom: 10px;
  }
  .mo-rev::after { display: none; }
  .mo-rev-lbl { color: var(--pv-muted); margin-bottom: 2px; }
  .mo-rev-sub { color: var(--pv-muted); margin-top: 2px; }
  .mo-rev-link { color: var(--pv-green-700) !important; margin: 0 0 6px; font-weight: 700; }

  /* 年累計と発電量は畳む。スマホで毎朝見る数字ではない
     （カードをタップすれば台帳とモニターで見られる） */
  .mo-rev-m { display: none; }
  .mo-rev-side + .mo-rev-side { display: none; }
  .mo-rev-side .mo-rev-val { font-size: 22px; color: var(--pv-ink); opacity: 1; }

  /* モニターカードだけは「昨日の総発電」が主役なので m を残し、
     代わりに「本日ここまで」を畳む */
  .mo-monitor-card .mo-rev-m { display: block; }
  .mo-monitor-card .mo-rev-m .mo-rev-val { font-size: 22px; }
  .mo-monitor-card .mo-rev-side { display: none; }

  /* 確認事項はここが本題。詰めずに読める大きさを残す */
  .ck { margin-top: 4px; }
  .ck-item .act { min-height: 44px; display: inline-flex; align-items: center; }

  /* KPI 3枚（保有数/容量/県数）は静的な事実で、毎朝の画面には要らない。
     PC には残す — スマホでは保有発電所ページの見出しが同じ数字を持っている */
  .mo-kpis { display: none; }
  /* 「その他」リンク行も畳む。Path はハンバーガーメニューが担う */
  .mo-more { display: none; }
}
