/* Deliberately self-contained palette: readable on the application's light host and dark OS. */
.saved-places,.sp-dialog{--sp-bg:#fffaf3;--sp-card:#fffefa;--sp-ink:#352f29;--sp-muted:#686056;--sp-line:#d7cabb;--sp-accent:#47624b;color:var(--sp-ink);font:inherit;color-scheme:light}
.saved-places{display:grid;gap:10px;margin:12px 0 18px}
.sp-compat{padding:15px 16px;border:1px solid var(--sp-line);border-radius:18px;background:var(--sp-bg)}.sp-compat b{font-size:15px}.sp-compat p,.sp-compat small{display:block;margin:6px 0 0;font-size:13px;line-height:1.6;font-weight:400;color:var(--sp-muted)}
.sp-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--sp-card);border:1px solid var(--sp-line);border-radius:18px;padding:16px}
.sp-card.is-active,.sp-card.is-viewed{border:2px solid var(--sp-accent);padding:15px;background:#f1f5ec}
.sp-card b,.sp-card small,.sp-card span{display:block;overflow-wrap:anywhere}.sp-card b{font-size:17px}.sp-card span,.sp-card small{font-size:13px;line-height:1.6;color:var(--sp-muted);font-weight:400}
.sp-card-actions{display:flex;gap:6px;flex-shrink:0;flex-direction:column}.sp-add,.sp-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.saved-places button,.sp-dialog button{font:inherit;min-height:48px;border:1px solid var(--sp-line);border-radius:12px;padding:10px 14px;background:var(--sp-card);color:var(--sp-ink);cursor:pointer}.saved-places button:disabled{opacity:1;color:var(--sp-accent);background:#edf2e8;cursor:default}.saved-places button:focus-visible,.sp-dialog :focus-visible{outline:3px solid #81714d;outline-offset:3px}
.sp-dialog{box-sizing:border-box;position:fixed;max-width:540px;width:calc(100% - 24px);max-height:calc(100dvh - 32px);border:1px solid var(--sp-line);border-radius:24px;margin:auto;padding:22px;background:var(--sp-bg);overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 70px #0004;z-index:30000}
.sp-dialog::backdrop{background:#211b1766}.sp-dialog form{display:grid;gap:16px;margin:0}.sp-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sp-dialog h2{font-size:24px;margin:3px 0}.sp-dialog h3{font-size:18px;margin:0 0 8px}.sp-dialog p,.sp-dialog small{font-size:13px;color:var(--sp-muted);font-weight:400;line-height:1.6;margin:0}.sp-dialog label{display:grid;gap:7px;font-size:14px;font-weight:600}.sp-dialog input:not([type=radio]),.sp-dialog select{box-sizing:border-box;display:block;min-width:0;width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--sp-line);border-radius:12px;background:var(--sp-card);color:var(--sp-ink);min-height:48px}.sp-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding-bottom:env(safe-area-inset-bottom)}.sp-dialog .sp-primary{background:var(--sp-accent);color:#fff;border-color:var(--sp-accent);min-width:120px}.sp-status{margin:4px 0 0;min-height:0;font-size:13px;font-weight:400;color:var(--sp-muted);line-height:1.5}.sp-status:empty{display:none}.sp-results{display:grid;gap:6px;margin-top:8px}.sp-results button{text-align:left}.sp-results b,.sp-results small{display:block;overflow-wrap:anywhere}.sp-entrance{padding:14px;background:var(--sp-card);border:1px solid var(--sp-line);border-radius:16px;display:grid;gap:12px;margin:10px 0}.sp-entrance-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.sp-entrance-actions label{display:flex;align-items:center;min-height:44px}.sp-entrance input[type=radio]{width:20px;height:20px;accent-color:var(--sp-accent)}
@media(max-width:360px){.sp-card{padding:12px}.sp-card.is-active,.sp-card.is-viewed{padding:11px}.sp-dialog{padding:16px}.sp-card-actions button{padding:10px}.sp-fields{grid-template-columns:1fr}}
/* ★ui-07(9/28) 닫기(✕) 48×48 · ★C03 아파트 반경 실제 적용값 안내(app.js paintAptRadiusNote) */
.sp-dialog [data-sp-close][aria-label]{min-width:48px;min-height:48px}
.sp-radius-note{display:block;margin-top:6px;font-size:14px;font-weight:700;color:#7a5a12}
.sp-radius-note[hidden]{display:none}
/* ★P1-3(9/29) 자동 안내 장소: 비활성 카드=전환 버튼(48px), 활성 카드=상태 줄. 카드 아래 한 줄로 내려 320px에서도 겹치지 않는다. */
.sp-card{flex-wrap:wrap}
.saved-places .sp-auto{flex:1 0 100%;text-align:center;font-weight:700;color:var(--sp-accent)}
#homeSlots .sp-card .sp-auto-on{flex:1 0 100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:48px;max-width:none;margin:0;padding:8px 12px;border-radius:12px;background:#e7efe2;color:var(--sp-accent);font-size:14px;font-weight:700;line-height:1.4;white-space:normal;overflow:visible}
#homeSlots .sp-card .sp-auto-on.is-off{background:#fbf3df;color:#7a5a12}
