/* 2026-11-03 성장 길잡이 업무 밀도. 공개 페이지와 제작물에는 적용하지 않는다. */
main { max-width: 1380px; padding: 12px clamp(16px, 3vw, 32px) 40px; }
.layout { gap: 16px; }
.layout > *, #workspace { min-width: 0; }
#workspace { max-width: 1060px; }
#guide-sidebar-items { gap: 2px; }
.sidebar-group { display: grid; gap: 2px; min-width: 0; }
.sidebar-group h2, #guide-sidebar-items > h2 { margin: 10px 8px 2px; font-size: 13px; color: var(--bl-muted); }
.sidebar-group > button { display: block; width: 100%; min-height: 36px; margin: 0; padding: 6px 10px; border: 0; border-radius: var(--bl-radius-sm); background: transparent; color: var(--bl-ink-soft); font-size: 15px; font-weight: 500; text-align: left; }
.sidebar-group > button:hover { background: var(--bl-primary-wash); color: var(--bl-primary); }
.home-view #work-home { background: var(--bl-primary-wash); color: var(--bl-primary); font-weight: 650; }
#program-list button { display: block; width: 100%; min-height: 40px; margin: 0 0 3px; padding: 6px 10px; text-align: left; font-size: 14px; line-height: 1.35; }
#program-list .program-list-name { display: -webkit-box; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.panel, form { padding: 14px 16px; margin-bottom: 12px; }
form form { padding: 0; margin: 0; }
h2 { font-size: 22px; }
h3 { font-size: 18px; }
.panel h2, .consultation h2 { margin-bottom: 8px; }
p, li { line-height: 1.55; }
.muted, .consultation-context { font-size: 14px; }
button { min-height: 40px; padding: 6px 12px; font-size: 15px; }
input:not([type=checkbox]), select, textarea { font-size: 16px; }
.program-head { padding: 10px 14px; }
.program-title-row h2 { font-size: 23px; }
.program-head .tabs button { min-height: 36px; }
.program-stage-picker select { min-height: 40px; }
.consultation { max-width: 860px; }
.consultation-intro-warning { margin: 2px 0 8px; font-size: 15px; }
.consultation-intro-detail { margin: 8px 0; padding: 0; border: 0; box-shadow: none; }
.consultation-intro-detail > summary { display: inline-flex; align-items: center; min-height: 36px; cursor: pointer; color: var(--bl-primary); font-size: 14px; font-weight: 600; }
.consultation-intro-detail > summary:focus-visible { outline: 3px solid var(--bl-primary); outline-offset: 2px; }
.consultation-intro-detail p { margin: 4px 0; font-size: 15px; }
.consultation-stage { padding: 14px 16px; }
.consultation-stage label:not(.consultation-check) { margin: 8px 0; }
.consultation-stage fieldset { margin: 10px 0; }
.consultation-entry-actions { margin: 6px 0; }
.consultation-progress { margin: 6px 0; }
.consultation-stage h3 { margin: 0 0 8px; }
.consultation-profile-questions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.consultation-guided-questions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.consultation-profile-questions > label, .consultation-guided-questions > label { min-width: 0; }
@media (min-width: 751px) and (pointer: fine) {
  .consultation-stage :is(input:not([type=checkbox]), select, textarea),
  .consultation-entry-actions button, .consultation-controls button,
  .consultation-files button, .consultation-all-services summary,
  .consultation-more > summary, .consultation-followup :is(button, select, input),
  .business-plan-form button, .business-plan-summary button,
  .weekly-controls :is(select, input, button), .weekly-inputs input,
  .weekly-savebar button, #tab-content form button { min-height: 40px; }
}
@media (min-width: 1100px) and (pointer: fine) {
  .consultation { position: relative; }
  .consultation > h2 { padding-right: 300px; }
  .consultation-entry-actions { position: absolute; top: 12px; right: 16px; margin: 0; }
}
@media (min-width: 751px) { .layout { grid-template-columns: 220px minmax(0, 1fr); } }
@media (max-width: 750px), (pointer: coarse) {
  #guide-menu-toggle, .sidebar-group > button, #program-list button, button, .program-head .tabs button, .program-stage-picker select, .consultation-intro-detail > summary { min-height: 44px; }
  input:not([type=checkbox]), select, textarea { min-height: 44px; }
}
@media (max-width: 750px) {
  main { padding: 8px 16px 32px; }
  #workspace { max-width: 100%; }
  .consultation-entry-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .consultation-entry-actions button { width: auto; min-width: 0; margin: 0; padding: 6px 10px; white-space: normal; }
  .consultation-profile-questions, .consultation-guided-questions { grid-template-columns: minmax(0, 1fr); }
  .program-title-row h2 { font-size: 22px; }
}
