/* M02 마스터 템플릿 — 좌측 패널 + 메인. 색·간격은 공용 토큰. */ .m02-side { display: flex; flex-direction: column; gap: var(--spacing-12); padding-top: var(--spacing-8); } .m02-side__layers { display: grid; grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: var(--spacing-4); } .m02-side__layers .ui-btn { padding-inline: var(--spacing-4); white-space: nowrap; } .m02-side__layers .ui-btn.is-active { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-on-accent, #fff); font-weight: var(--font-weight-bold); } .m02-side__group { display: flex; flex-direction: column; gap: var(--spacing-4); } .m02-side__group h4 { margin: 0; color: var(--color-text-muted); font-size: var(--text-body-sm); } .m02-side__item { width: 100%; padding: var(--spacing-4) var(--spacing-8); border: 0; border-radius: var(--radius-md); background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; } .m02-side__item:hover { background: var(--color-paper); } .m02-side__item.is-active { background: color-mix(in srgb, var(--color-accent) 14%, transparent); font-weight: var(--font-weight-bold); } .m02-side__empty { margin: 0; color: var(--color-text-muted); font-size: var(--text-body-sm); } .m02-side__row { display: flex; flex-wrap: wrap; gap: var(--spacing-4); } .m02-main { display: flex; flex-direction: column; gap: var(--spacing-12); min-width: 0; padding: var(--spacing-16) var(--spacing-24); } .m02-main__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-12); } .m02-main__title { flex: 1 1 auto; margin: 0; color: var(--color-text); font-size: var(--text-body); } .m02-main__notice { display: flex; align-items: center; gap: var(--spacing-8); padding: var(--spacing-8) var(--spacing-12); border-left: 4px solid var(--color-danger); background: color-mix(in srgb, var(--color-danger) 10%, var(--color-canvas)); color: var(--color-danger); font-size: var(--text-body-sm); } .m02-main__host { min-height: 240px; } .m02-main__empty { margin: 0; padding: var(--spacing-24); color: var(--color-text-muted); text-align: center; } .m02-modal__field { display: flex; flex-direction: column; gap: var(--spacing-4); }