/* 会社の編集領域と読み取り専用の土台を、見出し・境界・余白で区別する。 */
.company-tpl-list { min-width:0; }
.company-tpl-list .card-hd,.company-tpl-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.company-tpl-list .card-hd { justify-content:space-between; }
.company-tpl-eyebrow { color:var(--g500); font-size:12px; letter-spacing:.08em; margin:0 0 8px; }
.company-tpl-editor { margin:0; }
.company-tpl-heading { padding-bottom:16px; }
.company-tpl-heading h2 { margin:0 0 12px; }
.company-tpl-fields { border:0; margin:0; padding:0; min-width:0; }
.company-tpl-fields legend { font-weight:600; margin-bottom:12px; }
.company-tpl-panel,.company-tpl-base,.company-tpl-tail,.company-tpl-addendum { border:1px solid var(--g200); border-radius:12px; padding:20px; margin:16px 0; min-width:0; }
.company-tpl-base { background:var(--g50,#f6f7f9); border-left:4px solid var(--g300,#b8c1cc); }
.company-tpl-tail { border-left:4px solid var(--primary,#2563eb); }
.company-tpl-text { white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; font-family:inherit; font-size:14px; line-height:1.85; max-width:100%; }
.company-tpl-policy { display:flex; flex-wrap:wrap; gap:16px; margin:16px 0; }
.company-tpl-fields label { display:block; margin:12px 0; }
.company-tpl-fields input,.company-tpl-fields textarea,.company-tpl-fields select { max-width:100%; box-sizing:border-box; }
.company-tpl-base-choice { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; border-bottom:1px solid var(--g200); }
.company-tpl-diff { border-bottom:1px solid var(--g200); padding:12px 0; overflow-wrap:anywhere; }
.company-tpl-diff summary { cursor:pointer; font-weight:600; }
.company-tpl-value-review { padding:12px 0; border-bottom:1px solid var(--g200); overflow-wrap:anywhere; }
.company-tpl-footer { margin:20px 0; }
.company-tpl-table { width:100%; table-layout:fixed; margin-top:16px; }
.company-tpl-table td,.company-tpl-table th { overflow-wrap:anywhere; }
@media(max-width:640px) {
  .company-tpl-table thead { display:none; }
  .company-tpl-table,.company-tpl-table tbody,.company-tpl-table tr,.company-tpl-table td { display:block; width:100%; box-sizing:border-box; }
  .company-tpl-table tr { padding:12px 0; border-bottom:1px solid var(--g200); }
  .company-tpl-table td { border:0; padding:6px 0; }
  .company-tpl-table td::before { content:attr(data-label); display:block; font-size:11px; color:var(--g500); margin-bottom:4px; }
  .company-tpl-panel,.company-tpl-base,.company-tpl-tail,.company-tpl-addendum { padding:14px; }
  .company-tpl-actions .btn { max-width:100%; white-space:normal; }
}
.company-tpl-backdrop { position:fixed; inset:0; }

/* 正本の案内を独立させ、会社版テンプレートの編集操作と区別する。 */
.company-notice-card { margin-bottom:24px; border-left:4px solid var(--primary,#2563eb); min-width:0; }
.company-notice-layout { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.company-notice-copy { min-width:0; overflow-wrap:anywhere; }
.company-notice-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.company-notice-heading h3 { margin:0; }
.company-notice-copy p { line-height:1.8; }
.company-notice-note { color:var(--g500); font-size:13px; margin:8px 0 0; line-height:1.7; }
.company-notice-version { margin:16px 0; font-size:14px; }
.company-notice-controls { display:flex; flex-direction:column; gap:10px; flex:0 0 240px; }
.company-notice-controls .btn { min-height:44px; white-space:normal; max-width:100%; }
.company-notice-error { margin:0 24px 16px; color:var(--red); overflow-wrap:anywhere; }
.company-notice-error:empty { display:none; }
@media(max-width:640px) {
  .company-notice-layout { flex-direction:column; align-items:stretch; gap:20px; }
  .company-notice-controls { flex-basis:auto; }
}
