.soap-workspace { display: grid; gap: 13px; }

.soap-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.soap-toolbar__left,
.soap-toolbar__right { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }

.soap-section { display: grid; gap: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.soap-section + .soap-section { margin-top: 12px; }
.soap-section__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--border); }
.soap-section__letter { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; margin-right: 8px; border-radius: 8px; color: var(--clinova-blue-strong); background: var(--clinova-blue-soft); font-size: 12px; font-weight: 850; vertical-align: middle; }
.soap-section__title { color: var(--ink-950); font-size: 14px; font-weight: 820; }
.soap-section__subtitle { margin-top: 4px; color: var(--ink-500); font-size: 10px; }
.soap-section__body { display: grid; gap: 13px; }

.structured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.structured-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.structured-field { display: grid; gap: 5px; min-width: 0; }
.structured-field label { color: var(--ink-700); font-size: 10px; font-weight: 780; }
.structured-field label span { color: var(--ink-400); font-weight: 500; }
.structured-field .form-control,
.structured-field .form-select,
.structured-field .form-textarea { font-size: 11px; }
.structured-field--wide { grid-column: 1 / -1; }

.soap-accordion { border: 1px solid var(--border); border-radius: 9px; background: #fff; }
.soap-accordion + .soap-accordion { margin-top: 7px; }
.soap-accordion__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 43px; padding: 0 12px; border: 0; border-radius: inherit; color: var(--ink-800); background: transparent; font-size: 11px; font-weight: 800; text-align: left; }
.soap-accordion__trigger:hover { background: var(--surface-muted); }
.soap-accordion__trigger svg { color: var(--ink-400); transition: transform var(--transition-fast); }
.soap-accordion.is-open .soap-accordion__trigger svg { transform: rotate(180deg); }
.soap-accordion__body { display: none; padding: 0 12px 13px; }
.soap-accordion.is-open .soap-accordion__body { display: grid; gap: 11px; }

.ros-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ros-card { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-muted); }
.ros-card__top { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.ros-card__title { color: var(--ink-800); font-size: 10px; font-weight: 800; }
.ros-card__status { min-height: 27px; font-size: 9px; }

.exam-list { display: grid; gap: 7px; }
.exam-row { display: grid; grid-template-columns: 150px 100px 1fr; align-items: center; gap: 8px; padding: 8px; border-bottom: 1px solid var(--ink-100); }
.exam-row:last-child { border-bottom: 0; }
.exam-row__label { color: var(--ink-700); font-size: 10px; font-weight: 780; }
.exam-row__status { min-height: 29px; font-size: 9px; }
.exam-row__note { min-height: 33px; }

.vital-review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.vital-review-card { padding: 9px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-muted); }
.vital-review-card--warning { border-color: #f1ddb4; background: #fffaf0; }
.vital-review-card--critical { border-color: #f1cbd0; background: #fff7f8; }
.vital-review-card__label { color: var(--ink-500); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.vital-review-card__value { margin-top: 4px; color: var(--ink-900); font-size: 14px; font-weight: 800; }
.vital-review-card__meta { margin-top: 3px; color: var(--ink-500); font-size: 8px; }
.vital-review-card__actions { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }

.supporting-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.supporting-card { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--border); border-left: 3px solid var(--clinova-blue); border-radius: 9px; background: #fff; }
.supporting-card--critical { border-left-color: var(--clinova-red); background: #fff7f8; }
.supporting-card--warning { border-left-color: var(--clinova-amber); background: #fffaf0; }
.supporting-card__top { display: flex; justify-content: space-between; gap: 7px; }
.supporting-card__type { color: var(--ink-500); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.supporting-card__title { color: var(--ink-800); font-size: 11px; font-weight: 800; }
.supporting-card__value { color: var(--ink-950); font-size: 13px; font-weight: 800; }
.supporting-card__meta { color: var(--ink-500); font-size: 9px; }
.supporting-card__actions { display: flex; flex-wrap: wrap; gap: 5px; }

.assessment-grid,
.plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.diagnosis-draft { display: grid; gap: 9px; padding: 11px; border: 1px solid #d5e2f8; border-radius: 9px; background: #f8fbff; }
.diagnosis-draft__header { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.diagnosis-draft__title { color: var(--ink-800); font-size: 11px; font-weight: 800; }
.provisional-list { display: grid; gap: 7px; }
.provisional-card { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.provisional-card__name { color: var(--ink-800); font-size: 10px; font-weight: 780; }
.provisional-card__meta { margin-top: 2px; color: var(--ink-500); font-size: 9px; }

.plan-card { display: grid; gap: 10px; padding: 11px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-muted); }
.plan-card__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.plan-card__title { color: var(--ink-800); font-size: 11px; font-weight: 800; }
.plan-card__body { color: var(--ink-600); font-size: 10px; }
.plan-card__actions { display: flex; flex-wrap: wrap; gap: 5px; }

.ai-warning-list { display: grid; gap: 6px; }
.ai-warning { display: flex; align-items: flex-start; gap: 6px; padding: 7px 8px; border-radius: 7px; color: var(--clinova-amber); background: var(--clinova-amber-soft); font-size: 9px; }

@media (max-width: 1060px) {
  .structured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vital-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .structured-grid,
  .structured-grid--2,
  .ros-grid,
  .supporting-grid,
  .assessment-grid,
  .plan-grid { grid-template-columns: minmax(0, 1fr); }
  .exam-row { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .vital-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
