.ex-dialog { color:#16211d; background:#f5f7f4; border:1px solid #d9e1dc; border-radius:12px; padding:24px; width:min(920px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); box-sizing:border-box; overflow:auto; font-size:14px; line-height:1.5; }
.ex-dialog::backdrop { background:rgba(22,33,29,.45); }
.ex-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.ex-dialog h2 { font-size:20px; line-height:1.5; margin:0; }
.ex-dialog h3 { font-size:16px; margin:0 0 8px; }
.ex-form { display:grid; gap:16px; background:white; padding:20px; border:1px solid #d9e1dc; border-radius:12px; }
.ex-form label { display:grid; gap:8px; min-width:0; }
.ex-form input,.ex-form select,.ex-form textarea { box-sizing:border-box; width:100%; min-width:0; background:white; color:#16211d; border:1px solid #d9e1dc; border-radius:8px; padding:10px; font:inherit; }
.ex-form input,.ex-form select,.ex-dialog button { min-height:44px; }
.ex-form .ex-check { display:flex; align-items:center; gap:8px; }
.ex-form .ex-check input { width:20px; min-height:20px; margin:0; flex-shrink:0; }
.ex-form [hidden] { display:none !important; }
.ex-form [data-ex-help] { display:grid; gap:16px; }
.ex-dialog button.primary { background:#176b52; color:white; border:0; border-radius:8px; padding:10px 16px; cursor:pointer; }
.ex-dialog button.ghost,.ex-activity button.ghost { background:white; color:#176b52; border:1px solid #d9e1dc; border-radius:8px; padding:8px 16px; cursor:pointer; }
.ex-dialog button:disabled { opacity:.6; cursor:wait; }
.ex-info { border:1px solid #c2ded2; background:#eaf3ee; border-radius:12px; padding:16px; margin:16px 0; }
.ex-error { color:#8b2e25; white-space:pre-wrap; margin:0; }
.ex-error.is-ok { color:#176b52; }
.ex-warning { background:#fff0cb; color:#664100; padding:12px; border-radius:8px; }
.ex-activity { display:grid; gap:8px; padding:16px; margin:12px 0; background:white; color:#16211d; border:1px solid #d9e1dc; border-radius:12px; overflow-wrap:anywhere; }
.ex-activity p { margin:0; white-space:pre-wrap; }
.ex-activity small { color:#63706b; }
.ex-activity a { color:#176b52; }
.ex-activity button { justify-self:start; }
.ex-panel { padding:16px; background:white; border:1px solid #d9e1dc; border-radius:12px; margin:12px 0; }
.ex-panel summary { cursor:pointer; min-height:44px; font-weight:600; }
.ex-panel .ex-form { border:0; padding:0; }
.mail-reply-dialog { width:min(680px,calc(100vw - 24px)); background:white; }
.mail-reply-dialog .ex-form { border:0; padding:0; }
.mail-reply-dialog p,.mail-reply-preview { overflow-wrap:anywhere; }
.mail-reply-actions { display:flex; flex-wrap:wrap; gap:12px; }
.mail-reply-preview { white-space:pre-wrap; padding:16px; background:#f5f7f4; border:1px solid #d9e1dc; border-radius:8px; }
.ex-time { display:grid; grid-template-columns:1fr; gap:8px; }
.ex-reservation-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:20px; }
.ex-task-title { font-size:16px; font-weight:600; }
.ex-daily { margin:16px 0; }
/* 창 길이(2026-10-10): 안내는 접어 두고(제목 한 줄 + 펼치기), 긴 설명은 펼쳤을 때만 보인다. */
.ex-progress-guide { margin:0 0 12px; padding:4px 14px; border:1px solid #9ecfbb; border-left:5px solid #176b52; border-radius:12px; background:#eaf3ee; }
.ex-progress-guide summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2px 12px; min-height:44px; padding:6px 0; box-sizing:border-box; cursor:pointer; list-style:none; }
.ex-progress-guide summary::-webkit-details-marker { display:none; }
.ex-progress-guide summary strong { min-width:0; }
.ex-progress-guide summary span { flex:0 0 auto; color:#0f5a43; font-size:13px; font-weight:700; text-decoration:underline; }
.ex-progress-guide summary:focus-visible { outline:2px solid #176b52; outline-offset:2px; border-radius:6px; }
.ex-progress-guide p { margin:0 0 10px; }
.ex-form-step p { margin:0; }
.ex-history { margin:8px 0 0; }
.ex-history summary { display:flex; align-items:center; min-height:44px; padding:0 4px; color:#0f5a43; font-size:13px; font-weight:700; text-decoration:underline; cursor:pointer; list-style:none; }
.ex-history summary::-webkit-details-marker { display:none; }
.ex-history summary:focus-visible { outline:2px solid #176b52; outline-offset:2px; border-radius:6px; }
.ex-help-extra { display:none; }
.ex-show-help .ex-help-extra { display:block; }
.ex-progress-form { gap:12px; background:#f8faf8; }
.ex-form-step { display:grid; gap:10px; min-width:0; padding:14px; border:1px solid #d9e1dc; border-radius:12px; background:#fff; }
.ex-form-step h3 { margin:0; }
.ex-form-step.is-overdue { border-color:#d7a84f; background:#fffaf0; }
/* 넓은 화면에서는 한 구획의 두 칸을 나란히 놓는다(제목·설명 줄은 전체 폭). */
@media (min-width: 961px) { .ex-step-pair { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; align-items:start; } .ex-step-pair > * { grid-column:1 / -1; } .ex-step-pair > .ex-guided-field,.ex-step-pair > [data-ex-recovery] { grid-column:auto; } }
/* 이름이 길면(영어·체코어) 표시가 아랫줄로 내려간다 — 이름이 서너 줄로 쪼개지지 않게. */
.ex-step-heading,.ex-field-heading { display:flex; align-items:center; justify-content:space-between; gap:4px 12px; }
.ex-field-heading { flex-wrap:wrap; }
.ex-field-heading label,.ex-field-heading strong { font-size:14px; font-weight:700; }
.ex-field-mark { flex:0 0 auto; padding:3px 9px; border-radius:999px; background:#e9eeeb; color:#42514b; font-size:12px; font-weight:700; }
.ex-field-mark.is-required { background:#f7e5e2; color:#7c281f; }
.ex-guided-field { display:grid; gap:6px; min-width:0; }
/* 예시(placeholder)가 두 줄을 넘으면 칸이 그만큼 자란다. field-sizing 을 모르는 브라우저는 좁은 화면에서 세 줄 높이로 둔다. */
.ex-guided-field textarea { min-height:68px; max-height:50vh; field-sizing:content; }
@supports not (field-sizing:content) { @media(max-width:600px) { .ex-guided-field textarea { min-height:90px; } } }
.ex-guided-field textarea::placeholder,.ex-guided-field input::placeholder { color:#5d6b65; opacity:1; }
.ex-field-help { color:#52605b; font-size:13px; }
.ex-guided-field.ex-invalid { padding:12px; border:2px solid #a33a2f; border-radius:10px; background:#fff7f5; }
.ex-guided-field.ex-invalid input,.ex-guided-field.ex-invalid select,.ex-guided-field.ex-invalid textarea { border-color:#a33a2f; }
.ex-field-error { color:#842c23; font-weight:700; }
@media(max-width:600px) { .ex-dialog { padding:16px; width:calc(100vw - 12px); max-height:calc(100dvh - 12px); } .ex-dialog header { align-items:flex-start; } .ex-dialog header button { flex-shrink:0; } .ex-form { padding:12px; } .ex-progress-form { padding:8px; } .ex-form-step { padding:12px; } .ex-step-heading,.ex-field-heading { align-items:flex-start; } .ex-time,.ex-reservation-grid { grid-template-columns:1fr; } }
.plan-meeting-grid {display:grid;grid-template-columns:1fr 1.2fr;gap:20px;align-items:start;}
.plan-meeting-grid>section {min-width:0;}
#meetingReports .cr-row {padding:20px;border:1px solid #d9e1dc;border-radius:12px;background:#fff;margin:12px 0;}
#meetingReports .cr-row-actions {display:flex;flex-wrap:wrap;gap:8px;}
#meetingReports .compact-form {padding:20px;border:1px solid #d9e1dc;border-radius:12px;background:#fff;}
#meetingReports .compact-form label {display:grid;gap:6px;min-width:0;}
#meetingReports input,#meetingReports select,#meetingReports textarea {min-width:0;max-width:100%;}
#meetingReports .ws-board-toggle {display:flex;align-items:center;gap:8px;}
#meetingReports .ws-board-toggle input {width:20px;margin:0;}
#meetingReports button {min-height:44px;}
@media(max-width:700px){.plan-meeting-grid{grid-template-columns:1fr;}#meetingReports .compact-form{grid-template-columns:1fr;}#meetingReports .cr-row{padding:16px;}}
.reservation-calendar-dialog{width:min(960px,calc(100vw - 32px));max-width:960px}.reservation-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0}.reservation-calendar-dialog .reservation-month-grid button{min-width:0;min-height:76px;padding:8px 3px;display:flex;flex-direction:column;align-items:center;gap:4px}.reservation-month-grid button small{white-space:normal;overflow-wrap:anywhere;font-size:11px}.reservation-month-grid button.selected{border:2px solid #2f6050;background:#edf4ef}.calendar-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reservation-calendar-dialog .ex-panel{overflow-wrap:anywhere}.reservation-calendar-dialog input,.reservation-calendar-dialog select{min-width:0;max-width:100%}#reservationCalendarOpen{margin-bottom:12px}@media(max-width:600px){.reservation-month-grid{gap:3px}.reservation-calendar-dialog .reservation-month-grid button{font-size:12px;min-height:86px}.calendar-rule-grid{grid-template-columns:1fr}}

.calendar-mobile-count,.calendar-mobile-legend{display:none}@media(max-width:600px){.reservation-calendar-dialog .reservation-month-grid button{min-height:62px}.reservation-calendar-dialog .reservation-month-grid button small{display:none}.calendar-mobile-count{display:block;font-size:11px;white-space:nowrap}.calendar-mobile-legend{display:block;font-size:12px}.calendar-weekday{text-align:center}}

/* Local booking facts: status words and evidence stay readable at 375px. */
.reservation-facts { display: grid; gap: 10px; margin: 12px 0; }
.reservation-fact { display: grid; gap: 6px; padding: 12px; border: 1px solid #c9d4cc; border-radius: 10px; min-width: 0; overflow-wrap: anywhere; }
.reservation-fact q { white-space: pre-wrap; }
.reservation-fact-input { min-width: 0; }
.mail-reply-dialog input, .mail-reply-dialog select, .mail-reply-dialog button, .mail-reply-dialog summary { min-height: 44px; }
.mail-reply-dialog input[type=checkbox] { min-height: auto; }
.mail-reply-dialog .ex-check { min-height: 44px; }
.mail-reply-dialog .ex-form input { min-width: 0; max-width: 100%; }
.execution-row small.cwm-alert { color: #fff; }
.reservation-month-grid button.calendar-checked { border: 2px solid #28724c; background: #edf7ef; }
.calendar-mobile-check { display: none; }
@media(max-width:600px) { .reservation-month-grid .calendar-mobile-check { display: block; font-size: 12px; line-height: 1.4; } }

/* Reservation reply decisions remain readable and operable on narrow screens. */
.mail-reply-dialog .reply-plan { display: grid; gap: 16px; min-width: 0; }
.mail-reply-dialog .reply-plan label { display: grid; gap: 6px; min-width: 0; }
.mail-reply-dialog .reply-plan .ex-check { display: flex; align-items: center; min-height: 44px; }
.mail-reply-dialog .reply-plan small { display: block; overflow-wrap: anywhere; }
.mail-reply-dialog input, .mail-reply-dialog select, .mail-reply-dialog button,
.mail-reply-dialog summary { min-height: 44px; max-width: 100%; box-sizing: border-box; }
.mail-reply-dialog input[type=checkbox] { min-width: 24px; min-height: 24px; flex: 0 0 24px; }
.mail-reply-dialog .ex-check { min-height: 44px; }
.mail-reply-dialog .reply-plan [data-applied] { font-weight: 700; }
.mail-reply-dialog .reply-suggested { display: grid; gap: 6px; justify-items: start; }
.mail-reply-dialog .reply-plan > [data-rules-changed] + button { justify-self: start; }
.mail-reply-dialog .reply-signature > label + label { margin-top: 12px; }
.mail-reply-dialog .reply-signature > button { margin: 12px 8px 0 0; }
.mail-reply-dialog textarea { min-height: 200px; overflow-y: hidden; resize: vertical; }
.mail-reply-dialog .reply-question { padding: 12px 0; }
.mail-reply-dialog .reply-send-check { display: grid; gap: 12px; min-width: 0; border-top: 1px solid #d8d3c6; padding-top: 16px; }
.mail-reply-dialog .reply-send-check h4, .mail-reply-dialog .reply-send-check p { margin: 0; }
.mail-reply-dialog .reply-fit { display: grid; gap: 6px; min-width: 0; padding: 12px; border: 1px solid #d9e1dc; border-left-width: 4px; border-radius: 8px; background: #fff; }
.mail-reply-dialog .reply-fit[data-fit="no"] { border-left-color: #8b2e25; background: #fbeeec; }
.mail-reply-dialog .reply-fit[data-fit="conditional"] { border-left-color: #b07a00; background: #fff7df; }
.mail-reply-dialog .reply-fit[data-fit="yes"] { border-left-color: #28724c; background: #edf7ef; }
.mail-reply-dialog .reply-fit ul { display: grid; gap: 4px; margin: 0; padding-left: 18px; }
.mail-reply-dialog .reply-accept, .mail-reply-dialog .reply-decline { display: grid; gap: 16px; min-width: 0; }
.mail-reply-dialog .reply-decline p { margin: 0; }
.mail-reply-dialog [hidden] { display: none !important; }

.mail-forwarded { overflow-wrap: anywhere; }
.mail-reply-dialog [data-recipient-choice] { max-width:100%; min-height:44px; }

/* ── 결정 창 · 진행 기록 창 (2026-10-12, 설계서 docs/07/콘텐츠팀_결정창_진행기록창_재설계_20261012_v1) ── */
.ex-dialog > header > div { min-width:0; }
.ex-eyebrow { margin:4px 0 0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; color:#52605b; font-size:13px; }
.ex-chip { display:inline-block; padding:2px 8px; border:1px solid #d9e1dc; border-radius:999px; background:#fff; color:#42514b; font-size:12px; font-weight:700; }
.ex-chip.is-rose { border-color:#a33b4b; color:#8b2e3b; }
.ex-chip.is-amber { border-color:#b26a20; color:#7a4a12; background:#fff6e8; }
.ex-dialog.ex-decision { width:min(720px,calc(100vw - 24px)); }
.ex-decision .ex-body { display:grid; gap:12px; }
.ex-decision [data-ex-decision-context] { display:grid; gap:12px; }
.ex-decision [data-ex-latest-review] { margin:0; }
.ex-turn { margin:0; padding:12px 14px; border-left:5px solid #b26a20; border-radius:8px; background:#fff6e8; font-size:15px; line-height:1.45; }
.ex-turn b { color:#7a4a12; }
.ex-turn small { color:#52605b; font-size:13px; }
.ex-turn.is-blue { border-left-color:#2d668f; background:#eaf1f7; } .ex-turn.is-blue b { color:#1f4e70; }
.ex-turn.is-rose { margin-top:8px; border-left-color:#b22222; background:#fdecec; color:#7d1a1a; } /* 2026-10-18 담당자 취소 요청 띠 */
.ex-record { margin:0; display:grid; gap:8px; }
.ex-record h3, .ex-decision-form h3 { font-size:14px; margin:0; color:#42514b; }
.ex-record dl { margin:0; display:grid; grid-template-columns:112px minmax(0,1fr); gap:6px 12px; font-size:14px; }
.ex-record dt { color:#63706b; font-weight:700; } .ex-record dd { margin:0; overflow-wrap:anywhere; }
.ex-record .ex-quote { display:inline-block; background:#f5f7f4; padding:8px 10px; border-radius:8px; }
.ex-seg { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ex-seg-opt { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:8px 12px; border:2px solid #d9e1dc; border-radius:10px; background:#fff; font-weight:700; text-align:center; cursor:pointer; }
.ex-form .ex-seg-opt input { position:absolute; opacity:0; width:1px; min-height:1px; height:1px; margin:0; }
.ex-seg-opt.is-green:has(input:checked) { border-color:#176b52; background:#eaf3ee; color:#0f5a43; }
.ex-seg-opt.is-amber:has(input:checked) { border-color:#b26a20; background:#fff6e8; color:#7a4a12; }
.ex-seg-opt.is-blue:has(input:checked)  { border-color:#2d668f; background:#eaf1f7; color:#1f4e70; }
.ex-seg-opt.is-rose:has(input:checked)  { border-color:#a33b4b; background:#fbeeec; color:#8b2e3b; }
.ex-seg-opt.is-plain:has(input:checked) { border-color:#16211d; background:#eef1ef; }
.ex-seg-opt:focus-within { outline:2px solid #176b52; outline-offset:2px; }
.ex-effect { margin:0; color:#52605b; font-size:13px; min-height:20px; }
/* 결정 단추(2026-10-13): 단추 하나가 곧 결정 — 누르면 바로 저장한다. 이름(굵게) + 무슨 일이 일어나는지 한 줄. */
.ex-acts { display:grid; gap:8px; }
.ex-dialog button.ex-act { display:grid; gap:2px; width:100%; min-height:56px; padding:10px 14px; border:2px solid #d9e1dc; border-radius:10px; background:#fff; color:#16211d; font:inherit; text-align:left; cursor:pointer; }
.ex-act b { font-size:15px; line-height:1.35; }
.ex-act small { font-size:13px; font-weight:400; line-height:1.4; color:#52605b; }
.ex-dialog button.ex-act.is-green { border-color:#176b52; background:#176b52; color:#fff; } .ex-act.is-green small { color:#e3f1ea; }
.ex-dialog button.ex-act.is-amber { border-color:#b26a20; color:#7a4a12; }
.ex-dialog button.ex-act.is-blue { border-color:#2d668f; color:#1f4e70; }
.ex-dialog button.ex-act.is-rose { border-color:#a33b4b; color:#8b2e3b; }
.ex-act:focus-visible { outline:3px solid #16211d; outline-offset:2px; }
.ex-dialog button.ex-act:disabled { border-color:#d9e1dc; background:#eef1ef; color:#4a5651; opacity:1; cursor:not-allowed; } .ex-act:disabled small { color:#4a5651; }
.ex-form.is-saving .ex-act { pointer-events:none; }
.ex-decision-status:empty { display:none; }
.ex-decision .ex-footer { justify-content:flex-start; }
.ex-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 16px; }
.ex-footer [role=status] { flex:1 1 200px; margin:0; }
.ex-footer a { font-size:13px; color:#176b52; }
.ex-decision-form { gap:12px; }
.ex-decision-box { margin:0 0 12px; padding:12px 14px; border-left:5px solid #b26a20; border-radius:8px; background:#fff6e8; }
.ex-decision-box b { color:#7a4a12; }
.ex-decision-box.is-blue { border-left-color:#2d668f; background:#eaf1f7; } .ex-decision-box.is-blue b { color:#1f4e70; }
.ex-skip { margin:0; padding:10px 12px; border:1px dashed #c9d4cc; border-radius:8px; color:#52605b; font-size:13px; }
.ex-inline-note { margin:0; min-height:44px; display:flex; align-items:center; color:#52605b; font-size:13px; }
.ex-step-na { gap:4px; }
.ex-more summary { min-height:44px; }
.ex-dirty { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 12px; padding:10px 14px; border-left:5px solid #a33b4b; border-radius:8px; background:#fbeeec; }
.ex-dirty p { margin:0; flex:1 1 200px; font-weight:700; }
@media(max-width:600px){
  .ex-dialog.ex-decision { width:100vw; max-height:100dvh; border:0; border-radius:0; }
  .ex-seg { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .ex-seg-opt { min-height:56px; padding:6px 4px; font-size:13px; line-height:1.25; }
  .ex-decision .ex-panel { padding:12px; margin:0; }
  .ex-decision .ex-form { padding:10px; gap:10px; }
  .ex-decision .ex-form-step { padding:10px; }
  .ex-eyebrow { font-size:12px; }
  .ex-record dl { grid-template-columns:minmax(0,1fr); gap:2px 0; font-size:13px; } .ex-record dt { margin-top:6px; }
  .ex-footer { position:sticky; bottom:-16px; z-index:2; margin:0 -8px -8px; padding:10px 8px calc(10px + env(safe-area-inset-bottom)); background:#f5f7f4; border-top:1px solid #d9e1dc; }
  .ex-decision .ex-footer { position:static; margin:0; padding:0; background:transparent; border-top:0; } /* 결정 단추가 본문에 있다 — 바닥에는 원본 링크만 */
  .ex-footer button.primary { flex:1 1 100%; }
}
/* 휴대폰 전용 표시(.ex-m-only) — 넓은 화면에서는 없다. */
.ex-m-only { display:none; }
.ex-footer [role=status]:empty { display:none; }
/* 진행 기록 창 휴대폰 길이(2026-10-13 대표 지시 "담당자 모바일 창 길이도 줄여줘"): 같은 말을 두 번 적지 않고, 해당 없는 구획은 한 줄로, 지난 기록은 접는다.
   칸·단추의 터치 높이 44px 와 필수 입력은 그대로다. 줄인 것은 반복되는 이름 줄, 긴 표시, 빈 여백뿐. */
@media(max-width:600px){
  .ex-m-only { display:inline-flex; }
  p.ex-m-only { display:block; }
  .ex-dialog.ex-progress header { margin-bottom:10px; gap:10px; }
  .ex-dialog.ex-progress h2 { font-size:17px; line-height:1.3; }
  .ex-dialog.ex-progress .ex-eyebrow { margin-top:2px; gap:2px 6px; }
  /* 안내 띠: 접혀 있을 때는 '작성 방법 보기' 한 줄. 펼치면 종전 문장이 다 보인다. */
  .ex-progress .ex-progress-guide { margin-bottom:8px; }
  .ex-progress .ex-progress-guide:not([open]) summary strong { display:none; }
  .ex-progress .ex-progress-guide:not([open]) summary { justify-content:flex-start; }
  /* 폼의 바깥 상자를 없앤다 — 구획 카드가 이미 상자다(안쪽 폭 +16px, 위아래 여백 -16px). */
  .ex-progress .ex-progress-form { padding:0; border:0; background:transparent; }
  .ex-progress .ex-progress-form .ex-footer { margin:0 -16px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
  /* 구획 제목이 이미 말한 이름 줄은 화면에서만 숨긴다(읽기 도구에는 남는다). */
  .ex-dialog.ex-progress .ex-title-kind,
  .ex-progress-form [data-ex-compact] > .ex-field-heading,
  .ex-progress-form [data-ex-help-step] > label > span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  /* 2번: 칸마다 붙던 긴 조건부 표시('필수 (기록만 저장할 때)') 대신 구획 제목 줄의 '필수' 하나.
     두 칸은 보일 때 언제나 필수다 — 검토·완료 요청을 고르면 칸이 사라지고, 그때는 제목의 '필수'도 숨는다. */
  .ex-progress-form [data-ex-next-fields] .ex-field-mark { display:none; }
  .ex-progress-form [data-ex-next-step]:has([data-ex-next-fields][hidden]) > .ex-step-heading .ex-m-only { display:none; }
  .ex-progress-form [data-ex-next-fields] { display:grid; gap:8px; }
  .ex-progress-form [data-ex-next-fields][hidden] { display:none; }
  /* 3번: 제목과 선택 칸을 한 줄에(말이 길면 제목이 줄바꿈된다). 펼쳐지는 칸은 아래 줄 전체를 쓴다. */
  .ex-progress-form [data-ex-help-step] { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
  .ex-progress-form [data-ex-help-step] > h3 { flex:1 1 150px; min-width:0; line-height:1.3; }
  .ex-progress-form [data-ex-help-step] > label { flex:0 1 116px; min-width:0; }
  /* 구획 제목 글자를 한 단계 줄인다 — 긴 제목(3번·4번)이 두 줄 안에 들어온다. */
  .ex-progress-form .ex-form-step h3 { font-size:15px; line-height:1.3; }
  /* 창 머리줄: '다음 보고'는 2번 구획의 칸에 같은 값이 있다. */
  .ex-dialog.ex-progress .ex-eyebrow-next { display:none; }
  /* 4번(기한 초과): 새 완료 예정일은 이름과 날짜 칸을 한 줄에. */
  .ex-progress-form [data-ex-recovery] .ex-guided-field { grid-template-columns:minmax(0,1fr) minmax(148px,48%); align-items:center; column-gap:10px; }
  .ex-progress-form [data-ex-recovery] .ex-guided-field > .ex-field-error { grid-column:1 / -1; }
  .ex-progress-form [data-ex-help-step] > :not(h3):not(label) { flex:1 1 100%; }
  /* 4번이 해당 없을 때: 카드 한 장 대신 한 줄. */
  .ex-progress-form .ex-step-na { display:block; padding:8px 10px; border-style:dashed; background:transparent; }
  .ex-progress-form .ex-step-na h3 { display:inline; font-size:13px; font-weight:600; color:#42514b; }
  .ex-progress-form .ex-step-na p { display:inline; font-size:13px; }
  .ex-progress-form .ex-step-na p::before { content:" · "; }
  .ex-progress .ex-history-all { margin:8px 0 0; }
  /* 4번(기한 초과): 구획 제목에 '필수'가 있으므로 칸마다 다시 적지 않는다(두 칸 모두 필수). */
  .ex-progress-form [data-ex-delay-step] .ex-guided-field .ex-field-mark { display:none; }
  /* 구획 사이·구획 안쪽 여백을 한 단계 줄인다(칸 높이는 그대로). */
  .ex-progress .ex-progress-form { gap:6px; }
  .ex-progress .ex-progress-form .ex-form-step { padding:8px 10px; }
}
/* 진행 기록 창 모바일 압축(2026-10-12): 구획 여백·세그먼트 글자·이력 간격 — 창 길이를 줄이되 44px 터치 높이는 지킨다. */
@media(max-width:600px){
  .ex-progress-form { gap:8px; }
  .ex-progress-form .ex-form-step { padding:10px; gap:8px; }
  .ex-progress-form .ex-seg-opt { font-size:12px; padding:6px 2px; min-height:48px; }
  .ex-progress-form .ex-guided-field textarea { min-height:60px; }
  .ex-dialog .ex-activity { padding:12px; margin:8px 0; }
  .ex-progress-guide { padding:2px 12px; }
}
