:root {
  --bg: #f7f4ee;
  --ink: #353732;
  --muted: #85877f;
  --card: rgba(255,255,255,.64);
  --line: rgba(80,82,75,.12);
  --accent: #a8b9a2;
  --accent-deep: #748a70;
  --blush: #d8b9ae;
  --sand: #ddd3bd;
  --shadow: 0 10px 28px rgba(70,72,66,.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:linear-gradient(160deg,#fbf9f5 0%,var(--bg) 55%,#f1eee6 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
button,input,textarea,select{font:inherit}
button{cursor:pointer;color:inherit}
.app-shell{width:min(720px,100%);margin:0 auto;padding:26px 18px 48px}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.eyebrow{margin:0 0 2px;font-size:14px;color:var(--muted);font-weight:450;letter-spacing:.01em}
h1{font-size:38px;line-height:1;margin:0;font-weight:520;letter-spacing:-.035em}
h2{font-size:21px;margin:0;font-weight:540;letter-spacing:-.02em}
.ghost-btn,.completed-toggle{border:0;background:transparent;padding:8px 4px;color:var(--accent-deep);font-size:15px}
.card{background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow)}
.quick-add{display:flex;align-items:center;border-radius:18px;padding:7px 8px 7px 16px}
.quick-add input{flex:1;border:0;outline:0;background:transparent;font-size:18px;color:var(--ink);min-width:0}
.quick-add input::placeholder{color:#aaa99f}
.add-btn{width:42px;height:42px;border-radius:14px;border:0;background:var(--accent);color:white;font-size:26px;font-weight:300;line-height:1}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:18px 0 26px}
.day-btn{border:1px solid var(--line);background:rgba(255,255,255,.35);border-radius:14px;padding:9px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:3px}
.day-btn .dow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.day-btn .dom{font-size:16px;font-weight:520}
.day-btn.active{background:var(--accent);border-color:transparent;color:white}
.day-btn.active .dow{color:rgba(255,255,255,.78)}
.section-block{margin-top:24px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 3px 10px}
.count{font-size:13px;color:var(--muted)}
.task-list{display:flex;flex-direction:column;gap:8px;min-height:4px}
.task{display:flex;align-items:center;gap:12px;padding:13px 13px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-radius:16px;box-shadow:0 5px 18px rgba(60,62,57,.045);touch-action:none}
.task.dragging{opacity:.45}
.check{width:23px;height:23px;border-radius:50%;border:1.5px solid #aeb1a8;background:transparent;flex:0 0 auto}
.task-main{min-width:0;flex:1}
.task-title{font-size:17px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-meta{margin-top:3px;font-size:12px;color:var(--muted)}
.task-actions{display:flex;align-items:center;gap:2px}
.tiny-btn{border:0;background:transparent;color:#9a9c94;font-size:18px;padding:5px}
.empty{padding:13px 2px;color:#a2a39d;font-size:14px;display:none}
.completed-wrap{margin-top:28px;border-top:1px solid var(--line);padding-top:10px}
.completed-toggle{padding-left:2px;color:var(--muted)}
.completed-list{margin-top:8px}
.completed-list .task{opacity:.62}
.completed-list .task-title{text-decoration:line-through}
.hidden{display:none!important}
.sheet{width:min(560px,calc(100% - 20px));border:0;border-radius:24px 24px 18px 18px;padding:0;background:#f8f6f1;color:var(--ink);box-shadow:0 24px 70px rgba(40,42,38,.22)}
.sheet::backdrop{background:rgba(40,42,38,.2);backdrop-filter:blur(3px)}
.sheet form{padding:10px 18px 18px}
.sheet-handle{width:42px;height:5px;border-radius:99px;background:#d1d0c9;margin:0 auto 10px}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sheet-head h3{font-size:23px;margin:0;font-weight:540}
.icon-btn{border:0;background:rgba(255,255,255,.6);width:34px;height:34px;border-radius:12px;font-size:24px;line-height:1;color:var(--muted)}
.sheet-input,.sheet-select,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.75);border-radius:14px;padding:12px 13px;outline:none;color:var(--ink);font-size:16px}
textarea{resize:vertical;line-height:1.45}
.field-label{display:block;margin:15px 2px 7px;font-size:12px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.segmented button{border:1px solid var(--line);background:rgba(255,255,255,.48);padding:10px;border-radius:12px}
.segmented button.active{background:var(--accent);color:white;border-color:transparent}
.repeat-row{display:flex;align-items:center;gap:9px;margin:16px 2px;font-size:15px}
.repeat-row input{accent-color:var(--accent-deep)}
.sheet-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.primary-btn,.danger-btn{border:0;border-radius:13px;padding:12px 17px;font-weight:550}
.primary-btn{background:var(--accent-deep);color:white}
.primary-btn.full{width:100%;margin-top:14px}
.danger-btn{background:transparent;color:#b06e67}
.sheet-copy{color:var(--muted);font-size:14px;line-height:1.4;margin:0 0 12px}
@media (max-width:520px){.app-shell{padding:20px 14px 42px}h1{font-size:34px}.days{gap:5px}.day-btn{border-radius:12px;padding:8px 1px}.task{padding:12px}.task-title{font-size:16.5px}}
