:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263e36;background:#f6f7f3;font-size:87.5%;font-synthesis:none;--green:#275d4d;--muted:#7b8780;--line:#e6eae4;--cream:#f6f7f3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--green);text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #a8bd82;outline-offset:3px}input,select,textarea{border:1px solid #dce2da;background:#fff;border-radius:8px;padding:11px 12px;color:#263e36;min-width:0;max-width:100%;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#6e9783;box-shadow:0 0 0 3px #275d4d0c}input::placeholder,textarea::placeholder{color:#a2aba4}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:8px;font-size:0.857143rem;font-weight:600;margin:17px 0}label small{font-weight:400;color:var(--muted);line-height:1.6}h1,h2,h3,h4,p{margin:0}h1{font-size:2.428571rem;letter-spacing:-1.15px;font-weight:600;line-height:1.25}h2{font-size:1.857143rem;letter-spacing:-.65px;font-weight:600;line-height:1.35}h3{font-size:1.142857rem;font-weight:600}h4{font-size:1rem}p{line-height:1.7}.muted{color:var(--muted);font-size:0.928571rem;line-height:1.7}.eyebrow{font-size:0.714286rem;font-weight:600;letter-spacing:1.8px;color:#8a958a;line-height:1.5}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:11px 17px;border-radius:8px;font-size:0.857143rem;font-weight:600;white-space:nowrap}.primary{background:var(--green);color:#fff;box-shadow:0 3px 5px #244a3110}.primary:hover{background:#1c483b}.primary span{font-size:1.357143rem;line-height:15px}.secondary{background:white;border:1px solid #dce2da;color:#476151}.secondary:hover{background:#f5f7f2}.full{width:100%;margin-top:15px}.text-button{background:none;color:var(--green);font-size:0.857143rem;font-weight:600;margin-left:auto}.icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:transparent;color:#859188;font-size:1.5rem;flex-shrink:0}.icon-button:hover{background:#edf1e9;color:var(--green)}.brand-mark{width:34px;height:34px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:2.214286rem;font-weight:bold;border-radius:10px;padding-bottom:3px;flex-shrink:0}.wordmark{display:flex;align-items:center;gap:10px;color:#233f33;font-size:1.571429rem;font-weight:650;letter-spacing:-.7px}.avatar{background:#e8eddf;color:#4c694f;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:0.857143rem;font-weight:600;flex-shrink:0}.small-avatar{width:29px;height:29px;font-size:0.714286rem;margin-left:7px}.tiny-avatar{width:25px;height:25px;font-size:0.642857rem}.app-shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#f0f3ec;border-right:1px solid #e1e6dc;padding:29px 19px 0;display:flex;flex-direction:column;z-index:20}.sidebar .wordmark{padding-left:9px}.workspace-label{display:flex;gap:10px;align-items:center;background:#f9faf6;border:1px solid #e0e6da;border-radius:9px;padding:12px 10px;margin:33px 0 28px}.workspace-label strong{font-size:0.785714rem;font-weight:600}.workspace-label small{display:block;font-size:0.642857rem;color:#8b9588;margin-top:5px}.workspace-icon{background:#e2e9d9;border:1px solid #d9e2cf;width:29px;height:29px;display:grid;place-items:center;border-radius:6px;color:#647852;font-size:0.857143rem}.nav-caption{font-size:0.642857rem;letter-spacing:1.5px;color:#929c8d;margin:0 12px 12px}nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;padding:12px 13px;color:#74816f;border-radius:7px;font-size:0.857143rem}.nav-item.active{background:#e0e8d7;color:#315d40;font-weight:600}.nav-item:hover{background:#e5ebde}.nav-icon{width:19px;font-size:1.285714rem;text-align:center;line-height:19px;font-weight:400}.nav-count{margin-left:auto;background:#c9d9bb;border-radius:5px;font-size:0.642857rem;padding:2px 6px}.sidebar-note{margin:auto 12px 33px;border-top:1px solid #dce3d5;padding-top:23px}.sidebar-note>span{font-size:1.857143rem;color:#9caa78;display:block;margin-bottom:12px}.sidebar-note b{font-size:0.785714rem;line-height:1.7;display:block;font-weight:500}.sidebar-note p{font-size:0.714286rem;color:#949e8e;margin-top:7px;line-height:1.8}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #dde4d5;padding:18px 0 21px}.profile b{font-size:0.785714rem;display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis}.profile small{font-size:0.714286rem;color:#8c9786;display:block;margin-top:5px}.profile>.icon-button{margin-left:auto}.main{margin-left:240px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 43px;background:#fafbf8}.breadcrumb{font-size:0.785714rem;color:#94a08f}.breadcrumb>span{margin:0 12px;color:#c0c8ba}.breadcrumb b{font-weight:500;color:#5a705d}.top-actions{display:flex;align-items:center;gap:9px;color:#94a08f;font-size:0.714286rem}.online-indicator{height:5px;width:5px;background:#8da57c;border-radius:50%}.content{padding:37px 43px 30px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 31px}.page-heading h1{margin:10px 0 8px}.page-heading .muted{font-size:0.857143rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:11px;background:#fff;margin-bottom:31px;box-shadow:0 2px 5px #30452902}.stat{padding:20px 23px;position:relative}.stat+.stat:before{content:"";position:absolute;left:0;top:23px;bottom:23px;width:1px;background:var(--line)}.stat>span{display:flex;gap:8px;align-items:center;font-size:0.785714rem;color:#74836e}.dot{width:6px;height:6px;display:inline-block;border-radius:50%}.green{background:#7b9d79}.amber{background:#d2af68}.red{background:#d2927e}.blue{background:#8ca2b8}.stat strong{font-size:2.071429rem;font-weight:500;display:block;margin:13px 0 8px;line-height:1}.stat small{font-size:0.642857rem;color:#a0a99b}.task-section{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.section-top{padding:0 21px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:23px}.tabs button{background:transparent;padding:18px 0 16px;font-size:0.785714rem;color:#929c8e;position:relative}.tabs button.selected{color:#365a40;font-weight:600}.tabs button.selected:after{position:absolute;content:"";bottom:0;left:0;right:0;background:#597b4d;height:2px}.tabs span,.badge{background:#eef2e8;color:#7e8e70;border-radius:5px;padding:3px 6px;font-size:0.642857rem;margin-left:4px;font-weight:400}.result-count{font-size:0.714286rem;color:#a2aa9c}.filters{display:flex;gap:9px;padding:17px 21px;align-items:center}.filters select{font-size:0.714286rem;width:auto;max-width:160px;background:#fcfdfb;padding:9px 24px 9px 10px}.search-label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0 auto 0 0;font-size:1.428571rem;width:280px}.search-label input{border:0;background:none;font-size:0.785714rem;padding:7px 5px}.search-label input:focus{box-shadow:none}.table-heading,.task-row{display:grid;grid-template-columns:minmax(200px,1fr) 140px 105px 118px 30px;gap:12px;padding-left:22px;padding-right:20px;align-items:center}.table-heading{background:#fafbf8;border-top:1px solid #eff1ec;border-bottom:1px solid #eff1ec;padding-top:12px;padding-bottom:12px;font-size:0.571429rem;letter-spacing:.9px;color:#a0aa98}.task-row{padding-top:19px;padding-bottom:19px;min-height:85px;border-bottom:1px solid #eef1e9}.task-row:last-child{border-bottom:0}.task-row:hover{background:#fcfdfb}.task-title-cell{display:flex;align-items:center;gap:13px;min-width:0}.task-check{border:1.5px solid #cdd7c6;width:17px;height:17px;background:white;border-radius:5px;flex-shrink:0;padding:0;font-size:0.785714rem;color:white}.task-check:hover{border-color:#63916a;background:#eff4ea}.task-check.checked{background:#72966c;border-color:#72966c}.task-title{display:flex;flex-direction:column;gap:10px;background:transparent;text-align:left;min-width:0;padding:0;flex:1}.task-title>strong{font-size:0.857143rem;font-weight:500;line-height:1.45;word-break:break-word;color:#3b5140}.task-title>span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scope-badge{font-size:0.571429rem;background:#edf2e7;padding:3px 6px;color:#7a8b6b;border-radius:4px;display:inline-block;line-height:1.5}.scope-badge.personal{background:#f1edf5;color:#9482a1}.category-label{color:#9ca693;font-size:0.571429rem}.priority-label{font-size:0.571429rem;color:#bc976d}.assignee-cell{display:flex;align-items:center;gap:7px;font-size:0.714286rem;color:#87947c;min-width:0}.assignee-cell>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-cell{font-size:0.714286rem;color:#8d9983}.due-cell small{display:block;font-size:0.642857rem;margin-top:5px}.due-cell.overdue{color:#bf8974}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:0.642857rem;padding:5px 8px;border-radius:5px;white-space:nowrap}.status-badge i{width:4px;height:4px;border-radius:50%;background:currentColor}.todo{color:#8c967f;background:#f0f2eb}.progress{color:#aa9567;background:#f8f3e7}.blocked{color:#bc8a79;background:#faf0eb}.done{color:#72986c;background:#edf4e9}.cancelled{color:#919597;background:#eff0ef}.pin{font-size:1.357143rem;color:#c2cbbc}.pin.pinned{color:#a3af75}.struck{text-decoration:line-through;color:#a2ad99!important}.list-footer{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:0.642857rem;color:#a5ae9d}.mini-lock{font-size:0.928571rem;vertical-align:middle;margin-right:5px}.empty{text-align:center;padding:65px 20px 70px}.empty-icon{font-size:2.142857rem;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#f1f5ea;color:#93a47a;margin:0 auto 18px}.empty h3{font-size:1.214286rem;margin-bottom:10px}.empty p{font-size:0.857143rem;color:#94a08b;max-width:340px;margin:0 auto 20px}.panel{border:1px solid var(--line);border-radius:11px;padding:24px;background:white;margin-bottom:22px}.panel>h3{margin-bottom:12px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.notification{background:none;border-bottom:1px solid var(--line);padding:18px 8px;display:flex;align-items:center;gap:12px;width:100%;text-align:left}.notification>div{flex:1}.notification b{font-size:0.857143rem;font-weight:500;color:#687b61}.notification small{font-size:0.714286rem;color:#a1ab96;display:block;margin-top:7px}.notification>span:last-child{color:#8a9c7d}.notification.unread{background:#f7faf3}.notification-dot{width:5px;height:5px;border-radius:50%;background:#c8d1be}.unread .notification-dot{background:#668851}.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:23px;align-items:start}.team-card{padding:22px 0;border-bottom:1px solid var(--line)}.team-card h4{margin-bottom:15px}.member-line{display:flex;gap:10px;align-items:center;padding:10px 0;font-size:0.785714rem}.member-line>div{flex:1}.member-line b{font-weight:500}.member-line small{display:block;color:#9aa68f;font-size:0.714286rem;margin-top:4px}.member-line>.muted{font-size:0.714286rem}.inline-form{display:flex;align-items:end;gap:10px}.inline-form label{flex:1;margin-bottom:0}.inline-form>button{margin-bottom:0}.category-cloud{display:flex;flex-wrap:wrap;gap:7px}.category-cloud .scope-badge{font-size:0.714286rem;padding:5px 8px}.category-cloud small{font-size:0.642857rem}.checkbox-label{flex-direction:row;align-items:center;font-weight:400}.checkbox-label input{width:15px;height:15px;accent-color:var(--green)}.alert,.success{font-size:0.857143rem;padding:12px 15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 18px;line-height:1.6}.alert{background:#fcf0eb;border:1px solid #f1d6c9;color:#b16d53}.success{background:#eef5e8;border:1px solid #d9e8cc;color:#6f895f}.overlay{position:fixed;inset:0;background:#18362945;z-index:40;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.detail-drawer{width:560px;max-width:100%;background:#fff;padding:26px 32px;overflow-y:auto;box-shadow:-10px 0 50px #18362910}.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.detail-drawer h2{margin-bottom:17px;overflow-wrap:anywhere}.detail-meta{display:flex;align-items:center;gap:12px;font-size:0.785714rem;color:#8a9781;margin-bottom:22px}.description{font-size:0.928571rem;color:#78876e;white-space:pre-wrap;overflow-wrap:anywhere}.task-facts{display:grid;grid-template-columns:100px 1fr;gap:15px;margin:25px 0;font-size:0.857143rem}.task-facts dt{color:#94a08c}.task-facts dd{margin:0;color:#667b5b}.task-facts small{font-size:0.714286rem;display:block;color:#9ba78f;margin-top:4px}.detail-section{border-top:1px solid var(--line);padding-top:23px;margin-top:25px}.detail-section h3{margin-bottom:16px}.detail-section>small{display:block;margin-top:9px;font-size:0.714286rem}.note{background:#f7f9f3;border:1px solid #e9eee0;border-radius:8px;padding:14px;margin-bottom:12px}.note-heading{display:flex;gap:10px;justify-content:space-between;align-items:center}.note-heading b{font-size:0.785714rem;font-weight:600}.note-heading small{font-size:0.642857rem;color:#9da78f}.note p{font-size:0.857143rem;color:#74866a;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-section textarea{font-size:0.857143rem;margin-bottom:10px}.file-link{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:7px;margin-bottom:9px;font-size:0.785714rem}.file-link b{flex:1;overflow-wrap:anywhere;font-weight:500}.file-link small{color:#9aa58e;font-size:0.714286rem}.file-link>span{font-size:1.285714rem}.upload-label{position:relative;border:1px dashed #cfdac3;border-radius:7px;padding:13px;text-align:center;font-size:0.785714rem;color:#80936e;margin-bottom:8px;overflow:hidden}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.activity{display:flex;gap:13px;margin:17px 0;color:#8a9b7a;font-size:0.785714rem;line-height:1.7}.activity-dot{width:5px;height:5px;border-radius:50%;background:#c4d0b9;margin-top:6px;flex-shrink:0}.activity b{font-weight:500;color:#648154}.activity small{display:block;color:#a5af9a;font-size:0.642857rem;margin-top:4px}.reminder-line{display:flex;justify-content:space-between;align-items:center;font-size:0.785714rem;padding:8px 0;border-bottom:1px solid var(--line)}.reminder-line small{color:#9aa78d}.editor-overlay{z-index:50;justify-content:center;align-items:center;padding:25px}.editor{background:#fff;padding:26px 32px;width:600px;max-width:100%;max-height:calc(100dvh - 50px);overflow-y:auto;border-radius:14px;box-shadow:0 25px 80px #16342426}.editor h2{margin-bottom:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid label{margin:10px 0}.privacy-note{font-size:0.714286rem;color:#99a98a;background:#f7f9f3;padding:12px;border-radius:6px;margin-top:15px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.auth-story{background:#eaf0e1;padding:45px 60px;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.auth-story h1{font-family:Georgia,serif;font-size:clamp(35px,4vw,62px);font-weight:400;line-height:1.2;letter-spacing:-1.5px;margin:22px 0}.auth-story>div>p{color:#8a9a78;font-size:1rem}.auth-story>small{color:#99a88a;font-size:0.714286rem}.story-card{margin-top:45px;background:#f8faf2;border:1px solid #dde6ce;padding:20px;display:flex;gap:14px;align-items:center;border-radius:10px;max-width:380px}.story-card b{font-size:0.785714rem;font-weight:500}.story-card p{font-size:0.714286rem;color:#98a58a;margin-top:5px}.round-check{height:32px;width:32px;border-radius:50%;background:#e4edda;display:grid;place-items:center;color:#7a9b63}.auth-form{align-self:center;max-width:420px;padding:45px 30px;width:100%;margin:auto}.auth-form h2{margin:13px 0}.auth-form .muted{margin-bottom:26px;font-size:0.857143rem}.auth-form .eyebrow{font-size:0.642857rem}.auth-foot{font-size:0.714286rem;text-align:center;color:#a0aa94;margin-top:25px}.boot{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.boot .brand-mark{width:60px;height:60px;border-radius:16px;font-size:3.428571rem}.boot h1{font-size:1.785714rem}.boot p{color:#8c9c7d;font-size:0.857143rem}.loader{height:3px;width:90px;border-radius:5px;background:linear-gradient(90deg,#cddcbd,#6e8f59,#cddcbd);background-size:200%;animation:pulse 1.5s linear infinite;margin-top:10px}@keyframes pulse{to{background-position:200%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#blazor-error-ui{display:none;position:fixed;bottom:0;background:#fff3cd;width:100%;padding:15px;z-index:100;text-align:center}
@media(min-width:1500px){.content{padding-top:50px}.page-heading{margin-bottom:40px}.task-row{min-height:94px}.stat{padding:25px 28px}}
@media(max-width:1200px){.sidebar{width:210px;padding-left:13px;padding-right:13px}.main{margin-left:210px}.content{padding:30px 25px}.topbar{padding:0 25px}.table-heading,.task-row{grid-template-columns:minmax(170px,1fr) 105px 85px 105px 25px;gap:8px;padding-left:17px;padding-right:15px}.stat{padding:19px 16px}.filters{padding-left:17px;padding-right:17px}.search-label{width:200px}h1{font-size:2.142857rem}.settings-grid{grid-template-columns:1fr}}
@media(max-width:950px){.sidebar{width:75px;padding:22px 10px 0}.sidebar .wordmark{font-size:0;padding:0;justify-content:center;gap:0}.workspace-label,.nav-caption,.sidebar-note,.profile>div,.profile>.icon-button{display:none}.sidebar nav{margin-top:45px;gap:12px}.nav-item{justify-content:center;padding:13px 0;position:relative}.nav-item>span:not(.nav-icon){display:none}.nav-icon{font-size:1.642857rem}.nav-item:focus:after{content:attr(aria-label)}.profile{margin-top:auto;justify-content:center}.main{margin-left:75px}.page-heading{gap:15px}.topbar{height:65px}.content{padding:28px 22px}.filters{flex-wrap:wrap}.filters .search-label{flex:1}.stats{margin-bottom:24px}.stat small{font-size:0.571429rem}.table-heading,.task-row{grid-template-columns:minmax(170px,1fr) 90px 75px 100px 22px}.auth-story{padding:35px}.sidebar .nav-item{min-height:44px}}
@media(max-width:700px){.sidebar{inset:auto 0 0;width:100%;height:calc(66px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);border-top:1px solid #dce4d4;border-right:0;background:#f3f6eef5;backdrop-filter:blur(12px)}.sidebar .wordmark,.sidebar .profile{display:none}.sidebar nav{margin:0;display:flex;flex-direction:row;gap:0;height:66px;align-items:center;justify-content:space-around}.nav-item{flex-direction:column;gap:4px;width:auto;flex:1;padding:7px 3px;font-size:0.571429rem;max-width:90px}.nav-item>span:not(.nav-icon){display:inline;white-space:nowrap;font-size:0.571429rem}.nav-item>.nav-count{display:none!important}.nav-icon{font-size:1.428571rem;line-height:20px}.main{margin-left:0;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.topbar{height:58px;padding:0 19px}.top-actions{gap:5px}.top-actions>span:not(.avatar){display:none}.breadcrumb{font-size:0.714286rem}.content{padding:24px 16px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:24px}.page-heading .primary{padding:10px 12px;font-size:0.714286rem;min-height:36px;margin-top:26px}.page-heading h1{font-size:1.785714rem;letter-spacing:-.8px;margin-top:10px}.page-heading .eyebrow{font-size:0.571429rem;letter-spacing:1px}.page-heading .muted{font-size:0.785714rem;max-width:250px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:10px;gap:0}.stat{padding:17px 18px}.stat>span{font-size:0.714286rem}.stat strong{font-size:1.857143rem;margin:10px 0 6px}.stat small{font-size:0.571429rem}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--line)}.stat:nth-child(3):before{display:none}.stat+.stat:before{top:18px;bottom:18px}.filters{padding:12px;gap:8px}.filters .search-label{width:100%;flex-basis:100%}.filters select{max-width:calc(50% - 4px);flex:1;font-size:0.642857rem}.filters select:last-child:nth-child(4){max-width:100%}.section-top{padding:0 15px}.tabs{gap:20px}.tabs button{font-size:0.714286rem}.result-count{font-size:0.642857rem}.table-heading{display:none}.task-row{grid-template-columns:minmax(0,1fr) 32px;gap:7px;padding:17px 14px;position:relative}.task-title-cell{grid-column:1;gap:10px}.task-title>strong{font-size:0.857143rem}.task-title>span{gap:7px}.assignee-cell{display:none}.due-cell{grid-column:1;grid-row:2;padding-left:27px;font-size:0.642857rem;display:flex;align-items:center;gap:6px;margin-top:1px}.due-cell small{display:inline;margin:0;font-size:0.571429rem}.status-cell{grid-column:1;grid-row:2;justify-self:end;margin-top:1px;margin-right:5px}.status-badge{font-size:0.571429rem;padding:4px 6px}.task-row>.pin{grid-column:2;grid-row:1 / span 2;align-self:start}.task-check{width:17px;height:17px}.list-footer{font-size:0.571429rem;margin-top:14px}.list-footer>span:last-child{display:none}.panel{padding:20px 17px}.settings-grid{gap:0}.panel-heading h3{font-size:1rem}.panel-heading .secondary{font-size:0.714286rem;padding:8px 10px;min-height:33px}.detail-drawer{padding:22px 20px;padding-bottom:calc(25px + env(safe-area-inset-bottom));width:100%}.detail-drawer h2{font-size:1.714286rem}.overlay{z-index:60}.editor-overlay{padding:10px}.editor{padding:20px;max-height:calc(100dvh - 20px);border-radius:12px}.form-grid{gap:0 12px}.editor h2{font-size:1.642857rem}.editor label{font-size:0.785714rem}.editor input,.editor textarea,.editor select{font-size:1.142857rem}.auth-shell{grid-template-columns:1fr}.auth-story{padding:24px 25px;gap:30px}.auth-story>.wordmark{font-size:1.5rem}.auth-story>div{display:none}.auth-story>small{display:none}.auth-form{padding:35px 27px}.auth-form h2{font-size:1.785714rem}.inline-form{flex-wrap:wrap}.inline-form label{flex-basis:100%}.empty{padding:40px 20px}.empty h3{font-size:1.142857rem}.empty p{font-size:0.785714rem}.notification{padding:15px 3px}.notification b{font-size:0.785714rem}.notification small{font-size:0.642857rem}input,select,textarea{font-size:1.142857rem}.filters input,.filters select{font-size:0.857143rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.recurrence-badge{font-size:0.571429rem;color:#718f7b;background:#eff5ef;padding:3px 6px;border-radius:4px}.recurrence-box,.recurrence-editor{padding:14px;background:#f5f8f1;border:1px solid #e4ebdd;border-radius:8px;margin:18px 0}.recurrence-box b{font-size:0.857143rem;line-height:1.7}.recurrence-box p,.recurrence-editor p{font-size:0.785714rem;color:#85957a;line-height:1.7;margin-top:8px}.recurrence-box .text-button{display:block;margin:9px 0 0;padding:0;text-align:left}.recurrence-editor label{margin:0 0 10px}.recurrence-editor .form-grid{align-items:start}

.tree-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.view-toggle{font-size:0.714286rem;color:#52725d;border:1px solid #dce5d6;background:#f6f9f2;padding:6px 9px;border-radius:6px}.tree-controls .text-button{font-size:0.642857rem;margin:0;padding:0}.task-row .task-title-cell{padding-left:calc(var(--task-depth,0)*18px);gap:9px}.tree-toggle,.tree-spacer{width:18px;min-width:18px;height:24px;display:inline-flex;align-items:center;justify-content:center}.tree-toggle{padding:0;background:transparent;color:#78916f;font-size:1.214286rem;border-radius:4px}.tree-toggle:hover{background:#eaf2e3}.subtask-label,.subtask-count,.context-label{font-size:0.571429rem;color:#8b9d7c}.subtask-count{background:#f1f5ec;border-radius:4px;padding:3px 5px}.context-label{font-style:italic;color:#a1ad98}.context-row{background:#fafcf6}.parent-link{display:block;text-align:left;background:none;color:#829775;font-size:0.785714rem;line-height:1.6;padding:0;margin:0 0 13px;overflow-wrap:anywhere}.subtask-link{display:flex;align-items:center;gap:10px;width:100%;padding:12px 0;text-align:left;background:none;border-bottom:1px solid #edf1e6}.subtask-link>span:first-child{color:#8ca276;font-size:1.142857rem}.subtask-link strong{flex:1;font-size:0.857143rem;font-weight:500;color:#546b46;overflow-wrap:anywhere}.subtasks-section>.muted{font-size:0.785714rem}.parent-selector{grid-column:1 / -1}.subtasks-section .panel-heading{margin-bottom:8px}
@media(max-width:700px){.task-row .task-title-cell{padding-left:calc(min(var(--task-depth,0),3)*12px);gap:7px}.section-top{flex-wrap:wrap;padding-bottom:8px}.tree-controls{gap:10px;width:100%;justify-content:flex-start;padding-top:6px}.tree-controls .result-count{margin-left:auto}.subtask-link strong{font-size:0.785714rem}.subtask-link .status-badge{font-size:0.571429rem}}

.drag-handle,.drag-spacer{width:16px;min-width:16px;height:28px;display:inline-flex;align-items:center;justify-content:center}.drag-handle{background:none;color:#a4b39c;font-size:0.928571rem;letter-spacing:-5px;padding:0 5px 0 0;cursor:grab;touch-action:none;user-select:none}.drag-handle:active{cursor:grabbing}.drag-handle:hover{color:#426d4c;background:#edf4e7;border-radius:4px}.drag-spacer{pointer-events:none}.drag-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;border-top:1px solid #edf1e7;font-size:0.642857rem;color:#98a68d;background:#fcfdf9}.root-drop-zone{white-space:nowrap;border:1px dashed #d6e2cd;padding:7px 10px;border-radius:5px;font-size:0.642857rem}.drag-active .root-drop-zone{border-color:#789c63;color:#537841;background:#f0f6e9}.drop-root-active{background:#deedcf!important;border-color:#3e7941!important}.task-row{position:relative}.task-row.dragging{opacity:.35}.task-row.drop-before::before,.task-row.drop-after::after{position:absolute;content:"";left:10px;right:10px;height:3px;background:#64934e;z-index:2;border-radius:2px}.task-row.drop-before::before{top:0}.task-row.drop-after::after{bottom:0}.task-row.drop-inside{background:#eaf3e1;outline:2px solid #89ab71;outline-offset:-2px}.task-row.drop-invalid{background:#faf1eb;outline:1px dashed #c59a82;outline-offset:-2px}.task-drag-ghost{position:fixed;z-index:100;pointer-events:none;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#2b5b43;color:white;padding:11px 15px;font-size:0.857143rem;border-radius:8px;box-shadow:0 5px 24px #143b3033}.drag-status{display:block;font-size:0.714286rem;color:#67825a;background:#f4f8ef;line-height:1.6}.drag-status:not(:empty){padding:9px 18px}.move-editor h2{font-size:1.571429rem;overflow-wrap:anywhere}.move-editor .muted{margin-top:10px}.drag-active{user-select:none}@media(max-width:700px){.drag-toolbar{font-size:0.571429rem;padding:8px 12px;gap:8px}.root-drop-zone{font-size:0.571429rem;padding:8px}.task-row .task-title-cell{gap:5px}.drag-handle,.drag-spacer{width:14px;min-width:14px}.task-drag-ghost{max-width:230px;font-size:0.785714rem}}

/* Feedback must never move drop targets beneath the pointer. */
.drag-toolbar{min-height:48px}.drag-status{flex:1;height:30px;min-height:30px;line-height:15px;overflow:hidden;background:transparent;font-size:0.642857rem;color:#7b916b}.drag-status:not(:empty){padding:0}.root-drop-zone{flex-shrink:0}
.task-label{flex:1;min-width:0}.task-label .task-title{width:100%}.row-add-subtask{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:0.642857rem;color:#638354;background:#f1f6eb;border:1px solid #dfebd5;border-radius:5px;padding:5px 8px;min-height:27px;margin-top:8px;white-space:nowrap}.row-add-subtask:hover{background:#e5f0dc;color:#37613e}.calendar-panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:24px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px}.calendar-toolbar h2{font-size:1.714286rem}.calendar-toolbar .muted{font-size:0.714286rem;margin-top:5px}.calendar-navigation{display:flex;align-items:center;gap:8px}.calendar-navigation .icon-button{border:1px solid var(--line);font-size:1.714286rem;background:#fff}.calendar-filters{display:flex;gap:10px;padding:0 24px 18px}.calendar-filters input{flex:1.4}.calendar-filters select{flex:1}.calendar-filters input,.calendar-filters select{font-size:0.785714rem;min-width:0}.calendar-legend{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:12px 24px;background:#fafcf7;font-size:0.714286rem;color:#8b9a7e;flex-wrap:wrap}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend label{margin:0 0 0 auto;display:flex;align-items:center;flex-direction:row;font-size:0.714286rem;font-weight:400;gap:6px}.calendar-legend input{width:13px;height:13px;accent-color:#63834d}.calendar-legend-dot,.calendar-task-dot{height:6px;width:6px;border-radius:50%;background:#819b69;display:inline-block;flex-shrink:0}.calendar-legend-dot.preview,.calendar-task-dot.preview{background:transparent;border:1px solid #819b69}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);background:#fafbf8}.calendar-weekdays span{font-size:0.714286rem;color:#95a08c;padding:13px 10px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{min-height:124px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:8px 5px;min-width:0;background:#fff}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:#f9faf7}.calendar-cell.outside .calendar-date{color:#bac4b2}.calendar-cell.selected{box-shadow:inset 0 0 0 2px #a7bd91;background:#f8fbf2}.calendar-date{width:27px;height:27px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:none;color:#849478;font-size:0.785714rem;margin:0 0 5px 3px}.calendar-date:hover{background:#e9f1df}.calendar-cell.today .calendar-date{background:var(--green);color:white}.calendar-event{display:flex;align-items:center;gap:4px;flex-wrap:wrap;width:100%;padding:5px 6px;margin:4px 0;border:1px solid transparent;border-radius:5px;font-size:0.642857rem;text-align:left;color:#627d50;background:#eef4e7;min-width:0}.calendar-event.preview{border:1px dashed #b8cba6;background:#f8fbf2;color:#8b9f79}.calendar-event.progress{background:#f8f2e5;color:#a28d61}.calendar-event.blocked{background:#faede7;color:#b7816b}.calendar-event.done{background:#f2f5ed;color:#a6b19b}.calendar-event.done .calendar-event-title{text-decoration:line-through}.calendar-event.cancelled{background:#f3f3f1;color:#adb2a8}.calendar-event-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-event small{flex-basis:100%;font-size:0.571429rem;opacity:.8}.calendar-more{background:none;color:#8da17b;font-size:0.642857rem;padding:3px 5px}.calendar-mobile-count{display:none}.calendar-agenda .panel-heading{align-items:center}.calendar-agenda .eyebrow{font-size:0.642857rem}.calendar-agenda h3{font-size:1.142857rem;margin-top:7px}.calendar-agenda-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.calendar-agenda-row:last-child{border-bottom:0}.calendar-agenda-task{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;text-align:left;background:none;padding:0;color:#526d46}.calendar-agenda-task b{font-size:0.857143rem;font-weight:500;overflow-wrap:anywhere}.calendar-agenda-task>span{font-size:0.642857rem;color:#9ba88d;line-height:1.7}.calendar-agenda-row .row-add-subtask{margin:0}.planned{border:1px dashed #b0c69a;background:#f8fbf1;color:#8a9f77}.calendar-undated summary{font-size:0.928571rem;color:#7c906a;cursor:pointer}.calendar-undated>p{font-size:0.785714rem;margin-top:13px}.calendar-preview-date{font-size:1.071429rem;margin:20px 0;color:#6a8458}.calendar-preview-date small{display:block;color:#9aa98b;font-size:0.785714rem;margin-top:6px}.calendar-loading{padding:12px 24px;font-size:0.785714rem;color:#92a17e}.calendar-dot-row{display:flex;gap:3px;justify-content:center}
@media(max-width:1100px){.calendar-filters{flex-wrap:wrap}.calendar-filters input{flex-basis:100%}.calendar-event{font-size:0.571429rem;padding:4px}.calendar-cell{min-height:106px}.calendar-toolbar{padding:20px}.calendar-legend{padding:12px 20px;gap:12px}}
@media(max-width:700px){.nav-item.settings-item>.nav-label{font-size:0}.nav-item.settings-item>.nav-label::after{content:"Settings";font-size:0.571429rem}.row-add-subtask{font-size:0.642857rem;min-height:31px;margin-top:7px}.calendar-toolbar{padding:18px 13px}.calendar-toolbar h2{font-size:1.428571rem}.calendar-navigation{gap:5px}.calendar-navigation .secondary{padding:8px 11px;font-size:0.714286rem;min-height:34px}.calendar-toolbar .muted{font-size:0.642857rem}.calendar-filters{padding:0 12px 14px;gap:7px}.calendar-filters input{flex-basis:100%;font-size:1rem}.calendar-filters select{font-size:0.785714rem;flex-basis:calc(33% - 5px);padding:9px 4px}.calendar-legend{padding:10px 12px;gap:10px;font-size:0.571429rem}.calendar-legend label{font-size:0.642857rem;margin-left:0;width:100%;min-height:24px}.calendar-cell{min-height:69px;padding:6px 2px}.calendar-date{font-size:0.785714rem;width:24px;height:24px;margin:0 auto 5px}.calendar-weekdays span{font-size:0.642857rem;padding:10px 2px}.calendar-desktop-events{display:none}.calendar-mobile-count{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:23px;padding:0;background:none;color:#8ca277;font-size:0.642857rem}.calendar-task-dot{width:4px;height:4px}.calendar-agenda .panel-heading{flex-direction:column;align-items:flex-start;gap:14px}.calendar-agenda .panel-heading .secondary{font-size:0.714286rem;min-height:34px}.calendar-agenda-row{gap:9px;flex-wrap:wrap}.calendar-agenda-task{flex-basis:65%}.calendar-agenda-task b{font-size:0.857143rem}.calendar-agenda-row .row-add-subtask{margin-left:0}.calendar-agenda h3{font-size:1.071429rem}}
.calendar-drag-hint{margin:0;padding:10px 20px;height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fcfdf9;color:#80946e;font-size:0.714286rem;border-top:1px solid var(--line)}.calendar-save-message{margin:0;padding:10px 20px;font-size:0.785714rem;color:#426b49;background:#edf5e7}.calendar-event-wrap{display:flex;align-items:center;min-width:0;gap:2px}.calendar-event-wrap .calendar-event{flex:1;width:0}.calendar-drag-handle{flex-shrink:0;width:19px;min-height:30px;padding:0;background:transparent;color:#7e966e;font-size:0.857143rem;letter-spacing:-3px;cursor:grab;touch-action:none;user-select:none;border-radius:4px}.calendar-drag-handle:hover,.calendar-drag-handle:focus-visible{background:#e7f0dd;color:#385b38}.calendar-drag-handle:active{cursor:grabbing}.calendar-dragging{opacity:.4}.calendar-cell.calendar-drop-date{background:#e5f0dc;outline:2px solid #608a4f;outline-offset:-2px}.calendar-agenda-row .calendar-drag-handle{min-width:30px;min-height:36px;letter-spacing:-2px;font-size:1.142857rem}@media(max-width:700px){.calendar-drag-hint{font-size:0.642857rem;padding:11px 12px}.calendar-agenda-row .calendar-agenda-task{flex-basis:50%}}
/* Period views share the same date-only scheduling and task actions. */
.calendar-view-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px 20px;flex-wrap:wrap}.calendar-view-switch{display:flex;border:1px solid #dce5d6;border-radius:7px;padding:3px;background:#f5f8f1;gap:3px}.calendar-view-switch button{background:transparent;color:#8a9a7f;border-radius:5px;padding:8px 17px;font-size:0.785714rem;min-height:32px}.calendar-view-switch button[aria-pressed=true]{background:#2b5b43;color:#fff;box-shadow:0 2px 5px #23493217}.calendar-jump{margin:0;display:flex;align-items:center;flex-direction:row;gap:10px;font-size:0.714286rem;color:#8b9b7d;font-weight:400}.calendar-jump input{font-size:0.785714rem;width:150px;padding:8px 10px}.calendar-toolbar h2{overflow-wrap:anywhere}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.calendar-week-day{min-width:0;min-height:310px;padding:8px 6px 12px;border-right:1px solid var(--line);background:#fff}.calendar-week-day:last-child{border-right:0}.calendar-week-day.selected{background:#f8fbf2}.calendar-week-date{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;width:100%;padding:10px 2px 16px;color:#80916f}.calendar-week-date>span{font-size:0.714286rem}.calendar-week-date>b{font-size:1.571429rem;font-weight:500;width:36px;height:36px;display:grid;place-items:center;border-radius:50%}.calendar-week-date>small{font-size:0.642857rem;color:#98a88a}.calendar-week-day.today .calendar-week-date>b{background:var(--green);color:white}.calendar-week-date[aria-pressed=true]>b{outline:1px solid #a7bd91;outline-offset:3px}.calendar-period-task{display:flex;align-items:flex-start;min-width:0;gap:3px;border:1px solid #e1e9d9;border-radius:7px;background:#fff;margin-bottom:10px;padding:8px 5px}.calendar-period-task-content{min-width:0;flex:1}.calendar-period-task-open{display:flex;flex-direction:column;text-align:left;width:100%;background:#eef4e7;color:#526f46;padding:9px 7px;border:1px solid transparent;border-radius:5px;gap:7px;overflow-wrap:anywhere}.calendar-period-task-open.preview{background:#f8fbf2;border:1px dashed #b8cba6;color:#849a70}.calendar-period-task-open>b{font-size:0.714286rem;font-weight:500;line-height:1.5}.calendar-period-task-open>span{font-size:0.642857rem;line-height:1.5}.calendar-period-task-open>small{font-size:0.571429rem;line-height:1.6;color:#94a487}.calendar-period-task .status-badge{margin:8px 0 0;display:inline-block;white-space:normal;line-height:1.5;font-size:0.571429rem;padding:4px 6px}.calendar-period-task .row-add-subtask{white-space:normal;text-align:left;font-size:0.571429rem;padding:5px;margin-top:7px}.calendar-day-empty{font-size:0.714286rem;color:#a1ad95;text-align:center;padding:20px 0}.calendar-day-add{background:transparent;font-size:0.642857rem;color:#6d8a5d;padding:10px 3px;width:100%;border:1px dashed #dce6d2;border-radius:5px;margin-top:6px}.calendar-week-day.calendar-drop-date,.calendar-day-view.calendar-drop-date{background:#e5f0dc;outline:2px solid #608a4f;outline-offset:-2px}.calendar-day-view{padding:24px;border-top:1px solid var(--line);min-height:220px}.calendar-day-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}.calendar-day-heading>p{font-size:0.857143rem;color:#839974}.calendar-day-group{margin-top:24px}.calendar-day-group h3{font-size:0.785714rem;letter-spacing:1px;text-transform:uppercase;font-weight:500;color:#8b9e7b;margin-bottom:12px}.calendar-day-view .calendar-period-task{padding:12px;gap:10px}.calendar-day-view .calendar-period-task-open>b{font-size:0.928571rem}.calendar-day-view .calendar-period-task-open>span{font-size:0.785714rem}.calendar-day-view .calendar-period-task-open>small{font-size:0.714286rem}.calendar-day-view .calendar-period-task .status-badge,.calendar-day-view .calendar-period-task .row-add-subtask{font-size:0.642857rem}.calendar-day-view .calendar-drag-handle{min-width:30px;min-height:36px;font-size:1.142857rem}
@media(max-width:1100px){.calendar-week-day{padding:7px 4px}.calendar-week-day .calendar-period-task{padding:6px 3px;gap:0}.calendar-week-day .calendar-drag-handle{width:15px;font-size:0.714286rem}}
@media(max-width:700px){.calendar-toolbar{align-items:flex-start;gap:10px}.calendar-toolbar h2{font-size:1.285714rem}.calendar-navigation{flex-shrink:0}.calendar-view-controls{padding:0 12px 15px;gap:12px}.calendar-view-switch{flex:1}.calendar-view-switch button{flex:1;min-height:35px;padding:8px 13px}.calendar-jump{justify-content:space-between;flex-basis:100%}.calendar-jump input{font-size:1rem;width:170px}.calendar-week-grid{grid-template-columns:minmax(0,1fr)}.calendar-week-day{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:12px}.calendar-week-day.outside{display:none}.calendar-week-date{flex-direction:row;gap:12px;justify-content:flex-start;padding:2px 4px 14px}.calendar-week-date>b{order:-1;font-size:1.428571rem}.calendar-week-date>span{font-size:0.857143rem}.calendar-week-date>small{margin-left:auto;font-size:0.714286rem}.calendar-week-day .calendar-period-task{padding:10px 6px;gap:7px}.calendar-week-day .calendar-drag-handle{width:30px;min-height:36px;font-size:1.142857rem;letter-spacing:-2px}.calendar-week-day .calendar-period-task-open>b{font-size:0.857143rem}.calendar-week-day .calendar-period-task-open>span{font-size:0.714286rem}.calendar-week-day .calendar-period-task-open>small{font-size:0.642857rem}.calendar-week-day .calendar-day-empty{text-align:left;padding:5px 6px 12px}.calendar-week-day .calendar-day-add{font-size:0.714286rem;min-height:34px}.calendar-day-view{padding:16px 12px}.calendar-day-heading{flex-wrap:wrap}.calendar-day-heading .secondary{font-size:0.714286rem}.calendar-day-view .calendar-period-task{padding:10px 6px;gap:6px}.calendar-day-view .calendar-period-task-open>b{font-size:0.857143rem}}
.tenant-switcher{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.tenant-switcher label{display:flex;flex-direction:row;align-items:center;gap:14px;font-size:0.785714rem;margin:0;color:#80936f}.tenant-switcher select{max-width:290px;font-size:0.857143rem}.tenant-landing{max-width:1000px;padding:30px;margin:auto}.tenant-landing>.secondary{margin:15px 10px 25px 0}.owner-console h2{font-size:1.714286rem}.owner-console h3{margin:24px 0 15px}.owner-console .muted{margin:12px 0 20px}.tenant-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}.tenant-card{display:flex;flex-direction:column;text-align:left;gap:9px;padding:18px;background:#f7faf2;border:1px solid #dce6d1;border-radius:8px;color:#557044}.tenant-card.selected{outline:2px solid #61884d}.tenant-card b{font-size:1.071429rem}.tenant-card span{font-size:0.857143rem}.tenant-card small{font-size:0.714286rem}.tenant-editor{padding:0 0 25px;border-bottom:1px solid var(--line)}.tenant-editor form{max-width:600px}.tenant-members{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.tenant-member{display:flex;flex-direction:column;text-align:left;gap:5px;padding:12px;background:#f6f8f2;color:#607653;border-radius:7px}.tenant-member span,.tenant-member small{font-size:0.785714rem}.tenant-create,.owner-audit{padding:20px 0;border-bottom:1px solid var(--line)}.tenant-create summary,.owner-audit summary{cursor:pointer;color:#60794e;font-size:1rem}.tenant-create form{max-width:600px;margin-top:20px}.owner-audit p{font-size:0.857143rem;margin-top:15px;line-height:1.7}.owner-audit small{color:#899c79}@media(max-width:700px){.tenant-switcher{flex-wrap:wrap;gap:12px}.tenant-switcher label{width:100%;flex-wrap:wrap}.tenant-switcher select{width:100%;max-width:none}.tenant-landing{padding:18px}.owner-console h2{font-size:1.428571rem}.tenant-cards{grid-template-columns:1fr}.tenant-card,.tenant-member{overflow-wrap:anywhere;min-width:0}.tenant-member{max-width:100%}}


/* Device-local text size: use percentages so browser font preferences still apply. */
:root{font-size:calc(87.5% * var(--text-scale,1))}
/* Decorative glyphs retain their intended bounds while surrounding text grows. */
.brand-mark{font-size:31px}
.icon-button{font-size:21px}
.nav-icon{font-size:18px;flex-shrink:0}
.tree-toggle{font-size:17px}
.task-drag-handle{font-size:16px}
.calendar-drag-handle{font-size:12px}
.calendar-agenda-row .calendar-drag-handle,.calendar-day-view .calendar-drag-handle{font-size:16px}
.primary,.secondary{line-height:1.4;white-space:normal;text-align:center}
.section-top,.page-heading,.panel-heading,.calendar-toolbar,.calendar-day-heading,.detail-meta{flex-wrap:wrap}
.section-top{gap:8px 16px}
.tabs{min-width:0;flex-wrap:wrap}
.tree-controls{min-width:0}
.dot{flex-shrink:0}
.panel,.settings-grid>*{min-width:0}
.member-line>div,.notification>div{min-width:0;overflow-wrap:anywhere}
.tenant-switcher label{min-width:0}
.tenant-switcher select{min-width:0}
.calendar-navigation{flex-wrap:wrap}
/* Three reserved lines keep pointer drop targets stationary as feedback changes. */
.calendar-drag-hint{height:calc(3.428571rem + 20px);min-height:0;white-space:normal;overflow:hidden;line-height:1.6}
.drag-status{font-size:.714286rem;line-height:1.6;height:3.428571rem;min-height:3.428571rem;min-width:0;overflow:hidden;overflow-wrap:anywhere}
.drag-toolbar{height:calc(3.428571rem + 16px);min-height:calc(3.428571rem + 16px);align-items:center}
.calendar-jump{flex-wrap:wrap}
.task-facts{grid-template-columns:minmax(0,100px) minmax(0,1fr)}
.task-facts dd{margin-left:0;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.text-size-settings{min-width:0}
.text-size-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.text-size-toolbar h3{margin:0}
.text-size-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%}
.text-size-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;width:168px;max-width:100%}
.text-size-controls .secondary{min-width:44px;min-height:44px;padding:8px;font-size:clamp(16px,1.142857rem,22px)}
.text-size-controls output{min-width:0;text-align:center;font-size:clamp(16px,1.142857rem,24px);font-weight:600;font-variant-numeric:tabular-nums}
.text-size-actions .text-size-reset{margin:0;padding:8px;min-height:44px;min-width:44px}
.text-size-reset:disabled{cursor:default}
.text-size-note{font-size:.857143rem;color:var(--muted);line-height:1.6;margin:8px 0 0}
.text-size-note .text-button{margin:0;min-height:44px}
.text-size-settings.compact{padding:0;border:0;background:transparent;box-shadow:none;margin:0}
@media(max-width:1100px){.calendar-week-day .calendar-drag-handle{font-size:10px}}
@media(max-width:700px){
 .sidebar{height:auto;min-height:calc(5.75rem + env(safe-area-inset-bottom));padding-top:4px}
 .sidebar nav{height:auto;min-height:5.75rem;align-items:stretch}
 .nav-item{justify-content:center;gap:6px;padding:8px 3px;max-width:none;min-width:0;font-size:.785714rem}
 .nav-item>span:not(.nav-icon){font-size:.785714rem;white-space:normal;line-height:1.25;overflow-wrap:normal}
 .nav-item>.nav-label{min-height:2.5em}
 .nav-icon{font-size:20px;line-height:20px}
 .nav-item.settings-item>.nav-label{font-size:0;min-height:2.5rem}
 .nav-item.settings-item>.nav-label::after{font-size:.785714rem;line-height:1.25}
 .main{padding-bottom:calc(6.75rem + env(safe-area-inset-bottom))}
 .topbar{height:auto;min-height:58px;padding-top:12px;padding-bottom:12px;gap:8px}
 .breadcrumb{font-size:.857143rem;line-height:1.5;min-width:0}
 .breadcrumb>span{margin:0 6px}
 .page-heading{gap:12px}
 .page-heading .primary{font-size:.928571rem;margin-top:0;min-height:44px}
 .page-heading .eyebrow,.eyebrow{font-size:.785714rem;line-height:1.6}
 .page-heading .muted{font-size:1rem;max-width:none}
 .stat{padding:17px 12px}
 .stat>span{font-size:.928571rem;align-items:flex-start;line-height:1.5}
 .stat .dot{margin-top:.45em}
 .stat small{font-size:.857143rem;line-height:1.5;display:block}
 label,.editor label,.tenant-switcher label{font-size:1rem;line-height:1.5}
 label small,.muted,.auth-foot{font-size:.928571rem}
 input,select,textarea,.editor input,.editor textarea,.editor select,.filters input,.filters select,.search-label input,.calendar-filters input,.calendar-filters select,.calendar-jump input,.tenant-switcher select{font-size:max(16px,1.142857rem);line-height:1.4}
 .primary,.secondary,.text-button,.view-toggle,.row-add-subtask,.calendar-day-add,.panel-heading .secondary,.calendar-navigation .secondary,.calendar-day-heading .secondary,.calendar-agenda .panel-heading .secondary{font-size:.928571rem;min-height:44px;line-height:1.4;white-space:normal}
 .section-top{padding:8px 12px;align-items:flex-start}
 .tabs{gap:16px}
 .tabs button{font-size:.928571rem;padding:12px 0}
 .tabs span,.badge,.result-count{font-size:.785714rem}
 .tree-controls{justify-content:flex-start;gap:10px;width:100%}
 .tree-controls .text-button{font-size:.857143rem;min-height:36px}
 .filters,.calendar-filters{flex-wrap:wrap}
 .filters select{max-width:100%;flex:1 1 100%}
 .filters .search-label{min-width:0;width:100%}
 .calendar-filters select{flex:1 1 100%;padding:10px 12px}
 .task-row{grid-template-columns:minmax(0,1fr) 32px;align-items:start;row-gap:6px}
 .task-row .task-title-cell{grid-column:1;grid-row:1;min-width:0;align-items:flex-start}
 .task-title>strong{font-size:1.142857rem;line-height:1.5}
 .scope-badge,.category-label,.priority-label,.recurrence-badge,.subtask-label,.subtask-count,.context-label{font-size:.785714rem;line-height:1.5}
 .due-cell{grid-column:1;grid-row:2;padding-left:0;flex-wrap:wrap;align-items:baseline;margin-top:6px;font-size:.857143rem;line-height:1.5}
 .due-cell small{font-size:.857143rem}
 .status-cell{grid-column:1;grid-row:3;justify-self:start;margin:0}
 .status-badge{font-size:.857143rem;line-height:1.5;white-space:normal;max-width:100%}
 .task-row>.pin{grid-column:2;grid-row:1 / span 3}
 .list-footer{font-size:.857143rem;line-height:1.5}
 .detail-meta{gap:10px;font-size:.928571rem}
 .description,.task-facts,.comment p,.recurrence-box p,.recurrence-editor p{font-size:1rem}
 .notification b,.member-line{font-size:1rem;line-height:1.5}
 .notification small,.member-line small,.member-line>.muted{font-size:.857143rem;line-height:1.5}
 .member-line{flex-wrap:wrap}
 .member-line>div{flex-basis:calc(100% - 50px)}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .panel-heading h3{font-size:1.142857rem}
 .calendar-toolbar .muted,.calendar-legend,.calendar-legend label,.calendar-loading,.calendar-day-empty{font-size:.857143rem;line-height:1.5}
 .calendar-navigation{flex-shrink:1}
 .calendar-view-switch{flex-wrap:wrap;min-width:0}
 .calendar-view-switch button{font-size:.928571rem;min-height:44px;flex:1 1 auto;padding:8px 10px}
 .calendar-jump{font-size:.928571rem;min-width:0}
 .calendar-jump input{width:100%;max-width:100%;flex-basis:100%}
 .calendar-weekdays span{font-size:.785714rem;letter-spacing:0}
 .calendar-date{font-size:1rem;min-width:1.75rem;min-height:1.75rem;width:auto;height:auto}
 .calendar-mobile-count{font-size:.857143rem;min-height:30px;line-height:1.4}
 .calendar-drag-hint{font-size:.857143rem;padding:10px 12px;height:calc(4.114286rem + 20px)}
 .drag-status{font-size:.857143rem;height:4.114286rem;min-height:4.114286rem}
 .drag-toolbar{height:calc(4.114286rem + 16px);min-height:calc(4.114286rem + 16px)}
 .calendar-agenda-task b,.calendar-week-day .calendar-period-task-open>b,.calendar-day-view .calendar-period-task-open>b{font-size:1.142857rem}
 .calendar-agenda-task span,.calendar-agenda-task small,.calendar-week-day .calendar-period-task-open>span,.calendar-day-view .calendar-period-task-open>span{font-size:.928571rem}
 .calendar-week-day .calendar-period-task-open>small,.calendar-day-view .calendar-period-task-open>small,.calendar-period-task .status-badge,.calendar-period-task .row-add-subtask{font-size:.857143rem}
 .calendar-week-date>span{font-size:1rem}
 .calendar-week-date>small{font-size:.857143rem}
 .calendar-week-day .calendar-drag-handle{font-size:16px;min-width:30px}
 .calendar-period-task .row-add-subtask{min-height:40px}
 .tenant-card small,.tenant-member span,.tenant-member small,.owner-audit p,.tenant-card span{font-size:.928571rem;line-height:1.5}
}
/* Keep the sign-in preference available without lengthening the login form. */
.text-size-disclosure{margin:18px 0 22px;border-block:1px solid var(--line)}
.text-size-disclosure>summary{cursor:pointer;padding:14px 0;min-height:44px;font-size:1rem;font-weight:600;color:var(--green)}
.text-size-disclosure .text-size-settings{margin:0 0 12px;box-shadow:none}
.primary>span{font-size:19px;line-height:1}
@media(max-width:700px){
 .nav-item>span:not(.nav-icon){min-width:0;max-width:100%;overflow-wrap:anywhere}
}
.app-updates>h3{margin-bottom:10px}.app-updates>.muted{margin-bottom:14px}.update-status{font-size:1rem;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.update-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.update-note{font-size:.928571rem;color:var(--muted);line-height:1.6;margin-top:15px}.app-updates .update-version{font-size:.857143rem;overflow-wrap:anywhere}

/* Keep recovery reachable above the phone navigation and safe-area inset. */
#blazor-error-ui{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}#blazor-error-ui .reload{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;margin-left:4px;font-weight:600;text-decoration:underline}

/* Four primary phone destinations; secondary pages live in a native bottom sheet. */
.mobile-navigation{display:none}
.mobile-more{color:var(--green);background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:calc(100dvh - 24px);padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -10px 40px #18362920}
.mobile-more::backdrop{background:#18362966;backdrop-filter:blur(2px)}
body:has(.mobile-more[open]){overflow:hidden}
.mobile-more-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.mobile-more-header h2{font-size:1.428571rem;margin-bottom:4px}
.mobile-more-header p{overflow-wrap:anywhere}
.mobile-more-header .icon-button{min-width:44px;min-height:44px;background:#f3f6ee}
.mobile-more-links{display:flex;flex-direction:column;gap:6px}
.mobile-more-links button{display:flex;align-items:center;gap:14px;min-height:52px;width:100%;padding:14px 12px;border-radius:10px;text-align:left;color:var(--green);background:#f7f9f4;font-size:1rem;line-height:1.4}
.mobile-more-links button.active{background:#e0e8d7;font-weight:600}
.mobile-more-links button>span:not(.mobile-more-icon){min-width:0;overflow-wrap:anywhere}
.mobile-more-icon{flex:0 0 24px;text-align:center;font-size:22px}
.more-unread{margin-left:auto;padding:4px 7px;border-radius:6px;background:#e0e8d7;font-size:.857143rem;white-space:nowrap}
@media(max-width:700px){
 .sidebar{display:none}
 .main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .mobile-navigation{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:72px;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));z-index:20;border-top:1px solid #dce4d4;background:#f3f6eef5;backdrop-filter:blur(12px)}
 .mobile-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:60px;padding:7px 2px;border-radius:9px;background:transparent;color:#74816f;font-size:clamp(11px,.785714rem,15px);line-height:1.25;white-space:nowrap}
 .mobile-nav-item.active{background:#e0e8d7;color:#315d40;font-weight:600}
 .mobile-nav-icon{font-size:22px;line-height:22px;height:22px}
 .mobile-unread{position:absolute;top:2px;right:4px;min-width:18px;padding:2px 4px;border-radius:8px;background:#275d4d;color:#fff;font-size:11px;line-height:14px;font-weight:600}
}

/* The month date button fills empty cell space; task actions remain separate. */
.calendar-cell{position:relative;padding-top:44px}
.calendar-day-select{position:absolute;inset:0;width:100%;height:100%;padding:0;border-radius:0;background:transparent;color:var(--green);text-align:left}
.calendar-day-select:hover{background:#275d4d08}
.calendar-day-select:focus-visible{outline:3px solid var(--green);outline-offset:-4px}
.calendar-cell .calendar-date{position:absolute;top:8px;left:7px;margin:0;width:28px;height:28px;min-width:0;min-height:0;font-size:clamp(12px,1rem,18px)}
.calendar-cell.selected,.calendar-week-day.selected{background:#edf4e7;box-shadow:inset 0 0 0 2px var(--green)}
.calendar-cell.selected .calendar-date{background:var(--green);color:#fff}
.calendar-desktop-events,.calendar-mobile-count{position:relative;z-index:1}
.calendar-quick-add{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:0;border:1px solid #dce5d6;border-radius:7px;background:#f3f7ee;color:var(--green);font-size:20px;line-height:1;z-index:2}
.calendar-quick-add:hover{background:#e0e8d7;border-color:var(--green)}
.calendar-cell>.calendar-quick-add{position:absolute;top:7px;right:6px}
.calendar-week-date-row{display:flex;align-items:flex-start;gap:3px}
.calendar-week-date-row .calendar-week-date{flex:1;min-width:0}
.calendar-week-date-row .calendar-quick-add{margin-top:8px}
.calendar-week-date:focus-visible{outline:3px solid var(--green);outline-offset:-3px;border-radius:7px}
@media(max-width:700px){
 .calendar-cell{padding-top:70px;min-height:104px}
 .calendar-cell .calendar-date{left:50%;transform:translateX(-50%);top:5px}
 .calendar-cell>.calendar-quick-add{display:none;top:36px;right:auto;left:50%;transform:translateX(-50%);width:28px;height:28px;min-width:28px}
 .calendar-cell.selected>.calendar-quick-add{display:inline-flex}
 .calendar-week-date-row .calendar-quick-add{width:40px;height:40px;min-width:40px}
}

.calendar-agenda{scroll-margin-top:16px}.calendar-agenda h3:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:3px}
.calendar-refresh-status{padding:10px 24px;color:var(--muted);font-size:.857143rem;line-height:1.6;border-bottom:1px solid var(--line)}
.calendar-refresh-warning{color:#986846}
.refresh-settings>h3{margin-bottom:10px}.refresh-settings>.muted{margin-bottom:14px}
.refresh-fields{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.refresh-fields label{flex:1 1 150px;min-width:0;margin:0 0 14px}
.refresh-settings form>.muted{margin-bottom:14px}.refresh-note{margin-top:14px;font-size:.857143rem;line-height:1.6;color:var(--muted)}
@media(max-width:700px){.calendar-refresh-status{padding:10px 12px}.refresh-fields{gap:0 12px}}
.calendar-agenda-warning{padding:12px;border:1px solid #ecd7c4;background:#fff8f0;color:#986846;border-radius:8px;font-size:.928571rem;margin-bottom:16px;line-height:1.6}.calendar-agenda-warning .text-button{min-height:44px;margin-left:8px}

.refresh-toggle{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:44px;font-size:1rem;line-height:1.5;margin:0 0 16px;cursor:pointer}.refresh-toggle input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--green)}

.calendar-day-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.calendar-day-actions>.secondary{min-height:44px;max-width:100%}
@media(max-width:700px){.calendar-day-actions{width:100%}}

/* Put task counts and rows closer to the top on phones. */
@media (max-width: 700px) {
  .topbar { padding-block: 4px; min-height: 52px; }
  .content { padding-block-start: 12px; }
  .tenant-switcher { margin-bottom: 12px; gap: 6px; }
  .tenant-switcher label { gap: 4px 10px; }
  .page-heading { gap: 6px 12px; margin-bottom: 12px; }
  .page-heading h1 { margin-block: 3px; }
  .page-heading .muted,
  .stats .stat small { display: none; }

  .stats { margin-bottom: 12px; }
  .stats .stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 8px;
    padding: 8px 12px;
  }
  .stats .stat strong { margin: 0; }
  .stat + .stat::before { top: 6px; bottom: 6px; }

  .filters { padding-block: 8px; }
  .task-row { min-height: 0; padding-block: 8px; row-gap: 3px; }
  .panel { padding-block: 12px; margin-bottom: 12px; }
}

bravo-install:empty { display: none; }
bravo-install { display: block; margin-block: .5rem; }
bravo-install summary { cursor: pointer; font-weight: 600; padding-block: .65rem; }

.account-menu { position: relative; }
.account-menu summary {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
}
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu .small-avatar { margin: 0; }
.account-menu-panel {
  position: absolute;
  inset-inline-end: 0;
  top: 100%;
  z-index: 5;
  padding: 4px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 4px 16px #26382b20;
}
.account-menu-panel button { min-height: 44px; white-space: nowrap; }

.app-updates-shortcut { position: relative; min-width: 44px; min-height: 44px; }
html:not([data-update-ready]) .update-ready-label { display: none; }
html[data-update-ready] .app-updates-shortcut::after {
  content: "";
  position: absolute;
  top: 6px;
  inset-inline-end: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #b83f38;
  box-shadow: 0 0 0 2px white;
  pointer-events: none;
}
