/* 開催回・共通フォーム・資料・運用の画面（launch.js / operations.js / form-hub.js）を、CRMシェルの中で v0.2 の部品に揃える。
   以前は launch.html の <style> を .launch-workspace に括って写していたため、32px の題・青の塗りボタン・700px の枠線付きフォームが
   /marketing と /crm の中にそのまま出ていた（2026-10-23 の棚卸しで確認）。色・寸法は tokens.css の変数だけを使う。
   独立ページ（/launch, /operations）は案内だけを出すので、そちらの <style> はこのファイルの対象外。 */

.launch-workspace{min-width:0;max-width:100%;margin-bottom:var(--sp-6);overflow-wrap:anywhere}
.launch-workspace *{box-sizing:border-box}

/* 見出し：題は22px、節の見出しは14px。題の直下の一文は補足として小さく */
.launch-workspace h1{font-size:var(--text-2xl);font-weight:700;line-height:1.3;letter-spacing:0;margin:0 0 var(--sp-3);color:var(--ink)}
.launch-workspace h1+p{margin:calc(var(--sp-2) * -1) 0 var(--sp-4);font-size:var(--text-sm);color:var(--ink-sub)}
.launch-workspace h2{font-size:var(--text-md);font-weight:600;line-height:1.4;margin:0 0 var(--sp-3);color:var(--ink)}
.launch-workspace h3{font-size:var(--text-sm);font-weight:600;margin:var(--sp-4) 0 var(--sp-2);color:var(--ink)}
.launch-workspace p{margin:var(--sp-2) 0}
.launch-workspace .sub{color:var(--ink-mute);font-size:var(--text-xs)}
.launch-workspace a{color:var(--color-link)}
.launch-workspace code{overflow-wrap:anywhere;font-size:var(--text-xs)}
.launch-workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--sp-2) 0;padding:var(--sp-3);background:var(--canvas);border:var(--border);border-radius:var(--radius-field);font-size:var(--text-sm)}
.launch-workspace .crumb{font-size:var(--text-xs);color:var(--ink-mute);margin:0 0 var(--sp-1)}

/* 節：カードと同じ枠。見出しの帯、中身の余白は components.css の .card に合わせる */
.launch-workspace section{margin:var(--sp-4) 0 0;padding:var(--sp-4);border:var(--border);border-radius:var(--radius-card);background:var(--surface);min-width:0;max-width:100%}
.launch-workspace section>h2:first-child{margin:calc(var(--sp-4) * -1) calc(var(--sp-4) * -1) var(--sp-4);padding:0 var(--sp-4);min-height:44px;display:flex;align-items:center;border-bottom:var(--border)}
.launch-workspace section.card{padding:0}
.launch-workspace section.card>h2:first-child{margin:0}
.launch-workspace section.card>:not(h2):not(header):not(.body){margin-left:var(--sp-4);margin-right:var(--sp-4)}
.launch-workspace section.card>h2+*{margin-top:var(--sp-4)}
.launch-workspace section.card>:last-child:not(h2){margin-bottom:var(--sp-4)}
.launch-workspace section.card>:last-child.scroll,.launch-workspace section.card>:last-child.tablewrap{margin-bottom:0}

/* 通知：注意枠と同じ形。空なら出さない */
.launch-workspace #launch-notice,.launch-workspace #ops-notice{position:sticky;top:0;z-index:2;margin:0 0 var(--sp-3);padding:10px var(--sp-4);border-radius:var(--radius-card);background:var(--color-info-bg);color:var(--ink);font-size:var(--text-sm)}
.launch-workspace #launch-notice:empty,.launch-workspace #ops-notice:empty,.launch-workspace #launch-alert:empty{display:none}
.launch-workspace #launch-alert{margin:0 0 var(--sp-3);padding:10px var(--sp-4);border-radius:var(--radius-card);background:var(--color-attention-bg);color:var(--ink);font-size:var(--text-sm)}
.operations-workspace #ops-notice:not(:empty){background:var(--color-attention-bg)}
.launch-workspace [role=alert]{color:var(--color-danger)}

