@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:28px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:32px;--s-10:40px;--s-12:48px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--t-fast:.14s;--t-base:.2s;--t-slow:.28s;--sidebar-w:232px;--gutter:24px;--tap:44px;--p-urgent:#ff8a80;--p-high:#ffb37a;--p-medium:#ffe08a;--p-low:#a9c7ff}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--photo-scrim:linear-gradient(180deg, #090d2057 0%, #090d2038 38%, #06091480 100%);--photo-filter:saturate(1.05);--glass:linear-gradient(180deg, #ffffff29, #ffffff14);--glass-solid:#24283cc7;--glass-backdrop:blur(26px) saturate(150%) brightness(.86);--glass-border:#ffffff3d;--glass-edge:#ffffff52;--glass-shadow:0 12px 28px -20px #0408186b;--fill-1:#ffffff14;--fill-2:#ffffff24;--fill-3:#ffffff38;--line:#ffffff29;--line-strong:#ffffff4d;--track:#fff3;--ink:#fff;--ink-2:#ffffffd6;--ink-3:#ffffffad;--ink-on-photo-shadow:0 1px 14px #04081859;--solid:#fff;--on-solid:#1b1f2e;--sun:#ffb37a;--positive:#9ae6a6;--warning:#ffd88a;--danger:#ffa197;--on-danger:#3a0d09;--danger-fill:#ff786e2e;--positive-fill:#82e69629;--warning-fill:#ffd27829;--focus-ring:#fff;--selection:#ffb37a73;--overlay:#0609166b;--chart-area-top:#ffffff47;--chart-area-bottom:#fff0;--chart-hollow:#4a4442;--heat-0:#ffffff14;--heat-hue:255 255 255}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--photo-scrim:linear-gradient(180deg, #fffbf614 0%, #fff8f01f 60%, #fff4eb4d 100%);--photo-filter:saturate(1.02) brightness(1.04);--glass:linear-gradient(180deg, #ffffffb3, #ffffff94);--glass-solid:#ffffffe6;--glass-backdrop:blur(30px) saturate(170%);--glass-border:#fffc;--glass-edge:#fffffff2;--glass-shadow:0 12px 28px -22px #3c281e47;--fill-1:#161a260d;--fill-2:#161a2614;--fill-3:#161a2621;--line:#161a261a;--line-strong:#161a2633;--track:#161a261f;--ink:#151925;--ink-2:#353c4d;--ink-3:#555d70;--ink-on-photo-shadow:0 1px 16px #fff6;--solid:#1b1f2e;--on-solid:#fff;--sun:#b4521a;--positive:#1d7a37;--warning:#8a5a00;--danger:#b4302a;--on-danger:#fff;--danger-fill:#c83c321a;--positive-fill:#2896461f;--warning-fill:#c88c1424;--p-urgent:#c0352b;--p-high:#c25b14;--p-medium:#9a7000;--p-low:#3c66b8;--focus-ring:#1b1f2e;--selection:#e8783247;--overlay:#281e1938;--chart-area-top:#1b1f2e29;--chart-area-bottom:#1b1f2e00;--chart-hollow:#fff;--heat-0:#161a2612;--heat-hue:27 31 46}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" on;caret-color:var(--sun);background:#2b3047;margin:0;font-size:15px;line-height:1.45}:root[data-theme=light] body{background:#e9dfd6}::selection{background:var(--selection);color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.02em}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}img,svg{display:block}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.num,.tabular{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--fill-3) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--fill-3);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}:root:not([data-theme=light]) input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}:root:not([data-theme=light]) input[type=time]::-webkit-calendar-picker-indicator{filter:invert()}:root:not([data-theme=light]) input[type=month]::-webkit-calendar-picker-indicator{filter:invert()}:root{--rise:10px;--pop:.96;--press:.97}@media (prefers-reduced-motion:reduce){:root{--rise:0px;--pop:1;--press:1}}.photo{z-index:-2;background:#2b3047;position:fixed;inset:0;overflow:hidden}.photo__img{filter:var(--photo-filter);transition:opacity .6s var(--ease-out);background-position:50% 62%;background-size:cover;position:absolute;inset:-2px}.photo__img[data-loaded=false]{opacity:0}.photo__thumb{filter:blur(18px);background-position:50% 62%;background-size:cover;position:absolute;inset:-20px}.photo:after{content:"";background:var(--photo-scrim);transition:background var(--t-slow) var(--ease-out);position:absolute;inset:0}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-xl);box-shadow:inset 0 1px 0 var(--glass-edge), var(--glass-shadow);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);position:relative}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);gap:var(--gutter);padding:var(--gutter);max-width:1720px;min-height:100dvh;margin:0 auto;display:grid}.sidebar{top:var(--gutter);height:calc(100dvh - var(--gutter) * 2);min-height:560px;padding:var(--s-5) var(--s-3) var(--s-4);flex-direction:column;display:flex;position:sticky}.sidebar__brand{height:88px;margin-bottom:var(--s-4);border-radius:var(--r-lg);place-items:center;display:grid}.sidebar__nav{margin:0 calc(var(--s-1) * -1);padding:0 var(--s-1);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar__group{flex-direction:column;gap:2px;display:flex}.sidebar__group+.sidebar__group{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.navlink{align-items:center;gap:var(--s-3);min-height:var(--tap);padding:0 var(--s-4);border-radius:var(--r-md);color:var(--ink-2);transition:background-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);font-weight:500;text-decoration:none;display:flex}.navlink svg{flex:none}.navlink[aria-current=page]{background:var(--fill-3);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-edge);font-weight:600}.navlink:active{transform:scale(var(--press))}@media (hover:hover) and (pointer:fine){.navlink:hover:not([aria-current=page]){background:var(--fill-1);color:var(--ink)}}.navlink__count{border-radius:var(--r-pill);background:var(--fill-2);font-variant-numeric:tabular-nums;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:600;display:grid}.navlink__count[data-alert=true]{background:var(--danger);color:var(--on-danger)}.sidebar__profile{align-items:center;gap:var(--s-3);margin-top:var(--s-4);padding:var(--s-4) var(--s-2) 0;border-top:1px solid var(--line);min-height:var(--tap);text-align:left;border-radius:0;width:100%;display:flex}.avatar{background:var(--fill-3);width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:600;display:grid}.sidebar__profile .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.main{gap:var(--gutter);min-width:0;padding-bottom:var(--s-8);flex-direction:column;display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:var(--s-6);padding:var(--s-6) var(--s-2) 0 var(--s-8);min-height:112px;display:flex}.topbar__titles{min-width:0;text-shadow:var(--ink-on-photo-shadow);flex:1}.topbar__title{letter-spacing:-.025em;font-size:clamp(30px,3.2vw,46px);font-weight:700;line-height:1.05}.topbar__subtitle{margin-top:var(--s-2);color:var(--ink-2);font-size:clamp(15px,1.35vw,20px)}.topbar__actions{align-items:center;gap:var(--s-3);flex:none;display:flex}.topbar__page{align-items:center;gap:var(--s-3);flex:none;min-height:50px;display:flex}.searchpill{align-items:center;gap:var(--s-3);width:clamp(200px,20vw,270px);height:52px;padding:0 var(--s-5);border-radius:var(--r-pill);color:var(--ink-3);transition:transform var(--t-fast) var(--ease-out);font-size:16px;display:flex}.searchpill:active{transform:scale(var(--press))}.searchpill kbd{margin-left:auto}.roundbtn{width:48px;height:48px;color:var(--ink);transition:transform var(--t-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:relative}.roundbtn:active{transform:scale(var(--press))}.roundbtn__dot{border-radius:var(--r-pill);background:var(--sun);color:#1b1f2e;font-variant-numeric:tabular-nums;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:9px;right:10px}.tabbar{display:none}@media (width<=1180px){:root{--sidebar-w:84px}.sidebar{padding-inline:var(--s-2)}.navlink{justify-content:center;padding:0}.navlink span,.navlink__count,.sidebar__profile .name,.sidebar__profile .chev{display:none}.sidebar__profile{justify-content:center;padding-inline:0}.topbar{padding-left:var(--s-2)}}@media (width<=760px){:root{--gutter:16px}.shell{padding:var(--s-4) var(--s-4) calc(96px + env(safe-area-inset-bottom));display:block}.sidebar{display:none}.main{gap:var(--s-4)}.topbar{padding:var(--s-2) 0 var(--s-2);align-items:center;min-height:0}.topbar__title{font-size:28px}.topbar__subtitle{margin-top:4px;font-size:14px}.searchpill{border-radius:50%;justify-content:center;width:48px;height:48px;padding:0}.searchpill .label,.searchpill kbd{display:none}.topbar__actions{gap:var(--s-2)}.topbar__actions .hide-sm,.topbar__page .hide-sm{display:none}.topbar{row-gap:var(--s-3);flex-wrap:wrap}.topbar__page{flex:100%;order:3;min-height:0}.topbar__page:not(:has(>:not(.hide-sm))){display:none}.topbar__page .seg{width:100%}.topbar__page .seg button{flex:1}.tabbar{z-index:30;left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom));border-radius:24px;grid-template-columns:repeat(5,1fr);height:68px;padding:6px;display:grid;position:fixed}.tabbar a,.tabbar button{color:var(--ink-2);transition:transform var(--t-fast) var(--ease-out);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.tabbar a:active,.tabbar button:active{transform:scale(var(--press))}.tabbar [aria-current=page]{background:var(--fill-3);color:var(--ink);font-weight:600}.fab{z-index:31;right:var(--s-4);bottom:calc(96px + env(safe-area-inset-bottom));background:var(--solid);width:56px;height:56px;color:var(--on-solid);transition:transform var(--t-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 12px 28px -10px #00000080}.fab:active{transform:scale(var(--press))}}@media (width>=761px){.fab{display:none}}.enter{animation:rise .52s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise))}}.panel{padding:var(--s-6);min-width:0}.panel__head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);min-height:36px;display:flex}.panel__title{align-items:center;gap:var(--s-3);letter-spacing:-.01em;min-width:0;font-size:18px;font-weight:600;display:flex}.panel__title svg{flex:none}.panel__action{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.linkbtn{min-height:36px;padding:0 var(--s-2);margin-right:calc(var(--s-2) * -1);border-radius:var(--r-sm);color:var(--ink-2);transition:color var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out);align-items:center;gap:6px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.linkbtn:hover{color:var(--ink);background:var(--fill-1)}.linkbtn:hover svg{transform:translate(2px)}}.linkbtn svg{transition:transform var(--t-fast) var(--ease-out)}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);border-radius:var(--r-pill);white-space:nowrap;transition:transform var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out);font-size:15px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(var(--press))}.btn:disabled{opacity:.5}.btn--primary{background:var(--solid);color:var(--on-solid)}.btn--ghost{background:var(--fill-2);color:var(--ink)}.btn--quiet{color:var(--ink-2)}.btn--danger{background:var(--danger-fill);color:var(--danger)}.btn--sm{min-height:36px;padding:0 var(--s-4);font-size:14px}@media (hover:hover) and (pointer:fine){.btn--primary:hover:not(:disabled){opacity:.9}.btn--ghost:hover:not(:disabled){background:var(--fill-3)}.btn--quiet:hover:not(:disabled){background:var(--fill-1);color:var(--ink)}}.iconbtn{width:40px;height:40px;color:var(--ink-2);transition:transform var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:inline-grid}.iconbtn:active:not(:disabled){transform:scale(var(--press))}.iconbtn--sm{width:32px;height:32px}@media (hover:hover) and (pointer:fine){.iconbtn:hover:not(:disabled){background:var(--fill-2);color:var(--ink)}}@media (pointer:coarse){.iconbtn{width:var(--tap);height:var(--tap)}}kbd{background:var(--fill-2);border:1px solid var(--line);min-width:22px;height:22px;font:600 11px/1 var(--font);color:var(--ink-2);border-radius:6px;place-items:center;padding:0 6px;display:inline-grid}.seg{border-radius:var(--r-pill);background:var(--fill-1);gap:4px;padding:4px;display:inline-flex}.seg button{min-height:36px;padding:0 var(--s-4);border-radius:var(--r-pill);color:var(--ink-2);white-space:nowrap;transition:background-color var(--t-base) var(--ease-out), color var(--t-base) var(--ease-out), transform var(--t-fast) var(--ease-out);font-size:14px;font-weight:500}.seg button:active{transform:scale(var(--press))}.seg button[aria-pressed=true],.seg button[aria-checked=true]{background:var(--solid);color:var(--on-solid);font-weight:600}@media (hover:hover) and (pointer:fine){.seg button:not([aria-pressed=true]):not([aria-checked=true]):hover{color:var(--ink);background:var(--fill-1)}}.bar{border-radius:var(--r-pill);background:var(--track);height:6px;overflow:hidden}.bar__fill{border-radius:inherit;background:var(--solid);transform-origin:0;height:100%;transition:width .5s var(--ease-out)}.bar--thin{height:4px}.delta{font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:14px;font-weight:600;display:inline-flex}.delta[data-dir=up]{color:var(--positive)}.delta[data-dir=down]{color:var(--danger)}.delta[data-dir=flat]{color:var(--ink-3)}.chip{border-radius:var(--r-xs);background:var(--fill-2);height:26px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.chip--danger{background:var(--danger-fill);color:var(--danger)}.chip--warning{background:var(--warning-fill);color:var(--warning)}.chip--positive{background:var(--positive-fill);color:var(--positive)}.chip--quiet{color:var(--ink-3);background:0 0;padding:0 4px;font-weight:500}.dot{background:var(--c,var(--ink-3));border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 2px #ffffff1f}.prio{color:var(--pc);align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.prio svg{fill:currentColor}.check{border:2px solid var(--line-strong);color:#0000;width:30px;height:30px;transition:background-color var(--t-base) var(--ease-out), border-color var(--t-base) var(--ease-out), transform var(--t-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.check:before{content:"";border-radius:50%;position:absolute;inset:-8px}.check:active{transform:scale(.9)}.check[aria-checked=true]{background:var(--solid);border-color:var(--solid);color:var(--on-solid)}.check svg path{stroke-dasharray:24;stroke-dashoffset:24px;transition:stroke-dashoffset .26s var(--ease-out)}.check[aria-checked=true] svg path{stroke-dashoffset:0}@media (hover:hover) and (pointer:fine){.check:hover:not([aria-checked=true]){border-color:var(--ink-2);background:var(--fill-1)}}.check--sm{width:22px;height:22px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span,.label{color:var(--ink-2);font-size:13px;font-weight:600}.field small,.hint{color:var(--ink-3);font-size:13px}.input,.select,.textarea{width:100%;min-height:var(--tap);padding:0 var(--s-4);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--fill-1);color:var(--ink);transition:border-color var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out);outline:none}.textarea{padding:10px var(--s-4);resize:vertical;min-height:96px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.select option{color:#151925;background:#fff}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--line-strong);background:var(--fill-2);outline:2px solid var(--focus-ring);outline-offset:1px}.input[aria-invalid=true]{border-color:var(--danger)}.row{gap:var(--s-3);align-items:center;display:flex}.grid2{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack{gap:var(--s-4);flex-direction:column;display:flex}@media (width<=520px){.grid2{grid-template-columns:1fr}}.switch{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:var(--tap);cursor:pointer;display:flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch__track{border-radius:var(--r-pill);background:var(--fill-3);width:46px;height:28px;transition:background-color var(--t-base) var(--ease-out);flex:none;position:relative}.switch__track:after{content:"";width:22px;height:22px;transition:transform var(--t-base) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+.switch__track{background:var(--positive)}:root[data-theme=light] .switch input:checked+.switch__track{background:#2f8f4e}.switch input:checked+.switch__track:after{transform:translate(18px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--focus-ring);outline-offset:2px}.toggles{flex-wrap:wrap;gap:6px;display:flex}.toggles button{border-radius:var(--r-sm);background:var(--fill-1);border:1px solid var(--line);min-width:40px;height:40px;color:var(--ink-2);transition:background-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);padding:0 10px;font-size:13px;font-weight:600}.toggles button:active{transform:scale(var(--press))}.toggles button[aria-pressed=true]{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatches button{background:var(--c);width:32px;height:32px;transition:transform var(--t-fast) var(--ease-out);border-radius:50%;position:relative;box-shadow:inset 0 0 0 1px #ffffff40}.swatches button:before{content:"";position:absolute;inset:-6px}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--glass-solid), 0 0 0 4px var(--ink)}.swatches button:active{transform:scale(.92)}.dialog{color:var(--ink);background:0 0;border:0;max-width:none;max-height:none;padding:0;overflow:visible}.dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s var(--ease-out)}.dialog[data-closing=true]::backdrop{animation:fade-out .16s var(--ease-out) forwards}.dialog__card{width:min(560px,100vw - 32px);max-height:min(86dvh,820px);padding:var(--s-6);border-radius:var(--r-xl);background:var(--glass-solid);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-edge), 0 30px 80px -30px #0009;-webkit-backdrop-filter:blur(30px)saturate(160%);backdrop-filter:blur(30px)saturate(160%);animation:pop .24s var(--ease-out);overflow:auto}.dialog[data-closing=true] .dialog__card{animation:pop-out .15s var(--ease-out) forwards}.dialog--center{margin:auto}.dialog--sheet{height:100dvh;max-height:100dvh;margin:0 0 0 auto}.dialog--sheet .dialog__card{border-radius:var(--r-xl);width:min(520px,100vw);height:calc(100dvh - 24px);max-height:none;animation:slide-in .3s var(--ease-drawer);flex-direction:column;margin:12px;padding:0;display:flex}.dialog--sheet[data-closing=true] .dialog__card{animation:slide-out .18s var(--ease-out) forwards}.dialog__head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);display:flex}.dialog__head h2{flex:1;min-width:0;font-size:20px;font-weight:650}.dialog__foot{gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;justify-content:flex-end;display:flex}.sheet__body{padding:var(--s-6);flex:1;overflow-y:auto}.sheet__foot{gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}@media (width<=760px){.dialog--center,.dialog--sheet{width:100vw;height:fit-content;margin:auto 0 0}.dialog__card,.dialog--sheet .dialog__card{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100vw;height:auto;max-height:92dvh;padding-bottom:calc(var(--s-6) + env(safe-area-inset-bottom));animation:sheet-up .32s var(--ease-drawer);margin:0}.dialog--sheet .dialog__card{padding-bottom:env(safe-area-inset-bottom)}.dialog[data-closing=true] .dialog__card{animation:sheet-down .18s var(--ease-out) forwards}}@keyframes fade{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(var(--pop)) translateY(calc(var(--rise) * .6))}}@keyframes pop-out{to{opacity:0;transform:scale(var(--pop))}}@keyframes slide-in{0%{opacity:0;transform:translateX(calc(var(--rise) * 4))}}@keyframes slide-out{to{opacity:0;transform:translateX(calc(var(--rise) * 3))}}@keyframes sheet-up{0%{transform:translateY(calc(var(--rise) * 10));opacity:.6}}@keyframes sheet-down{to{transform:translateY(calc(var(--rise) * 8));opacity:0}}.toasts{z-index:100;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));align-items:center;gap:var(--s-2);pointer-events:none;flex-direction:column;width:min(460px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}@media (width<=760px){.toasts{bottom:calc(96px + env(safe-area-inset-bottom))}}.toast{pointer-events:auto;align-items:center;gap:var(--s-3);width:100%;min-height:52px;padding:8px 8px 8px var(--s-4);border-radius:var(--r-lg);background:var(--glass-solid);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);animation:toast-in .28s var(--ease-out);font-size:14px;font-weight:500;display:flex;box-shadow:0 20px 40px -20px #0000008c}.toast[data-leaving=true]{animation:toast-out .16s var(--ease-out) forwards}.toast__msg{flex:1;min-width:0}.toast svg{flex:none}.toast[data-type=error] .toast__icon{color:var(--danger)}.toast[data-type=success] .toast__icon{color:var(--positive)}@keyframes toast-in{0%{opacity:0;transform:translateY(calc(var(--rise) * 1.4)) scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateY(calc(var(--rise) * .6))}}.popover{z-index:50;width:min(380px,100vw - 32px);max-height:70dvh;padding:var(--s-3);border-radius:var(--r-lg);background:var(--glass-solid);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(30px)saturate(160%);backdrop-filter:blur(30px)saturate(160%);transform-origin:100% 0;animation:pop .2s var(--ease-out);position:absolute;top:calc(100% + 10px);right:0;overflow:auto;box-shadow:0 24px 60px -24px #0009}.empty{text-align:center;align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-4);color:var(--ink-2);flex-direction:column;display:flex}.empty svg{color:var(--ink-3);margin-bottom:var(--s-1)}.empty strong{color:var(--ink);font-size:16px}.empty p{max-width:36ch;font-size:14px}.empty .btn{margin-top:var(--s-3)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--fill-1), var(--fill-2), var(--fill-1));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.tip{z-index:5;pointer-events:none;border-radius:var(--r-sm);background:var(--glass-solid);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);white-space:nowrap;padding:8px 12px;font-size:13px;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 12px 30px -12px #00000080}.tip strong{font-variant-numeric:tabular-nums;font-size:16px;display:block}.tip span{color:var(--ink-2)}.list{margin:0;padding:0;list-style:none}.muted{color:var(--ink-3)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.skip{z-index:200;border-radius:var(--r-sm);background:var(--solid);color:var(--on-solid);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip:focus{transform:none}.input--title{min-height:52px;font-size:19px;font-weight:600}.notice{border-radius:var(--r-md);background:var(--warning-fill);color:var(--ink);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.notice svg{color:var(--warning);flex:none;margin-top:2px}.notice--error{background:var(--danger-fill)}.notice--error svg{color:var(--danger)}code{background:var(--fill-2);border-radius:6px;padding:1px 6px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9em}.panel--alert .panel__title{color:var(--danger)}.dash-stats{gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dash-mid{gap:var(--gutter);grid-template-columns:minmax(0,2.35fr) minmax(300px,1fr);display:grid}.dash-bottom{gap:var(--gutter);grid-template-columns:minmax(0,1.45fr) minmax(0,1.45fr) minmax(0,1fr);display:grid}.dash-extra{gap:var(--gutter);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);display:grid}.habits-today{flex-direction:column;display:flex}.panel__foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;font-size:14px;display:flex}.habits-today .habitlist{margin-bottom:14px}.stat{color:inherit;transition:transform var(--t-fast) var(--ease-out);flex-direction:column;gap:10px;padding:22px 24px 20px;text-decoration:none;display:flex}.stat:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.stat:hover{--glass-border:var(--line-strong)}}.stat__label{color:var(--ink-2);align-items:center;gap:14px;font-size:16px;font-weight:500;display:flex}.stat__icon{color:var(--ink);place-items:center;display:grid}.stat__value{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin-top:4px;font-size:clamp(30px,2.6vw,40px);font-weight:650;line-height:1.05;display:flex}.stat__value>.num{white-space:nowrap}.stat__unit{margin-top:-6px;font-size:18px;font-weight:600}.stat .bar{max-width:240px;margin-top:2px}.stat__caption{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:auto;font-size:13px;overflow:hidden}.chart{border-radius:var(--r-sm);touch-action:pan-y;outline:none}.chart:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.chart__tick{fill:var(--ink-2);font-size:13px;font-family:var(--font);font-variant-numeric:tabular-nums}.chart__line--draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.1s var(--ease-out) .28s forwards}.chart__area--in,.chart__dot--in{opacity:0;animation:fade-in .6s var(--ease-out) .7s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.chart__line--draw{stroke-dashoffset:0;animation:none}}.progress-panel .panel__head{margin-bottom:var(--s-2)}.minical__nav{grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:8px;display:grid}.minical__month{border-radius:var(--r-sm);min-height:36px;font-size:16px;font-weight:600}@media (hover:hover) and (pointer:fine){.minical__month:hover{background:var(--fill-1)}}.minical__grid{grid-template-columns:repeat(7,1fr);row-gap:2px;display:grid}.minical__dow{text-align:center;color:var(--ink-3);padding:4px 0;font-size:13px;font-weight:500}.minical__day{height:34px;color:var(--ink);border-radius:50%;place-items:center;font-size:15px;font-weight:500;display:grid;position:relative}.minical__day span{width:32px;height:32px;transition:background-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid}.minical__day:active span{transform:scale(.92)}.minical__day[data-out=true]{color:var(--ink-3)}.minical__day[data-today=true] span{background:var(--solid);color:var(--on-solid);font-weight:700}.minical__day[data-selected=true]:not([data-today=true]) span{box-shadow:inset 0 0 0 2px var(--ink)}.minical__day i{background:var(--sun);border-radius:50%;width:4px;height:4px;position:absolute;bottom:0}@media (hover:hover) and (pointer:fine){.minical__day:hover:not([data-today=true]) span{background:var(--fill-2)}}.projlist{flex-direction:column;gap:4px;display:flex}.projrow{border-radius:var(--r-sm);min-height:46px;color:inherit;grid-template-columns:14px minmax(90px,1fr) minmax(70px,1.1fr) 46px;align-items:center;gap:16px;margin:0 -8px;padding:0 8px;font-size:16px;text-decoration:none;display:grid}.projrow__name{font-weight:500}.projrow__pct{text-align:right;font-size:17px;font-weight:650}@media (hover:hover) and (pointer:fine){a.projrow:hover{background:var(--fill-1)}}.tasklist{flex-direction:column;display:flex}.taskrow{border-top:1px solid var(--line);align-items:center;gap:14px;min-height:52px;padding:6px 0;display:flex}.taskrow:first-child{border-top:0}.tasklist--compact .taskrow{border-top:0;min-height:46px;padding:2px 0}.taskrow__main{text-align:left;border-radius:var(--r-xs);flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:2px;min-width:0;min-height:40px;display:flex}.taskrow__title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:color var(--t-base) var(--ease-out);font-size:16px;font-weight:500;overflow:hidden}.taskrow[data-done=true] .taskrow__title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.taskrow__meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;display:flex}.taskrow__meta>span{align-items:center;gap:4px;display:inline-flex}.taskrow__proj{align-items:center;gap:6px;display:inline-flex}.taskrow__side{flex:none;align-items:center;gap:10px;display:flex}.quote{flex-direction:column;gap:12px;display:flex}.quote__head{justify-content:space-between;align-items:center;display:flex}.quote__edit{opacity:.7}.quote__text{text-wrap:pretty;margin:0;font-size:clamp(17px,1.4vw,20px);font-style:italic;font-weight:450;line-height:1.35}.quote__rule{background:var(--ink-2);border-radius:2px;width:72px;height:2px;margin-top:auto;display:block}.habitlist{flex-direction:column;display:flex}.habitrow{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:50px;display:flex}.habitrow:first-child{border-top:0}.habitrow[data-done=true]>span:not(.habitrow__count){color:var(--ink-3)}.habitrow__count{align-items:center;gap:2px;font-size:14px;font-weight:600;display:inline-flex}.tl{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tl__item{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;display:grid}.tl__item[data-past=true]{opacity:.6}.tl__time{color:var(--ink-2);text-align:right;font-size:13px;font-weight:600}.tl__card{border-radius:var(--r-md);background:var(--fill-1);text-align:left;width:100%;min-height:52px;transition:background-color var(--t-fast) var(--ease-out);align-items:center;gap:12px;padding:8px 12px;display:flex}.tl__card--task{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.tl__bar{background:var(--c);border-radius:4px;flex:none;align-self:stretch;width:4px}.tl__open{text-align:left;flex:1;min-width:0;min-height:36px}.tl__title{font-weight:600;display:block}.tl__item[data-done=true] .tl__title{color:var(--ink-3);text-decoration:line-through}.tl__meta{color:var(--ink-3);align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}@media (hover:hover) and (pointer:fine){button.tl__card:hover{background:var(--fill-2)}}.tl__now{color:var(--sun);grid-template-columns:74px 1fr;align-items:center;gap:12px;font-size:12px;font-weight:700;display:grid}.tl__now span{text-align:right}.tl__now:after{content:"";background:var(--sun);border-radius:2px;height:2px;box-shadow:0 0 0 3px #ffb37a26}.toolbar{border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 16px;display:flex}.toolbar__title{white-space:nowrap;margin:0 8px;font-size:18px;font-weight:650}.toolbar__filters{flex-wrap:wrap;flex:1;gap:8px;min-width:0;display:flex}.toolbar__filters .select{flex:0 190px;width:auto;min-width:150px;min-height:40px}.searchfield{flex:160px;min-width:140px;position:relative}.searchfield svg{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.searchfield .input{min-height:40px;padding-left:36px}.seg button svg{display:block}.inlineadd{border-radius:var(--r-lg);color:var(--ink-2);align-items:center;gap:12px;padding:8px 8px 8px 20px;display:flex}.inlineadd__input{min-width:0;min-height:44px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.inlineadd__input::placeholder{color:var(--ink-3)}.inlineadd:focus-within{box-shadow:inset 0 1px 0 var(--glass-edge), 0 0 0 2px var(--focus-ring)}.board{gap:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.board__col{min-height:300px;transition:box-shadow var(--t-fast) var(--ease-out)}.board__col[data-over=true]{box-shadow:inset 0 0 0 2px var(--ink-2), var(--glass-shadow)}.board__list{flex-direction:column;gap:10px;display:flex}.board__empty{text-align:center;color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:24px 8px;font-size:14px}.card{border-radius:var(--r-md);background:var(--fill-1);box-shadow:inset 0 0 0 1px var(--line);cursor:grab;transition:transform var(--t-fast) var(--ease-out)}.card:active{cursor:grabbing;transform:scale(.98)}.card__open{text-align:left;border-radius:inherit;flex-direction:column;gap:8px;width:100%;padding:12px 14px;display:flex}.card__title{font-weight:600}.card__meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:flex}.cal-layout{gap:var(--gutter);grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr);align-items:start;display:grid}.cal-panel{padding:12px}.month{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month__head{color:var(--ink-2);padding:8px 10px;font-size:13px;font-weight:600}.month__cell{border-top:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;min-height:108px;transition:background-color var(--t-fast) var(--ease-out);flex-direction:column;gap:4px;padding:6px;display:flex}.month__cell[data-out=true]{opacity:.5}.month__cell[data-selected=true]{background:var(--fill-2)}@media (hover:hover) and (pointer:fine){.month__cell:hover:not([data-selected=true]){background:var(--fill-1)}}.month__num{border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:600;display:grid}.month__cell[data-today=true] .month__num{background:var(--solid);color:var(--on-solid)}.month__items{flex-direction:column;gap:3px;min-width:0;display:flex}.month__item{text-align:left;background:color-mix(in srgb, var(--c) 26%, transparent);min-width:0;min-height:24px;color:var(--ink);border-radius:6px;align-items:center;gap:5px;padding:2px 6px;font-size:12px;display:flex}.month__item[data-kind=task]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent);background:0 0}.month__item[data-done=true]{opacity:.55;text-decoration:line-through}.month__item .num{flex:none;font-weight:600}.month__more{color:var(--ink-3);padding-left:6px;font-size:12px}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.week__col{border-radius:var(--r-md);flex-direction:column;gap:6px;min-height:380px;padding:6px;display:flex}.week__col[data-selected=true]{background:var(--fill-1)}.week__head{border-radius:var(--r-sm);color:var(--ink-2);flex-direction:column;align-items:center;gap:2px;padding:6px;font-size:13px;display:flex}.week__head strong{color:var(--ink);border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.week__col[data-today=true] .week__head strong{background:var(--solid);color:var(--on-solid)}.week__items{flex-direction:column;gap:6px;display:flex}.week__item{border-radius:var(--r-sm);text-align:left;background:color-mix(in srgb, var(--c) 24%, transparent);border-left:1px solid var(--c);flex-direction:column;gap:2px;padding:8px;font-size:13px;font-weight:600;display:flex}.week__item[data-kind=task]{box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0;border-left:0}.week__item[data-done=true]{opacity:.55}.week__item .num{font-size:12px;font-weight:500}.week__add{border-radius:var(--r-sm);min-height:36px;color:var(--ink-3);border:1px dashed var(--line);opacity:0;transition:opacity var(--t-fast) var(--ease-out);place-items:center;display:grid}.week__col:hover .week__add,.week__add:focus-visible{opacity:1}@media (pointer:coarse){.week__add{opacity:1}}.agenda{flex-direction:column;gap:2px;display:flex}.agenda__item{border-radius:var(--r-sm);text-align:left;align-items:center;gap:14px;width:100%;min-height:48px;padding:0 8px;font-weight:500;display:flex}.agenda__item[data-done=true]{opacity:.55;text-decoration:line-through}.agenda__time{width:64px;color:var(--ink-2);flex:none;font-size:14px}.agenda__bar{background:var(--c);border-radius:4px;flex:none;width:4px;height:26px}.agenda__item .ellipsis{flex:1}@media (hover:hover) and (pointer:fine){.agenda__item:hover{background:var(--fill-1)}}.routine{gap:var(--gutter);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;display:grid}.habits__head,.habits__row{grid-template-columns:minmax(130px,1fr) repeat(7,40px) 48px;align-items:center;gap:4px;display:grid}.habits__head{color:var(--ink-3);text-align:center;margin-bottom:4px;font-size:12px}.habits__head span{flex-direction:column;align-items:center;display:flex}.habits__head b{color:var(--ink-2);font-size:13px}.habits__head .is-today b{color:var(--ink)}.habits__group+.habits__group{margin-top:10px}.habits__label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 2px;font-size:12px;font-weight:700}.habits__row{border-top:1px solid var(--line);min-height:54px}.habits__name{text-align:left;border-radius:var(--r-xs);align-items:center;gap:10px;min-width:0;min-height:44px;display:flex}.hcell{border:1.5px solid var(--line-strong);background:conic-gradient(var(--c) calc(var(--p) * 360deg), transparent 0);width:34px;height:34px;transition:transform var(--t-fast) var(--ease-out), background-color var(--t-base) var(--ease-out);border-radius:10px;place-items:center;margin:0 auto;font-size:12px;font-weight:700;display:grid}.hcell[data-state=full]{background:var(--c);border-color:var(--c)}.hcell[data-state=partial]{background:color-mix(in srgb, var(--c) 35%, transparent)}.hcell[data-state=off]{border-style:dashed;border-color:var(--line);background:0 0}.hcell[data-today=true]{outline:2px solid var(--ink-2);outline-offset:2px}.hcell:active:not(:disabled){transform:scale(.88)}.hcell:disabled{cursor:default}.habits__streak{justify-content:flex-end;align-items:center;gap:3px;font-size:14px;font-weight:700;display:inline-flex}.habits__streak svg[data-on=true]{color:var(--sun)}.habits__streak svg[data-on=false]{color:var(--ink-3)}.notes{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.note{border-radius:var(--r-md);background:var(--fill-1);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;gap:8px;min-height:120px;padding:14px;display:flex}.note[data-pinned=true]{box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--fill-2)}.note header{align-items:center;gap:2px;display:flex}.note header strong{flex:1}.note p{white-space:pre-wrap;color:var(--ink-2);overflow-wrap:anywhere;font-size:14px}.note--edit .textarea{min-height:90px}.projgrid{gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.projcard{color:inherit;text-align:left;transition:transform var(--t-fast) var(--ease-out);flex-direction:column;gap:12px;text-decoration:none;display:flex}.projcard:active{transform:scale(.985)}.projcard__head{align-items:center;gap:12px;font-size:18px;display:flex}.projcard__head .dot{background:var(--c)}.projcard__pct{margin-left:auto;font-size:20px;font-weight:700}.projcard__desc{font-size:14px}.projcard__meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.projcard--new{min-height:160px;color:var(--ink-2);border-style:dashed;justify-content:center;align-items:center}.detail-grid{gap:var(--gutter);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.bigpct{letter-spacing:-.02em;margin-bottom:10px;font-size:44px;font-weight:700}.minilist{flex-direction:column;display:flex}.minilist li+li{border-top:1px solid var(--line)}.minilist button,.minilist__row{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;font-weight:500;display:flex}.minilist .muted{flex:none;font-size:13px}.goalgrid{gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(270px,1fr));display:grid}.goal{flex-direction:column;gap:10px;display:flex}.goal__head{align-items:flex-start;gap:8px;display:flex}.goal__title{flex:1;font-size:18px;line-height:1.3}.goal__value{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.goal__value .num:first-child{letter-spacing:-.02em;font-size:30px;font-weight:700}.goal__foot{align-items:center;gap:8px;margin-top:2px;display:flex}.goal[data-done=true] .bar__fill{background:var(--positive)}.focus-layout{gap:var(--gutter);grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;display:grid}.focus-main{flex-direction:column;align-items:center;gap:22px;padding:28px 24px;display:flex}.ring{aspect-ratio:1;width:min(300px,72vw);position:relative}.ring svg{width:100%;height:100%}.ring__center{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.ring__phase{color:var(--ink-2);font-size:15px;font-weight:600}.ring__time{letter-spacing:-.03em;font-size:clamp(52px,8vw,72px);font-weight:650;line-height:1}.ring__cycle{gap:6px;display:flex}.ring__cycle i{background:var(--track);border-radius:50%;width:8px;height:8px}.ring__cycle i[data-on=true]{background:var(--sun)}.focus-cta{min-width:160px;min-height:52px;font-size:17px}.focuspill{border-radius:var(--r-pill);align-items:center;gap:2px;height:48px;padding:0 6px 0 4px;display:flex}.focuspill__main{border-radius:var(--r-pill);align-items:center;gap:8px;height:40px;padding:0 10px;font-size:16px;font-weight:650;display:flex}.focuspill__dot{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.focuspill__dot[data-running=true]{background:var(--sun);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.kpis{gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi{flex-direction:column;gap:8px;display:flex}.kpi__value{white-space:nowrap;letter-spacing:-.02em;font-size:32px;font-weight:700}.kpi__note{color:var(--ink-3);font-size:13px}.kpi__note[data-tone=up]{color:var(--positive)}.kpi__note[data-tone=down]{color:var(--danger)}.analytics-grid{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.heat{flex-wrap:wrap;gap:6px;display:flex;position:relative}.heat__rows{color:var(--ink-3);grid-template-rows:repeat(7,16px);gap:4px;width:12px;font-size:11px;display:grid}.heat__rows span{line-height:16px}.heat__grid{flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.heat__col{grid-template-rows:repeat(7,16px);gap:4px;display:grid}.heat__cell{border-radius:4px;width:16px;height:16px}.heat__cell[data-empty=true]{box-shadow:inset 0 0 0 1px var(--line)}.heat__legend{width:100%;color:var(--ink-3);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;font-size:12px;display:flex}.heat__legend i{border-radius:4px;width:14px;height:14px}.integrations{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.integrations__wide{grid-column:1/-1}.help{color:var(--ink-2);border-radius:var(--r-sm);background:var(--fill-1);padding:10px 14px;font-size:14px}.help summary{cursor:pointer;color:var(--ink);align-items:center;min-height:28px;font-weight:600;display:flex}.help ol{flex-direction:column;gap:4px;margin:8px 0 4px;padding-left:18px;display:flex}.activity{flex-direction:column;display:flex}.activity li{border-top:1px solid var(--line);align-items:center;gap:10px;min-height:42px;font-size:14px;display:flex}.activity li:first-child{border-top:0}.activity li[data-ok=true] svg{color:var(--positive)}.activity li[data-ok=false] svg{color:var(--danger)}.activity .muted{flex:none;font-size:13px}.settings{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.bgpicker{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px;display:grid}.bgpicker__item{border-radius:var(--r-md);text-align:center;box-shadow:inset 0 0 0 1px var(--line);transition:transform var(--t-fast) var(--ease-out);flex-direction:column;gap:6px;padding:6px;font-size:13px;font-weight:600;display:flex}.bgpicker__item img{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%}.bgpicker__item[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--ink)}.bgpicker__item:active{transform:scale(var(--press))}.bgpicker__upload{color:var(--ink-2);border:1px dashed var(--line-strong);box-shadow:none;justify-content:center;align-items:center;min-height:100px}.palette{width:min(640px,100vw - 32px);margin:-24px}.dialog:has(.palette){margin:12dvh auto auto}.palette__search{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 18px;display:flex}.palette__input{min-height:52px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:18px}.palette__input::placeholder{color:var(--ink-3)}.palette__list{max-height:min(56dvh,480px);margin:0;padding:8px;list-style:none;overflow-y:auto}.palette__group{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:10px 12px 4px;font-size:12px;font-weight:700}.palette__item{border-radius:var(--r-sm);text-align:left;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 12px;font-weight:500;display:flex}.palette__item[data-active=true]{background:var(--fill-2)}.palette__icon{color:var(--ink-2);place-items:center;display:grid}.palette__hint{color:var(--ink-3);flex:none;font-size:12px}.palette__empty{text-align:center;color:var(--ink-3);padding:24px}.qa-chips{flex-wrap:wrap;gap:6px;min-height:26px;display:flex}.qa-chips:empty{display:none}.qa-chips b{font-weight:600}.onboarding__choices{gap:10px;display:grid}.choice{border-radius:var(--r-md);background:var(--fill-1);box-shadow:inset 0 0 0 1px var(--line);text-align:left;transition:background-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);align-items:flex-start;gap:14px;padding:16px;display:flex}.choice>span{flex-direction:column;gap:2px;display:flex}.choice .muted{font-size:14px}.choice:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.choice:hover{background:var(--fill-2)}}.kbdtable{border-collapse:collapse;width:100%;font-size:14px}.kbdtable th{text-align:left;white-space:nowrap;vertical-align:top;padding:8px 12px 8px 0;font-weight:500}.kbdtable td{color:var(--ink-2);padding:8px 0}.kbdtable tr+tr{border-top:1px solid var(--line)}.subtasks{flex-direction:column;gap:2px;display:flex}.subtasks li{align-items:center;gap:10px;min-height:42px;display:flex}.subtasks__input{background:0 0;border:0;border-radius:6px;outline:none;flex:1;min-width:0;min-height:36px;padding:0 6px}.subtasks__input:focus{background:var(--fill-1)}.sharebar{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:8px;display:flex}.morelist{flex-direction:column;gap:4px;display:flex}.alerts{flex-direction:column;gap:2px;display:flex}.alert{border-radius:var(--r-sm);text-align:left;align-items:flex-start;gap:12px;width:100%;padding:10px;display:flex}.alert__icon{flex:none;margin-top:2px}.alert[data-level=critical] .alert__icon{color:var(--danger)}.alert[data-level=warning] .alert__icon{color:var(--warning)}.alert[data-level=info] .alert__icon{color:var(--ink-3)}@media (hover:hover) and (pointer:fine){.alert:hover{background:var(--fill-1)}}@media (width<=1380px){.dash-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-bottom .quote{grid-column:1/-1}}@media (width<=1180px){.dash-stats,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-mid,.cal-layout,.detail-grid,.focus-layout,.routine,.dash-extra{grid-template-columns:minmax(0,1fr)}.calendar-panel{max-width:none}}@media (width<=900px){.analytics-grid,.integrations,.settings,.board{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.panel{border-radius:var(--r-lg);padding:18px 16px}.dash-stats,.kpis{gap:12px}.stat{gap:8px;padding:16px}.stat__label{gap:10px;font-size:14px}.stat__icon svg{width:20px;height:20px}.stat__value{font-size:26px}.stat__caption{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.dash-bottom{grid-template-columns:minmax(0,1fr)}.progress-panel .panel__head{flex-wrap:wrap}.progress-panel .panel__action{width:100%;margin-left:0}.progress-panel .seg{width:100%}.progress-panel .seg button{flex:1}.projrow{grid-template-columns:12px minmax(0,1fr) 72px 44px;gap:10px;font-size:15px}.taskrow__side .prio{display:none}.toolbar{padding:10px}.toolbar .seg{scrollbar-width:none;max-width:100%;overflow-x:auto}.toolbar .seg button{flex:none}.toolbar__filters,.searchfield{flex:100%}.toolbar__filters .select{flex:calc(50% - 4px);min-width:0}.agenda__item .chip{display:none}.kpi__value{font-size:24px}.month__cell{min-height:64px;padding:3px}.month__item span:not(.num){display:none}.month__item{border-radius:4px;height:8px;min-height:8px;padding:0}.month__item .num{display:none}.week{grid-template-columns:minmax(0,1fr)}.week__col{min-height:0}.week__head{flex-direction:row;justify-content:flex-start;gap:10px}.habits{margin:0 -16px;padding:0 16px;overflow-x:auto}.habits__head,.habits__row{grid-template-columns:minmax(120px,1fr) repeat(7,36px) 40px;min-width:430px}.hcell{width:30px;height:30px}.tl__item,.tl__now{grid-template-columns:52px minmax(0,1fr);gap:8px}.focus-main{padding:20px 12px}.focus-main .seg{width:100%;overflow-x:auto}.goal__value .num:first-child{font-size:26px}.palette{width:100vw;margin:-24px -24px 0}.dialog:has(.palette){margin:auto 0 0}}.ai{flex-direction:column;height:100%;min-height:0;display:flex}@media (width<=760px){.ai{height:min(86dvh,760px)}}.ai__head{align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-5) var(--s-4) var(--s-6);border-bottom:1px solid var(--line);display:flex}.ai__head h2{font-size:19px;font-weight:650}.ai__mark{background:var(--fill-2);width:40px;height:40px;color:var(--sun);border-radius:50%;flex:none;place-items:center;display:grid}.ai__list{overscroll-behavior:contain;min-height:0;padding:var(--s-5) var(--s-5) var(--s-4);gap:var(--s-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai__empty{text-align:center;align-items:center;gap:var(--s-3);padding:var(--s-6) var(--s-2);flex-direction:column;margin:auto 0;display:flex}.ai__empty>svg{color:var(--sun)}.ai__empty strong{font-size:18px}.ai__empty p{max-width:34ch;font-size:14px;line-height:1.5}.ai__suggest{justify-content:center;gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.ai__chip{border-radius:var(--r-pill);white-space:normal;text-align:left;height:auto;min-height:36px;transition:background-color var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out);padding:6px 12px;font-weight:500}.ai__chip:active:not(:disabled){transform:scale(var(--press))}@media (hover:hover) and (pointer:fine){.ai__chip:hover:not(:disabled){background:var(--fill-3)}}.ai__msg{max-width:100%;animation:ai-in .22s var(--ease-out);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.ai__msg[data-role=user]{align-items:flex-end}.ai__bubble{border-radius:var(--r-md);background:var(--fill-1);border:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:6px;max-width:min(100%,44ch);padding:10px 14px;font-size:15px;line-height:1.5;display:flex}.ai__msg[data-role=user] .ai__bubble{background:var(--solid);color:var(--on-solid);border-color:#0000;border-bottom-right-radius:6px}.ai__msg[data-role=assistant] .ai__bubble{border-bottom-left-radius:6px}.ai__bubble[data-error=true]{background:var(--danger-fill)}.ai__bubble ul{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.ai__typing{color:var(--ink-2);flex-direction:row;align-items:center;gap:10px;font-size:14px}.ai__dots{gap:4px;display:inline-flex}.ai__dots i{width:6px;height:6px;animation:ai-dot 1s var(--ease-in-out) infinite;background:currentColor;border-radius:50%}.ai__dots i:nth-child(2){animation-delay:.15s}.ai__dots i:nth-child(3){animation-delay:.3s}.ai__actions{border-radius:var(--r-md);background:var(--positive-fill);flex-direction:column;width:min(100%,44ch);margin:0;padding:4px;list-style:none;display:flex}.ai__actions li{align-items:center;gap:8px;min-height:38px;padding:0 4px 0 10px;font-size:14px;display:flex}.ai__actions li>svg{color:var(--positive);flex:none}.ai__actions li[data-undone=true],.ai__actions li[data-undone=true]>svg{color:var(--ink-3)}.ai__actions li+li{border-top:1px solid var(--line)}.ai__undoall{justify-content:flex-end;padding:4px!important}.ai__via{color:var(--ink-3);padding-left:4px;font-size:12px}.ai__composer{align-items:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--line);display:flex}.ai__input{field-sizing:content;resize:none;border-radius:var(--r-lg);min-height:48px;max-height:160px;padding-top:12px}.ai__send{border-radius:50%;flex:none;width:48px;height:48px;min-height:48px;padding:0}@keyframes ai-in{0%{opacity:0;transform:translateY(6px)}}@keyframes ai-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.ai__msg,.ai__dots i{animation:none}}.roundbtn--ai svg{color:var(--sun)}.aiprov-list{gap:var(--s-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.aiprov{border-radius:var(--r-md);background:var(--fill-1);transition:border-color var(--t-fast) var(--ease-out);border:1px solid #0000}.aiprov[data-open=true]{border-color:var(--line)}.aiprov__head{align-items:center;gap:var(--s-2);min-height:52px;padding:0 var(--s-2) 0 var(--s-3);display:flex}.aiprov__n{background:var(--fill-2);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.aiprov__name{text-align:left;flex:1;align-items:center;gap:6px;min-width:0;min-height:44px;font-weight:600;display:flex}.aiprov__chev{transition:transform var(--t-fast) var(--ease-out);flex:none}.aiprov[data-open=true] .aiprov__chev{transform:rotate(90deg)}.aiprov__body{padding:var(--s-2) var(--s-4) var(--s-4)}.aiprov__link{color:var(--ink);align-items:center;gap:3px;font-weight:600;display:inline-flex}.auth{min-height:100dvh;padding:var(--s-6) var(--s-4) calc(var(--s-6) + env(safe-area-inset-bottom));place-items:center;display:grid;position:relative}.auth__card{width:min(420px,100%);padding:var(--s-8) var(--s-6);border-radius:var(--r-xl);gap:var(--s-4);animation:pop .26s var(--ease-out);flex-direction:column;display:flex}.auth__logo{color:var(--ink)}.auth__brand{color:var(--ink-2);margin-top:calc(var(--s-2) * -1);font-size:14px;font-weight:600}.auth__title{letter-spacing:-.01em;font-size:30px;font-weight:700}.auth__lead{margin-top:calc(var(--s-2) * -1);font-size:15px;line-height:1.5}.auth__pass{display:block;position:relative}.auth__pass .input{padding-right:48px}.auth__pass .iconbtn{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth__links{justify-content:space-between;gap:var(--s-2);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.auth__card{animation:none}}.settings__wide{grid-column:1/-1}.accounts li{align-items:center;gap:var(--s-3);min-height:60px;padding:var(--s-2) 0;flex-wrap:wrap;display:flex}.accounts li+li{border-top:1px solid var(--line)}.holiday{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);font-size:11.5px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.holiday[data-kind=nacional]{color:#ff9b85}.holiday[data-kind=facultativo]{color:#ffc178}:root[data-theme=light] .holiday[data-kind=nacional]{color:#b9381f}:root[data-theme=light] .holiday[data-kind=facultativo]{color:#9a5a00}.holiday--block{white-space:normal;text-align:center;font-size:12px}.holiday-note{margin-bottom:var(--s-2);flex-direction:column;gap:2px;display:flex}.holiday-note .holiday{text-align:left;font-size:13px}.month__cell[data-holiday=true] .month__num{color:#ff9b85}:root[data-theme=light] .month__cell[data-holiday=true] .month__num{color:#b9381f}.month__cell[data-today=true][data-holiday=true] .month__num{color:var(--on-solid)}
