/* 내 정보·온보딩·실천만 불러오는 설정·동의 조작 부품(페이지 CSS 예산) */
/* 체크 행은 [동의하기]·[저장하기]로 확정하는 선택, 스위치 행은 누르는 즉시 반영하는 설정에만 쓴다 */
.lm-check-list{display:grid;overflow:hidden;border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:var(--lm-bg-surface)}
.lm-check-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:12px;min-height:56px;padding:16px;color:var(--lm-text-strong);cursor:pointer;transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-check-row+.lm-check-row{border-top:1px solid var(--lm-hairline)}
.lm-check-row:has(input:checked){background:var(--lm-bg-selected)}
.lm-app .lm-check-row input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--lm-primary);cursor:pointer}
.lm-check-list:has(input[aria-invalid="true"]){border-color:var(--lm-danger)}
.lm-switch-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;min-height:56px;padding:8px 16px;cursor:pointer;transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-switch-row>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.lm-switch-row:has(>input:disabled),.lm-switch-row>input:disabled{cursor:not-allowed}
.lm-switch{position:relative;width:40px;height:24px;border-radius:var(--lm-radius-pill);background:var(--lm-border-strong);transition:background-color var(--lm-duration-fast) var(--lm-ease-out)}
.lm-switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--lm-radius-pill);background:var(--lm-bg-surface)}
.lm-switch-row>input:checked+.lm-switch{background:var(--lm-primary)}
/* 손잡이 이동은 모션 3종 밖이라 전환 없이 즉시, 색만 160ms */
.lm-switch-row>input:checked+.lm-switch::after{transform:translateX(16px)}
.lm-switch-row>input:focus-visible+.lm-switch{outline:var(--lm-focus-ring);outline-offset:3px}
.lm-switch-row>input:disabled+.lm-switch{background:var(--lm-border)}
.lm-switch-row:has(>input:disabled) .lm-row__title{color:var(--lm-text-muted)}
@media (hover:hover) {
.lm-check-row:hover,.lm-switch-row:hover{background:var(--lm-bg-subtle)}
.lm-check-row:has(input:checked):hover{background:var(--lm-bg-selected)}
.lm-switch-row:has(>input:disabled):hover{background:transparent}
}
/* app.css [role=list] 여백 초기화보다 앞서도록 .lm-app을 붙인다 */
.lm-app .lm-consent-points{display:grid;margin:0;padding:4px 16px}
.lm-consent-points>li{padding:12px 0;color:var(--lm-text)}
.lm-consent-points>li+li{border-top:1px solid var(--lm-hairline)}
/* 강조는 굵기 대신 코발트와 1px 밑줄(emphasis_rule) */
.lm-consent-key{color:var(--lm-primary);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.15em}
@media (prefers-reduced-motion:reduce) {
.lm-check-row,.lm-switch-row,.lm-switch{transition:none}
}