/* フォーム：枠と地色をやめ、ラベルは上に小さく、欄は幅いっぱい */
.launch-workspace form{background:none;border:0;padding:0;margin:0;max-width:640px;min-width:0}
.launch-workspace fieldset{border:0;padding:0;margin:0;min-width:0}
.launch-workspace label{display:block;font-size:var(--text-xs);color:var(--ink-sub);font-weight:400;margin:var(--sp-3) 0 0;max-width:100%}
.launch-workspace label:first-child{margin-top:0}
.launch-workspace label>input:not([type=checkbox]),.launch-workspace label>select,.launch-workspace label>textarea{display:block;width:100%;margin-top:4px}
.launch-workspace label:has(>input[type=checkbox]){display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--ink);margin-top:var(--sp-3)}
.launch-workspace input:not([type=checkbox]):not([type=file]),.launch-workspace select,.launch-workspace textarea{height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-field);padding:0 10px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);min-width:0;max-width:100%}
.launch-workspace textarea{height:auto;min-height:90px;padding:var(--sp-2) 10px;width:100%}
.launch-workspace input[type=file]{display:block;width:100%;padding:6px 0;font-size:var(--text-sm);color:var(--ink-sub)}
.launch-workspace input[type=checkbox]{width:auto;height:auto;margin:0}
.launch-workspace input:disabled,.launch-workspace select:disabled{background:var(--canvas);color:var(--ink-mute)}
.launch-workspace input:focus-visible,.launch-workspace select:focus-visible,.launch-workspace textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px}
.launch-workspace a:focus-visible,.launch-workspace button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}

/* ボタン：.btn と同じ形。フォームの送信だけ主ボタン */
.launch-workspace button:not(.btn){display:inline-flex;align-items:center;gap:6px;height:var(--control-height);padding:0 12px;margin:0;border-radius:var(--radius-field);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-raise)}
.launch-workspace button:not(.btn):hover{background:var(--canvas)}
.launch-workspace form>button:not([type=button]):not(.btn){margin-top:var(--sp-4);background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.launch-workspace form>button:not([type=button]):not(.btn):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.launch-workspace form>button[type=button]:not(.btn){margin-top:var(--sp-3)}
.launch-workspace button:not(.btn):disabled,.launch-workspace form>button:not(.btn):disabled{border-color:var(--line);background:var(--canvas);color:var(--ink-mute);cursor:not-allowed;box-shadow:none;opacity:1}
.launch-workspace td button:not(.btn),.launch-workspace .fields button:not(.btn){height:26px;padding:0 10px;font-size:var(--text-xs);margin:0}
.launch-workspace td button:not(.btn)+details{margin-top:var(--sp-2)}

/* 表：行44px、見出しは小さく薄く。横に長いときは枠の中でだけ横に動く */
.launch-workspace .scroll{overflow-x:auto;min-width:0;max-width:100%}
/* 節の外に直接置かれた表（開催回一覧、設置先一覧、資料一覧）はカードと同じ枠に入れる */
.launch-workspace #launch-content>.scroll,.launch-workspace #ops-content>.scroll,.launch-workspace #launch-content>section>.scroll:first-child{border:var(--border);border-radius:var(--radius-card)}
.launch-workspace #launch-content>.scroll+section,.launch-workspace #ops-content>.scroll+section{margin-top:var(--sp-4)}
.launch-workspace table{width:100%;min-width:0;border-collapse:collapse;background:none;font-size:var(--text-sm)}
.launch-workspace th{text-align:left;font-weight:500;color:var(--ink-mute);font-size:var(--text-xs);padding:8px var(--sp-3);border-bottom:var(--border);white-space:nowrap;vertical-align:middle}
.launch-workspace td{padding:6px var(--sp-3);border-bottom:var(--border);height:var(--row-height);vertical-align:middle}
.launch-workspace tbody tr:last-child td{border-bottom:0}
.launch-workspace tbody tr:hover>td{background:var(--canvas)}
.launch-workspace td[colspan]{color:var(--ink-mute)}

/* 開け閉め */
.launch-workspace details{margin:var(--sp-3) 0}
.launch-workspace summary{cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--ink);padding:6px 0}
.launch-workspace summary:hover{color:var(--hc-navy)}
.launch-workspace iframe{max-width:100%}
.launch-workspace .row{display:flex;gap:var(--sp-3);flex-wrap:wrap}

/* 共通フォームの入力項目：1行に名前・型・必須・選択肢・削除 */
.launch-workspace .fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(10rem,1fr) auto minmax(0,2fr) auto;gap:var(--sp-2);align-items:center;margin:var(--sp-2) 0}
.launch-workspace .field-actions{display:flex;gap:var(--sp-2);align-items:center;justify-content:flex-end}
.launch-workspace #publish-targets{border:var(--border);border-radius:var(--radius-field);padding:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0}
.launch-workspace #publish-targets label{display:block;margin:var(--sp-1) 0}
.launch-workspace .form-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-3)}
.launch-workspace .fields label{margin:0;white-space:nowrap}

