:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#1e2924;background:#f4f6f3;font-synthesis:none;--surface:#fff;--muted:#69756f;--line:#dfe5e1;--brand:#315c4c;--brand-soft:#e1ece7;--danger:#b42318;--warning:#9a6700}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.content{max-width:760px;margin:auto;padding:0 20px 110px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px 0 14px;position:sticky;top:0;background:color-mix(in srgb,#f4f6f3 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5}.topbar h1{font-size:18px;margin:0}.topbar p{font-size:13px;color:var(--muted);margin:5px 0 0}.topbar i:after{content:"•";font-style:normal;margin:0 5px}.sync,.icon-button{border:0;background:var(--surface);width:42px;height:42px;border-radius:14px;font-size:21px;box-shadow:0 2px 10px #273b3110}.page-intro{padding:22px 0}.page-intro small{text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--brand);font-size:11px}.page-intro h2{font-size:34px;letter-spacing:-.04em;margin:4px 0}.page-intro p{color:var(--muted);margin:0;text-transform:capitalize}.task-section{margin:4px 0 28px}.task-section>h2{font-size:14px;text-transform:capitalize;margin:0 0 10px;display:flex;gap:7px;align-items:center}.task-section>h2 span{font-size:11px;background:#e4e9e6;color:var(--muted);padding:2px 7px;border-radius:999px}.task-card{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);padding:13px;border-radius:16px;margin:8px 0;box-shadow:0 3px 12px #24382e08}.task-card.waiting{background:#f7f8f7;border-style:dashed}.complete{flex:none;border:1.5px solid #9baba4;color:transparent;background:transparent;border-radius:50%;width:25px;height:25px;line-height:20px;padding:0}.complete:hover{background:var(--brand);border-color:var(--brand);color:#fff}.task-main{min-width:0;flex:1}.task-title{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{display:flex;gap:7px;color:var(--muted);font-size:11px;margin-top:5px;flex-wrap:wrap}.meta span:not(:last-child):after{content:"·";margin-left:7px}.meta .category{color:var(--brand);font-weight:650}.deadline{font-size:11px;color:var(--muted);white-space:nowrap}.deadline.danger{color:var(--danger);font-weight:750}.deadline.warning{color:var(--warning);font-weight:700}.empty{padding:22px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:13px;text-align:center}.fab{position:fixed;right:22px;bottom:88px;width:58px;height:58px;border-radius:19px;border:0;background:var(--brand);color:#fff;font-size:31px;box-shadow:0 10px 25px #18382b4d;z-index:7}.bottom{position:fixed;z-index:6;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:grid;grid-template-columns:repeat(4,1fr);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--line)}.bottom a,aside a{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--muted);font-size:11px;padding:5px}.bottom a span{font-size:19px}.bottom a.active,aside a.active{color:var(--brand);font-weight:700}aside{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d18134d;z-index:20;display:flex;align-items:flex-end;justify-content:center}.task-form,.repeat-dialog{background:var(--surface);width:min(680px,100%);max-height:94vh;overflow:auto;border-radius:25px 25px 0 0;padding:22px}.task-form header{display:flex;justify-content:space-between;align-items:start}.task-form header small{text-transform:uppercase;color:var(--brand);font-weight:750;letter-spacing:.12em}.task-form h2,.repeat-dialog h2{margin:3px 0 20px}.task-form label,.repeat-dialog label,.login label{display:grid;gap:6px;font-weight:650;font-size:13px;margin:14px 0}.task-form input,.task-form select,.repeat-dialog input,.login input,.filters input,.filters select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;padding:12px 13px;outline:none}.task-form input:focus,.task-form select:focus,.login input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}fieldset{border:0;padding:0;margin:16px 0}legend{font-size:13px;font-weight:650;margin-bottom:8px}.quick-dates{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}.quick-dates button{border:1px solid var(--line);background:var(--surface);padding:8px 11px;border-radius:999px;font-size:12px}.quick-dates button.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.more-toggle,.danger-link{background:none;border:0;color:var(--brand);font-weight:700;padding:10px 0}.more-grid{display:grid;grid-template-columns:1fr;gap:0}.task-form footer,.repeat-dialog footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.task-form footer span{flex:1}.primary,.secondary{border:0;border-radius:12px;padding:11px 16px;font-weight:700}.primary{background:var(--brand);color:#fff}.secondary{background:#edf1ef;color:inherit}.danger-link{color:var(--danger)}button:disabled{opacity:.55}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.filters input{grid-column:1/-1}.completed-list article{display:flex;justify-content:space-between;gap:15px;padding:15px 2px;border-bottom:1px solid var(--line)}.completed-list div{display:grid;gap:4px}.completed-list span,.completed-list time{color:var(--muted);font-size:12px}.toast,.update{position:fixed;z-index:30;left:50%;transform:translate(-50%);bottom:94px;background:#20352c;color:#fff;padding:11px 15px;border-radius:12px;font-size:13px;box-shadow:0 10px 30px #0003}.update button{margin-left:8px}.offline,.error-banner{padding:10px 13px;border-radius:12px;font-size:13px;background:#fff3cd;color:#6d5200}.error-banner{background:#fee4e2;color:var(--danger)}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login form{width:min(390px,100%);background:var(--surface);padding:32px;border-radius:24px;border:1px solid var(--line);box-shadow:0 20px 50px #1a2a2220}.brand-mark{width:52px;height:52px;display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:16px;font-size:25px}.login h1{margin:20px 0 5px}.login p{color:var(--muted);margin:0 0 20px}.login .primary{width:100%;margin-top:10px}.login .error{color:var(--danger);font-size:13px}.logout{margin-top:auto;background:none;border:0;color:var(--muted);padding:12px}.logo{display:flex;gap:9px;align-items:center;margin-bottom:28px}.logo span{display:grid;place-items:center;background:var(--brand);color:#fff;width:32px;height:32px;border-radius:10px}@media(min-width:900px){.app-shell{display:grid;grid-template-columns:230px 1fr}.content{width:100%;padding:0 40px 70px}.bottom{display:none}.fab{bottom:34px;right:40px}aside{display:flex;position:sticky;top:0;height:100vh;flex-direction:column;padding:26px 20px;background:var(--surface);border-right:1px solid var(--line)}aside a{flex-direction:row;justify-content:flex-start;font-size:14px;padding:11px;border-radius:10px;margin:2px 0;gap:10px}aside a.active{background:var(--brand-soft)}aside a span{width:20px}.more-grid{grid-template-columns:1fr 1fr;gap:0 12px}.task-form,.repeat-dialog{border-radius:24px;margin:auto}.filters{grid-template-columns:2fr repeat(3,1fr)}.filters input{grid-column:auto}}@media(prefers-color-scheme:dark){:root{color:#e5ece8;background:#111714;--surface:#19211d;--muted:#9daba4;--line:#2e3a34;--brand:#79b29c;--brand-soft:#203c31}.topbar{background:#111714ec}.primary{background:#477b67}.task-card.waiting{background:#171d1a}.secondary{background:#27312c}.offline{background:#3d3218;color:#e6cb82}.error-banner{background:#452320}.login form{box-shadow:none}}html,body,#root{max-width:100%;overflow-x:hidden}:root{font-size:16px;--brand:#245f49;--brand-soft:#dcefe7;--on-brand:#fff}.content{width:100%;min-width:0;padding-left:16px;padding-right:16px}.content>*{min-width:0}.topbar{gap:12px}.topbar>div{min-width:0}.topbar h1{font-size:20px}.topbar p{font-size:14px;line-height:1.45}.page-intro small{font-size:13px}.page-intro h2{font-size:36px}.page-intro p{font-size:16px}.task-section>h2{font-size:16px}.task-section>h2 span{font-size:13px;padding:3px 8px}.task-card{min-width:0;padding:15px 13px;gap:11px}.task-title{font-size:17px;line-height:1.35}.meta{font-size:13px;line-height:1.4}.deadline{font-size:13px}.complete{width:30px;height:30px;line-height:26px;font-size:17px}.bottom a{min-width:0;font-size:13px;padding:7px 2px}.bottom a span{font-size:21px}.fab,.primary,.brand-mark,.logo span,.complete:hover{background:var(--brand);color:var(--on-brand)}.primary,.secondary{min-height:44px;font-size:15px}.task-form label,.repeat-dialog label,.login label{font-size:15px}.task-form input,.task-form select,.repeat-dialog input,.login input,.filters input,.filters select{min-width:0;font-size:16px;min-height:46px}.task-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:84px;resize:vertical;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;padding:12px 13px;font:inherit;font-size:16px;line-height:1.45;outline:none}.task-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.more-grid .action-field{min-width:0}.quick-dates button{min-height:42px;font-size:14px;color:inherit}.quick-dates button.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.more-toggle,.danger-link{font-size:15px}.empty,.toast,.update,.offline,.error-banner,.login .error{font-size:14px;line-height:1.45}.filters>*{min-width:0}.completed-list article{min-width:0;flex-wrap:wrap}.completed-list div{min-width:0;flex:1 1 220px}.completed-list b{font-size:16px}.completed-list span,.completed-list time{font-size:14px}.task-form footer,.repeat-dialog footer{flex-wrap:wrap}.task-form footer span{display:none}.task-form footer button,.repeat-dialog footer button{flex:1 1 calc(50% - 8px)}@media(max-width:420px){.topbar{padding-top:18px}.topbar p{font-size:13px}.page-intro{padding:18px 0}.page-intro h2{font-size:32px}.task-card{align-items:flex-start}.deadline{max-width:78px;white-space:normal;text-align:right;line-height:1.3}.filters{grid-template-columns:1fr}.filters input{grid-column:auto}.task-form,.repeat-dialog{padding:18px 16px}}@media(prefers-color-scheme:dark){:root{color:#f2f7f4;--muted:#bdc9c3;--brand:#37745b;--brand-soft:#254637;--on-brand:#fff}.primary,.fab,.brand-mark,.logo span,.complete:hover,.quick-dates button.active{color:#fff}.bottom a.active,aside a.active,.meta .category,.page-intro small,.more-toggle{color:#9fd8bf}}
