:root { --ink:#1c1c1c; --bg:#fdfcf8; --card:#ffffff; --line:#e5e0d5; --accent:#2c6e49; --accent-ink:#ffffff; }
* { box-sizing:border-box; }
body { margin:0; padding:0 0 84px; background:var(--bg); color:var(--ink);
  font-family:"Noto Sans KR",system-ui,sans-serif; font-size:20px; line-height:1.6; }
main { max-width:720px; margin:0 auto; padding:16px; }
h1 { font-size:1.3em; margin:8px 0 16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px; margin-bottom:14px; }
.card h2 { font-size:1.05em; margin:0 0 10px; color:var(--accent); }
button, .btn { display:inline-block; min-height:52px; padding:12px 20px; font-size:1em;
  border-radius:12px; border:1px solid var(--line); background:var(--card); color:var(--ink); cursor:pointer; }
button.primary { background:var(--accent); color:var(--accent-ink); border:none; width:100%; }
input, select, textarea { width:100%; min-height:48px; font-size:1em; padding:10px 12px;
  border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--ink); }
label { display:block; margin:10px 0 4px; }
.check-row { display:flex; align-items:center; gap:12px; padding:12px 4px; border-bottom:1px solid var(--line); }
.check-row:last-child { border-bottom:none; }
.check-row input[type=checkbox] { width:28px; height:28px; min-height:28px; flex:0 0 28px; }
.check-row .time { color:var(--accent); font-weight:700; flex:0 0 64px; }
.now { background:#eef6ef; border-radius:8px; }
.muted { color:#6b675e; font-size:0.9em; }
.tabbar { position:fixed; left:0; right:0; bottom:0; display:flex; background:var(--card);
  border-top:1px solid var(--line); padding:6px 8px calc(6px + env(safe-area-inset-bottom)); }
.tabbar a { flex:1; text-align:center; text-decoration:none; color:var(--ink);
  font-size:0.85em; padding:8px 0; border-radius:10px; }
.tabbar a.active { background:var(--accent); color:var(--accent-ink); }
.tabbar a .ico { display:block; font-size:1.5em; }
.banner { background:#fff6e5; border:1px solid #eadfc4; border-radius:12px; padding:12px 14px; margin-bottom:14px; }
pre.brief { white-space:pre-wrap; margin:0; font:inherit; }
@media print { .tabbar, .no-print { display:none; } body { padding:0; background:#fff; } }