/* 開催回の詳細：旧セミナー詳細と同じ型。crumb → 題と札 → 左に受付・案内・自動メール・申込者、右に概要・申込の状況・配布資料・複製
   （components.css の .detail と同じ骨組み）。カードは header＋.body、表は .body の外に置いてカードの幅いっぱいに出す */
.launch-workspace .event-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-4)}
.launch-workspace .event-head h1{margin:0}
.launch-workspace .seminar-overview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-5);align-items:start}
.launch-workspace .seminar-overview .stack,.launch-workspace .seminar-overview .aside{display:grid;gap:var(--sp-4);min-width:0}
.launch-workspace .seminar-overview .aside{position:static}
.launch-workspace .seminar-overview .stack>*+*{margin-top:0}
.launch-workspace .seminar-overview section{margin:0}
.launch-workspace .seminar-overview .card{min-width:0;max-width:100%}
.launch-workspace .seminar-overview .card header{min-height:44px;padding:6px var(--sp-4);border-bottom:var(--border)}
.launch-workspace .seminar-overview .card header h2{margin:0}
.launch-workspace .seminar-overview .card .body{padding:var(--sp-4)}
.launch-workspace .seminar-overview section.card>.scroll{margin:0}
.launch-workspace .seminar-overview section.card>div.body{margin:0}
.launch-workspace .seminar-overview .facts+form,.launch-workspace .seminar-overview .facts+p{margin-top:var(--sp-3)}
.launch-workspace .seminar-overview td.nw{white-space:nowrap;overflow-wrap:normal}
.launch-workspace .seminar-overview section.card>.scroll+.body{border-top:var(--border)}
.launch-workspace .seminar-overview .body>:first-child{margin-top:0}
.launch-workspace .seminar-overview .body>:last-child{margin-bottom:0}
.launch-workspace .seminar-overview .facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:var(--sp-3);padding:8px 0;border-bottom:var(--border)}
.launch-workspace .seminar-overview .facts div:first-child{padding-top:0}
.launch-workspace .seminar-overview .facts div:last-child{border-bottom:0}
.launch-workspace .seminar-overview dd{margin:0;overflow-wrap:anywhere}
.launch-workspace .seminar-overview dt{color:var(--ink-mute);font-size:var(--text-xs)}
.launch-workspace .seminar-overview details{margin:var(--sp-2) 0 0}
.launch-workspace .seminar-overview .scroll{max-width:100%;overflow:auto;border:0;border-radius:0}
/* 申込者とアンケートの表は列が多いので、詰めずに横へ流す。答えの列だけ折り返す。 */
.launch-workspace .seminar-overview .applicants table{width:max-content;min-width:100%}
.launch-workspace .seminar-overview .applicants td:nth-child(n+7){min-width:8em;max-width:16em;white-space:normal}
.launch-workspace .seminar-overview td .sub{margin-top:2px}
.launch-workspace .seminar-overview td .btn+.btn,.launch-workspace .seminar-overview td .btn+button{margin-left:var(--sp-1)}
.launch-workspace .seminar-overview td>button:not(.btn){margin:2px 0}
/* 自動で送る：受付完了→前日→当日→アンケートの時系列1本。行ごとに件名・本文を開く */
.seminar-mail-flow{list-style:none;margin:0 0 var(--sp-3);padding:0 0 0 18px;border-left:2px solid var(--line)}
.seminar-mail-flow li{position:relative;padding:0 0 var(--sp-3) 10px}
.seminar-mail-flow li:last-child{padding-bottom:0}
.seminar-mail-flow li::before{content:'';position:absolute;left:-24px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--hc-navy);border:2px solid var(--surface)}
.seminar-mail-flow .chip{margin-left:var(--sp-2)}
.seminar-mail-flow .flow-head{display:flex;align-items:center;gap:var(--sp-2)}
.seminar-mail-flow .flow-head .chip{margin-left:0}
.seminar-mail-flow .flow-when{margin:2px 0 0;font-size:var(--text-sm);color:var(--ink)}
.seminar-mail-flow .flow-when .sub{margin-left:var(--sp-1)}
.seminar-mail-flow li>.sub{margin:2px 0 0}
.seminar-mail-flow details{margin:var(--sp-1) 0 0}
.seminar-mail-flow summary{font-weight:400;color:var(--color-link);padding:2px 0}
.seminar-overview+.card{margin-top:var(--sp-4)}
.launch-workspace #launch-content{min-width:0}
.launch-workspace #launch-content>.card{min-width:0;max-width:100%}
@media(max-width:1100px){.launch-workspace .seminar-overview{grid-template-columns:minmax(0,1fr)}.launch-workspace .seminar-overview .aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .launch-workspace .seminar-overview .aside{grid-template-columns:minmax(0,1fr)}
  .launch-workspace .fields{grid-template-columns:1fr 1fr}
  .launch-workspace section{padding:var(--sp-3)}
  .launch-workspace section>h2:first-child{margin:calc(var(--sp-3) * -1) calc(var(--sp-3) * -1) var(--sp-3);padding:0 var(--sp-3)}
  .launch-workspace th,.launch-workspace td{padding-left:var(--sp-2);padding-right:var(--sp-2)}
}

