*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{--bg:#f6f6f7;--fg:#111;--muted:#666;--card:#fff;--border:#e5e7eb;--shadow:0 1px 2px rgba(0,0,0,.06);--radius:16px}
body{background:var(--bg);color:var(--fg);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.container{max-width:1100px;margin:0 auto;padding:16px}
.header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.header h1{margin:0;font-size:24px}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.controls .pill{padding:6px 10px;background:#fff;border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow)}
button{padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);cursor:pointer}
button:active{transform:translateY(1px)}
.inline{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;box-shadow:var(--shadow)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;margin-bottom:12px}
.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;color:var(--muted);font-weight:600;font-size:12px;text-align:center}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cell{min-height:120px;border:1px solid var(--border);border-radius:12px;padding:8px;background:#fff;display:flex;flex-direction:column}
.cell.blank{background:#f0f1f3}
.cell .d{font-weight:700;margin-bottom:6px}
.tasks{display:flex;flex-direction:column;gap:4px}
.task{display:flex;align-items:flex-start;gap:6px;font-size:14px}
.task.done span{color:#9aa0a6;text-decoration:line-through}
.badge{font-size:10px;color:#9aa0a6;margin-left:8px;text-transform:uppercase;letter-spacing:.06em}
.editors{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:900px){.editors{grid-template-columns:repeat(3,1fr)}}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.card-head h2{margin:0;font-size:16px}
.hint{margin:0;color:var(--muted);font-size:12px}
.row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.row input[type=text], .row input[type=number]{flex:1;border:1px solid var(--border);border-radius:10px;padding:6px 8px}
.row select{border:1px solid var(--border);border-radius:10px;padding:6px 8px}
.row button{font-size:12px;padding:6px 8px}
.footer{color:var(--muted);font-size:12px;text-align:center;margin-top:8px}
