*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#ffffff;color:#212121;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{background:#e5e5e5}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#ffffff;border-right:1px solid #ececec;padding:34px 20px 20px}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px;margin-bottom:67px}.brand-mark{display:grid;place-items:center;background:#373737;color:#ffffff;width:38px;height:38px;border-radius:13px;font-size:24px;line-height:1;font-weight:500;box-shadow:0 6px 18px #37373717}.brand-mark span{transform:translateY(-1px)}.brand-text{display:flex;flex-direction:column;gap:3px}.brand-text strong,.mobile-brand{font-size:22px;font-weight:750;letter-spacing:-1.2px;line-height:1}.brand-dot,.full-stop{color:#919191}.brand-text small{color:#8d8d8d;font-size:10px;letter-spacing:.15px}.sidebar-label,.overline{font-size:10px;font-weight:760;letter-spacing:1.25px;color:#919191}.sidebar-label{padding-left:15px;margin:0 0 15px}.nav-list{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;width:100%;gap:13px;text-align:left;padding:13px 14px;border:0;border-radius:11px;color:#6e6e6e;font-weight:600;background:transparent;transition:background .18s,color .18s}.nav-item:hover{background:#f6f6f6;color:#3d3d3d}.nav-item.active{background:#f1f1f1;color:#434343}.nav-icon{font-size:21px;width:22px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:400}.nav-arrow{font-size:20px;margin-left:auto;font-weight:400;color:#9e9e9e}.nav-count{margin-left:auto;border-radius:8px;background:#f4f4f4;padding:3px 9px;font-size:11px;color:#6e6e6e}.nav-item.active .nav-count{background:#e4e4e4;color:#474747}.sidebar-spacer{flex:1}.sidebar-note{background:#f6f6f6;padding:19px;border-radius:15px;color:#5c5c5c}.sidebar-note-icon{font-size:20px;display:inline-block;margin-bottom:16px;color:#848484}.sidebar-note strong{display:block;font-size:14px;line-height:1.4;letter-spacing:-.3px}.sidebar-note p{color:#898989;line-height:1.6;font-size:12px;margin:7px 0 0}.sidebar-footer{display:flex;align-items:center;gap:7px;padding:20px 4px 0;color:#8d8d8d;font-size:11px}.status-dot{width:7px;height:7px;flex-shrink:0;display:inline-block;background:#9a9a9a;border-radius:99px}.version{margin-left:auto;color:#b3b3b3}.content{min-width:0;min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;flex-shrink:0;border-bottom:1px solid #ebebeb;padding:0 48px;display:flex;align-items:center;justify-content:space-between;background:#ffffff;gap:20px}.breadcrumbs{display:flex;align-items:center;gap:16px;color:#727272;font-size:12px;font-weight:650}.breadcrumbs::before{content:"";width:18px;height:1px;background:#cecece}.mobile-brand{display:none}.top-actions{display:flex;align-items:center;gap:14px}.search-box{height:37px;width:193px;border:1px solid #ececec;display:flex;align-items:center;gap:8px;background:#fcfcfc;border-radius:10px;padding:0 10px;color:#949494;transition:border-color .15s}.search-box:focus-within{border-color:#a6a6a6}.search-box>span{font-size:21px;line-height:1}.search-box input{border:0;min-width:0;flex:1;width:100%;outline:0;background:transparent;color:#383838;font-size:12px}.search-box input::placeholder{color:#a4a4a4}.search-box kbd{font:11px -apple-system,BlinkMacSystemFont,sans-serif;border:1px solid #e8e8e8;border-radius:4px;padding:1px 5px;color:#a5a5a5}.preview-pill{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #e9e9e9;border-radius:100px;font-size:11px;color:#717171;font-weight:650;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:10px 15px;font-size:12px;font-weight:700;white-space:nowrap;min-height:38px;transition:background .16s,transform .16s,border-color .16s}.button:active{transform:translateY(1px)}.button-dark{background:#383838;color:#ffffff;border:1px solid #383838}.button-dark:hover{background:#4f4f4f}.button-outline{border:1px solid #e7e7e7;color:#6e6e6e;background:#ffffff}.button-outline:hover{border-color:#c9c9c9;background:#f9f9f9}.button-danger{background:#ffffff;color:#6f6f6f;border:1px solid #dcdcdc}.button-danger:hover{background:#f6f6f6}
.main-content{padding:43px 48px 60px;max-width:1600px;width:100%;margin:0 auto 0 0;flex:1}.welcome{margin-bottom:31px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;font-weight:760;letter-spacing:1.6px;color:#828282}.eyebrow-line{width:25px;height:2px;background:#a1a1a1;border-radius:4px}.welcome h1{font-weight:690;letter-spacing:-1.9px;font-size:clamp(33px,3.4vw,44px);line-height:1.12;margin:15px 0 10px}.welcome p{font-size:14px;color:#8c8c8c;line-height:1.55;margin:0}.demo-banner{border:1px solid #e5e5e5;border-radius:13px;background:#f5f5f5;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 17px;margin:0 0 24px;font-size:12px;line-height:1.6;color:#737373}.demo-banner strong{color:#535353}.demo-banner button{border:0;background:transparent;color:#676767;font-weight:750;font-size:11px;white-space:nowrap;padding:6px}.demo-banner button:hover{text-decoration:underline}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,345px);gap:24px;align-items:start}.inbox-panel{background:white;border:1px solid #eaeaea;border-radius:16px;box-shadow:0 6px 22px rgba(58, 58, 58,.025);min-height:480px;padding:25px 22px 20px;position:sticky;top:22px;transition:border-color .16s,box-shadow .16s}.section-top{display:flex;justify-content:space-between;align-items:start}.section-title-row{display:flex;align-items:center;gap:11px}.section-title-row h2,.timeline-heading h2{font-size:23px;letter-spacing:-.7px;line-height:1.1;margin:9px 0 0;font-weight:720}.count-tag{font-size:11px;padding:4px 8px;border-radius:7px;background:#f2f2f2;color:#767676;font-weight:730;transform:translateY(5px)}.panel-symbol{font-size:26px;color:#c0c0c0;font-weight:400}.section-intro{color:#9c9c9c;font-size:12px;line-height:1.6;margin:12px 0 23px}.quick-add-form{border:1px solid #e5e5e5;border-radius:11px;display:flex;align-items:center;height:48px;padding:5px 5px 5px 14px;background:#fafafa;margin-bottom:20px;transition:border-color .16s}.quick-add-form:focus-within{border-color:#adadad;box-shadow:0 0 0 3px #efefef}.quick-add-form input{width:100%;min-width:0;flex:1;border:0;background:transparent;outline:0;color:#454545;font-size:12px}.quick-add-form input::placeholder{color:#a5a5a5}.quick-add-form button{flex-shrink:0;display:grid;place-items:center;border:0;border-radius:8px;background:#e7e7e7;color:#656565;width:35px;height:35px;font-size:22px;line-height:1;font-weight:400}.quick-add-form button:hover{background:#dddddd}.inbox-helper{padding:18px 0 0;color:#a9a9a9;font-size:11px;line-height:1.6;margin:25px 0 0;border-top:1px dashed #eaeaea}.timeline-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px;gap:12px}.timeline-heading h2{margin-top:9px}.timeline-heading .button{font-size:11px;padding:8px 11px;min-height:34px}.days-root{display:flex;flex-direction:column;gap:14px}.day-card{border:1px solid #e9e9e9;background:#ffffff;border-radius:16px;overflow:hidden;transition:border-color .16s,box-shadow .16s;scroll-margin-top:20px}.day-card.today{background:#f8f8f8;border-color:#e2e2e2}.day-card.is-over,.inbox-panel.is-over{border-color:#989898!important;box-shadow:0 0 0 4px #eaeaea!important}.day-header{display:flex;align-items:center;padding:20px 22px 17px;gap:15px;min-height:86px}.day-date{width:52px;height:55px;flex-shrink:0;border:1px solid #e9e9e9;border-radius:11px;background:#fbfbfb;display:flex;flex-direction:column;align-items:center;justify-content:center}.today .day-date{background:#ececec;border-color:#e3e3e3}.day-number{font-size:22px;font-weight:750;letter-spacing:-.9px;line-height:1.1}.day-month{color:#989898;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:1px}.day-name{font-size:15px;font-weight:720;letter-spacing:-.25px}.day-summary{font-size:11px;color:#a7a7a7;margin-top:5px}.today-label{display:inline-flex;background:#eaeaea;color:#686868;border-radius:5px;padding:3px 6px;text-transform:uppercase;font-weight:760;letter-spacing:.7px;font-size:9px;margin-left:8px;vertical-align:2px}.day-add{margin-left:auto;display:grid;place-items:center;width:32px;height:32px;background:#ffffff;border:1px solid #e7e7e7;color:#898989;border-radius:10px;font-size:21px;line-height:1;transition:background .15s}.day-add:hover{background:#efefef;color:#545454}.day-tasks{padding:0 20px 19px}.day-tasks.empty{padding-top:0}.day-placeholder{border-top:1px dashed #e7e7e7;padding:16px 4px 0;color:#bababa;font-size:11px;display:flex;align-items:center;gap:9px}.day-placeholder::before{content:"";width:6px;height:6px;border:1px solid #c7c7c7;border-radius:50%}.more-days{display:flex;margin:18px auto 0;border:0;background:transparent;color:#848484;font-size:12px;font-weight:700;padding:10px 18px}.more-days:hover{text-decoration:underline}
.task-stack{display:flex;flex-direction:column;gap:9px}.task-card{display:flex;align-items:flex-start;gap:11px;min-width:0;border:1px solid #ebebeb;border-radius:10px;padding:12px 11px;background:#ffffff;transition:border-color .16s,background .16s,box-shadow .16s;cursor:grab}.task-card:hover{border-color:#d7d7d7;box-shadow:0 3px 11px #36363608}.task-card:active{cursor:grabbing}.task-card.dragging{opacity:.44}.task-card.main-task{border-color:#d8d8d8;background:#fdfdfd}.task-card.is-done{opacity:.62;background:#fcfcfc}.task-check{width:18px;height:18px;flex-shrink:0;border:1.6px solid #cecece;background:#ffffff;border-radius:6px;margin-top:2px;display:grid;place-items:center;color:white;font-weight:800;font-size:12px;line-height:1;padding:0;transition:background .14s,border-color .14s}.task-check:hover{border-color:#9a9a9a}.is-done .task-check{background:#9b9b9b;border-color:#9b9b9b}.task-body{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:4px;border:0;padding:0;background:transparent;color:#494949}.task-text{font-size:12px;font-weight:600;line-height:1.45;word-break:break-word;text-align:left}.is-done .task-text{text-decoration:line-through;color:#9f9f9f}.task-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;color:#a8a8a8;line-height:1.3}.main-tag{color:#8a8a8a;background:#f3f3f3;padding:3px 6px;border-radius:5px;font-size:9px;font-weight:760;text-transform:uppercase;letter-spacing:.6px}.rolled-tag{color:#888888;background:#f3f3f3;padding:3px 6px;border-radius:5px;font-size:9px}.task-edit{border:0;background:transparent;color:#bababa;font-size:18px;line-height:1;padding:1px 4px;border-radius:4px;align-self:flex-start}.task-edit:hover{color:#5f5f5f;background:#f5f5f5}.task-empty{padding:35px 16px;color:#a9a9a9;text-align:center}.task-empty-illustration{display:grid;place-items:center;margin:0 auto 15px;width:49px;height:49px;border-radius:16px;background:#f5f5f5;color:#989898;font-size:24px}.task-empty strong{display:block;font-size:12px;color:#6c6c6c;margin-bottom:6px}.task-empty p{font-size:11px;line-height:1.6;margin:0}.no-results{font-size:12px;color:#a5a5a5;padding:20px 4px}.day-tasks .task-card+.task-card{margin-top:9px}.day-tasks .task-card{padding:10px 11px}.day-tasks .task-text{font-size:12px}.day-tasks .task-check{border-radius:5px}.page-footer{padding:15px 48px 25px;font-size:10px;color:#ababab;text-align:center}
body[data-active-view="inbox"] .workspace{display:block;max-width:710px}body[data-active-view="inbox"] .timeline-panel{display:none}body[data-active-view="inbox"] .inbox-panel{position:relative;top:auto;min-height:450px;padding:30px}body[data-active-view="inbox"] .inbox-panel .task-stack{gap:10px}body[data-active-view="inbox"] .inbox-panel .task-card{padding:17px 15px}
.task-dialog{border:1px solid #e7e7e7;border-radius:18px;background:#ffffff;box-shadow:0 24px 85px #27272729;padding:0;max-width:470px;width:calc(100% - 30px);color:#323232}.task-dialog::backdrop{background:#262626aa;backdrop-filter:blur(5px)}.task-dialog form{padding:28px}.dialog-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.dialog-header h2{font-size:24px;letter-spacing:-.8px;margin:7px 0 0}.icon-button{width:31px;height:31px;border-radius:9px;border:1px solid #ebebeb;background:#ffffff;color:#969696;font-size:23px;line-height:1;display:grid;place-items:center}.icon-button:hover{background:#f7f7f7}.field-label{display:flex;gap:5px;align-items:baseline;font-size:12px;font-weight:750;color:#575757;margin:18px 0 8px}.field-label span{font-weight:400;color:#a6a6a6}.field-input{width:100%;outline:0;border:1px solid #e6e6e6;border-radius:10px;padding:12px 13px;background:#fefefe;color:#3c3c3c;font-size:13px;transition:border-color .15s}.field-input:focus{border-color:#a2a2a2;box-shadow:0 0 0 3px #eeeeee}.field-textarea{resize:vertical;min-height:78px}.custom-date-wrap{margin-top:7px}.main-checkbox{display:flex;align-items:flex-start;gap:13px;padding:14px 13px;background:#f8f8f8;border:1px solid #ebebeb;border-radius:10px;margin-top:19px;cursor:pointer}.main-checkbox input{accent-color:#868686;width:15px;height:15px;margin-top:2px}.main-checkbox span{display:flex;flex-direction:column;gap:5px}.main-checkbox strong{font-size:12px}.main-checkbox small{font-size:11px;color:#9c9c9c;line-height:1.4}.dialog-actions{display:flex;align-items:center;gap:9px;margin-top:25px}.dialog-spacer{flex:1}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,20px);background:#3e3e3e;color:white;box-shadow:0 10px 26px #2727273b;border-radius:10px;padding:12px 18px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:1220px){.app-shell{grid-template-columns:204px minmax(0,1fr)}.sidebar{padding:27px 13px 20px}.topbar{padding:0 30px}.main-content{padding:36px 30px 50px}.workspace{grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:17px}.inbox-panel{padding:20px 16px}.day-header{padding:17px}.day-tasks{padding:0 16px 17px}.page-footer{padding-left:20px;padding-right:20px}}
@media(max-width:860px){.app-shell{display:block}.sidebar{position:relative;top:auto;display:flex;width:100%;height:auto;padding:12px 18px;background:#ffffff;align-items:center;gap:14px;border-right:0;border-bottom:1px solid #ebebeb}.brand{padding:0;margin:0}.brand-mark{width:30px;height:30px;border-radius:10px;font-size:19px}.brand-text strong{font-size:19px}.brand-text small,.sidebar-label,.sidebar-note,.sidebar-footer,.sidebar-spacer{display:none}.nav-list{flex:1;justify-content:flex-end;flex-direction:row;gap:3px}.nav-item{width:auto;padding:9px 12px;font-size:12px;gap:6px}.nav-item .nav-icon,.nav-item .nav-arrow,.nav-count{display:none}.topbar{height:67px;padding:0 23px}.breadcrumbs::before{display:none}.main-content{padding:30px 23px 44px}.workspace{grid-template-columns:minmax(0,1.2fr) minmax(225px,.8fr);gap:15px}.inbox-panel{top:15px}.preview-pill{display:none}}
@media(max-width:650px){.sidebar{padding:12px 15px;gap:5px}.brand{gap:7px}.brand-text strong{font-size:18px}.nav-item{padding:9px 9px;font-size:11px}.nav-list{gap:0}.topbar{height:61px;padding:0 18px}.breadcrumbs{font-size:12px}.top-actions{gap:7px}.search-box{width:38px;height:37px;padding:0 8px;transition:width .15s}.search-box:focus-within{width:150px}.search-box input{opacity:0}.search-box:focus-within input{opacity:1}.search-box kbd{display:none}.new-task{font-size:0;min-width:39px;width:39px;padding:0;border-radius:10px}.new-task span{font-size:22px}.main-content{padding:31px 16px 45px}.welcome{margin-bottom:23px}.welcome h1{font-size:36px;letter-spacing:-1.4px}.welcome p{font-size:12px}.demo-banner{align-items:start;flex-direction:column;gap:3px;padding:12px 13px}.demo-banner button{padding:0}.workspace{display:flex;flex-direction:column;gap:25px}.inbox-panel{width:100%;position:relative;top:auto;min-height:unset}.timeline-panel{width:100%}.timeline-heading{margin-top:2px}.day-header{padding:16px}.day-tasks{padding:0 15px 15px}.page-footer{padding:15px 18px 22px}.task-dialog form{padding:23px 18px}.dialog-actions .button{padding:10px 12px}.sidebar .nav-item[data-nav="today"]{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Focus view: keep the Inbox hidden and present only the highest-priority open task for today. */
body[data-active-view="one-task"] .workspace{display:block;max-width:760px;margin-left:0;margin-right:auto}
body[data-active-view="one-task"] .inbox-panel{display:none}
body[data-active-view="one-task"] .timeline-panel{width:100%}
body[data-active-view="one-task"] .day-card{border-color:#d9d9d9;box-shadow:0 12px 30px rgba(58, 58, 58,.055)}
body[data-active-view="one-task"] .day-header{padding:25px 25px 20px}
body[data-active-view="one-task"] .day-tasks{padding:0 25px 25px}
body[data-active-view="one-task"] .day-tasks .task-card{padding:20px 18px;gap:14px}
body[data-active-view="one-task"] .task-text{font-size:17px;line-height:1.55}
body[data-active-view="one-task"] .task-check{width:23px;height:23px}
@media(max-width:650px){
  .sidebar{flex-wrap:wrap;gap:8px;padding:12px 15px 8px}
  .brand{width:100%}
  .nav-list{width:100%;justify-content:space-between;gap:3px;overflow-x:auto}
  .nav-item{flex:1;justify-content:center;padding:9px 5px;white-space:nowrap}
  .sidebar .nav-item[data-nav="today"]{display:flex}
  body[data-active-view="one-task"] .day-header{padding:18px}
  body[data-active-view="one-task"] .day-tasks{padding:0 16px 18px}
  body[data-active-view="one-task"] .day-tasks .task-card{padding:16px 12px}
  body[data-active-view="one-task"] .task-text{font-size:15px}
}


/* SimpleDo: neutral UI with purposeful, restrained pink/orange/blue/purple accents. */
:root {
  color-scheme: light;
  --ink: #151515;
  --charcoal: #303030;
  --paper: #ffffff;
  --subtle: #f5f5f5;
  --line: #e5e5e5;
  --pink: #e3447d;
  --orange: #ef9b2d;
  --blue: #4578c9;
  --purple: #7851ad;
  --mustard: #e0c44d;
  /* Semantic roles: use these in UI, independent of user-selected tag colours. */
  --colour-plan: var(--blue);
  --colour-capture: var(--pink);
  --colour-capture-ink: #8e2952; /* readable dark pink on white */
  --colour-capture-button: #d3316b; /* slightly deeper for accessible white button text */
  --colour-capture-button-hover: #c72b64;
  --colour-today: var(--orange);
  --colour-today-ink: #8c4d0b; /* readable dark orange on white */
  --colour-priority: var(--purple);
  --colour-completed: #747474;
  --colour-snapshot: var(--charcoal);
}
body { background: #ffffff; color: var(--ink); }
.content, .main-content { background: #ffffff; }
.sidebar, .topbar { background: var(--paper); border-color: var(--line); }
.brand-mark { background: var(--ink); color: var(--paper); box-shadow: 0 6px 18px #00000012; position: relative; overflow: hidden; }
.brand-dot { color: var(--pink); }
.full-stop { color: var(--ink); }
.nav-item { color: #686868; }
.nav-item:hover { color: var(--ink); background: #f6f6f6; }
.nav-item.active { background: #f1f1f1; color: var(--ink); box-shadow: inset 3px 0 0 var(--ink); }
.nav-item.active .nav-count { background: #e2e2e2; color:var(--ink); }
.sidebar-note { background: #f6f6f6; color: #333; position: relative; overflow:hidden; }
.sidebar-note-icon { color: var(--purple); }
.status-dot { background: #333; }
.eyebrow-line { width:31px; height:3px; background: var(--line); }
.search-box { background:#fafafa; }
.search-box:focus-within, .field-input:focus, .quick-add-form:focus-within { border-color:#666; box-shadow:0 0 0 3px #0000000d; }
.button-dark { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.button-dark:hover { background:#3b3b3b; }
.button-outline { color:var(--charcoal); border-color:#d8d8d8; background:white; }
.button-outline:hover { border-color:#8c8c8c; background:#f6f6f6; }
.button-danger { border-color:#d9d9d9; color:#333; background:white; }
.button-danger:hover { background:#f4f4f4; }
.demo-banner { background:#f7f7f7; border-color:#e4e4e4; color:#555; position:relative; padding-left:20px; overflow:hidden; }
.demo-banner strong { color:var(--ink); }
.demo-banner button { color:#222; }
.inbox-panel, .day-card { background:white; border-color:var(--line); }
.quick-add-form { background:#fafafa; border-color:#dedede; }
.quick-add-form button { background:var(--ink); color:white; }
.quick-add-form button:hover { background:#404040; }
.count-tag { background:#eee; color:#444; }
.day-card.today { background:#f8f8f8; border-color:#cfcfcf; }
.today .day-date { background:#fff; border-color:#d0d0d0; }
.today-label { background:#fff0dd; color:#794309; }
.day-add:hover { background:#fff1f6; color:var(--colour-capture-ink); }
.more-days { color:var(--ink); }
.task-card:hover { border-color:#b3b3b3; }
.task-card.main-task { background:#fff; border-color:#dcdcdc; box-shadow: inset 3px 0 0 var(--colour-priority); }
.main-tag { background:#f1ebfa; color:#5b367f; }
.rolled-tag { background:#fff0f5; color:var(--colour-capture-ink); }
.task-check:hover { border-color:#444; }
.is-done .task-check { background:var(--ink); border-color:var(--ink); color:#fff; }
.field-input { background:#fff; color:var(--ink); }
.main-checkbox { background:#f7f7f7; border-color:#e5e5e5; }
.main-checkbox input { accent-color:var(--colour-priority); }
.toast { background:var(--ink); color:white; box-shadow:0 10px 26px #00000029; }
.day-card.is-over, .inbox-panel.is-over { border-color:var(--blue)!important; box-shadow: 0 0 0 3px #4578c923!important; }
body[data-active-view="one-task"] .day-card { border-color:#d1d1d1; box-shadow:0 12px 30px #0000000b; }
@media(prefers-contrast:more){
  .nav-item.active {box-shadow:inset 4px 0 0 var(--ink);}
  .main-tag {background:#fff; color:#151515; border:1px solid #333;}
  .rolled-tag {background:#fff; color:#151515; border:1px solid #333;}
}


/* Discreet local file import in the Inbox */
.inbox-import-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:-5px 0 17px;
}
.inbox-import-hint {font-size:11px;color:#969696;line-height:1.4}
.inbox-import-button {
  background:#fff;
  color:#252525;
  border:1px solid #dedede;
  padding:8px 10px;
  border-radius:8px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
}
.inbox-import-button:hover {border-color:#919191;background:#f9f9f9}
.inbox-import-button:focus-visible {outline:2px solid #222;outline-offset:2px}
@media(max-width:650px){
  .inbox-import-row {margin:0 0 16px}
}


/* Focus timer: monochrome with a narrow coloured progress indicator. */
.task-focus-button {
  flex:0 0 auto; align-self:center; border:1px solid #e4e4e4;
  background:white; color:#262626; font-size:10px; font-weight:700;
  line-height:1; min-width:58px; border-radius:8px; padding:9px 7px;
  white-space:nowrap;
}
.task-focus-button:hover {border-color:#999;background:#f8f8f8}
.task-focus-button:focus-visible,.global-focus-button:focus-visible {
  outline:2px solid #222; outline-offset:2px;
}
.task-focus-button.is-timing {background:#f5f5f5;border-color:#c8c8c8;font-variant-numeric:tabular-nums}
.global-focus-button {
  min-width:69px;height:37px;padding:0 11px;background:white;
  border:1px solid #ddd;border-radius:10px;color:#262626;font-size:11px;
  font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;
}
.global-focus-button:hover {background:#f7f7f7;border-color:#aaa}
.task-editor-focus {margin-top:18px}
.task-editor-focus button {width:100%;justify-content:center}
.focus-dialog {
  width:min(430px,calc(100vw - 30px)); max-width:430px; padding:0;
  border:1px solid #e6e6e6;border-radius:18px;color:#191919;
  background:white;box-shadow:0 20px 75px #00000027;
}
.focus-dialog::backdrop {background:#17171799;backdrop-filter:blur(4px)}
.focus-dialog-inner {padding:29px 28px 27px}
.focus-dialog-header {display:flex;align-items:start;justify-content:space-between;gap:14px}
.focus-dialog-header h2 {font-size:25px;line-height:1.25;letter-spacing:-.8px;margin:9px 0 0}
.focus-task-label {
  margin:18px 0 25px;padding:12px 14px;border-left:3px solid var(--colour-priority);
  border-radius:0 7px 7px 0;background:#f7f7f7;color:#454545;
  font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere;
}
.focus-setup .field-label {margin-top:0}
.focus-setup select {font-size:14px;min-height:46px}
.focus-hint {font-size:12px;line-height:1.65;color:#888;margin:17px 0 0}
.focus-hint-center {text-align:center;margin-top:15px}
.focus-dialog-actions {display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:26px;flex-wrap:wrap}
.focus-dialog-actions .button {min-height:40px}
.focus-clock {text-align:center;margin:7px 0 21px}
.focus-countdown {
  font-size:clamp(52px,13vw,76px);font-weight:700;letter-spacing:-3px;
  line-height:1.1;font-variant-numeric:tabular-nums;
}
.focus-phase {font-size:11px;font-weight:750;letter-spacing:1.3px;text-transform:uppercase;color:#8a8a8a;margin-top:10px}
.focus-progress-track {height:6px;background:#eee;overflow:hidden;border-radius:6px}
.focus-progress-fill {height:100%;width:0;background:var(--colour-today);transition:width .7s linear}
.focus-session-actions {justify-content:space-between}
.focus-session-actions .button {font-size:11px;padding:9px 11px}
.focus-finish-actions {display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:14px}
.focus-finish-actions .button {font-size:11px}
body[data-active-view="one-task"] .task-focus-button {font-size:12px;padding:11px 12px;min-width:92px}
@media(max-width:650px){
  .global-focus-button {height:36px;padding:0 8px;min-width:48px;font-size:10px}
  .global-focus-button span:first-child {display:none}
  .focus-dialog-inner {padding:23px 20px 22px}
  .focus-dialog-actions {gap:7px}
  .focus-session-actions .button {flex:1;padding:10px 7px}
  .task-focus-button {padding:9px 6px;min-width:53px}
  body[data-active-view="one-task"] .task-focus-button {padding:9px 8px;min-width:70px}
}

/* Quiet settings, backup and account controls. */
.sync-status {font-size:11px;color:#777;white-space:nowrap}
.settings-button {font-size:13px;gap:5px}
.settings-inner {padding:26px;line-height:1.6}
.settings-dialog {width:min(480px,calc(100vw - 24px));max-height:90dvh;overflow:auto}
.settings-dialog h2 {margin:0;font-size:25px;letter-spacing:-.6px}
.settings-dialog h3 {font-size:14px;margin:0 0 8px}
.settings-dialog p {font-size:13px;color:#707070}
.settings-section {padding:20px 0;border-bottom:1px solid #eee}
.settings-section:last-child {border:0;padding-bottom:0}
.backup-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.settings-dialog form .button {margin-top:12px}
.settings-dialog hr {border:0;border-top:1px solid #eee;margin:24px 0}
.recovery-button {background:none;border:0;color:#777;text-decoration:underline;font-size:11px;padding:18px 0 0}
#accountError,#restoreError {color:#9b2952}
button:disabled {opacity:.45;cursor:not-allowed}
[hidden] {display:none!important}
@media(max-width:650px) {
  .settings-button {padding:8px;min-width:36px}
  .settings-button span {display:none}
  .sync-status {font-size:10px;max-width:65px;white-space:normal;text-align:right}
  .settings-inner {padding:21px}
  .topbar:has(.search-box:focus-within) .breadcrumbs {display:none}
}
@media(max-width:650px) {
  .top-actions {min-width:0}
  .search-box {flex:0 1 38px;min-width:38px}
  .search-box:focus-within {flex-basis:130px;width:130px}
  .search-box input {width:0}
  .topbar:has(.search-box:focus-within) .sync-status {display:none}
}


/*
 * Keep the Inbox available beside the 30-day timeline.
 * Only its task list scrolls; capture, import and help text remain visible.
 */
body[data-active-view="planner"] .inbox-panel,
body[data-active-view="today"] .inbox-panel,
body[data-active-view="inbox"] .inbox-panel {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 44px);
  height: calc(100dvh - 44px);
  max-height: 760px;
  min-height: 0;
}

.inbox-panel > .section-top,
.inbox-panel > .section-intro,
.inbox-panel > .quick-add-form,
.inbox-panel > .inbox-import-row,
.inbox-panel > .inbox-helper {
  flex: 0 0 auto;
}

.inbox-panel #inboxTasks {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  padding-right: 5px;
  scrollbar-width: thin;
  scrollbar-color: #bdbdbd transparent;
}

.inbox-panel #inboxTasks > * {
  flex-shrink: 0;
}

.inbox-panel #inboxTasks:focus-visible {
  outline: 2px solid #333;
  outline-offset: -2px;
  border-radius: 6px;
}

.inbox-panel #inboxTasks::-webkit-scrollbar {
  width: 6px;
}

.inbox-panel #inboxTasks::-webkit-scrollbar-thumb {
  background: #c5c5c5;
  border-radius: 8px;
}

.inbox-panel #inboxTasks::-webkit-scrollbar-track {
  background: transparent;
}

.inbox-panel .inbox-helper {
  margin-top: 12px;
  padding-top: 12px;
}

/* Standalone Inbox view also has its own comfortable, scrollable task list. */
body[data-active-view="inbox"] .inbox-panel {
  height: min(760px, calc(100dvh - 225px));
  min-height: 350px;
  max-height: none;
}

@media (min-width: 651px) and (max-width: 860px) {
  body[data-active-view="planner"] .inbox-panel,
  body[data-active-view="today"] .inbox-panel {
    height: calc(100dvh - 30px);
  }
}

@media (max-width: 650px) {
  /* On a narrow screen, don't bury the Inbox below thirty days. */
  body[data-active-view="planner"] .inbox-panel {
    order: -1;
  }

  body[data-active-view="planner"] .inbox-panel,
  body[data-active-view="today"] .inbox-panel {
    position: relative;
    top: auto;
    width: 100%;
    height: min(500px, calc(100dvh - 260px));
    min-height: 320px;
    max-height: none;
  }

  body[data-active-view="inbox"] .inbox-panel {
    height: min(680px, calc(100dvh - 220px));
    min-height: 320px;
  }

  /* Allow swiping beyond the Inbox to continue through the page on touch. */
  .inbox-panel #inboxTasks {
    overscroll-behavior-y: auto;
  }
}

/* Small estimates and capacity cues stay within the existing day cards. */
.task-estimate {font-size:10px;color:#777;font-variant-numeric:tabular-nums}
.day-capacity {margin:-5px 22px 15px;max-width:480px}
.capacity-text {font-size:11px;color:#737373;line-height:1.5}
.capacity-bar {display:flex;height:3px;border-radius:3px;background:#ededed;overflow:hidden;margin-top:7px}
.capacity-bar span {height:100%;flex-shrink:1}
.capacity-meetings {background:#a5a5a5}
.capacity-tasks {background:var(--colour-plan)}
.capacity-full .capacity-tasks {background:#545454}
.capacity-source {display:block;color:#999;font-size:9px;margin-top:4px}
.estimate-hint {font-size:11px;color:#888;margin:7px 0 0}
.schedule-guidance {margin-top:12px;font-size:12px;color:#777;line-height:1.6}
.schedule-guidance p:empty {display:none}
.schedule-guidance p {margin:0 0 7px}
.settings-section summary {font-size:14px;font-weight:700;cursor:pointer}
.optional-label {font-size:11px;font-weight:400;color:#999;margin-left:6px}
.working-day,.working-headings {display:grid;grid-template-columns:55px repeat(4,minmax(0,1fr));gap:5px;align-items:center;margin-top:8px}
.working-headings {font-size:10px;color:#888;margin-top:16px}
.working-day label {font-size:11px;display:flex;align-items:center;gap:3px}
.working-day label input {margin:0;accent-color:#333}
.working-day input[type=time] {width:100%;min-width:0;font-size:11px;padding:7px 2px;border:1px solid #ddd;border-radius:5px;background:#fff;color:#333}
.calendar-provider {padding:14px 0;border-bottom:1px solid #eee}
.calendar-provider strong {font-size:12px}
.provider-status {display:block;font-size:11px;color:#888}
.calendar-choices {margin:14px 0;max-height:180px;overflow:auto}
.calendar-choices label {display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 0;overflow-wrap:anywhere}
.calendar-choices input {accent-color:#333;flex-shrink:0}
#planningError,#calendarMessage {font-size:12px}
.task-dialog {max-height:92dvh;overflow:auto}
@media(max-width:650px) {
 .day-capacity {margin-left:16px;margin-right:16px}
 .capacity-text {font-size:10px}
 .working-day,.working-headings {grid-template-columns:48px repeat(4,minmax(0,1fr));gap:3px}
 .working-day input[type=time] {font-size:10px;padding:7px 0}
}
.settings-dialog #workingHoursForm {padding:0}

.tag-filter-row {display:flex;align-items:center;gap:8px;margin:-7px 0 18px;color:#888;font-size:11px}
.tag-filter-row select {max-width:200px;border:1px solid #e5e5e5;border-radius:8px;background:white;color:#444;padding:7px 26px 7px 9px;font-size:11px}
.task-tags {display:inline-flex;flex-wrap:wrap;gap:6px 12px;align-items:center;max-width:100%}
.task-tag {display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#626262;max-width:100%;overflow-wrap:anywhere}
.tag-dot {display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#747474}
.tag-work {background:#4578c9}.tag-home {background:#ef9b2d}
.tag-color-field {display:flex;align-items:center;gap:10px}.tag-color-field select {flex:1}
.settings-dialog #tagForm {padding:0}

/* Snapshot is a quiet read-only summary, using the same typography and borders. */
.snapshot-view {max-width:860px}
.snapshot-top {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 29px}
.snapshot-top p {font-size:11px;color:#737373;margin:0}
.snapshot-ranges {display:flex;gap:3px;border:1px solid #e5e5e5;border-radius:10px;padding:4px;background:white}
.snapshot-ranges button {border:0;background:white;border-radius:7px;padding:9px 13px;color:#777;font-size:11px;white-space:nowrap}
.snapshot-ranges button[aria-pressed=true] {background:#f0f0f0;color:var(--ink);font-weight:750;box-shadow:inset 0 0 0 1px #bfbfbf}
.snapshot-counts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:24px}
.snapshot-counts>div {display:flex;flex-direction:column;gap:8px}
.snapshot-counts strong {font-size:46px;line-height:1.05;letter-spacing:-1.8px;font-weight:650;font-variant-numeric:tabular-nums}
.snapshot-counts span {font-size:12px;color:#444}
.snapshot-counts small {display:block;font-size:10px;font-weight:400;color:#737373;margin-top:4px}
.snapshot-bar {height:9px;background:#f1f1f1;border-radius:7px;overflow:hidden;display:flex}
.snapshot-bar>span {height:100%}
.snapshot-status-inbox {background:#d5d5d5}.snapshot-status-scheduled {background:#303030}.snapshot-status-completed {background:#8d8d8d}
.snapshot-counts>div:nth-child(1)>span::before,.snapshot-counts>div:nth-child(2)>span::before,.snapshot-counts>div:nth-child(3)>span::before {content:'';display:inline-block;width:6px;height:6px;border-radius:2px;background:#d5d5d5;margin-right:5px;vertical-align:1px}
.snapshot-counts>div:nth-child(2)>span::before {background:#303030}.snapshot-counts>div:nth-child(3)>span::before {background:#8d8d8d}
.snapshot-scope {font-size:10px;color:#737373;line-height:1.6;margin:10px 0 0}
.snapshot-empty {font-size:13px;color:#777;margin:20px 0}
.snapshot-section {border-top:1px solid #e9e9e9;padding-top:23px;margin-top:27px}
.snapshot-section h2 {font-size:13px;font-weight:650;margin:0 0 17px;color:#333}
.snapshot-tags {display:flex;flex-wrap:wrap;gap:12px 25px;list-style:none;margin:15px 0 0;padding:0}
.snapshot-tags li {display:flex;align-items:center;gap:9px;min-width:85px}
.snapshot-tags .task-tag {font-size:11px}.snapshot-tags strong {font-size:11px;font-weight:600;color:#555;font-variant-numeric:tabular-nums}
.snapshot-bins {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(35px,1fr));gap:12px}
.snapshot-bins li {min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;color:#737373;font-size:10px}
.snapshot-bins strong {font-weight:500;color:#555;font-size:11px;font-variant-numeric:tabular-nums}
.snapshot-density-track {height:46px;width:100%;max-width:35px;background:#f2f2f2;display:flex;align-items:flex-end;border-radius:4px;overflow:hidden}
.snapshot-density-track>span {display:block;width:100%;background:#575757;border-radius:3px 3px 0 0}
.snapshot-method {margin-top:27px;font-size:11px;color:#737373;line-height:1.7}
.snapshot-method summary {cursor:pointer;display:list-item}.snapshot-method p {max-width:720px}
body[data-active-view=snapshot] .search-box,body[data-active-view=snapshot] #newTaskButton {display:none}
@media(max-width:650px) {
 .nav-list {flex-wrap:wrap}.nav-item {flex:1 0 auto}
 .snapshot-top {gap:13px;margin-bottom:25px}.snapshot-ranges {width:100%;justify-content:space-between}
 .snapshot-ranges button {padding:9px 10px;flex:1}
 .snapshot-counts {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}
 .snapshot-counts strong {font-size:40px}.snapshot-bins {gap:10px;grid-template-columns:repeat(auto-fit,minmax(35px,1fr))}
}
.snapshot-bins[data-range=year] {grid-template-columns:repeat(12,minmax(0,1fr))}
@media(max-width:650px) {.snapshot-bins[data-range=year] {grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Capture stays next to the Inbox field; review is a small, scrollable dialog. */
.quick-add-form{height:56px;padding:4px 3px 4px 12px;gap:0}.quick-add-form button{width:44px;height:44px;flex-shrink:0}.quick-add-form .capture-icon{background:transparent;color:#666}.quick-add-form .capture-icon:hover{background:#ededed}.capture-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.capture-dialog{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}.capture-hint{color:#747474;font-size:12px;line-height:1.6}.capture-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.capture-dialog button{min-height:44px}.capture-dialog .icon-button{min-width:44px}.capture-dialog textarea{font:inherit;font-size:16px;resize:vertical}.capture-dialog .dialog-actions{flex-wrap:wrap;gap:12px}.capture-dialog .dialog-actions .capture-hint{flex:1;min-width:150px}.capture-recording{font-size:13px;font-weight:650}.capture-recording>span{color:var(--colour-capture)}.capture-message{font-size:13px;line-height:1.6;color:#454545}.capture-row{display:grid;grid-template-columns:36px minmax(0,1fr) 44px;align-items:start;gap:5px;border-bottom:1px solid #eee;padding:10px 0}.capture-row>input{width:22px;height:22px;margin:11px 7px;accent-color:#444}.capture-row textarea{border:1px solid #ddd;border-radius:8px;padding:9px;width:100%;min-height:60px;background:#fff;color:#383838}.capture-row small{display:block;color:#747474;font-size:11px;line-height:1.5;margin-top:5px}.capture-dialog button:disabled{opacity:.5;cursor:default}.capture-dialog [hidden]{display:none!important}
@media(max-width:600px){.quick-add-form input{font-size:16px}.capture-dialog{padding:20px 16px}.capture-controls .button{white-space:normal}.capture-row{grid-template-columns:32px minmax(0,1fr) 40px;gap:2px}}

.capture-row{grid-template-columns:44px minmax(0,1fr) 44px}.capture-select{display:grid;place-items:center;min-height:44px;cursor:pointer}.capture-select input{width:22px;height:22px;accent-color:#444}.capture-row .icon-button{min-width:44px}

.capture-dialog select{min-height:44px}

/* Planner organises; Today gives the day's work its own quiet workspace. */
.day-card.today {background:#fff;border-color:#cfcfcf;border-top:2px solid var(--colour-today)}
.day-toggle {display:flex;align-items:center;gap:15px;flex:1;min-width:0;padding:0;border:0;background:transparent;text-align:left;color:inherit;font:inherit}
.day-info {display:block;min-width:0;flex:1}.day-info .day-name,.day-info .day-summary {display:block}
.day-toggle:focus-visible {outline:2px solid #555;outline-offset:6px;border-radius:3px}
.day-chevron {width:7px;height:7px;border-right:1.5px solid #777;border-bottom:1.5px solid #777;transform:rotate(225deg);margin:0 8px 0 auto;flex-shrink:0}
.day-toggle[aria-expanded=false] .day-chevron {transform:rotate(45deg)}
.day-header {gap:12px}.day-add {flex-shrink:0;width:44px;height:44px;margin-left:0}
.day-card.is-collapsed .day-header {padding:14px 20px 12px;min-height:74px}
.day-card.is-collapsed .day-date {width:42px;height:46px;background:#fff}
.day-card.is-collapsed .day-number {font-size:19px}.day-card.is-collapsed .day-name {font-size:14px}
.day-card.is-collapsed .day-capacity {margin:0 20px 14px}.day-card.is-collapsed .capacity-bar {display:none}
body[data-active-view=today] .main-content {padding-top:38px}
body[data-active-view=today] .welcome {margin-bottom:20px}
body[data-active-view=today] .welcome h1 {font-size:clamp(30px,3.3vw,43px);letter-spacing:-1.5px;line-height:1.2}
body[data-active-view=today] .welcome p {color:#666;font-size:14px;font-variant-numeric:tabular-nums}
body[data-active-view=today] .workspace {display:block;max-width:820px}
body[data-active-view=today] .inbox-panel {display:none}
body[data-active-view=today] .tag-filter-row {margin:0 0 16px}
.today-view {width:100%;min-width:0}.today-overview {margin-bottom:30px}
#todayProgress {display:block;appearance:none;-webkit-appearance:none;border:0;width:100%;height:4px;border-radius:3px;overflow:hidden;background:#ededed;color:var(--colour-today)}
#todayProgress::-webkit-progress-bar {background:#ededed;border-radius:3px}#todayProgress::-webkit-progress-value {background:var(--colour-today);border-radius:3px}#todayProgress::-moz-progress-bar {background:var(--colour-today);border-radius:3px}
#todayCapacity .day-capacity {margin:12px 0 0;max-width:none}#todayCapacity .capacity-bar {display:none}#todayCapacity .capacity-text {font-size:11px;color:#737373}
.today-filter-note {color:#737373;font-size:11px;line-height:1.6;margin:12px 0 0}
.today-feature.task-card {display:block;background:#fff;border:1px solid #dedede;border-radius:16px;box-shadow:none;padding:28px 30px 26px;position:relative;overflow:hidden}
.today-feature::before {content:'';position:absolute;top:28px;left:0;height:24px;width:3px;background:var(--colour-today)}
.today-feature-label {font-size:11px;line-height:1.5;letter-spacing:.8px;text-transform:uppercase;color:#666;font-weight:650;margin:0 0 15px}
.today-feature .task-body {display:block;width:100%;padding:0;text-align:left}.today-feature .task-text {font-size:28px;line-height:1.4;font-weight:600;letter-spacing:-.65px;color:#202020}
.today-feature .task-meta {margin-top:12px;gap:14px}.today-feature .task-tag,.today-feature .task-estimate {font-size:12px}.today-feature .main-tag {display:none}
.today-feature-actions {display:flex;gap:10px;align-items:center;margin-top:26px}.today-feature-actions .button {min-height:46px;padding:12px 20px}
.today-feature-actions .task-focus-button {font-size:12px;color:white;background:#151515;border-color:#151515}
.today-feature-actions .task-focus-button:hover {background:#333}.today-feature-actions .task-focus-button.is-timing {background:#151515;color:white}
.today-feature .today-done {font-size:12px;min-width:90px}.today-feature .today-done:hover {background:#f6f6f6}
.today-section-heading {display:flex;align-items:center;gap:9px;margin:30px 0 5px}.today-section-heading h2 {font-size:14px;font-weight:650;margin:0}.today-section-heading>span {color:#888;font-size:11px}
.today-list .today-task-row {display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #ededed;border-radius:0;background:#fff;box-shadow:none;padding:12px 0;margin:0;min-height:70px}
.today-list .today-task-row .task-text {font-size:14px;line-height:1.55;overflow-wrap:anywhere}.today-list .today-task-row .task-body {min-width:0;padding:5px 0}
.today-list .today-task-row .task-meta {margin-top:5px}.today-list .today-task-row .main-tag {background:#fff;color:#777;padding:0}
.today-list .task-focus-button {min-height:44px;padding:10px;font-size:11px;flex-shrink:0}
.today-check {display:grid;place-items:center;width:44px;min-width:44px;min-height:44px;cursor:pointer}
.today-check input {width:20px;height:20px;margin:0;accent-color:#333;cursor:pointer}
.today-completed {border-top:1px solid #e8e8e8;margin-top:28px;padding-top:5px}
.today-completed summary {padding:15px 0;font-size:13px;font-weight:600;cursor:pointer;min-height:44px;color:#666}.today-completed summary span {font-weight:400;margin-left:4px}
.today-completed .task-body {color:#777}.today-completed .task-text {text-decoration:line-through}.today-completed .today-task-row:last-child {border-bottom:0}
.today-add {margin-top:23px;min-height:44px}.today-empty {padding:28px 0 20px;border-top:1px solid #eee}.today-empty h2 {font-size:24px;letter-spacing:-.6px;font-weight:600;margin:0 0 10px}.today-empty p {color:#777;font-size:13px;line-height:1.6;margin:0}
.task-order-controls>div {display:flex;gap:8px}.task-order-controls button {min-height:44px}
@media(max-width:650px) {
 body[data-active-view=today] .main-content {padding-top:25px;padding-bottom:40px}
 body[data-active-view=today] .welcome h1 {font-size:30px;letter-spacing:-1px}
 body[data-active-view=today] .welcome p {font-size:13px}
 body[data-active-view=today] .top-actions .button,body[data-active-view=today] .nav-item {min-height:44px}
 .today-overview {margin-bottom:22px}.today-feature.task-card {padding:22px 21px}.today-feature::before {top:23px;height:20px}
 .today-feature .task-text {font-size:23px;letter-spacing:-.4px}.today-feature-label {margin-bottom:12px;font-size:10px}
 .today-feature .task-meta {gap:10px;margin-top:10px}.today-feature-actions {margin-top:22px;gap:8px}.today-feature-actions .button {padding:11px 16px}
 .today-list .today-task-row {gap:5px;padding:9px 0}.today-list .task-focus-button {padding:10px 7px;font-size:10px}.today-list .today-task-row .task-text {font-size:13px}
 .day-card.is-collapsed .day-header {padding:12px 15px 10px}.day-card.is-collapsed .day-capacity {margin-left:15px;margin-right:15px}.day-toggle {gap:12px}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto!important}*,*::before,*::after {animation:none!important;scroll-behavior:auto!important}}
@media(max-width:650px) {
 body[data-active-view=today] .topbar {height:auto;min-height:61px;justify-content:flex-end;gap:8px;padding-top:9px;padding-bottom:9px}
 body[data-active-view=today] .breadcrumbs {display:none}
 body[data-active-view=today] .top-actions {flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%}
}
@media(max-width:650px) {
 body[data-active-view=today] .search-box {height:44px;min-width:38px}
 body[data-active-view=today] .search-box:focus-within {width:120px}
 body[data-active-view=today] .search-box input {font-size:16px}
}
@media(max-width:380px) {
 body[data-active-view=today] .sync-status {flex-basis:100%;order:2;text-align:right;font-size:10px}
}

.welcome .today-overview {margin:16px 0 0}.today-filter-note {margin-top:0;margin-bottom:16px}
.day-info .day-summary {color:#737373}
.today-completed .today-task-row {opacity:1}.today-completed .today-task-row .task-text {color:#737373}
body[data-active-view=today] .global-focus-button {min-height:44px}
body[data-active-view=today] .welcome {max-width:820px}

/* v0.15: small, consistent colour cues throughout; white canvas stays white. */
.inbox-panel,body[data-active-view="inbox"] .inbox-panel {
  padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;
}
.inbox-panel .section-top,.timeline-heading {align-items:flex-start;}
.inbox-panel .section-title-row h2,.timeline-heading h2 {margin-top:9px;}
.inbox-panel .section-top .overline::before,.timeline-heading .overline::before {
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  margin-right:8px;vertical-align:1px;
}
.timeline-heading .overline::before {background:var(--blue);}
.inbox-panel .section-top .overline::before {background:var(--orange);}
.inbox-panel .panel-symbol {color:var(--orange);}
.inbox-panel .count-tag {background:#fff0f5;color:var(--colour-capture-ink);}
.inbox-panel .section-intro {color:#777;}
.inbox-panel .inbox-helper {border-top-color:#dedede;}
body[data-active-view=planner] .nav-item.active {box-shadow:inset 3px 0 0 var(--blue);}
body[data-active-view=inbox] .nav-item.active {box-shadow:inset 3px 0 0 var(--colour-capture);}
body[data-active-view=today] .nav-item.active {box-shadow:inset 3px 0 0 var(--colour-today);}
body[data-active-view=one-task] .nav-item.active {box-shadow:inset 3px 0 0 var(--purple);}
body[data-active-view=snapshot] .nav-item.active {box-shadow:inset 3px 0 0 var(--colour-snapshot);}
body[data-active-view=planner] .nav-item.active .nav-icon {color:var(--blue);}
body[data-active-view=inbox] .nav-item.active .nav-icon {color:var(--colour-capture-ink);}
body[data-active-view=today] .nav-item.active .nav-icon {color:var(--colour-today-ink);}
body[data-active-view=one-task] .nav-item.active .nav-icon {color:var(--purple);}
body[data-active-view=snapshot] .nav-item.active .nav-icon {color:var(--colour-snapshot);}
.day-add {
  background:#fff;
  border-color:#d8d8d8;
  color:var(--colour-capture-ink);
}
.day-add:focus-visible {
  outline:2px solid var(--colour-capture-ink);
  outline-offset:3px;
}
.day-card.today .day-add {color:var(--colour-capture-ink);}
.day-toggle .day-chevron {border-color:#5980c4;}
body[data-active-view=one-task] .day-card {border-top:2px solid var(--purple);}
body[data-active-view=one-task] .day-add {color:var(--colour-capture-ink);}
#captureSpeak, #captureScan {color:var(--colour-capture-ink);}
#captureSpeak:hover, #captureScan:hover {background:#fff0f5;}
.inbox-panel .inbox-import-button:hover {border-color:var(--colour-capture);}
.today-feature-label {color:var(--colour-today-ink);}
.today-section-heading::before {
  content:"";width:6px;height:6px;display:inline-block;border-radius:50%;
  background:var(--colour-today);flex-shrink:0;
}
.today-completed summary::marker {color:var(--colour-completed);}
.today-list .today-task-row .task-focus-button:hover {border-color:var(--purple);}
.today-add:hover {border-color:var(--colour-capture);}
.global-focus-button {border-left:3px solid var(--colour-priority);}

/* Snapshot status is coloured by meaning, with counts and labels always visible. */
.snapshot-status-inbox {background:var(--colour-capture);}
.snapshot-status-scheduled {background:var(--blue);}
.snapshot-status-completed {background:var(--colour-completed);}
.snapshot-counts>div:nth-child(1)>span::before {background:var(--colour-capture);}
.snapshot-counts>div:nth-child(2)>span::before {background:var(--blue);}
.snapshot-counts>div:nth-child(3)>span::before {background:var(--colour-completed);}
.snapshot-counts>div:nth-child(4)>span::before {
  content:"";display:inline-block;width:6px;height:6px;border-radius:2px;
  background:var(--colour-capture);margin-right:5px;vertical-align:1px;
}
.snapshot-density-track>span {background:var(--colour-completed);}
.snapshot-ranges button:focus-visible {outline:2px solid var(--ink);outline-offset:2px;}
.snapshot-ranges button:hover:not([aria-pressed=true]) {background:#f7f7f7;color:var(--ink);}

/* The task editor can create custom tags using the existing colour palette. */
.task-tag-picker {display:flex;align-items:flex-start;gap:10px;width:100%;flex-wrap:wrap;}
.task-tag-choices {display:flex;align-items:center;flex:1;flex-wrap:wrap;gap:7px;min-width:160px;}
.task-tag-choice {position:relative;display:inline-flex;align-items:center;gap:7px;min-height:35px;padding:7px 11px;border:1px solid #dedede;border-radius:999px;background:#fff;color:#626262;cursor:pointer;font-size:12px;line-height:1.2;}
.task-tag-choice input {position:absolute;width:1px;height:1px;opacity:0;}
.task-tag-choice.is-selected {border-color:#a1a1a1;background:#f2f2f2;color:#242424;box-shadow:inset 0 0 0 1px #b7b7b7;}
.task-tag-choice:focus-within {outline:2px solid #252525;outline-offset:2px;}
.task-tag-choice:has(input:disabled) {opacity:.65;}
.tag-create-shortcut {
  min-height:44px;padding:8px 11px;border:1px solid #e1e1e1;
  border-radius:9px;background:#fff;color:var(--ink);font-size:12px;
  font-weight:650;white-space:nowrap;
}
.tag-create-shortcut:hover {border-color:#979797;background:#f7f7f7;}
.tag-create-shortcut:focus-visible {outline:2px solid var(--ink);outline-offset:2px;}
.tag-colour-swatches {display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.tag-colour-swatch {
  appearance:none;display:inline-block;width:35px;height:35px;
  border:3px solid white;border-radius:50%;
  box-shadow:0 0 0 1px #c4c4c4;cursor:pointer;
}
.tag-colour-swatch[aria-pressed=true] {outline:2px solid #252525;outline-offset:3px;}
.tag-colour-swatch:focus-visible {outline:3px solid #333;outline-offset:4px;}
#tagSettingsDetails>summary::marker {color:var(--ink);}
.settings-dialog #tagForm .button[type=submit]:hover {border-color:var(--ink);}
.tag-color-field .tag-dot {width:11px;height:11px;}
.capture-row>input[type=checkbox],.capture-dialog .capture-select input {accent-color:var(--colour-capture);}
@media(max-width:650px) {
  .task-tag-picker {gap:7px;}
  .tag-create-shortcut {padding:7px 8px;font-size:11px;}
  .tag-colour-swatch {width:40px;height:40px;}
}
@media(prefers-contrast:more) {
  .snapshot-counts>div>span::before {outline:1px solid #222;}
  .tag-colour-swatch[aria-pressed=true] {outline:3px solid #111;}
}

/* Plain view and dialog headings, without decorative taglines. */
.sidebar .brand { margin-bottom:30px; }
.welcome h1 { margin-top:0; }
.inbox-panel .section-title-row h2, .timeline-heading h2 { margin-top:0; }
.dialog-header h2, .focus-dialog-header h2 { margin-top:0; }

@media(max-width:860px){ .sidebar .brand {margin-bottom:0;} }


/* Match the first Planner day with the top of the Inbox quick-add field.
   Both columns already share the same heading and explanatory-text height;
   the extra 15px margin on the Planner alone caused the misalignment. */
@media (min-width:651px) {
  body[data-active-view="planner"] .timeline-heading {margin-bottom:0;}
}


/* Custom Snapshot dates use native pickers, with no new modal or stored preference. */
.snapshot-ranges {flex-wrap:wrap;}
.snapshot-ranges button {min-height:40px;}
.snapshot-custom-dates {
  display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 14px;
  margin:-13px 0 25px;
}
.snapshot-custom-dates label {
  display:flex;flex-direction:column;gap:7px;
  width:174px;max-width:100%;font-size:12px;font-weight:650;color:#555;
}
.snapshot-custom-dates input {
  display:block;width:100%;min-width:0;min-height:44px;padding:9px 11px;
  background:#fff;border:1px solid #d9d9d9;border-radius:9px;
  color:var(--ink);font:inherit;font-size:14px;
}
.snapshot-custom-dates input:focus-visible {
  outline:2px solid var(--ink);outline-offset:2px;
}
.snapshot-custom-dates input[aria-invalid=true] {border-color:#a52a4f;}
.snapshot-date-error {
  margin:0;flex:1 0 100%;font-size:12px;line-height:1.5;color:#8e2952;
}
.snapshot-bins[data-range=custom] {
  grid-template-columns:repeat(auto-fit,minmax(37px,1fr));
}
.snapshot-bins[data-range=custom] li {
  overflow-wrap:anywhere;
}
@media(max-width:650px) {
  .snapshot-ranges {justify-content:flex-start;gap:4px;}
  .snapshot-ranges button {flex:1 1 auto;padding:9px 10px;}
  .snapshot-custom-dates {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:-13px 0 23px;}
  .snapshot-custom-dates label {width:auto;min-width:0;}
  .snapshot-custom-dates input {font-size:16px;}
  .snapshot-date-error {grid-column:1/-1;}
  .snapshot-bins[data-range=custom] {grid-template-columns:repeat(auto-fit,minmax(40px,1fr));}
}


/* Filled task actions use a rich pink with accessible white text/icons. */
#newTaskButton {
  background:var(--colour-capture-button);
  border-color:var(--colour-capture-button);
  color:#fff;
  box-shadow:none;
}
#newTaskButton span {color:inherit;}
#newTaskButton:hover {
  background:var(--colour-capture-button-hover);
  border-color:var(--colour-capture-button-hover);
  color:#fff;
}
#newTaskButton:focus-visible,
#quickAddForm button[type="submit"]:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:3px;
}
#quickAddForm button[type="submit"] {
  background:var(--colour-capture-button);
  color:#fff;
  font-weight:700;
}
#quickAddForm button[type="submit"]:hover {
  background:var(--colour-capture-button-hover);
  color:#fff;
}
/* Adding a task on the Today page is a quiet secondary action. */
#todayAdd {
  border-color:#d8d8d8;
  color:var(--colour-capture-ink);
  background:#fff;
}
#todayAdd:hover {
  background:#fff0f5;
  border-color:#c6c6c6;
  color:var(--colour-capture-ink);
}


/* Bring back the small view-colour full stops, distinct from the branding dot. */
.full-stop {color:var(--ink);}
body[data-active-view="planner"] .full-stop {color:var(--colour-plan);}
body[data-active-view="inbox"] .full-stop {color:var(--colour-capture-ink);}
body[data-active-view="today"] .full-stop {color:var(--colour-today-ink);}
body[data-active-view="one-task"] .full-stop {color:var(--colour-priority);}
body[data-active-view="snapshot"] .full-stop {color:var(--colour-snapshot);}

/* Purple singles out Main Thing. Up next keeps the warm orange Today cue. */
.today-feature.main-task::before {background:var(--colour-priority);}
.today-feature.main-task .today-feature-label {color:#67418d;}

/* Inbox/capture receives pink; scheduled-day drag destinations remain blue. */
.inbox-panel.is-over {
  border-color:var(--colour-capture)!important;
  box-shadow:0 0 0 3px #e3447d24!important;
}
.quick-add-form:focus-within {
  border-color:var(--colour-capture);
  box-shadow:0 0 0 3px #e3447d22;
}


/* Saving/capturing tasks follows the same pink action as quick-add.
   Other Settings and focus controls stay neutral. */
#saveTaskButton, #captureAdd, #captureReviewText {
  background:var(--colour-capture-button);
  border-color:var(--colour-capture-button);
  color:#fff;
}
#saveTaskButton:hover, #captureAdd:hover, #captureReviewText:hover {
  background:var(--colour-capture-button-hover);
  border-color:var(--colour-capture-button-hover);
  color:#fff;
}
#saveTaskButton:focus-visible, #captureAdd:focus-visible, #captureReviewText:focus-visible {
  outline:2px solid var(--ink);
  outline-offset:3px;
}

/* Multi-line Inbox quick add: one-line by default, grows when a list is pasted. */
.quick-add-form { height:auto; min-height:56px; align-items:flex-start; }
.quick-add-form textarea {
  flex:1 1 auto; width:100%; min-width:0; min-height:44px; max-height:160px;
  margin:0; padding:12px 0; border:0; background:transparent;
  color:#454545; font-size:12px; line-height:20px;
  outline:0; resize:none; overflow-y:auto;
}
.quick-add-form textarea::placeholder { color:#a5a5a5; }
@media(max-width:650px) {
  .quick-add-form textarea { font-size:16px; }
  .inbox-import-row { flex-wrap:wrap; }
}

/* Duplicate detection: visible, readable feedback rather than a short-lived toast only. */
.duplicate-feedback {
  margin:6px 0 12px;
  font-size:12px;
  line-height:1.5;
  color:#8e2952;
  overflow-wrap:anywhere;
}
#taskDuplicateFeedback { margin:8px 0 6px; }
#quickAddFeedback { margin:-8px 0 16px; }
.duplicate-review-dialog {
  width:min(560px,calc(100% - 24px));
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
}
.similar-review-list {
  max-height:min(340px,45dvh);
  overflow-y:auto;
  border-top:1px solid #eee;
  border-bottom:1px solid #eee;
  padding:4px 0;
}
.similar-review-item {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 2px;
}
.similar-review-item + .similar-review-item {border-top:1px solid #eee;}
.similar-review-item input {flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:#8e2952;}
.similar-review-item strong {display:block;font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:anywhere;}
.similar-review-item small {display:block;color:#666;font-size:12px;line-height:1.5;margin-top:3px;overflow-wrap:anywhere;}

/* Local Inbox discovery controls do not filter or change the adjacent day planner. */
.inbox-panel > .inbox-filter {flex:0 0 auto;margin:12px 0 13px;min-width:0}
.inbox-filter-controls {display:flex;gap:7px;align-items:center;min-width:0}
.inbox-filter-controls input,
.inbox-filter-controls select {height:36px;min-width:0;border:1px solid #e5e5e5;border-radius:9px;background:#fff;color:#414141;font-size:11px;padding:7px 9px}
.inbox-filter-controls input {flex:1 1 auto;width:0}
.inbox-filter-controls select {flex:0 1 115px;width:115px;max-width:46%;padding-left:7px;padding-right:5px}
.inbox-filter-controls input::placeholder {color:#979797}
.inbox-filter-controls input:focus-visible,
.inbox-filter-controls select:focus-visible,
.inbox-filter-clear:focus-visible {outline:2px solid #8e2952;outline-offset:2px}
.inbox-filter-footer {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;color:#888;font-size:10px;min-height:19px}
.inbox-filter-clear {border:0;background:transparent;color:#8e2952;padding:3px 0;cursor:pointer;font-size:10px;font-weight:650;white-space:nowrap}
.inbox-filter-clear:hover {text-decoration:underline}
body[data-active-view="inbox"] .inbox-filter {margin-top:17px}
