* { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans KR', sans-serif; background: #f5f5f5; padding: 20px; }
    .tracker { max-width: 480px; margin: 0 auto; }
    .input-row { display: flex; gap: 8px; margin-bottom: 16px; }
    select, input { padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; background: #fff; }
    input { flex: 1; }
    select { width: 140px; }
    button { padding: 10px 16px; background: #333; color: #fff; border: none; border-radius: 8px; font-size: 14px; cursor: pointer; white-space: nowrap; }
    button:disabled { opacity: 0.5; cursor: not-allowed; }
    .card { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 20px; margin-bottom: 12px; }
    .row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; font-size: 14px; }
    .label { color: #888; }
    .value { color: #222; font-weight: 500; }
    .badge { background: #e6f4ea; color: #1e7e34; font-size: 12px; padding: 3px 10px; border-radius: 6px; font-weight: 500; }
    .progress-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f0f0; }
    .progress-item:last-child { border-bottom: none; }
    .dot { width: 8px; height: 8px; border-radius: 50%; background: #1e7e34; margin-top: 6px; flex-shrink: 0; }
    .dot.inactive { background: #ccc; }
    .prog-time { font-size: 12px; color: #aaa; margin-top: 2px; }
    .prog-loc { font-size: 12px; color: #888; }
    .prog-status { font-size: 14px; color: #222; }
    .section-title { font-size: 13px; font-weight: 500; color: #888; margin-bottom: 8px; }
    #result-area { display: none; }
    #error-area { display: none; color: #e74c3c; font-size: 14px; padding: 8px 0; }