/* 画面の上の切り替え：詳細ページのタブ（p1.css の .tabs）と同じ形。配信の本文／対象／テスト／予約／結果、指標の3種、リストの2種 */
.entry-tabs{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin:0 0 var(--sp-4);padding:0;border-bottom:var(--border)}
.entry-tabs .btn{height:36px;padding:0 2px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;color:var(--ink-sub);font-size:var(--text-sm);font-weight:400}
.entry-tabs .btn:hover{background:none;color:var(--ink);text-decoration:none}
.entry-tabs [aria-current=page]{color:var(--ink);font-weight:600;border-bottom-color:var(--hc-navy)}

/* 運用の画面（配信の予約・結果、公開・返信設定、Gmail、売上実績） */
.operations-workspace{min-width:0;max-width:100%;overflow-wrap:anywhere}
.operations-workspace section,.operations-workspace form,.operations-workspace label{min-width:0;max-width:100%}
.operations-workspace form{max-width:640px}
.operations-workspace pre{white-space:pre-wrap;overflow-wrap:anywhere}
.operations-workspace .scroll{overflow:auto}

/* フォーム管理と受付一覧（form-hub.js） */
#form-hub{min-width:0;max-width:100%;overflow-wrap:anywhere}
#form-hub .toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:end;padding:0;border:0;margin-bottom:var(--sp-3)}
#form-hub label{display:grid;gap:4px;min-width:0;max-width:100%;font-size:var(--text-xs);color:var(--ink-sub)}
#form-hub select{display:block;height:var(--control-height);padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-field);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm)}
#form-hub .tablewrap{max-width:100%;overflow:auto;border:var(--border);border-radius:var(--radius-card)}
#form-hub table{min-width:0}
#form-hub td{vertical-align:middle;white-space:normal}
#form-hub td .btn{margin:2px 6px 2px 0}
#form-hub pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:360px}
#form-hub dd{margin:0 0 var(--sp-2)}
#form-hub .actions{display:flex;gap:var(--sp-3);margin:var(--sp-4) 0}
#form-hub>p,#form-hub #catalog-rows>p{font-size:var(--text-xs);color:var(--ink-mute);margin:0 0 var(--sp-2)}
/* LP一覧の「HubSpotから移したページ」。マーケのシェルの中に置く。 */
.hubspot-pages{margin-top:var(--sp-4)}
.hubspot-pages .hd h2{display:flex;gap:var(--sp-2);align-items:center;margin:0}
.hubspot-pages .hs-filter{max-width:16rem;margin-top:var(--sp-3)}
.hubspot-pages tr.is-target>td{background:var(--color-attention-bg)}
.seminar-source-page+.seminar-source-page{border-top:1px solid var(--line);padding-top:var(--sp-2)}
.seminar-source-page .actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hubspot-pages .hs-actions{display:flex;flex-wrap:wrap;gap:var(--sp-1)}
.hubspot-pages .hs-filter .input{max-width:16rem}
/* フォーム管理の「従来フォーム（移行・検証用）」。畳んだ状態で置く。 */
.legacy-forms{margin-top:var(--sp-4)}
.legacy-forms>summary{padding:var(--sp-3) var(--sp-4);cursor:pointer;font-weight:600}
.legacy-forms .actions-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}