:root {
  --bg: #0b1020;
  --card: #141b2d;
  --card-2: #1b2438;
  --text: #f8fafc;
  --muted: #aab4c5;
  --line: rgba(255, 255, 255, 0.12);
  --accent: #38bdf8;
  --accent-dark: #0284c7;
  --danger: #ef4444;
  --success: #22c55e;
  --shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}
*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(56,189,248,.22),transparent 32rem),linear-gradient(180deg,#0b1020 0%,#101827 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body.dragging-task{overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.dragging-task .add-btn,body.dragging-task .complete-btn,body.dragging-task .more-btn{pointer-events:none}
textarea,input{user-select:text;-webkit-user-select:text}
button,input,select,textarea{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.app-shell{width:min(760px,100%);margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 14px max(28px,env(safe-area-inset-bottom))}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 2px 18px}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.eyebrow{margin:0 0 4px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.days-list{display:grid;gap:14px}
.day-card{overflow:hidden;background:rgba(20,27,45,.9);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.day-card.drop-target{border-color:var(--accent);box-shadow:0 0 0 4px rgba(56,189,248,.38),var(--shadow)}.day-card.drop-empty .empty-state{outline:4px solid var(--accent);outline-offset:-8px;border-radius:18px;background:rgba(56,189,248,.18);color:var(--text);font-weight:900}.day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.035)}
.day-title{display:flex;flex-direction:column;gap:3px}.day-title strong{font-size:1.05rem}.day-title span{color:var(--muted);font-size:.86rem}.task-list{display:grid;gap:10px;padding:14px}.empty-state{padding:18px 14px 20px;color:var(--muted);text-align:center}
.task-item{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:start;padding:12px;background:var(--card-2);border:1px solid var(--line);border-radius:16px}.task-item.drag-source{opacity:.24;transform:scale(.98)}.task-item.drop-before{margin-top:30px}.task-item.drop-after{margin-bottom:30px}.task-item.drop-before::before,.task-item.drop-after::after{content:"DROP HERE";position:absolute;left:0;right:0;height:22px;border-radius:999px;background:var(--accent);color:#02131d;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:1000;letter-spacing:.08em;box-shadow:0 0 0 5px rgba(56,189,248,.22)}.task-item.drop-before::before{top:-28px}.task-item.drop-after::after{bottom:-28px}.drag-handle{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;color:var(--accent);background:rgba(56,189,248,.1);display:grid;place-items:center;font-size:20px;font-weight:1000;line-height:1;touch-action:none}.drag-handle:active{background:var(--accent);color:#02131d}.complete-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:#111827;display:grid;place-items:center;font-weight:900}.complete-btn:active{background:var(--success);border-color:var(--success)}
.task-content{min-width:0;touch-action:auto}.task-text{margin:6px 0;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.35}.notes-badge{display:inline-block;margin-top:4px;color:var(--success);font-size:.9rem;font-weight:900}.more-btn{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;color:var(--text);background:rgba(255,255,255,.1);font-size:22px;font-weight:900;line-height:1}.drag-ghost{position:fixed;z-index:99999;pointer-events:none;transform:translate(-50%,-50%);max-width:82vw;padding:12px 14px;border-radius:16px;background:#1b2438;color:var(--text);border:3px solid var(--accent);box-shadow:0 18px 55px rgba(0,0,0,.75),0 0 0 6px rgba(56,189,248,.2);font-weight:900}
.primary-btn,.secondary-btn,.small-btn,.icon-btn,.add-btn{min-height:42px;border:0;border-radius:999px;padding:10px 14px;font-weight:800}.icon-btn{width:42px;padding:0;font-size:18px;display:grid;place-items:center}.add-btn,.primary-btn{color:#02131d;background:var(--accent)}.add-btn:active,.primary-btn:active{background:var(--accent-dark)}.secondary-btn,.small-btn,.icon-btn{color:var(--text);background:rgba(255,255,255,.1)}
.task-dialog,.archive-dialog{width:min(92vw,520px);color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:0}.task-dialog::backdrop,.archive-dialog::backdrop{background:rgba(0,0,0,.68)}.task-dialog form,.archive-dialog form{display:grid;gap:12px;padding:18px}.task-dialog h2,.archive-dialog h2{margin:0}.dialog-date{margin:-6px 0 6px;color:var(--muted);line-height:1.4}.task-dialog label{color:var(--muted);font-weight:800}.task-dialog textarea,.task-dialog select{width:100%;color:var(--text);background:var(--card-2);border:1px solid var(--line);border-radius:14px;padding:12px}.task-dialog textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}
.recurring-section,.backup-section{display:grid;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid var(--line)}.recurring-section h3,.backup-section h3{margin:0}.settings-note{margin:0;color:var(--muted);line-height:1.35}.recurring-list{display:grid;gap:8px}.recurring-item{display:grid;gap:4px;padding:12px;background:var(--card-2);border:1px solid var(--line);border-radius:14px}.recurring-item span{color:var(--muted);font-size:.9rem}.full-btn{width:100%;justify-content:center}
.dialog-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.archive-list{display:grid;gap:10px;max-height:70vh;overflow:auto}.archive-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px;background:var(--card-2);border:1px solid var(--line);border-radius:14px}.archive-info{display:grid;gap:4px;min-width:0}.archive-info span,.empty-archive{color:var(--muted);margin:0}.restore-btn{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;color:#02131d;background:var(--accent);font-size:20px;font-weight:900}
.action-dialog{width:min(92vw,420px);color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:0}.action-dialog::backdrop{background:rgba(0,0,0,.68)}.action-dialog form{display:grid;gap:10px;padding:18px}.action-dialog h2{margin:0 0 4px}.action-btn{width:100%;min-height:52px;border:0;border-radius:16px;padding:12px 14px;color:var(--text);background:var(--card-2);font-weight:900;text-align:center}.action-btn.danger-action{color:#fff;background:rgba(239,68,68,.88)}.action-btn.secondary-action{color:var(--muted);background:rgba(255,255,255,.08)}
@media(max-width:420px){.app-header{align-items:flex-start}.header-actions{gap:6px}.icon-btn{width:40px}.day-header{align-items:stretch;flex-direction:column}.add-btn{width:100%}}
