:root{color-scheme:dark;--bg:#10151d;--panel:#1a212c;--hover:#252f3d;--side:#171e28;--line:#303947;--text:#f1f4f9;--muted:#99a6b8;--blue:#8ac2ff;--accent:#378df1;--red:#ffadad;--green:#8bdbb6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input,select,textarea{background:#111923;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:10px 12px;min-width:0;max-width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #6faaff20}input::placeholder,textarea::placeholder{color:#8695a9}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}input[type=date],input[type=datetime-local]{min-height:44px;direction:ltr}label{display:block;font-size:13px;color:var(--muted)}label>input:not([type=checkbox]),label>select,label>textarea{display:block;width:100%;margin-top:6px;color:var(--text)}[hidden]{display:none!important}.primary,.secondary,.danger{border-radius:7px;padding:10px 15px;min-height:44px;font-weight:600}.primary{background:var(--accent);color:white;border:1px solid transparent}.secondary{background:var(--panel);color:var(--text);border:1px solid var(--line)}.danger{background:#4e272d;color:#ffc5c5;border:1px solid #71353e}.textbtn,.icon{background:none;border:0;color:var(--muted);padding:8px;border-radius:6px;min-height:40px}.textbtn:hover,.icon:hover{color:var(--blue);background:var(--hover)}.icon{min-width:40px;font-size:23px;line-height:1;position:relative}.textbtn.selected{color:var(--blue);border-bottom:2px solid var(--blue);border-radius:0}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.6px}h2{font-size:22px}h3{font-size:17px}.help,.optional{font-size:12px;color:var(--muted)}.help{margin:12px 0;line-height:1.8}.optional{font-weight:400;margin-inline-start:5px}.eyebrow{color:var(--blue);font-size:12px;margin-bottom:6px}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#203858,transparent 70%)}.loginbox{max-width:440px;width:100%;padding:32px;border:1px solid var(--line);background:var(--side);border-radius:18px}.brand{font-size:30px;font-weight:800;letter-spacing:2px;margin-bottom:28px}.brand span{display:block;font-weight:400;color:var(--blue);font-size:13px;letter-spacing:1px}.loginbox h1{font-size:25px}.loginbox p{color:var(--muted);margin:10px 0 24px}.loginbox label{margin:15px 0}.loginbox .primary{width:100%}#loginErr{color:var(--red);margin-bottom:0}.topbar{height:68px;display:flex;align-items:center;gap:16px;padding:0 22px;background:#151d2a;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.wordmark{color:var(--text);text-decoration:none;font-size:21px;font-weight:800;letter-spacing:1px;min-width:232px}.wordmark span{font-size:11px;font-weight:400;color:var(--muted);margin-inline-start:7px;letter-spacing:0}.search{display:flex;align-items:center;flex:1;max-width:730px;gap:8px;background:#252f3e;border:1px solid #465468;border-radius:7px;padding:0 12px}.search input{background:transparent;border:0;box-shadow:none;flex:1;margin:0;font-size:14px;padding:10px 0;width:100%}.search span{font-size:26px;color:var(--blue)}.search kbd{color:var(--muted);font-size:16px}.workspace{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:calc(100dvh - 68px)}.sidebar{background:var(--side);padding:24px 12px 16px;border-inline-end:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:68px;height:calc(100dvh - 68px);overflow-y:auto}.sidecaption{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;padding:0 14px;margin-bottom:12px}.navitem{display:flex;align-items:center;width:100%;border:0;background:transparent;color:#d4deeb;padding:12px 16px;text-align:start;gap:13px;min-height:46px;border-radius:6px;margin:3px 0}.navitem:hover{background:var(--hover)}.navitem.active{background:#293b53;color:var(--blue);box-shadow:inset -3px 0 var(--blue)}.navitem .symbol{width:23px;font-size:20px;color:var(--blue)}.navitem .navname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navitem .count{font-size:12px;color:var(--muted)}.side-divider{height:1px;background:var(--line);margin:20px 14px}.newlist{padding:12px 16px;color:var(--blue);background:transparent;border:0;text-align:start}.grouphead{display:flex;align-items:center;color:var(--muted);font-size:13px;margin:12px 0 2px;padding-inline-start:9px}.grouphead .groupcollapse{flex:1;text-align:start;color:var(--muted);border:0;background:none;overflow:hidden;text-overflow:ellipsis;padding:8px}.grouphead .textbtn{min-height:32px}.grouplists{padding-inline-start:14px}.sidefooter{margin-top:auto;padding:28px 12px 4px}.sidefooter span{display:block;color:#75869d;font-size:10px;margin:14px 8px}main{padding:32px 36px 64px;min-width:0;max-width:1500px;width:100%;margin:0 auto}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.pagehead h1{color:var(--blue)}.pagehead p{font-size:13px;color:var(--muted);margin-top:6px}.headbuttons{display:flex;gap:8px;flex-wrap:wrap}.quickadd{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:20px}.quickline{display:flex;gap:14px;align-items:center;padding:14px 18px}.quickline input{flex:1;background:none;border:0;box-shadow:none;padding:6px 0}.emptycircle{width:21px;height:21px;border:1.5px solid var(--blue);border-radius:50%;flex-shrink:0}.quickoptions{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:10px 18px;background:#17202c}.quickoptions label{display:flex;align-items:center;gap:9px;font-size:11px}.quickoptions label input,.quickoptions label select{width:auto;margin:0;padding:5px 8px;max-width:235px;font-size:12px;background:transparent;min-height:34px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--muted);font-size:12px;gap:10px}.toolbar>div{display:flex;gap:8px;align-items:center}.toolbar select{font-size:12px;padding:6px}.taskrows{display:grid;gap:3px}.taskrow{display:flex;align-items:center;gap:12px;min-height:72px;padding:10px 14px;background:var(--panel);border:1px solid #ffffff05;border-radius:5px}.taskrow:hover{background:var(--hover)}.roundcheck{appearance:none;-webkit-appearance:none;border:1.5px solid var(--blue);border-radius:50%;width:22px!important;height:22px!important;display:grid;place-items:center;padding:0!important;cursor:pointer;background:transparent}.roundcheck:checked{background:var(--accent);border-color:var(--accent)}.roundcheck:checked:after{content:'✓';font-size:14px;color:white}.taskbody{flex:1;text-align:start;border:0;background:transparent;color:var(--text);padding:3px;min-width:0}.taskname{font-size:15px;display:block;overflow-wrap:anywhere}.taskmeta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:4px}.taskrow.done .taskname{text-decoration:line-through;color:var(--muted)}.star{border:0;background:transparent;color:var(--muted);font-size:25px;min-width:40px;min-height:40px}.star.on{color:var(--blue)}.late{color:var(--red)}.donegroup{margin-top:22px}.donegroup>summary{color:var(--muted);padding:12px 0;cursor:pointer}.bucket{margin-bottom:28px}.buckethead{font-size:14px;margin:18px 0 10px;color:#dbe6f4}.buckethead span{font-weight:400;font-size:12px;color:var(--muted);margin-inline-start:8px}.cards .taskrows{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.cards .taskrow{align-items:flex-start;padding:18px;min-height:116px}.cards .taskrow .roundcheck{margin-top:5px}.empty{display:grid;place-items:center;text-align:center;padding:65px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.empty .emptysymbol{font-size:40px;color:var(--blue);margin-bottom:12px}.empty h2{color:var(--text);font-size:19px;margin-bottom:8px}.empty p{font-size:13px;max-width:370px}.jobcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.jobcard{color:var(--text);text-align:start;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:20px;cursor:pointer;min-width:0}.jobcard:hover{border-color:#5e7fa7}.jobcard h3{margin:9px 0;overflow-wrap:anywhere}.jobcard p{color:var(--muted);font-size:13px}.jobcard .jobbottom{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:10px}.badge{display:inline-block;font-size:11px;padding:3px 8px;background:#2c4059;color:var(--blue);border-radius:5px}.badge.green{background:#214235;color:var(--green)}.jobfilters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.progress{height:5px;background:#354053;border-radius:4px;overflow:hidden;margin:15px 0}.progress i{display:block;background:var(--blue);height:100%;transition:width .2s}.sectionline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:22px 0 12px}.sectionline>span{font-size:12px;color:var(--muted)}dialog{background:var(--side);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(580px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:26px;overflow:auto}dialog::backdrop{background:#030911bb;backdrop-filter:blur(3px)}.jobdialog{width:min(830px,calc(100% - 28px))}.drawer{width:min(530px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-radius:0;border-block:0;padding:28px;position:fixed;inset:0 0 0 auto}.dialoghead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:24px}.dialoghead p{color:var(--muted);font-size:13px;margin-top:6px}.dialogfoot{display:flex;gap:12px;justify-content:space-between;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}dialog form>label{margin:15px 0}.tasktitlelabel input{font-size:20px;font-weight:600}.togglebar{display:flex;gap:20px;flex-wrap:wrap;padding:12px 0;margin-bottom:12px}.togglebar label{display:flex;align-items:center;gap:7px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.inputwithbutton{display:flex;gap:6px;margin-top:6px}.inputwithbutton select{flex:1;width:100%}.inputwithbutton button{font-size:12px;padding:7px}.draftstep{display:flex;align-items:center;gap:9px;margin:7px 0;background:var(--panel);padding:8px;border-radius:6px}.draftstep input[type=text]{flex:1;min-width:0;background:none;border:0}.draftstep input[type=date]{width:150px;font-size:12px}.draftstep .icon{font-size:19px;color:var(--muted)}.draftstep.done input[type=text]{text-decoration:line-through;color:var(--muted)}.inlineadd{display:flex;gap:8px;margin:12px 0}.inlineadd>input{flex:1;width:100%}.commercial{margin:24px 0 0;padding:14px;border:1px solid var(--line);border-radius:8px}.commercial summary{cursor:pointer;font-size:13px;color:var(--muted)}.commercial .formgrid{margin-top:16px}.jobmeta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.livestep{display:flex;align-items:center;gap:10px;background:var(--panel);padding:12px;border-radius:7px;margin:6px 0}.livestep .steptext{flex:1;min-width:0;overflow-wrap:anywhere;cursor:pointer;border:0;text-align:start;background:none;color:var(--text);padding:4px}.livestep.done .steptext{text-decoration:line-through;color:var(--muted)}.livestep input[type=date]{width:145px;padding:6px;font-size:12px}.typeitem{display:flex;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.typeitem input{flex:1;width:100%}.typeitem .secondary{font-size:12px;padding:6px 9px}.alertitem{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.alertitem>div{flex:1}.alertitem p{font-size:12px;color:var(--muted)}#alertCount{position:absolute;background:#c44d5f;border-radius:50%;font-size:10px;color:#fff;top:0;right:0;padding:3px;min-width:17px}.errorbar{padding:16px;background:#4d2630;color:#ffccd5;border:1px solid #7d4654;border-radius:8px;margin-bottom:20px;overflow-wrap:anywhere}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90%;padding:13px 22px;border:1px solid #567599;background:#223a56;color:#fff;border-radius:9px;box-shadow:0 10px 35px #0005;z-index:1000;font-size:14px}.mobile{display:none}.shade{display:none}
@media(max-width:1100px){.workspace{grid-template-columns:230px minmax(0,1fr)}.wordmark{min-width:190px}main{padding:26px 22px}.quickoptions{gap:10px}.quickoptions label{flex:1;min-width:160px;flex-wrap:wrap}.quickoptions label input,.quickoptions label select{width:100%;max-width:none}.wordmark span{display:none}}
@media(max-width:720px){body{font-size:14px}.mobile{display:block}.topbar{height:62px;padding:0 10px;gap:5px}.wordmark{display:none}.search{padding:0 8px}.search input{font-size:16px;min-width:0}.search kbd{display:none}.topbar .textbtn{font-size:12px}.workspace{display:block}.sidebar{position:fixed;top:62px;bottom:0;right:0;height:calc(100dvh - 62px);width:280px;max-width:85vw;z-index:31;transform:translateX(100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.shade:not([hidden]){display:block;position:fixed;inset:62px 0 0;border:0;background:#0008;z-index:30}main{padding:22px 14px 50px}.pagehead{align-items:flex-start;gap:10px;margin-bottom:20px}h1{font-size:25px}.pagehead p{font-size:12px}.headbuttons .primary{font-size:12px;padding:8px 10px}.eyebrow{font-size:10px}.quickline{padding:12px;gap:8px}.quickline input{font-size:16px}.quickline .primary{padding:8px 10px;font-size:12px}.quickoptions{padding:10px 12px;gap:10px}.quickoptions label{min-width:calc(50% - 10px)}.quickoptions label:last-child{flex-basis:100%}.quickoptions label input,.quickoptions label select{font-size:16px;min-height:40px}.toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar>div{gap:4px}.taskrow{padding:10px;gap:9px;min-height:74px}.taskname{font-size:14px}.taskmeta{font-size:10px;gap:7px}.cards .taskrows{grid-template-columns:1fr}.jobcards{grid-template-columns:1fr}dialog{padding:20px 16px;max-height:calc(100dvh - 16px);width:calc(100% - 16px)}dialog.drawer{width:100%;max-height:100dvh;padding:20px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}input,select,textarea{font-size:16px}.draftstep{flex-wrap:wrap;gap:5px}.draftstep input[type=text]{width:calc(100% - 85px)}.draftstep input[type=date]{margin-inline-start:28px;flex:1;font-size:16px}.draftstep .icon{margin-inline-start:auto}.livestep{flex-wrap:wrap;gap:6px}.livestep .steptext{width:calc(100% - 70px);flex:auto}.livestep input[type=date]{margin-inline-start:28px;flex:1;width:auto;font-size:16px}.typeitem{flex-wrap:wrap}.typeitem input{flex-basis:100%}.drawer .togglebar{gap:12px}.sectionline{align-items:flex-start}.sectionline>span{font-size:11px;max-width:55%}.toast{bottom:12px;width:max-content}.empty{padding:45px 16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:720px){.draftstep{display:grid;grid-template-columns:24px minmax(0,1fr)36px;padding:10px;gap:8px}.draftstep input[type=checkbox]{grid-column:1;grid-row:1}.draftstep input[type=text]{grid-column:2;grid-row:1;width:100%;padding:8px 4px}.draftstep .icon{grid-column:3;grid-row:1;margin:0}.draftstep input[type=date]{grid-column:2/4;grid-row:2;width:100%;margin:0;min-width:0}.livestep input[type=date]{min-width:160px}}
/* V4.1 reminders */
.reminderbanner{display:block;width:100%;text-align:right;background:#19384b;color:#aee9eb;border:1px solid #2a6375;border-radius:12px;padding:15px;margin:16px 0;cursor:pointer}.reminderbanner[hidden]{display:none}.remindercard{padding:16px 0;border-bottom:1px solid var(--line,#344052)}.remindercard p{font-size:13px;color:#aab8ca;margin:8px 0 14px}.reminderactions{display:flex;flex-wrap:wrap;gap:8px}.reminderactions button{font-size:13px;padding:9px 12px}#reminderDialog{width:min(480px,calc(100vw - 24px))}#reminderDialog label{display:grid;gap:8px;margin:16px 0}#reminderDialog .formgrid label{margin:0}#alertsDialog{width:min(680px,calc(100vw - 24px))}#exportDialog p{line-height:1.8}.quickoptions button{max-width:100%;white-space:normal;text-align:right}.sidefooter{gap:12px}#taskReminderBtn{height:auto;min-height:44px;white-space:normal;text-align:right}
/* Compact anchored reminder picker */
#reminderDialog{position:fixed;inset:auto;margin:0;width:min(336px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:14px;border:1px solid #405169;border-radius:14px;background:#1b2533;color:#e8edf5;box-shadow:0 12px 35px #0008;direction:rtl}#reminderDialog::backdrop{background:transparent;backdrop-filter:none}#reminderDialog .pickerhead,#reminderDialog .calendarhead,#reminderDialog .pickerfoot{display:flex;align-items:center;justify-content:space-between;gap:8px}#reminderDialog .datepresets{display:flex;gap:6px;margin:10px 0}#reminderDialog .datepresets button{flex:1;padding:7px;font-size:12px}#reminderDialog .calendarhead{font-size:14px}#reminderDialog .calendarweek,#reminderDialog .calendardays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}#reminderDialog .calendarweek{font-size:11px;color:#9bacc0;margin:8px 0 4px}#reminderDialog .calendardays button{border:0;background:transparent;color:inherit;border-radius:7px;padding:6px 0;font-size:13px;cursor:pointer}#reminderDialog .calendardays button:hover{background:#32485f}#reminderDialog .calendardays button[aria-current=date]{box-shadow:inset 0 0 0 1px #5e89b6}#reminderDialog .calendardays button[aria-pressed=true]{background:#3089e9;color:white}#reminderDialog .pickertime{display:flex;align-items:center;gap:7px;margin:12px 0;font-size:12px}#reminderDialog .pickertime select{padding:7px;width:auto;min-width:0;font-size:14px}#reminderDialog .pickertime select:first-of-type{flex:1}#reminderDialog .repeatoptions{border:0;padding:0;margin:10px 0;display:flex;gap:5px}#reminderDialog .repeatoptions legend{font-size:12px;color:#acbdd0;margin-bottom:8px}#reminderDialog .repeatoptions label{display:block;position:relative;flex:1;margin:0;cursor:pointer}#reminderDialog .repeatoptions input{position:absolute;opacity:0;width:1px;height:1px}#reminderDialog .repeatoptions span{display:block;text-align:center;padding:8px 3px;border:1px solid #405169;border-radius:8px;font-size:12px}#reminderDialog .repeatoptions input:checked+span{background:#254c74;color:#bdddff;border-color:#4b9bea}#reminderDialog .repeatoptions input:focus-visible+span{outline:2px solid #bdddff;outline-offset:2px}#reminderDialog .help{font-size:11px;margin:10px 0;line-height:1.5}#reminderDialog .pickerfoot button{padding:8px 16px;font-size:13px}
