/* 휴대폰과 데스크톱에 맞춰 개인 기기 조회 화면을 배치하는 스타일. */
:root { color-scheme: light; font-family: system-ui, -apple-system, sans-serif; color: #162f2b; background: #f3f6f3; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1050px; margin: auto; padding: 64px 24px 28px; }
header { margin-bottom: 40px; }
.eyebrow { font-size: 11px; font-weight: 750; letter-spacing: .19em; color: #387568; }
h1 { font-size: clamp(32px, 6vw, 48px); letter-spacing: -.05em; margin: 16px 0; }
.dot { color: #278770; }
h2 { font-size: 21px; margin: 0 0 12px; }
p { line-height: 1.65; color: #52655f; }
.panel, .device { background: #fff; border: 1px solid #dae4df; border-radius: 20px; padding: 28px; }
.panel { max-width: 640px; }
label { display: block; font-size: 13px; font-weight: 650; margin: 24px 0 9px; }
.form-row { display: flex; gap: 10px; }
input { width: 100%; min-width: 0; padding: 14px; border: 1px solid #bdcec5; border-radius: 10px; font-size: 16px; }
button, .map-link { font: inherit; border: 0; border-radius: 10px; padding: 13px 18px; background: #1e6353; color: #fff; cursor: pointer; white-space: nowrap; }
button:disabled { opacity: .55; cursor: wait; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid #71b5a3; outline-offset: 3px; }
.secondary { padding: 10px 13px; background: #e2ece6; color: #244c3f; margin-left: 8px; }
.hint, footer { font-size: 12px; color: #68796f; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.section-heading h2 { margin: 0; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 22px 0; }
.device h3 { font-size: 20px; margin: 0 0 16px; }
.badge { display: inline-block; font-size: 12px; border-radius: 20px; padding: 6px 10px; background: #e6f2ec; color: #215c45; }
.stale { background: #fff0d4; color: #785016; }
.coordinates { font-size: 22px; font-variant-numeric: tabular-nums; color: #1b4438; margin: 20px 0 12px; }
dl { display: grid; grid-template-columns: 94px 1fr; font-size: 13px; gap: 12px 8px; margin: 22px 0; }
dt { color: #708176; } dd { margin: 0; overflow-wrap: anywhere; }
iframe { display: block; width: 100%; height: 260px; border: 0; border-radius: 12px; margin-top: 18px; }
.map-link { display: inline-block; background: #e5eee9; color: #244c3f; text-decoration: none; margin: 12px 0 0 8px; }
#status { min-height: 26px; font-size: 13px; }
footer { padding-top: 22px; border-top: 1px solid #dae4df; line-height: 1.8; }
[hidden] { display: none !important; }
@media (max-width: 680px) { main { padding-top: 32px; } .grid { grid-template-columns: 1fr; } .panel, .device { padding: 22px; } .form-row { flex-direction: column; } .section-heading { align-items: start; } .secondary { margin: 0 0 5px 5px; } }
