:root{background:#f0f5ef}
.planner{display:block;min-height:100vh;max-width:760px;margin:auto;padding:clamp(14px,4vw,34px)}
header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
header .brand{justify-content:start}
header p{margin:2px 0;color:#405145}
nav{display:flex;gap:8px;margin:0 0 15px}
.planner button:not(.primary),select{background:#fffefa;color:#185138;border:1px solid #b5c4b8;border-radius:11px;min-height:44px;padding:7px 12px;font:inherit}
nav button{flex:1}
.planner nav button[aria-pressed=true]{background:#d9eade;border-color:#6c9b7c;font-weight:700}
.sheet{background:#fbfaf6;border:1px solid #d1dfd2;border-radius:20px;padding:clamp(15px,4vw,28px);box-shadow:0 12px 32px #254c2710}
.sheet h1{text-align:start;font-size:1.5rem;margin:0 0 20px}
.sheet form{display:grid;gap:12px}
.pair{display:flex;gap:10px;flex-wrap:wrap}
.pair>div{flex:1 1 132px;min-width:0}
select{width:100%;font-size:16px}
.filters{margin-top:24px}
.entries{padding:0;list-style:none}
.entries li{border-block-start:1px solid #d1dfd2;padding:12px 0;overflow-wrap:anywhere}
.task-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-line strong{flex:1 1 140px}
.days{display:flex;flex-wrap:wrap;gap:8px}
.days label{border:1px solid #b5c4b8;border-radius:8px;padding:5px 7px;display:flex;align-items:center;gap:4px;min-height:44px}
.days input{width:17px;min-height:0;accent-color:#123e29}
fieldset{border:1px solid #b5c4b8;border-radius:12px;margin:0;min-width:0}
#status:empty{display:none}
#status{color:#185138}
#status[data-error=true]{color:#9e2929}
#revoke{margin-top:20px}
