/* ============================================================
 * 営業CRM — Salesforce Lightning Experience スキン（2026-07-24）
 * 動画キーフレーム（f010/f012/f022/f036/f042）の見た目を忠実に再現する。
 * Lightningの設計言語: 背景#f3f2f2 / カード白・角丸4px・枠#dddbda / ブルー#0176d3 /
 * ネイビー#032d60 / 成功#04844b / パス=シェブロン / テーブルヘッダ#fafaf9
 * ============================================================ */
.sf-app{background:#f3f2f2;border:1px solid #dddbda;border-radius:12px;overflow:hidden;min-height:calc(100dvh - 40px);display:flex;flex-direction:column;font-size:13px;color:#181818}
.sf-app .sp{flex:1}

/* ---- グローバルヘッダー（上段=アプリ識別＋検索・Bloomロゴは置かない） ---- */
.sf-gh{display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid #dddbda;padding:8px 16px}
.sf-gh-app{display:flex;align-items:center;flex:none}
.sf-search{position:relative;display:flex;align-items:center;gap:8px;flex:1;max-width:640px;margin:0 auto;background:#fff;border:1px solid #c9c7c5;border-radius:6px;padding:6px 12px}
.sf-search:focus-within{border-color:#0176d3;box-shadow:0 0 0 1px #0176d3}
.sf-search svg{width:15px;height:15px;color:#706e6b;flex:none}
.sf-search-scope{font-size:12px;color:#444;border-right:1px solid #dddbda;padding-right:10px;white-space:nowrap}
.sf-search input{border:0;outline:0;flex:1;font:inherit;font-size:13px;background:none;min-width:0}
.sf-search-dd{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #dddbda;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:50;overflow:hidden}
.sf-search-dd button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;text-align:left;padding:9px 12px;cursor:pointer}
.sf-search-dd button:hover{background:#f3f9ff}
.sf-search-dd .tx b{display:block;font-size:12.5px;color:#0176d3}
.sf-search-dd .tx span{display:block;font-size:10.5px;color:#706e6b}
.sf-search-none{padding:12px;font-size:12px;color:#706e6b;text-align:center}
.sf-gh-right{display:flex;align-items:center;gap:12px}
.sf-gh-ic{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:13px;color:#706e6b;cursor:default}
.sf-gh-av{width:28px;height:28px;border-radius:50%;background:#c7406d;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}

/* ---- ナビゲーションバー（下段=タブだけ・アプリ識別は上段へ移動） ---- */
.sf-nav{display:flex;align-items:center;gap:2px;background:#fff;border-bottom:1px solid #dddbda;padding:0 14px;overflow-x:auto;scrollbar-width:none}
.sf-waffle{display:grid;grid-template-columns:repeat(3,4px);gap:2px;margin-right:9px;cursor:default;flex:none}
.sf-waffle i{width:4px;height:4px;border-radius:1px;background:#706e6b}
.sf-appname{font-size:15px;font-weight:700;color:#080707;margin-right:14px;white-space:nowrap}
.sf-tab{border:0;background:none;font:inherit;font-size:13px;color:#444;padding:11px 13px 9px;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent}
.sf-tab:hover{color:#0176d3}
.sf-tab.on{color:#0176d3;font-weight:700;border-bottom-color:#0176d3}
.sf-caret{font-size:9px;color:#b0adab;margin-left:1px}

/* ---- ステージ共通 ---- */
.sf-stage{flex:1;padding:14px;overflow:auto}
.sf-card{background:#fff;border:1px solid #dddbda;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.sf-card-hd{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid #f0efee;font-size:13px}
.sf-card-hd b{font-size:13px;color:#080707}
.sf-sub{font-size:11px;color:#706e6b}
.sf-link{border:0;background:none;font:inherit;font-size:12px;color:#0176d3;cursor:pointer}
.sf-link:hover{text-decoration:underline}
.sf-blue{color:#0176d3}
.sf-btn{border:1px solid #c9c7c5;background:#fff;color:#0176d3;font:inherit;font-size:12.5px;font-weight:600;border-radius:4px;padding:6px 14px;cursor:pointer;white-space:nowrap}
.sf-btn:hover{background:#f4f6f9}
.sf-btn.brand{background:#0176d3;border-color:#0176d3;color:#fff}
.sf-btn.brand:hover{background:#0b5cab}
.sf-btn.navy{background:#032d60;border-color:#032d60;color:#fff}
.sf-btn.ghost{border-style:dashed;color:#706e6b}
.sf-btn.xs{padding:3px 9px;font-size:11px}
.sf-btn:disabled{opacity:.55;cursor:default}
.sf-empty{padding:26px 12px;text-align:center;color:#706e6b;font-size:12.5px}
.sf-oic{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;flex:none}
.sf-oic svg{width:17px;height:17px}
.sf-oic.sm{width:22px;height:22px;border-radius:5px}
.sf-oic.sm svg{width:13px;height:13px}
.sf-oic[data-oc="lead"]{background:#f88962}
.sf-oic[data-oc="account"]{background:#5876a3}
.sf-oic[data-oc="contact"]{background:#a094ed}
.sf-oic[data-oc="opp"]{background:#fcb95b}

/* ---- ホーム ---- */
.sf-hgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;margin-bottom:12px}
.sf-hgrid2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:1100px){.sf-hgrid,.sf-hgrid2{grid-template-columns:1fr}}
.sf-perf-num{font-size:22px;font-weight:800;color:#080707}
.sf-chart{display:block;width:100%;height:auto;padding:10px 14px 4px}
.sf-axis{display:flex;justify-content:space-between;padding:0 14px 10px;font-size:10px;color:#b0adab}
.sf-bart{font-size:11px;fill:#444}
.sf-barv{font-size:10.5px;fill:#706e6b}
.sf-assist-list{list-style:none;margin:0;padding:6px 0}
.sf-assist-list li{display:flex;gap:9px;align-items:flex-start;padding:8px 14px;font-size:12.5px;cursor:pointer}
.sf-assist-list li:hover{background:#f3f9ff}
.sf-assist-list li.none{cursor:default;color:#706e6b}
.a-dot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px}
.a-dot.new{background:#0176d3}
.a-dot.warn{background:#ea001e}
.a-dot.soon{background:#fe9339}
.a-dot.gift{background:#ba01ff}
.sf-mini-list{list-style:none;margin:0;padding:4px 0}
.sf-mini-list li{display:flex;align-items:center;gap:9px;padding:7px 14px}
.sf-mini-list li.lnk{cursor:pointer}
.sf-mini-list li.lnk:hover{background:#f3f9ff}
.sf-mini-list li.none{color:#706e6b;font-size:12px}
.sf-mini-list .tx{flex:1;min-width:0}
.sf-mini-list .tx b{display:block;font-size:12.5px;font-weight:600;color:#181818;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-mini-list li.lnk .tx b{color:#0176d3}
.sf-mini-list .tx span{display:block;font-size:10.5px;color:#706e6b}
.sf-check{position:relative;display:inline-block;width:16px;height:16px;flex:none;cursor:pointer}
.sf-check input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sf-check i{position:absolute;inset:0;border:1px solid #c9c7c5;border-radius:3px;background:#fff}
.sf-check input:checked + i{background:#0176d3;border-color:#0176d3}
.sf-check input:checked + i::after{content:'✓';position:absolute;inset:0;color:#fff;font-size:11px;line-height:15px;text-align:center}

/* ---- リストビュー ---- */
.sf-lv-hd{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.sf-lv-title{display:flex;flex-direction:column}
.sf-lv-obj{font-size:11px;color:#706e6b}
.sf-lv-view select{border:0;background:none;font:inherit;font-size:16px;font-weight:800;color:#080707;cursor:pointer;padding:0;max-width:340px}
.sf-lv-sub{font-size:11.5px;color:#706e6b;margin:4px 0 10px 40px}
.sf-lv-sub2{font-size:11.5px;color:#706e6b;margin-left:8px}
.sf-seg{display:flex;border:1px solid #c9c7c5;border-radius:4px;overflow:hidden}
.sf-seg button{border:0;background:#fff;font-size:13px;padding:5px 10px;cursor:pointer;color:#706e6b}
.sf-seg button.on{background:#0176d3;color:#fff}
.sf-table-wrap{background:#fff;border:1px solid #dddbda;border-radius:4px;overflow:auto;max-height:calc(100dvh - 250px)}
.sf-lv-more{display:flex;justify-content:center;padding:12px;border-top:1px solid #f0efee;position:sticky;bottom:0;background:#fff}
.sf-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:760px}
.sf-table thead th{position:sticky;top:0;background:#fafaf9;border-bottom:1px solid #dddbda;text-align:left;font-size:11.5px;color:#514f4d;font-weight:700;padding:8px 10px;cursor:pointer;white-space:nowrap;z-index:2}
.sf-table thead th i{font-style:normal;color:#0176d3}
.sf-table thead th.sorted{color:#0176d3}
.sf-table thead th.chk,.sf-table td.chk{width:30px;cursor:default;text-align:center}
.sf-table thead th.act,.sf-table td.act{width:34px}
.sf-table tbody td{border-bottom:1px solid #f0efee;padding:7px 10px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.sf-table tbody tr:hover{background:#f3f9ff}
.sf-cell-link{color:#0176d3;font-weight:600;cursor:pointer;text-decoration:none}
.sf-cell-link:hover{text-decoration:underline}
.sf-rowmenu{border:0;background:none;cursor:pointer;font-size:12px;opacity:0;color:#706e6b}
.sf-table tbody tr:hover .sf-rowmenu,.sf-rowmenu:focus-visible{opacity:1}
.sf-pill{display:inline-block;font-size:10.5px;font-weight:700;border-radius:99px;padding:2px 9px;background:#f3f2f2;color:#514f4d}
.sf-pill.st-open{background:#e5f2fc;color:#0b5cab}
.sf-pill.st-contacted{background:#fef1e2;color:#8c4b02}
.sf-pill.st-qualified{background:#ebf7e6;color:#396547}
.sf-pill.st-converted{background:#04844b;color:#fff}
.sf-pill.st-lost{background:#f3f2f2;color:#706e6b}
.sf-pill.sg-won{background:#04844b;color:#fff}
.sf-pill.sg-lost{background:#f3f2f2;color:#706e6b}
.sf-pill[class*="sg-"]:not(.sg-won):not(.sg-lost){background:#e5f2fc;color:#0b5cab}
.sf-rate.hot{color:#ea001e;font-weight:700}
.sf-rate.warm{color:#8c4b02;font-weight:700}
.sf-rate.cold{color:#0b5cab;font-weight:700}

/* 会員バッジ・プランチップ（顧客360・2026-07-24） */
.sf-member{display:inline-block;font-size:10px;font-weight:800;background:#eef2ff;color:#4338ca;border:1px solid #d8def7;border-radius:99px;padding:1px 8px;vertical-align:1px}
.sf-plan{display:inline-block;font-size:10px;font-weight:700;background:#ebf7e6;color:#396547;border-radius:6px;padding:2px 8px;margin:1px 3px 1px 0}

/* ---- レコードページ ---- */
.sf-rec-card{background:#fff;border:1px solid #dddbda;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.sf-rec-hd{display:flex;align-items:center;gap:11px;padding:12px 16px 8px}
.sf-rec-name i{display:block;font-style:normal;font-size:11px;color:#706e6b}
.sf-rec-name b{font-size:17px;color:#080707}
.sf-rec-actions{display:flex;gap:6px;flex-wrap:wrap}
.sf-hl{display:flex;gap:34px;flex-wrap:wrap;padding:8px 16px 13px}
.sf-hl-item span{display:block;font-size:10.5px;color:#706e6b}
.sf-hl-item b{display:block;font-size:12.5px;font-weight:700;color:#181818;margin-top:1px}
.sf-owner{color:#0176d3}

/* Path（シェブロン・f012） */
.sf-buildpath{margin-top:12px}
.sf-buildpath-lb{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:#5876a3;margin-bottom:5px}
.sf-buildpath-n{font-size:11px;font-weight:700;color:#514f4d;background:#eef2f8;border-radius:6px;padding:2px 9px}
.sf-buildpath .sf-path-wrap{border-color:#c6d3e6}
.sf-buildpath .sf-pstep.cur{background:#5876a3}
.sf-buildpath .sf-pstep.cur::after{border-left-color:#5876a3}
.sf-path-wrap{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dddbda;border-radius:4px;margin-top:10px;padding:9px 12px}
.sf-path{display:flex;flex:1;gap:2px;overflow-x:auto;scrollbar-width:none}
.sf-pstep{border:0;font:inherit;font-size:12px;font-weight:700;color:#514f4d;background:#f3f2f2;padding:9px 18px 9px 24px;cursor:pointer;white-space:nowrap;
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%)}
.sf-pstep:first-child{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);border-radius:4px 0 0 4px;padding-left:16px}
.sf-pstep.done{background:#04844b;color:#fff}
.sf-pstep.cur{background:#0176d3;color:#fff}
.sf-pstep:disabled{cursor:default}
.sf-rec-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;margin-top:10px;align-items:start}
@media(max-width:1050px){.sf-rec-cols{grid-template-columns:1fr}}
.sf-rec-main,.sf-rec-side{background:#fff;border:1px solid #dddbda;border-radius:4px}
.sf-subtabs{display:flex;gap:2px;border-bottom:1px solid #dddbda;padding:0 10px}
.sf-subtabs button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:#444;padding:11px 13px 9px;border-bottom:3px solid transparent;cursor:pointer}
.sf-subtabs button.on{color:#0176d3;border-bottom-color:#0176d3;font-weight:700}
.sf-subtabs button:disabled{color:#b0adab;cursor:default}
.sf-dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;padding:10px 16px 14px}
@media(max-width:700px){.sf-dgrid{grid-template-columns:1fr}}
.sf-field{position:relative;border-bottom:1px solid #f0efee;padding:7px 0 6px;min-width:0}
.sf-flabel{display:block;font-size:10.5px;color:#706e6b}
.sf-fval{display:flex;align-items:center;gap:8px;font-size:13px;color:#181818;margin-top:1px;min-height:22px;word-break:break-all}
.sf-fval .dim{color:#b0adab;font-style:normal}
.sf-pencil{position:absolute;right:0;top:18px;border:0;background:none;color:#b0adab;font-size:12px;cursor:pointer;opacity:0}
.sf-field:hover .sf-pencil{opacity:1}
.sf-fin{flex:1;min-width:0;border:1px solid #0176d3;border-radius:4px;padding:5px 8px;font:inherit;font-size:12.5px}
.sf-msg{padding:12px 16px}
.sf-msg p{font-size:13px;line-height:1.85;white-space:pre-wrap;word-break:break-word;background:#fafaf9;border:1px solid #f0efee;border-radius:6px;padding:12px 14px;max-height:340px;overflow:auto}
.sf-msg a{color:#0176d3}
.sf-msg-slots{margin-top:8px;font-size:12px;color:#514f4d}
.sf-related{padding:10px 12px 12px;display:grid;gap:10px}
.sf-rel-card{border:1px solid #f0efee;border-radius:4px}

/* 活動（コンポーザ＋タイムライン・f016） */
.sf-act{padding:0 0 10px}
.sf-composer{border-bottom:1px solid #f0efee}
.sf-comp-tabs{display:flex;flex-wrap:wrap;gap:2px;padding:8px 10px 0}
.sf-comp-tabs button{border:1px solid #dddbda;border-bottom:0;background:#fafaf9;font:inherit;font-size:11px;font-weight:600;color:#514f4d;padding:6px 10px;border-radius:4px 4px 0 0;cursor:pointer}
.sf-comp-tabs button.on{background:#fff;color:#0176d3;border-color:#0176d3}
.sf-comp-body{display:flex;gap:7px;padding:9px 10px 11px}
.sf-comp-body input{flex:1;min-width:0;border:1px solid #c9c7c5;border-radius:4px;padding:7px 10px;font:inherit;font-size:12.5px}
.sf-comp-body input#sf-act-due{flex:none;width:130px}
.sf-tl{padding:4px 12px}
.sf-tl-cap{display:block;font-size:11px;font-weight:800;color:#514f4d;margin:10px 0 4px}
.sf-tl-none{font-size:12px;color:#706e6b;background:#fafaf9;border-radius:4px;padding:10px 12px;margin:4px 0}
.sf-tl-month{font-size:10.5px;font-weight:800;color:#706e6b;border-bottom:1px solid #f0efee;padding:6px 0 3px;letter-spacing:.04em}
.sf-tl-list{list-style:none;margin:0;padding:0}
.sf-tl-list li{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px dashed #f0efee}
.sf-tl-list li:last-child{border-bottom:0}
.sf-ak{flex:none;font-size:9.5px;font-weight:800;border-radius:4px;padding:3px 7px;margin-top:1px;background:#f3f2f2;color:#514f4d}
.sf-ak.k-call{background:#e5f2fc;color:#0b5cab}
.sf-ak.k-email{background:#f3ecfd;color:#7526e3}
.sf-ak.k-meeting{background:#ebf7e6;color:#396547}
.sf-ak.k-task{background:#fef1e2;color:#8c4b02}
.sf-tl-list .tx{flex:1;min-width:0}
.sf-tl-list .tx b{display:block;font-size:12.5px;font-weight:600;color:#181818;white-space:pre-wrap;word-break:break-word}
.sf-tl-list .tx span{display:block;font-size:10.5px;color:#706e6b;margin-top:1px}

/* ---- かんばん ---- */
.sf-kb{display:grid;grid-template-columns:repeat(6,minmax(196px,1fr));gap:9px;overflow-x:auto;align-items:start;padding-bottom:8px}
.sf-kb-col{background:#f3f2f2;border:1px solid #e5e5e5;border-radius:6px}
.sf-kb-col.won{background:#ebf7e6}
.sf-kb-col.lost{background:#efeeed}
.sf-kb-hd{padding:9px 11px 5px;border-bottom:1px solid #e5e5e5}
.sf-kb-hd b{display:block;font-size:12px;color:#080707}
.sf-kb-hd span{display:block;font-size:10.5px;color:#706e6b;margin-top:1px}
.sf-kb-cards{min-height:140px;padding:7px;display:flex;flex-direction:column;gap:7px}
.sf-kb-cards.over{outline:2px dashed #0176d3;outline-offset:-4px;border-radius:6px}
.sf-kb-card{position:relative;background:#fff;border:1px solid #dddbda;border-radius:4px;padding:9px 10px;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.sf-kb-card:hover{border-color:#0176d3}
.sf-kb-card.drag{opacity:.4}
.sf-kb-card b{display:block;font-size:12px;color:#0176d3;line-height:1.4;padding-right:14px}
.sf-kb-card .kc-acc{display:block;font-size:10.5px;color:#514f4d;margin-top:2px}
.sf-kb-card .kc-amt{display:block;font-size:12px;font-weight:800;color:#080707;margin-top:4px}
.sf-kb-card .kc-date{display:block;font-size:10px;color:#706e6b;margin-top:1px}
.sf-kb-warn{position:absolute;top:7px;right:8px;font-size:11px;color:#fe9339}

/* ---- ToDo分割ビュー ---- */
.sf-todo-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;align-items:start}
@media(max-width:900px){.sf-todo-split{grid-template-columns:1fr}}
.sf-todo-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #dddbda;border-radius:4px;max-height:calc(100dvh - 260px);overflow:auto}
.sf-todo-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #f0efee;cursor:pointer}
.sf-todo-list li.on{background:#f3f9ff}
.sf-todo-list .tx{flex:1;min-width:0}
.sf-todo-list .tx b{display:block;font-size:12.5px;color:#181818}
.sf-todo-list .tx b.done{text-decoration:line-through;color:#b0adab}
.sf-todo-list .tx span{display:block;font-size:10.5px;color:#706e6b}
.sf-todo-detail .sf-btn{margin:0 14px 14px}

/* ---- ダッシュボード ---- */
.sf-dash-hd{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
.sf-dash-hd b{font-size:16px}
.sf-dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:1100px){.sf-dash-grid{grid-template-columns:1fr}}
.sf-metric{display:flex;flex-direction:column;gap:4px;padding:14px 16px}
.sf-metric .m-lb{font-size:11px;font-weight:700;color:#706e6b}
.sf-metric .m-v{font-size:26px;font-weight:800;color:#080707}
.sf-metric .m-sub{font-size:11.5px;color:#706e6b}
.sf-gauge{width:150px;margin:4px auto 0}
.sf-gauge-v{font-size:20px;font-weight:800;fill:#080707}
.sf-donut-wrap{display:flex;align-items:center;gap:14px;padding:12px 14px}
.sf-donut{width:130px;flex:none}
.sf-donut-v{font-size:20px;font-weight:800;fill:#080707}
.sf-legend{list-style:none;margin:0;padding:0;font-size:11.5px;color:#444;display:flex;flex-direction:column;gap:5px}
.sf-legend b{color:#080707}
.sf-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
.sf-legend i[data-dc="0"]{background:#0176d3}
.sf-legend i[data-dc="1"]{background:#04844b}
.sf-legend i[data-dc="2"]{background:#fe9339}
.sf-legend i[data-dc="3"]{background:#ba01ff}
.sf-legend i[data-dc="4"]{background:#747474}

/* ---- レポート ---- */
.sf-rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.sf-rep-card{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;padding:16px;font:inherit;cursor:pointer}
.sf-rep-card:hover{border-color:#0176d3}
.sf-rep-card b{font-size:13.5px;color:#0176d3}
.sf-rep-card span{font-size:11.5px;color:#706e6b}

/* ---- モーダル ---- */
#sf-modal{position:fixed;inset:0;z-index:120}
.sf-modal-bg{position:absolute;inset:0;background:rgba(8,7,7,.45)}
.sf-modal{position:relative;width:min(640px,92vw);margin:7dvh auto 0;background:#fff;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;max-height:84dvh;display:flex;flex-direction:column}
.sf-modal-hd{display:flex;align-items:center;justify-content:center;position:relative;padding:15px;border-bottom:1px solid #dddbda}
.sf-modal-hd b{font-size:15px}
.sf-x{position:absolute;right:10px;top:10px;border:0;background:none;font-size:14px;color:#706e6b;cursor:pointer;padding:6px}
.sf-modal-bd{padding:14px 18px;overflow:auto}
.sf-modal-ft{display:flex;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid #dddbda;background:#fafaf9}
.sf-mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
@media(max-width:620px){.sf-mgrid{grid-template-columns:1fr}}
.sf-mf{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:#514f4d}
.sf-mf .req{color:#ea001e;font-style:normal}
.sf-mf input,.sf-mf select{border:1px solid #c9c7c5;border-radius:4px;padding:8px 10px;font:inherit;font-size:13px;font-weight:400}
.sf-mf input:focus,.sf-mf select:focus{outline:0;border-color:#0176d3;box-shadow:0 0 0 1px #0176d3}
/* 変換モーダル */
.sf-conv{display:flex;flex-direction:column;gap:12px}
.sf-conv-sec{border:1px solid #dddbda;border-radius:6px;padding:12px 14px}
.sf-conv-cap{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-bottom:8px}
.sf-radio{display:flex;align-items:center;gap:7px;font-size:12.5px;margin:6px 0 4px;cursor:pointer}
.sf-conv-in{width:100%;border:1px solid #c9c7c5;border-radius:4px;padding:8px 10px;font:inherit;font-size:13px;margin-bottom:4px}
.sf-conv-in:disabled{background:#f3f2f2;color:#b0adab}
.sf-conv-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.sf-conv-note{font-size:11px;color:#706e6b;margin:2px 0 0}

/* ---- 紙吹雪（Closed Won のお祝い） ---- */
.sf-confetti{position:fixed;inset:0;pointer-events:none;z-index:200;overflow:hidden}
.sf-confetti i{position:absolute;top:-12px;width:9px;height:14px;opacity:.95;animation:sffall 2.3s ease-in forwards}
@keyframes sffall{to{transform:translateY(105dvh) rotate(560deg);opacity:.7}}
.sf-confetti i:nth-child(4n){animation-duration:1.9s}
.sf-confetti i:nth-child(3n){animation-delay:.25s}
.sf-confetti i:nth-child(5n){animation-delay:.5s;animation-duration:2.6s}
.sf-confetti .p0{left:4%;background:#0176d3}.sf-confetti .p1{left:12%;background:#04844b}.sf-confetti .p2{left:21%;background:#fe9339}
.sf-confetti .p3{left:30%;background:#c7406d}.sf-confetti .p4{left:38%;background:#ba01ff}.sf-confetti .p5{left:47%;background:#0176d3}
.sf-confetti .p6{left:55%;background:#04844b}.sf-confetti .p7{left:64%;background:#fe9339}.sf-confetti .p8{left:72%;background:#c7406d}
.sf-confetti .p9{left:81%;background:#ba01ff}.sf-confetti .p10{left:89%;background:#0176d3}.sf-confetti .p11{left:96%;background:#04844b}

/* ---- ミーティング パネル（取引先レコード・予約リンク発行→AI議事録自動記録） ---- */
.sf-meet{margin-top:14px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;overflow:hidden}
.sf-meet-hd{font-size:13px;font-weight:700;color:#181818;padding:10px 14px;border-bottom:1px solid #eef0f3;background:#fbfcfe}
.sf-meet-body{padding:12px 14px}
.sf-meet-sub{font-size:12px;color:#5b6577;line-height:1.7;margin-bottom:10px}
.sf-meet-link{display:flex;align-items:center;gap:7px;background:#fdeef4;border:1px solid #f2c6d8;border-radius:7px;padding:7px 9px;margin-bottom:9px}
.sf-meet-link code{flex:1;min-width:0;font-size:12px;color:#c7406d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,monospace}
.sf-mini{font-size:11px;font-weight:700;color:#5b6577;border:1px solid #dcdfe6;border-radius:6px;padding:3px 9px;background:#fff;cursor:pointer;text-decoration:none;white-space:nowrap}
.sf-mini:hover{background:#f3f9ff;color:#0176d3;border-color:#0176d3}
.sf-meet-next{font-size:12px;color:#5b6577}
.sf-meet-next b{color:#181818}
.sf-meet-note{margin-top:8px;font-size:11.5px;color:#146c44;background:#e7f6ee;border-radius:6px;padding:5px 9px}

/* ---- お客様情報カード（右カラム先頭・活動より前に「誰か」を見せる） ---- */
.sf-cust{border:1px solid #e5e5e5;border-radius:8px;background:#fff;margin-bottom:14px;overflow:hidden}
.sf-cust-hd{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid #eef0f3;background:#f7faff;font-size:13px;font-weight:700;color:#181818}
.sf-cust-link{border:0;background:none;color:#0176d3;font-size:12px;font-weight:700;cursor:pointer;padding:0}
.sf-cust-link:hover{text-decoration:underline}
.sf-cust-name{font-size:17px;font-weight:700;color:#181818;padding:12px 14px 4px}
.sf-cust-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 14px 10px}
.sf-cust-phase{font-size:11px;font-weight:700;color:#25324d;background:#eef1f6;border:1px solid #dbe0ea;border-radius:20px;padding:2px 9px}
.sf-cust-fields{margin:0;padding:0 14px 6px;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}
.sf-cust-fields>div{display:contents}
.sf-cust-fields dt{font-size:11px;color:#706e6b;padding:2px 0}
.sf-cust-fields dd{font-size:12.5px;color:#181818;margin:0;padding:2px 0}
.sf-cust-prof{border-top:1px solid #f0f0f0;padding:10px 14px 12px}
.sf-cust-prof dt{font-size:11px;color:#706e6b;font-weight:700;margin-bottom:4px}
.sf-cust-prof p{margin:0;font-size:12.5px;line-height:1.75;color:#2b3240;white-space:pre-wrap}
.sf-cust-prof.empty{font-size:12px;color:#98a2b3}
.sf-multiline{white-space:pre-wrap;line-height:1.7}
.sf-fin-ta{width:100%;font-family:inherit;font-size:12.5px;line-height:1.6;padding:6px 8px;border:1px solid #c7406d;border-radius:6px;resize:vertical}
.sf-field.wide{grid-column:1/-1}
.sf-flash{animation:sfflash 1.3s ease-out}
@keyframes sfflash{0%,20%{background:#fff7d6}100%{background:transparent}}

/* ---- 新バージョン検知バナー ---- */
#ver-banner{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:9999;background:#25324d;color:#fff;font-size:13px;font-weight:600;padding:10px 16px;border-radius:10px;box-shadow:0 6px 24px rgba(20,30,60,.3);display:flex;align-items:center;gap:6px}
.ver-reload-btn{background:#c7406d;color:#fff;border:0;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer}
.ver-reload-btn:hover{background:#a83359}
.ver-reload-btn.is-disabled{opacity:.55;cursor:not-allowed}
.ver-close-btn,.ver-close-btn:hover{background:transparent;border:0;color:#c9c9d3;padding:0 4px}

/* ---- 次のToDo（自分たちの次アクション）パネル（活動の下） ---- */
.sf-todo{border:1px solid #e5e5e5;border-radius:8px;background:#fff;margin-top:14px;overflow:hidden}
.sf-todo-hd{font-size:13px;font-weight:700;color:#181818;padding:10px 14px;border-bottom:1px solid #eef0f3;background:#f6fbf7;display:flex;align-items:baseline;gap:8px}
.sf-todo-cap{font-size:11px;font-weight:500;color:#8a94a6}
.sf-todo-body{padding:12px 14px}
.sf-todo-next{display:flex;align-items:center;gap:8px;background:#f4f8ff;border:1px solid #dbe6f7;border-radius:7px;padding:8px 10px;margin-bottom:10px}
.sf-todo-next-lb{font-size:10.5px;font-weight:700;color:#5876a3;white-space:nowrap}
.sf-todo-next-v{flex:1;font-size:12.5px;color:#181818;min-width:0}
.sf-todo-editnext{border:0;background:none;color:#98a2b3;cursor:pointer;font-size:12px;padding:0}
.sf-todo-editnext:hover{color:#0176d3}
.sf-todo-list{list-style:none;margin:0 0 10px;padding:0}
.sf-todo-list li{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid #f4f4f6}
.sf-todo-list li:last-child{border-bottom:0}
.sf-todo-list .tx{flex:1;min-width:0}
.sf-todo-list .tx b{font-size:12.5px;font-weight:600;color:#181818;display:block}
.sf-todo-due{font-size:10.5px;color:#8a94a6}
.sf-todo-due.over{color:#c23934;font-weight:700}
.sf-todo-none{color:#98a2b3;font-size:12px;border-bottom:0!important}
.sf-todo-add{display:flex;gap:6px;align-items:center}
.sf-todo-add #sf-todo-in{flex:1;min-width:0;border:1px solid #dcdfe6;border-radius:6px;padding:6px 8px;font-size:12px}
.sf-todo-add #sf-todo-due{border:1px solid #dcdfe6;border-radius:6px;padding:5px 6px;font-size:11px;color:#5b6577;width:120px}
.sf-btn.xs{font-size:12px;padding:5px 11px}
