/* 파일: web_waste/style.css — 버리는날 (모바일 우선, 외부 글꼴·이미지 없음) */
:root{
  --bg:#f2f6fc;
  --paper:#ffffff;
  --ink:#16233a;
  --muted:#5b6b82;
  --line:#d9e2f0;
  --accent:#1d5fbf;
  --accent-dark:#154a96;
  --accent-soft:#e8f0fd;
  --ok:#147a45;
  --ok-soft:#e6f5ec;
  --no:#a8322a;
  --no-soft:#fbecea;
  --warn:#8a5a00;
  --warn-soft:#fff5e0;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Malgun Gothic","맑은 고딕",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Apple SD Gothic Neo",sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
}
.wrap{max-width:720px;margin:0 auto;padding:20px 16px 8px}
header{margin:0 0 18px}
h1{font-size:28px;line-height:1.25;margin:0 0 6px;letter-spacing:-.5px}
h2{font-size:21px;line-height:1.3;margin:0 0 10px}
h3{font-size:19px;line-height:1.3;margin:0}
.lead{margin:0;color:var(--muted);font-size:16px}
main{margin:0}
section{margin:0 0 18px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.field{margin:0 0 14px}
label{display:block;font-weight:700;margin:0 0 6px;font-size:16px}
select{
  width:100%;
  min-height:52px;
  font-size:17px;
  font-family:inherit;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 12px;
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
select:disabled{background-color:#f1f3f7;color:#9aa6b8}
select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #9dc0f0;outline-offset:2px}
.hint{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.notice-line{margin:0 0 14px;font-size:14px;color:var(--muted);text-align:center}
.banner-sample{
  background:var(--warn-soft);
  border:1px solid #efd9a6;
  color:var(--warn);
  border-radius:var(--radius);
  padding:12px 14px;
  font-size:15px;
  margin:0 0 16px;
}
.result-head{margin:0 0 14px}
.result-head h2{margin:0 0 4px}
.basis{margin:0;color:var(--muted);font-size:14px}
.stale{
  margin:8px 0 0;
  background:var(--warn-soft);
  border:1px solid #efd9a6;
  color:var(--warn);
  border-radius:10px;
  padding:10px 12px;
  font-size:15px;
}
.sec-head{margin:22px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--line)}
.cards{display:grid;grid-template-columns:1fr;gap:10px}
.dk{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.dk h4{font-size:17px;margin:0 0 8px}
.status{margin:0 0 8px;font-weight:700;font-size:18px;border-radius:10px;padding:8px 10px}
.status.ok{background:var(--ok-soft);color:var(--ok)}
.status.no{background:var(--no-soft);color:var(--no)}
.status.none{background:#f1f3f7;color:var(--muted)}
.kv{margin:0;font-size:15px}
.kv div{display:flex;gap:8px;margin:3px 0}
.kv dt{flex:0 0 62px;color:var(--muted)}
.kv dd{margin:0;flex:1}
.next{margin:8px 0 0;font-size:15px;color:var(--accent-dark)}
.week-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
table.week{width:100%;border-collapse:collapse;font-size:15px;min-width:340px;table-layout:fixed}
table.week th,table.week td{text-align:center;padding:10px 2px;border-bottom:1px solid var(--line)}
table.week thead th{font-weight:700;color:var(--muted);background:var(--accent-soft)}
table.week thead th.today{background:var(--accent);color:#fff}
table.week tbody th{text-align:left;padding-left:10px;font-weight:700;width:74px;white-space:nowrap}
table.week tbody tr:last-child th,table.week tbody tr:last-child td{border-bottom:0}
table.week td.on{color:var(--accent);font-weight:700}
table.week td.off{color:#c3ccd9}
table.week td.today{background:#f5f9ff}
.detail{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.detail div{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.detail div:last-child{border-bottom:0}
.detail dt{flex:0 0 88px;color:var(--muted);font-size:15px}
.detail dd{margin:0;flex:1;font-size:15px}
.uncollected{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:15px}
.crosslink{margin:20px 0 4px}
.crosslink a{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:13px 18px;border-radius:12px;font-size:16px}
.crosslink a:active{background:var(--accent-dark)}
.empty{background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);padding:18px;color:var(--muted)}
.install-tip{background:var(--accent-soft);border:1px solid #c8dcf8;border-radius:var(--radius);padding:12px 14px;margin:18px 0 0;font-size:15px}
.install-tip p{margin:0 0 8px}
button.ghost{font-family:inherit;font-size:15px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink)}
.disclaimer{max-width:720px;margin:20px auto 0;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.6}
.disclaimer p{margin:0 0 6px}
.disclaimer .src{font-size:12px}
@media (min-width:600px){
  .wrap{padding:28px 20px 8px}
  h1{font-size:32px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .dk h4{font-size:16px}
  .status{font-size:16px;padding:8px}
}
