/* BI LP のデモ画面。insights-lp のトークンに合わせる（navy #224477 / teal #087e84） */
.insights-lp .bi-console{background:#fff;border:1px solid #dde8ec;border-radius:12px;box-shadow:0 22px 65px #18314917;overflow:hidden;margin-top:26px}
.insights-lp .bi-chrome{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:11px 16px;border-bottom:1px solid #e6eef2;background:#f7fafc;font-size:12px;color:#5c7383}
.insights-lp .bi-chrome>*{white-space:nowrap;flex:0 0 auto}
.insights-lp .bi-chrome .dot{width:9px;height:9px;border-radius:50%;background:#cfdde4}
.insights-lp .bi-chrome b{color:#224477;font-size:12.5px}
.insights-lp .bi-chrome .bi-tools{margin-left:auto;display:flex;gap:8px;align-items:center}
.insights-lp .bi-chip{font-size:11px;background:#deefee;color:#15656e;border-radius:999px;padding:3px 9px;font-weight:700}
.insights-lp .bi-mini{border:1px solid #cfdde4;background:#fff;border-radius:6px;padding:5px 10px;font-size:11.5px;color:#31536e;font-weight:700}
.insights-lp .bi-mini:hover{border-color:#087e84;color:#087e84}
.insights-lp .bi-body{padding:18px 18px 22px}

/* フィルタ */
.insights-lp .bi-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;align-items:end}
.insights-lp .bi-f label{display:block;font-size:11px;font-weight:700;color:#4b6579;margin-bottom:5px;letter-spacing:.02em}
.insights-lp .bi-f select{width:100%;padding:8px 10px;border:1px solid #cfdde4;border-radius:6px;background:#fff;font-size:13px;color:#183249}
.insights-lp .bi-f select:focus{outline:2px solid #087e84;outline-offset:1px}
.insights-lp .bi-seg{display:inline-flex;background:#eef4f7;border-radius:7px;padding:3px;gap:2px}
.insights-lp .bi-seg button{border:0;background:transparent;border-radius:5px;padding:6px 12px;font-size:12.5px;font-weight:700;color:#5c7383}
.insights-lp .bi-seg button.bi-on{background:#224477;color:#fff}
.insights-lp .bi-seg.bi-teal button.bi-on{background:#087e84}
.insights-lp .bi-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0 4px}
.insights-lp .bi-toolbar .bi-lb{font-size:11.5px;color:#5c7383;font-weight:700}
.insights-lp .bi-scope{font-size:11.5px;color:#6a7d8d;margin-left:auto}

/* KPI */
.insights-lp .bi-top{display:grid;grid-template-columns:250px 1fr;gap:16px;margin-top:18px}
.insights-lp .bi-gaugebox{border:1px solid #e6eef2;border-radius:10px;padding:14px;text-align:center;background:#fbfdfe}
.insights-lp .bi-gaugebox h4{margin:0 0 2px;font-size:12.5px;color:#4b6579;font-weight:700}
.insights-lp .bi-gwrap{position:relative}
.insights-lp .bi-gwrap #bi-gauge-pct{position:absolute;left:0;right:0;bottom:6px;font-size:23px;font-weight:800;color:#087e84}
.insights-lp #bi-gauge-num{font-size:12px;display:grid;gap:3px;margin-top:6px}
.insights-lp #bi-gauge-num div{display:flex;justify-content:space-between}
.insights-lp #bi-gauge-num span{color:#6a7d8d}
.insights-lp #bi-gauge-num b{color:#183249;font-weight:700}
.insights-lp #bi-gauge-num .bi-gsep{border-top:1px solid #e6eef2;padding-top:4px;margin-top:2px}
.insights-lp .bi-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.insights-lp .bi-kpi{border-radius:10px;padding:12px 14px;border:1px solid #e6eef2;background:#fbfdfe}
.insights-lp .bi-kpi small{display:block;font-size:11.5px;color:#5c7383;font-weight:700}
.insights-lp .bi-kpi b{display:block;font-size:24px;font-weight:800;line-height:1.35;color:#224477;letter-spacing:-.02em}
.insights-lp .bi-kpi span{display:block;font-size:11px;color:#7a8b98}
.insights-lp .bi-kpi em{display:block;font-style:normal;font-size:11px;color:#6a7d8d;border-top:1px dashed #e0e9ee;margin-top:6px;padding-top:5px}
.insights-lp .bi-kpi-rev{background:#f0faf5;border-color:#d5efe2}.insights-lp .bi-kpi-rev b{color:#12795a}
.insights-lp .bi-kpi-adr{background:#f1f6fd;border-color:#dbe7f8}.insights-lp .bi-kpi-adr b{color:#22508f}
.insights-lp .bi-kpi-occ{background:#f6f2fd;border-color:#e5dcf7}.insights-lp .bi-kpi-occ b{color:#5b3fa8}
.insights-lp .bi-kpi-rvp{background:#fdf7ee;border-color:#f3e6d2}.insights-lp .bi-kpi-rvp b{color:#9a6516}
.insights-lp .bi-kpi-los{background:#eefafb;border-color:#d3ecef}.insights-lp .bi-kpi-los b{color:#0d7c85}
.insights-lp .bi-kpi-ppr{background:#fdf2f4;border-color:#f6dde2}.insights-lp .bi-kpi-ppr b{color:#a8405a}
.insights-lp .bi-d{font-weight:700}
.insights-lp .bi-up{color:#12795a}.insights-lp .bi-dn{color:#c0392b}

/* チャート枠 */
.insights-lp .bi-panel{border:1px solid #e6eef2;border-radius:10px;padding:14px;margin-top:14px;background:#fff}
.insights-lp .bi-panel h4{margin:0 0 2px;font-size:13px;color:#224477;font-weight:700}
.insights-lp .bi-panel .bi-cap{font-size:11.5px;color:#6a7d8d;margin-bottom:8px}
.insights-lp .bi-svg{width:100%;height:auto;display:block;overflow:visible}
.insights-lp .bi-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:#5c7383;margin-top:8px}
.insights-lp .bi-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.insights-lp .bi-legend .bi-l-act{background:#2f6fd0}.insights-lp .bi-legend .bi-l-oh{background:#8fb6e8}
.insights-lp .bi-legend .bi-l-pend{background:#c9d5e2}.insights-lp .bi-legend .bi-l-prev{background:#d3dfec}
.insights-lp .bi-legend .bi-l-adr{background:#183249;border-radius:50%}
.insights-lp .bi-legend .bi-l-fit{background:#2f6fd0}.insights-lp .bi-legend .bi-l-grp{background:#ef8f4e}
.insights-lp .bi-legend .bi-l-pick{background:#8e86e0}.insights-lp .bi-legend .bi-l-rev{background:#12795a;border-radius:50%}
.insights-lp .bi-legend .bi-l-full{background:#a982d8}
.insights-lp .bi-legend .bi-l-cur{background:#087e84}.insights-lp .bi-legend .bi-l-pv{background:#e08b8b}

/* SVG 内 */
.bi-grid{stroke:#eaf0f4;stroke-width:1}
.bi-ax{font-size:10px;fill:#8ba0ae}
.bi-ax-r{text-anchor:end}.bi-ax-l{text-anchor:start}.bi-ax-c{text-anchor:middle}
.bi-b-fit{fill:#2f6fd0}.bi-b-grp{fill:#ef8f4e}.bi-b-pick{fill:#8e86e0}
.bi-full{stroke:#a982d8;stroke-width:1.4;stroke-dasharray:5 4}
.bi-line-rev{fill:none;stroke:#12795a;stroke-width:1.9}
.bi-ax-e{text-anchor:end;fill:#a982d8}
.bi-b-act{fill:#2f6fd0}.bi-b-oh{fill:#8fb6e8}.bi-b-pend{fill:#c9d5e2}.bi-b-prev{fill:#d3dfec}
.bi-hit{fill:transparent}
.bi-bar-g:hover .bi-b-act,.bi-bar-g:hover .bi-b-oh,.bi-bar-g:hover .bi-b-pend{filter:brightness(1.12)}
.bi-line-adr{fill:none;stroke:#183249;stroke-width:1.8}
.bi-dot-adr{fill:#183249}
.bi-g-track{fill:none;stroke:#e6eef2;stroke-width:17;stroke-linecap:round}
.bi-g-val{fill:none;stroke:#12a08a;stroke-width:17;stroke-linecap:round}
.bi-c-cur{fill:none;stroke:#087e84;stroke-width:2.1}
.bi-c-prev{fill:none;stroke:#e08b8b;stroke-width:1.8;stroke-dasharray:4 3}
.bi-thin{stroke-width:1.3}
.bi-cross{stroke:#b9c9d4;stroke-width:1;stroke-dasharray:3 3}

/* カレンダー */
.insights-lp .bi-cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.insights-lp .bi-cal-head div{text-align:center;font-size:11.5px;font-weight:700;color:#5c7383;padding:4px 0;background:#f2f6f9;border-radius:5px}
.insights-lp .bi-cal-head .bi-sat{color:#2f6fd0}.insights-lp .bi-cal-head .bi-sun{color:#c0392b}
.insights-lp .bi-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.insights-lp .bi-cell{border:1px solid #e6eef2;border-radius:8px;background:#fff;padding:7px 6px 8px;text-align:left;display:flex;flex-direction:column;gap:1px;min-height:118px}
.insights-lp .bi-cell.bi-empty{border:0;background:transparent;min-height:0}
.insights-lp .bi-cell:hover{border-color:#087e84;box-shadow:0 6px 18px #18314912}
.insights-lp .bi-cell.bi-on{border-color:#087e84;box-shadow:0 0 0 2px #087e8433}
.insights-lp .bi-cell i{font-style:normal;font-size:13px;font-weight:800;color:#31536e}
.insights-lp .bi-cell i.bi-sat{color:#2f6fd0}.insights-lp .bi-cell i.bi-sun{color:#c0392b}
.insights-lp .bi-sp{font-size:9.5px;background:#fdf1e3;color:#9a6516;border-radius:3px;padding:1px 4px;align-self:flex-start;font-weight:700}
.insights-lp .bi-spark{height:46px;margin:2px 0}
.insights-lp .bi-cell u{text-decoration:none;font-size:10px;color:#087e84;font-weight:700;line-height:1.4}
.insights-lp .bi-cell u.bi-prev{color:#c98080}
.insights-lp .bi-cell em{font-style:normal;font-size:10px;font-weight:700}

/* テーブル */
.insights-lp .bi-tblwrap{overflow-x:auto;margin-top:12px;border:1px solid #e6eef2;border-radius:10px}
.insights-lp .bi-tbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:720px}
.insights-lp .bi-tbl th{background:#f2f6f9;color:#31536e;font-weight:700;font-size:11.5px;padding:8px 10px;text-align:right;border-bottom:1px solid #e0e9ee;white-space:nowrap}
.insights-lp .bi-tbl th.bi-lft,.insights-lp .bi-tbl td.bi-lft{text-align:left}
.insights-lp .bi-tbl td{padding:8px 10px;text-align:right;border-bottom:1px solid #f0f4f7;white-space:nowrap;color:#183249}
.insights-lp .bi-tbl tbody tr:hover td{background:#f7fbfc}
.insights-lp .bi-tbl .bi-sum td{background:#eef4f7;font-weight:700}
.insights-lp .bi-tbl td.bi-mut{color:#8ba0ae}
.insights-lp .bi-tbl td.bi-em{font-weight:700;color:#224477}
.insights-lp .bi-tbl td.bi-lft small{display:block;font-size:10.5px;color:#8ba0ae;font-weight:400}
.insights-lp .bi-tbl-fc th{border-left:1px solid #e6eef2}
.insights-lp .bi-tbl .bi-grp td{background:#eaf1f5;font-weight:700;color:#31536e;font-size:11.5px;padding:5px 10px}
.insights-lp .bi-tbl td.bi-warn{background:#fdf6e3}
.insights-lp .bi-tbl-adr{min-width:940px}.insights-lp .bi-tbl-wk{min-width:1080px}
.insights-lp .bi-tbl-adr td{font-variant-numeric:tabular-nums}
.insights-lp .bi-dotm{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4aa88f;margin-right:7px;vertical-align:1px}
.insights-lp .bi-shbar{display:inline-block;width:96px;height:8px;background:#eef4f7;border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:8px}
.insights-lp .bi-shbar i{display:block;height:100%;background:linear-gradient(90deg,#087e84,#4fb3b5)}
.insights-lp .bi-tbl td.bi-shr{text-align:left}
.insights-lp .bi-tbl td.bi-shr u{text-decoration:none;font-size:11.5px;color:#5c7383}

/* ヒートマップ */
.insights-lp .bi-heat{width:100%;border-collapse:collapse;font-size:11.5px;min-width:760px}
.insights-lp .bi-heat th{background:#f2f6f9;color:#31536e;font-size:10.5px;font-weight:700;padding:6px 4px;border-bottom:1px solid #e0e9ee}
.insights-lp .bi-heat td{text-align:center;padding:5px 4px;border-bottom:1px solid #f0f4f7;border-left:1px solid #f4f7f9}
.insights-lp .bi-heat td.bi-lft{text-align:left;white-space:nowrap;font-weight:700;color:#31536e;background:#fbfdfe}
.insights-lp .bi-heat td.bi-lft.bi-sat{color:#2f6fd0}.insights-lp .bi-heat td.bi-lft.bi-sun{color:#c0392b}
.insights-lp .bi-heat td b{display:block;font-size:12px;font-weight:700}
.insights-lp .bi-heat td i{display:block;font-style:normal;font-size:9.5px;opacity:.75}
.insights-lp .bi-heat .bi-h0{background:#eef7f2;color:#12795a}
.insights-lp .bi-heat .bi-h1{background:#e2f2ea;color:#0f6b50}
.insights-lp .bi-heat .bi-h2{background:#fdf3e3;color:#9a6516}
.insights-lp .bi-heat .bi-h3{background:#fbe6dd;color:#b4541f}
.insights-lp .bi-heat .bi-h4{background:#f7d9d9;color:#a5342c}

/* 日別予算 */
.insights-lp .bi-budgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20px,1fr));gap:3px;height:150px;align-items:end;margin-top:8px}
.insights-lp .bi-bud{display:flex;flex-direction:column;align-items:center;gap:3px;height:100%}
.insights-lp .bi-bud .bi-bar{position:relative;width:100%;flex:1;background:#f4f8fa;border-radius:3px}
.insights-lp .bi-bud .bi-bar i{position:absolute;left:0;right:0;bottom:0;border-radius:3px}
.insights-lp .bi-bud .bi-bar i.bi-ok{background:#4aa88f}.insights-lp .bi-bud .bar i.bi-ng{background:#e0a37c}
.insights-lp .bi-bud .bi-bar u{position:absolute;left:-1px;right:-1px;height:2px;background:#224477;opacity:.75}
.insights-lp .bi-bud small{font-size:9px;color:#8ba0ae}
.insights-lp .bi-bud.bi-hot small{color:#9a6516;font-weight:700}
.insights-lp .bi-bud:hover .bi-bar{background:#e9f2f5}
.insights-lp #bi-budget-sum{font-size:12.5px;color:#4b6579;margin-top:10px}
.insights-lp #bi-budget-sum b{color:#183249}
.insights-lp #bi-budget-sum span{margin-left:10px;font-weight:700}

/* ツールチップ・トースト */
.bi-tip{position:fixed;z-index:9999;background:#183249;color:#fff;border-radius:7px;padding:8px 11px;font-size:11.5px;line-height:1.65;pointer-events:none;box-shadow:0 10px 30px #0b1d2c40;max-width:250px;display:grid;grid-template-columns:auto auto;gap:0 12px}
.bi-tip b,.bi-tip i,.bi-tip em{grid-column:1/-1;display:block}
.bi-tip b{font-size:12.5px;margin-bottom:2px}
.bi-tip i{font-style:normal;color:#9fd8d5;font-size:10.5px;margin-bottom:3px}
.bi-tip em{font-style:normal;color:#f0c98a;font-size:10.5px;margin-top:3px}
.bi-tip u{text-decoration:none;color:#a9c0d0}.bi-tip s{text-decoration:none;text-align:right;font-weight:700}
.bi-tip[hidden]{display:none}
#bi-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);background:#183249;color:#fff;padding:11px 20px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:.24s;z-index:9999}
#bi-toast.bi-on{opacity:1;transform:translate(-50%,0)}

/* ダークモード（アプリ側の切替を再現） */
.insights-lp .bi-console.bi-night{background:#0f1f2e;border-color:#22394c}
.insights-lp .bi-console.bi-night .bi-chrome{background:#132738;border-color:#22394c;color:#9fb4c4}
.insights-lp .bi-console.bi-night .bi-chrome b{color:#8fd4d2}
.insights-lp .bi-console.bi-night .bi-mini{background:#16293a;color:#cfe0ea}
.insights-lp .bi-console.bi-night .bi-mini{border-color:#2c4459}
.insights-lp .bi-console.bi-night .bi-f label,.insights-lp .bi-console.bi-night .bi-toolbar .bi-lb,.insights-lp .bi-console.bi-night .bi-scope{color:#9fb4c4}
.insights-lp .bi-console.bi-night .bi-f select{background:#16293a;border-color:#2c4459;color:#e6f0f6}
.insights-lp .bi-console.bi-night .bi-seg{background:#16293a}
.insights-lp .bi-console.bi-night .bi-seg button{color:#9fb4c4}
.insights-lp .bi-console.bi-night .bi-panel,.insights-lp .bi-console.bi-night .bi-gaugebox,.insights-lp .bi-console.bi-night .bi-cell,.insights-lp .bi-console.bi-night .bi-tblwrap{background:#132738;border-color:#22394c}
.insights-lp .bi-console.bi-night .bi-panel h4{color:#8fd4d2}
.insights-lp .bi-console.bi-night .bi-kpi{background:#16293a;border-color:#264056}
.insights-lp .bi-console.bi-night .bi-kpi b{color:#e6f0f6}
.insights-lp .bi-console.bi-night .bi-kpi small,.insights-lp .bi-console.bi-night .bi-kpi span,.insights-lp .bi-console.bi-night .bi-kpi em{color:#9fb4c4}
.insights-lp .bi-console.bi-night #bi-gauge-num b{color:#e6f0f6}
.insights-lp .bi-console.bi-night .bi-tbl th,.insights-lp .bi-console.bi-night .bi-heat th{background:#1a3145;color:#cfe0ea;border-color:#264056}
.insights-lp .bi-console.bi-night .bi-tbl td{color:#dbe8f0;border-color:#1e364a}
.insights-lp .bi-console.bi-night .bi-tbl .bi-sum td{background:#1a3145}
.insights-lp .bi-console.bi-night .bi-cell i{color:#cfe0ea}
.insights-lp .bi-console.bi-night .bi-cal-head div{background:#1a3145;color:#9fb4c4}
.insights-lp .bi-console.bi-night .bi-grid{stroke:#22394c}
.insights-lp .bi-console.bi-night .bi-ax{fill:#7f97a8}
.insights-lp .bi-console.bi-night .bi-line-adr,.insights-lp .bi-console.bi-night .bi-dot-adr{stroke:#e6f0f6;fill:#e6f0f6}
.insights-lp .bi-console.bi-night .bi-line-adr{fill:none}
.insights-lp .bi-console.bi-night .bi-b-prev{fill:#22394c}
.insights-lp .bi-console.bi-night .bi-g-track{stroke:#22394c}

@media(max-width:900px){
  .insights-lp .bi-top{grid-template-columns:1fr}
  .insights-lp .bi-kpis{grid-template-columns:repeat(2,1fr)}
  .insights-lp .bi-cell{min-height:104px}
  .insights-lp .bi-cell u,.insights-lp .bi-cell em{font-size:9px}
}
@media(max-width:600px){
  .insights-lp .bi-chrome{gap:5px 8px;padding:9px 12px;font-size:11px}
  .insights-lp .bi-chrome .bi-tools{margin-left:0;width:100%;justify-content:flex-end}
  .insights-lp .bi-body{padding:14px 12px 18px}
  .insights-lp .bi-toolbar{gap:8px}
  .insights-lp .bi-toolbar .bi-lb{width:100%;margin-bottom:-4px}
  .insights-lp .bi-scope{margin-left:0;width:100%}
  .insights-lp .bi-gwrap{max-width:210px;margin:0 auto}
  .insights-lp .bi-kpis{grid-template-columns:1fr}
  .insights-lp .bi-cal-grid,.insights-lp .bi-cal-head{gap:3px}
  .insights-lp .bi-cell{min-height:78px;padding:5px 3px}
  .insights-lp .bi-spark{height:30px}
  .insights-lp .bi-cell u,.insights-lp .bi-sp{display:none}
}
