:root{color-scheme:light dark;font-family:system-ui,sans-serif}body{margin:0}main{max-width:420px;margin:0 auto;padding:1.5rem 1rem}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:0 0 1rem}form{display:flex;flex-direction:column;gap:.9rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.95rem}input{font-size:16px;padding:.7rem;border:1px solid #8887;border-radius:8px;background:transparent;color:inherit}button{font-size:16px;min-height:44px;border:0;border-radius:8px;background:#2563eb;color:#fff}button:disabled{opacity:.6}button.link{background:none;color:inherit;text-decoration:underline;min-height:36px}.msg{margin:0;color:#dc2626}.badge{display:inline-block;margin:0 0 1rem;padding:.15rem .6rem;border-radius:999px;background:#2563eb22}select{font-size:16px;padding:.7rem;border:1px solid #8887;border-radius:8px;background:transparent;color:inherit}.stack{display:flex;flex-direction:column;gap:.9rem}.stack>*{margin-top:0;margin-bottom:0}button.secondary{background:#8882;color:inherit}button.left{align-self:flex-start}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:.9rem}.cal span{padding:.4rem 0;border-radius:6px;background:#8881}.cal span.rest{opacity:.4}.hint{font-size:.85rem;opacity:.75;margin:0}.ok{color:#16a34a;margin:0}
