@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8298327da6d5bcce-s.0vdai6er2bzon.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.3xwp9-ll1pnw_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2b402d8aebffd579-s.370ev4_4-yiay.woff2)format("woff2");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:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.41r31qmhr7_rd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1gavkj72q9u43.woff2)format("woff2");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}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_bba129a6-module__TUV0iq__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_bba129a6-module__TUV0iq__variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8856956fa550053e-s.3pnxlr_ezl-5l.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fe9e8dd4a2ad4385-s.3s_y9w1wd-27i.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c492570a33c2511a-s.108qnbz8mv3a6.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2e31362fa3cbeb8b-s.2qbiwh8xd_4q0.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bd177ace3eee3014-s.30bbolbcnns-r.woff2)format("woff2");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:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/da2446ec5f26383f-s.0r-mzwg7qz0oc.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5cf8828ea9d4dda3-s.p.2sut7fgnosohl.woff2)format("woff2");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}@font-face{font-family:Roboto Slab Fallback;src:local(Times New Roman);ascent-override:89.69%;descent-override:23.2%;line-gap-override:0.0%;size-adjust:116.83%}.roboto_slab_559c45a5-module__B2Ozaa__className{font-family:Roboto Slab,Roboto Slab Fallback;font-style:normal}.roboto_slab_559c45a5-module__B2Ozaa__variable{--font-roboto-slab:"Roboto Slab", "Roboto Slab Fallback"}
@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c282a6db290773d-s.3dnkcee_i59pt.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/537f068cf010a382-s.2i3edaw8yq7lc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c300beac511639d2-s.10-nsfryu2jvb.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a01ece5cbe79cced-s.1q8n9tjuxrcaf.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/825d4e07c4597d86-s.284-ccdis27de.woff2)format("woff2");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:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/65645b6ef686c6a1-s.1x8p5on2km66b.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ef1484efef1c9752-s.p.40aonue94dpow.woff2)format("woff2");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}@font-face{font-family:Roboto Condensed Fallback;src:local(Arial);ascent-override:104.44%;descent-override:27.48%;line-gap-override:0.0%;size-adjust:88.83%}.roboto_condensed_69840769-module__rVTF9W__className{font-family:Roboto Condensed,Roboto Condensed Fallback;font-style:normal}.roboto_condensed_69840769-module__rVTF9W__variable{--font-roboto-condensed:"Roboto Condensed", "Roboto Condensed Fallback"}
@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7d9edc374eb8b4cc-s.3xmk0kg0cch7v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/818a4438c36188b3-s.3qxs4d-3_rapx.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/bf7580c17ffd8968-s.1p-8m2mqr-x3v.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/86f02abeb25861f7-s.20z5rmh7rq_7q.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/ce61d609bb35f74a-s.1a-jrlqpcw9fo.woff2)format("woff2");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-209F,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/64740b8bdb7cd46c-s.2aj8xn5f3r4be.woff2)format("woff2");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:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/8e77a87423ff3361-s.3bmewpibm-0_g.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Serif;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/8a2c42adfc3681fc-s.p.2qnbemmwa_un3.woff2)format("woff2");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}@font-face{font-family:Noto Serif Fallback;src:local(Times New Roman);ascent-override:90.29%;descent-override:24.75%;line-gap-override:0.0%;size-adjust:118.4%}.noto_serif_b5b4d79f-module__9IuEyW__className{font-family:Noto Serif,Noto Serif Fallback;font-style:italic;font-weight:400}.noto_serif_b5b4d79f-module__9IuEyW__variable{--font-noto-serif:"Noto Serif", "Noto Serif Fallback"}
:root{--bg:#f8f9fa;--surface:#fff;--surface-2:#f1f3f4;--today:#edf1f1;--fg:#212529;--muted:#6c757d;--line:#dee2e6;--accent:#5b6e6f;--accent-fg:#fff;--accent-soft:#e7ecec;--brand:#95a5a6;--btn:#6f8283;--btn-hover:#5b6c6d;--btn-fg:#fff;--ink:#fff;--ink-2:#e4e8ea;--ink-fg:#212529;--ink-muted:#6c757d;--ink-line:#dee2e6;--tab-on:#5b6e6f;--plan:#9b3d62;--plan-soft:#f8e1ea;--bar:#3d7fc4;--ok:#2a7549;--ok-soft:#dcefe3;--warn:#9a620f;--warn-soft:#f8ecd6;--bad:#b3372a;--bad-soft:#f7dfdb;--heat-0:#f1f3f4;--heat-1:#e3e9e9;--heat-2:#d3ecdc;--heat-3:#f6d6d0;--bar-n:#bcc6c7;--hatch:#cfd5d8;--shadow:#1416182e;--scrim:#14161880;--cal-0:#eceff1;--cal-1:#dcebe2;--cal-2:#dde6f3;--cal-3:#f5e6d3;--cal-4:#ece0f0;--cal-5:#f3dede;--cal-6:#e1eeee;--pie-1:#6f8283;--pie-2:#3d7fc4;--pie-3:#9b3d62;--pie-4:#2a7549;--pie-5:#9a620f;--pie-6:#6b4fa0;--pie-7:#b8c2c3;--font-head:var(--font-montserrat), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui:var(--font-roboto-slab), Georgia, "Times New Roman", serif;--font-tag:var(--font-noto-serif), Georgia, serif;--font-num:"Swis721 Cn BT", var(--font-roboto-condensed), "Roboto Condensed", "Arial Narrow", sans-serif;--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--r:4px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16181b;--surface:#212529;--surface-2:#292e33;--today:#273032;--fg:#e9ecef;--muted:#9aa4aa;--line:#363c42;--accent:#aebdbe;--accent-fg:#16181b;--accent-soft:#2d3536;--brand:#95a5a6;--btn:#95a5a6;--btn-hover:#aebdbe;--btn-fg:#16181b;--ink:#101214;--ink-2:#08090a;--ink-fg:#e9ecef;--ink-muted:#95a5a6;--ink-line:#2c3237;--tab-on:#95a5a6;--plan:#f0a3c1;--plan-soft:#3d1f2b;--bar:#6aa6e3;--ok:#5fbb86;--ok-soft:#173326;--warn:#e2aa50;--warn-soft:#3a2c14;--bad:#ec7565;--bad-soft:#41201c;--heat-0:#292e33;--heat-1:#2f3a3b;--heat-2:#173828;--heat-3:#46221d;--bar-n:#55605f;--hatch:#3b4248;--shadow:#00000080;--scrim:#0009;--cal-0:#30363b;--cal-1:#1f3a2b;--cal-2:#213047;--cal-3:#45331d;--cal-4:#3a2b44;--cal-5:#462628;--cal-6:#213d3e;--pie-1:#95a5a6;--pie-2:#6aa6e3;--pie-3:#f0a3c1;--pie-4:#5fbb86;--pie-5:#e2aa50;--pie-6:#b39ae0;--pie-7:#55605f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#16181b;--surface:#212529;--surface-2:#292e33;--today:#273032;--fg:#e9ecef;--muted:#9aa4aa;--line:#363c42;--accent:#aebdbe;--accent-fg:#16181b;--accent-soft:#2d3536;--brand:#95a5a6;--btn:#95a5a6;--btn-hover:#aebdbe;--btn-fg:#16181b;--ink:#101214;--ink-2:#08090a;--ink-fg:#e9ecef;--ink-muted:#95a5a6;--ink-line:#2c3237;--tab-on:#95a5a6;--plan:#f0a3c1;--plan-soft:#3d1f2b;--bar:#6aa6e3;--ok:#5fbb86;--ok-soft:#173326;--warn:#e2aa50;--warn-soft:#3a2c14;--bad:#ec7565;--bad-soft:#41201c;--heat-0:#292e33;--heat-1:#2f3a3b;--heat-2:#173828;--heat-3:#46221d;--bar-n:#55605f;--hatch:#3b4248;--shadow:#00000080;--scrim:#0009;--cal-0:#30363b;--cal-1:#1f3a2b;--cal-2:#213047;--cal-3:#45331d;--cal-4:#3a2b44;--cal-5:#462628;--cal-6:#213d3e;--pie-1:#95a5a6;--pie-2:#6aa6e3;--pie-3:#f0a3c1;--pie-4:#5fbb86;--pie-5:#e2aa50;--pie-6:#b39ae0;--pie-7:#55605f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font:var(--fs-md)/1.5 var(--font-ui);margin:0}img{max-width:100%}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance;font-family:var(--font-head);margin:0}a,button,select,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.top{background:var(--ink);color:var(--ink-fg);border-bottom:1px solid var(--ink-line);z-index:10;position:sticky;top:0}.top-in{flex-wrap:wrap;align-items:center;gap:8px 28px;max-width:1320px;margin:0 auto;padding:10px 16px 6px;display:flex}.brand{color:inherit;border-radius:var(--r);align-items:center;gap:14px;text-decoration:none;display:flex}.brand img{width:auto;height:46px;display:block}.brand .app{font:700 var(--fs-xs) var(--font-head);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);border-left:1px solid var(--ink-line);padding-left:14px;line-height:1.3}.brand .app em{font:italic 400 var(--fs-xs) var(--font-tag);letter-spacing:0;text-transform:none;color:var(--ink-muted);display:block}.tabs{scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.tab{color:var(--ink-fg);font:600 var(--fs-xs) var(--font-head);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid #0000;padding:10px 12px 8px;text-decoration:none}.tab:hover{color:var(--tab-on)}.tab[aria-current=page]{color:var(--tab-on);border-bottom-color:var(--tab-on)}.mainnav{align-items:center;min-width:0;display:flex}.more{position:relative}.more summary{cursor:pointer;list-style:none}.more summary::-webkit-details-marker{display:none}.more .menu{left:0;right:auto}.top-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.themebtn{appearance:none;border:1px solid var(--ink-line);color:var(--ink-fg);font:600 var(--fs-xs) var(--font-head);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r);cursor:pointer;background:0 0;align-items:center;padding:6px 10px;display:inline-flex}.themebtn:hover{border-color:var(--tab-on);color:var(--tab-on)}.themebtn>span{align-items:center;gap:6px;display:inline-flex}.themebtn svg{width:14px;height:14px}.themebtn .to-light{display:none}:root[data-theme=dark] .themebtn .to-light{display:inline-flex}:root[data-theme=dark] .themebtn .to-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .themebtn .to-light{display:inline-flex}:root:not([data-theme=light]) .themebtn .to-dark{display:none}}.skyline{width:100%;height:22px;color:var(--ink-2);display:block}@media (max-width:720px){.top-in{gap:4px 16px;padding-top:8px}.top-actions{order:1}.mainnav{flex-basis:100%;order:2}.tab{letter-spacing:.05em;padding:10px 8px 8px}}@media (max-width:420px){.brand img{height:40px}.brand .app em{display:none}}@media (max-width:360px){.tab{font-size:var(--fs-xs);letter-spacing:.03em;padding-inline:5px}.themebtn [aria-hidden=true]:not(svg){display:none}}.wrap{max-width:1320px;margin:0 auto;padding:18px 16px 48px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:14px;display:flex}.toolbar h1{font-size:var(--fs-xl);text-transform:uppercase;letter-spacing:.02em;align-self:center;font-weight:700}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px}.empty{text-align:center;color:var(--muted);margin:0;padding:28px 16px}.empty a,.linkbtn{color:var(--accent)}.linkbtn{appearance:none;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.stack{gap:14px;display:grid}.field{gap:4px;display:grid}.field>span,.label{font:600 var(--fs-xs) var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.input{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.input.num{width:7em}.check{align-items:center;gap:8px;display:flex}.btn{appearance:none;border-radius:var(--r);background:var(--btn);color:var(--btn-fg);font:600 var(--fs-sm) var(--font-head);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;padding:9px 16px}.btn:hover{background:var(--btn-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-ghost{color:var(--accent);border:1px solid var(--line);background:0 0}.btn-ghost:hover{background:var(--accent-soft)}.btn-sm{font-size:var(--fs-xs);padding:6px 10px}.alert{border-radius:var(--r);margin:0;padding:9px 12px}.alert-bad{background:var(--bad-soft);color:var(--bad)}.alert-ok{background:var(--ok-soft);color:var(--ok)}.alert-warn{background:var(--warn-soft);color:var(--warn)}.form-row{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;display:flex}.auth{max-width:380px;margin:40px auto 0;padding:24px}.auth h1{font-size:var(--fs-xl);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}.auth .tagline{font:italic var(--fs-sm) var(--font-tag);color:var(--muted);margin:0 0 18px}.usermenu{position:relative}.usermenu summary{cursor:pointer;color:var(--ink-fg);font:600 var(--fs-xs) var(--font-head);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink-line);border-radius:var(--r);align-items:center;gap:8px;padding:4px 10px 4px 4px;list-style:none;display:inline-flex}.usermenu summary::-webkit-details-marker{display:none}.usermenu summary:hover,.usermenu[open] summary{border-color:var(--tab-on);color:var(--tab-on)}.usermenu .who{line-height:1.2;display:grid}.usermenu .who small{font:400 var(--fs-xs) var(--font-head);letter-spacing:.06em;color:var(--ink-muted)}.avatar{background:var(--brand);color:#fff;width:26px;height:26px;font:700 var(--fs-xs) var(--font-head);letter-spacing:0;border-radius:50%;place-items:center;display:inline-grid}.menu{background:var(--surface);min-width:200px;color:var(--fg);border:1px solid var(--line);box-shadow:0 8px 24px var(--shadow);z-index:20;border-radius:8px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu a,.menu button{appearance:none;text-align:left;font:inherit;color:inherit;border-radius:var(--r);cursor:pointer;background:0 0;border:0;padding:7px 10px;text-decoration:none}.menu a:hover,.menu button:hover{background:var(--surface-2)}.menu form{display:contents}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th{text-align:left;font:600 var(--fs-xs) var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 12px}.table tr:last-child td{border-bottom:0}.tag{font:600 var(--fs-xs) var(--font-head);letter-spacing:.04em;border-radius:999px;padding:1px 8px;display:inline-block}.tag-ok{background:var(--ok-soft);color:var(--ok)}.tag-bad{background:var(--bad-soft);color:var(--bad)}.section{padding:16px}.section+.section{border-top:1px solid var(--line)}.section h2{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.chip{background:var(--accent-soft);color:var(--fg);font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:1px 9px;display:inline-block}.chip-done{background:var(--ok-soft);color:var(--ok)}.chip-status{color:#1d2326}.avatars{gap:2px;display:inline-flex}.overdue{color:var(--bad);font-weight:600}.progress{gap:3px;min-width:120px;display:grid}.progress .bar{background:var(--surface-2);border-radius:3px;height:5px;display:flex;overflow:hidden}.progress .bar>span{background:var(--brand);height:100%;display:block}.progress .bar>.excess{background:var(--bad)}.progress.over .num{color:var(--bad);font-weight:600}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:12px 16px;display:flex}.filters .input{width:auto;min-width:140px}.spacer{flex:1}.btn-link{text-decoration:none;display:inline-block}.meta{flex-wrap:wrap;gap:6px 28px;margin:0;padding:14px 16px;display:flex}.meta>div{gap:2px;display:grid}.meta dd{margin:0}.phase-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.phase-head h2{margin:0}.table td.num,.table th.num{text-align:right;white-space:nowrap}.table a{color:inherit}.inline-form{display:inline}.checks{flex-wrap:wrap;gap:6px 16px;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 16px;display:grid}.form-grid .wide{grid-column:1/-1}details.edit>summary{cursor:pointer;color:var(--accent)}.subtabs{margin-left:12px}.section-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:-4px 0 14px;display:flex}.section-tabs .crumb{color:var(--muted);font:600 var(--fs-xs) var(--font-head);letter-spacing:.06em;text-transform:uppercase;margin:0}.section-tabs .subtabs{margin-left:0}.section-tabs>.btn{margin-left:auto}.subtabs .tab{color:var(--muted)}.subtabs .tab:hover,.subtabs .tab[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.weeknav{align-items:center;gap:8px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px;display:grid}.stat{gap:2px;padding:10px 14px;display:grid}.stat .value{font-size:var(--fs-xl);font-weight:600}.sheet th.day{min-width:74px}.sheet .weekend{background:var(--surface-2)}.sheet .daynote{font:400 var(--fs-xs) var(--font-ui);letter-spacing:0;text-transform:none;color:var(--warn);display:block}.sheet .group th{background:var(--surface-2);font:600 var(--fs-xs) var(--font-ui);letter-spacing:0;text-transform:none;color:var(--fg)}.sheet td.cellwrap{padding:2px}.sheet .cell{border-radius:var(--r);min-height:30px;color:var(--fg);border:1px solid #0000;padding:6px 8px;text-decoration:none;display:block}.sheet .cell:hover,.sheet .cell:focus-visible{background:var(--accent-soft);border-color:var(--line)}.sheet .cell.planned{background:var(--plan-soft);color:var(--plan)}.sheet .cell.zero{color:var(--muted);opacity:.55}.sheet th.today{color:var(--fg);font-weight:800}.sheet .daybar{background:var(--surface-2);border-radius:3px;height:5px;margin-top:5px;display:flex;overflow:hidden}.sheet .daybar .done{background:var(--bar)}.sheet .daybar .plan{background:repeating-linear-gradient(135deg, var(--bar) 0 3px, transparent 3px 6px);opacity:.6}.sheet .daybar .over{background:var(--bad)}.sheet .cell.over{color:var(--bad);font-weight:600}.sheet .rowtitle{font-weight:600;display:block}.sheet .rowsub{font-size:var(--fs-xs);color:var(--muted);text-decoration:none;display:block}.sheet .rowsub.phase{text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-xs)}.sheet tr.events td{background:var(--surface-2)}.prio{border:1px solid var(--line);width:19px;height:19px;color:var(--muted);font-size:var(--fs-xs);border-radius:50%;place-items:center;line-height:1;display:inline-grid}.prio.mid{color:#d9a400;border-color:#d9a400}.prio.high{border-color:var(--bad);color:var(--bad)}.weekstate{font-size:var(--fs-xs);color:var(--bad);white-space:nowrap;align-self:center}.weekstate.done{color:var(--ok)}.sheet tfoot td,.sheet tfoot th{border-top:2px solid var(--line);font-weight:600}.sheet .cap{color:var(--muted);font-weight:400}.sheet .short{color:var(--warn)}.scrim{background:var(--scrim);z-index:30;place-items:start center;padding:6vh 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{width:min(640px,100%);color:var(--fg);gap:14px;margin:0;padding:18px;display:grid;position:static}.dialog h2{font-size:var(--fs-md);text-transform:uppercase;letter-spacing:.04em}.entrylist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.entrylist li{align-items:center;gap:10px;display:flex}.entrylist li.planned a{color:var(--muted)}.presets{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;padding:4px 12px 0;display:flex}.presets .tab{color:var(--muted)}.presets .tab:hover,.presets .tab[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.chart{margin:0 0 14px;padding:14px 16px 10px}.bars{align-items:stretch;gap:3px;height:170px;display:flex}.bars .col{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.stack-bar{border-bottom:1px solid var(--line);flex-direction:column;flex:1;justify-content:flex-end;display:flex}.seg{width:100%;display:block}.seg-b{background:var(--btn)}.seg-n{background:var(--bar-n)}.seg-plan{background:repeating-linear-gradient(45deg, var(--hatch) 0 3px, transparent 3px 6px)}.bars .tick{height:22px;font-size:var(--fs-xs);color:var(--muted);text-align:center;white-space:nowrap;padding-top:3px;overflow:visible}.legend{font-size:var(--fs-xs);flex-wrap:wrap;gap:6px 16px;margin-top:8px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.rgroups{gap:10px;display:grid}.rgroups>*{min-width:0}.rgroup>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 16px;font-weight:600;list-style:none;display:flex}.rgroup>summary::-webkit-details-marker{display:none}.rgroup>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.rgroup[open]>summary:before{transform:rotate(90deg)}.rgroup[open]>summary{border-bottom:1px solid var(--line)}.rlabel{flex:12em;min-width:0}.rtotals{font-weight:400;font-size:var(--fs-xs);flex-wrap:wrap;gap:2px 14px;display:inline-flex}.rtotals>:first-child{font-weight:600;font-size:var(--fs-sm)}.report .sub th{background:var(--surface-2);font:600 var(--fs-xs) var(--font-ui);letter-spacing:0;text-transform:none;color:var(--fg)}.subhead{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.report tr.planned td{color:var(--muted)}.report td.desc{min-width:220px}.report td a{text-decoration:none}.report td a:hover{text-decoration:underline}.sublist{gap:4px;margin:0;padding:8px 16px 12px;list-style:none;display:grid}.sublist li{flex-wrap:wrap;gap:4px 12px;display:flex}.billbar{z-index:5;background:var(--surface);border:1px solid var(--line);box-shadow:0 -4px 16px var(--shadow);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-top:10px;padding:10px 16px;display:flex;position:sticky;bottom:0}.billbar .check,.billbar .check+.num{align-self:center}.billbar .wide{flex-basis:100%}.cal{grid-template-columns:64px repeat(7,minmax(104px,1fr));min-width:830px;display:grid}.cal-corner{border-bottom:1px solid var(--line);font-size:var(--fs-xs);padding:8px 6px}.cal-head{border-bottom:1px solid var(--line);border-left:1px solid var(--line);gap:2px;padding:8px;display:grid}.cal-head .daynote{font-size:var(--fs-xs);color:var(--warn)}.cal-head>.label{font-size:var(--fs-md)}.cal-head.today .label{color:var(--accent)}.cal-allday{border-left:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:3px;min-height:30px;padding:4px;display:grid}.absence{font-size:var(--fs-xs);border-radius:var(--r);color:var(--fg);background:repeating-linear-gradient(45deg, var(--hatch) 0 4px, var(--surface-2) 4px 8px);padding:2px 6px;text-decoration:none;display:block}a.absence:hover{outline:1px solid var(--accent)}.cal-times{position:relative}.cal-times span{font-size:var(--fs-xs);color:var(--muted);position:absolute;right:6px;transform:translateY(-50%)}.cal-times span:first-child{transform:none}.cal-day{border-left:1px solid var(--line);position:relative}.cal-day.weekend{background:var(--surface-2)}.cal-day.today{background:var(--today)}.cal-slot{border-top:1px solid var(--line);position:absolute;left:0;right:0}.cal-slot:hover{background:var(--accent-soft)}.ev{z-index:1;border-radius:var(--r);color:var(--fg);font-size:var(--fs-sm);border-left:3px solid color-mix(in srgb, var(--ev-bg) 45%, var(--fg));background:var(--ev-bg);box-sizing:border-box;flex-direction:column;gap:1px;margin:1px 2px;padding:3px 6px;line-height:1.25;text-decoration:none;display:flex;position:absolute;overflow:hidden}.ev:hover,.ev:focus-visible{box-shadow:0 2px 8px var(--shadow);z-index:2}.ev-time{font-size:var(--fs-xs);color:var(--muted)}.ev-title{font-weight:600}.ev-meta{font-size:var(--fs-xs);color:var(--muted)}.ev-c0{--ev-bg:var(--cal-0)}.ev-c1{--ev-bg:var(--cal-1)}.ev-c2{--ev-bg:var(--cal-2)}.ev-c3{--ev-bg:var(--cal-3)}.ev-c4{--ev-bg:var(--cal-4)}.ev-c5{--ev-bg:var(--cal-5)}.ev-c6{--ev-bg:var(--cal-6)}.dash{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.dash>*{min-width:0}.dash .wide{grid-column:1/-1}.dashlist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dashlist li{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.dashlist li>a{min-width:0;color:inherit;flex:14em}.dashlist .progress{min-width:160px}.resources th.num{min-width:64px}.resources th.today{color:var(--accent)}.resources th .daynote{font:400 var(--fs-xs) var(--font-ui);letter-spacing:0;text-transform:none;display:block}.resources .who{font:400 var(--fs-sm) var(--font-ui);letter-spacing:0;text-transform:none;color:var(--fg);white-space:nowrap}.resources .who a{text-decoration:none}.resources td.res{font-weight:600}.res-alla{background:var(--heat-1)}.res-tais{background:var(--heat-2)}.res-ule{background:var(--heat-3);color:var(--bad)}.res-reduced{background-image:repeating-linear-gradient(45deg, var(--hatch) 0 3px, transparent 3px 7px)}.resources tr.sub td{font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2)}.resources tr.sub td:first-child{padding-left:28px}.resources tr.logged td{font-style:italic}.resources td.tentative{opacity:.75;font-style:italic}.resources tr.placeholder .who{color:var(--muted)}p.legend i{vertical-align:-2px;border:1px solid var(--line);border-radius:2px;width:12px;height:12px;margin-right:4px;display:inline-block}.gantt{min-width:760px}.g-row{border-bottom:1px solid var(--line);grid-template-columns:260px 1fr;align-items:center;display:grid}.g-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px 12px;overflow:hidden}.g-project .g-label a{color:inherit;font-weight:600}.g-phase .g-label{font-size:var(--fs-xs);padding-left:28px}.g-track{border-left:1px solid var(--line);height:30px;position:relative}.g-headrow .g-track{height:30px}.g-tick{font-size:var(--fs-xs);color:var(--muted);border-left:1px solid var(--line);height:22px;padding-left:4px;position:absolute;top:6px}.g-grid{border-left:1px solid var(--line);opacity:.6;position:absolute;top:0;bottom:0}.g-today{border-left:2px solid var(--accent);z-index:1;position:absolute;top:0;bottom:0}.g-bar{background:var(--btn);border-radius:3px;height:14px;position:absolute;top:8px}.g-bar.phase{background:var(--bar-n);height:10px;top:10px}.g-bar.late{background:var(--bad)}.g-bar.clip-start{border-top-left-radius:0;border-bottom-left-radius:0}.g-bar.clip-end{border-top-right-radius:0;border-bottom-right-radius:0}.g-key.project{background:var(--btn)}.g-key.phase{background:var(--bar-n)}.g-key.late{background:var(--bad)}.g-key.today{background:var(--accent);width:3px!important}.setrow{border-bottom:1px solid var(--line);gap:6px;padding-bottom:10px;display:grid}.setrow .form-row{align-items:flex-end}.setrow .check{align-self:center}.daylist{margin:0;padding:0 16px;list-style:none;display:grid}.daylist li{border-bottom:1px solid var(--line)}.daylist li a{color:inherit;grid-template-columns:4.5em 1fr;gap:10px;padding:12px 0;text-decoration:none;display:grid}.daylist li a:hover{background:var(--accent-soft)}.daylist li.planned a{color:var(--muted)}.daylist li.muted{padding:16px 0}.task-head{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px 28px;display:grid}@media (max-width:720px){.task-head{grid-template-columns:1fr}}.facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 18px;margin:0;display:grid}.facts dt{font:600 var(--fs-xs) var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:2px 0 0}.people,.deps,.comments{gap:8px;margin:0;padding:0;list-style:none;display:grid}.people li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deps li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.comments li{border-bottom:1px solid var(--line);padding-bottom:10px}.comment-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.comment-text{white-space:pre-wrap;margin:6px 0}.rowsub{font-size:var(--fs-xs);color:var(--muted);display:block}.rowsub.phase{text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-xs)}.project-head{align-items:flex-start}.project-head h1{margin:4px 0}.project-head .crumb{margin:0}.project-sub{flex-wrap:wrap;align-items:center;gap:4px 6px;margin:4px 0 0;display:flex}.project-tabs{margin:0 0 -1px;padding:0 4px}.phase-dates{font-size:var(--fs-xs);letter-spacing:0;text-transform:none;font-weight:400}.table tr.muted td{color:var(--muted)}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px;display:grid}.cards .stat .sub{font-size:var(--fs-xs);color:var(--muted)}.cards .stat.bad .value{color:var(--bad)}.budget-plot{border-left:1px solid var(--line);border-bottom:1px solid var(--line);height:200px;position:relative}.budget-plot svg{width:100%;height:100%;display:block;overflow:visible}.budget-plot .ymax{font-size:var(--fs-xs);position:absolute;top:-2px;left:4px}.budget-chart .axis{font-size:var(--fs-xs);justify-content:space-between;gap:8px;padding-top:3px;display:flex}.budget-chart .line{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.budget-chart .today{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.line-eelarvestatud{stroke:var(--muted);stroke-dasharray:6 4}.line-tegelik{stroke:var(--bar)}.line-prognoositav{stroke:var(--bar);stroke-dasharray:2 4}.line-planeeritud{stroke:var(--plan)}.budget-chart .line.line-over{stroke:var(--bad)}.budget-chart .budget-cap{stroke:var(--bad);stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;opacity:.7}.key-eelarvestatud{background:var(--muted)}.key-tegelik{background:var(--bar)}.key-prognoositav{background:repeating-linear-gradient(90deg, var(--bar) 0 2px, transparent 2px 4px)}.key-planeeritud{background:var(--plan)}.rowsub-indent td:first-child{padding-left:26px}.board{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;align-items:start;gap:10px;padding-bottom:8px;display:grid;overflow-x:auto}.board-col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);min-height:120px}.board-col.over{outline:2px solid var(--accent)}.board-head{border-radius:var(--r) var(--r) 0 0;color:#1d2326;font-size:var(--fs-xs);gap:2px;padding:8px 10px;display:grid}.board-head strong{font:600 var(--fs-xs) var(--font-head);letter-spacing:.04em;text-transform:uppercase}.board-cards{gap:8px;margin:0;padding:8px;list-style:none;display:grid}.board-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);cursor:grab;gap:4px;padding:8px 10px;display:grid}.board-card.locked{cursor:default}.board-card:active{cursor:grabbing}.board-title{font-weight:600}.board-foot{font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.board-move{font-size:var(--fs-xs);padding:2px 4px}.board-tabs{margin-bottom:8px}.bookmarks summary{font-size:var(--fs-sm);padding:4px 10px}.bookmarks .menu{min-width:260px;max-height:70vh;overflow-y:auto}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 0}.menu-head{font:600 var(--fs-xs) var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 10px 2px}.menu-note{font-size:var(--fs-xs);color:var(--muted);margin:4px 10px}.menu .bookmark-form{gap:6px;padding:4px 10px 8px;display:grid}.menu .bookmark-form .btn{background:var(--btn);color:var(--btn-fg);text-align:center;justify-self:start;padding:5px 12px}.menu .bookmark-form .btn:hover{background:var(--btn-hover)}.widgets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px;display:grid}.widget{align-items:center;gap:14px;padding:12px 16px;display:flex}.widget h2{font-size:var(--fs-xs);margin:0 0 4px}.widget .value{font:600 var(--fs-xl) var(--font-num);font-variant-numeric:tabular-nums}.widget .value.bad{color:var(--bad)}.ring{flex:none;width:72px;height:72px}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:8px}.ring-value{fill:none;stroke:var(--ok);stroke-width:8px;stroke-linecap:round}.ring.over .ring-value{stroke:var(--bad)}.ring.over .ring-text{fill:var(--bad)}.ring-text{font:600 var(--fs-md) var(--font-num);font-variant-numeric:tabular-nums;fill:var(--fg)}.calday+.calday{margin-top:10px}.calday h3{font:600 var(--fs-xs) var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.calday .start{color:var(--bad);font-weight:600}.more-link{font-size:var(--fs-xs);margin-top:8px;display:inline-block}.searchbox .input{width:150px;font-size:var(--fs-xs);padding:4px 8px}@media (max-width:720px){.searchbox .input{width:110px}}.search-groups{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.narrow{max-width:560px}.timer-btn{appearance:none;border:1px solid var(--ink-line);color:var(--ink-fg);border-radius:var(--r);font-size:var(--fs-sm);cursor:pointer;background:0 0;padding:3px 9px}.timer-btn:hover{border-color:var(--tab-on)}.timer.running summary{color:var(--ok);border-color:var(--ok);padding:4px 10px}.quickadd summary{font-size:var(--fs-lg);padding:3px 11px}.ev.ev-olek-vaba{opacity:.6}.ev.ev-olek-esialgne{border-style:dashed}.ev.ev-olek-valjas{background-image:repeating-linear-gradient(45deg, transparent 0 6px, var(--hatch) 6px 8px)}.task-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.sheet .cellinput{display:block;position:relative}.sheet .cellinput input.cell{width:100%;min-width:4.5em;font:inherit;font-family:var(--font-num);text-align:right;cursor:text;background:0 0}.sheet .cellinput input.cell::placeholder{color:var(--muted);opacity:1}.sheet .cellinput input.cell:focus{background:var(--surface);border-color:var(--accent);outline:none}.sheet .cellinput.invalid input.cell{border-color:var(--bad)}.sheet .cellinput .cellform{font-size:var(--fs-xs);color:var(--muted);opacity:0;text-decoration:none;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.sheet .cellinput:hover .cellform,.sheet .cellinput:focus-within .cellform{opacity:1}.table .grouprow th{background:var(--surface-2);text-align:left;font-family:var(--font-head);font-size:var(--fs-xs);letter-spacing:.04em}.table .sortlink{color:inherit;text-decoration:none}.table .sortlink:hover{text-decoration:underline}.picker{gap:10px;display:grid}.picker-group{gap:4px;display:grid}.picker-head{align-items:center;gap:8px;display:flex}.timer summary{padding:4px 10px}.timer-panel{min-width:320px;max-width:min(420px,100vw - 32px);max-height:70vh;overflow-y:auto}.timer-row{grid-template-columns:1fr auto auto auto;align-items:center;gap:4px;display:grid}.timer-row .timer-task{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timer-row .timer-icon{padding:4px 8px}.notifications summary{padding:4px 10px;position:relative}.notifications .badge{background:var(--bad);color:#fff;min-width:20px;font-size:var(--fs-xs);text-align:center;border-radius:10px;padding:0 5px;line-height:20px;position:absolute;top:-6px;right:-6px}.notifications-panel{min-width:300px;max-width:min(400px,100vw - 32px);max-height:70vh;overflow-y:auto}.notifications-panel .notification{white-space:normal;gap:2px;display:grid}.notifications-panel .notification small{color:var(--muted);font-size:var(--fs-xs)}.notifications-panel .notification.unread{border-left:3px solid var(--accent);font-weight:600}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;margin-bottom:14px;display:grid}.pie{grid-template-columns:140px 1fr;align-items:center;gap:14px;display:grid}.pie svg{width:140px;height:140px}.legend{font-size:var(--fs-xs);gap:4px;margin:0;padding:0;list-style:none;display:grid}.legend li{grid-template-columns:12px 1fr auto auto;align-items:center;gap:8px;display:grid}.legend .swatch{border-radius:2px;width:12px;height:12px}.sharebars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sharebars li{font-size:var(--fs-xs);grid-template-columns:minmax(8em,1fr) 2fr auto;align-items:center;gap:8px;display:grid}.sharebars .bar{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.sharebars .bar span{background:var(--pie-1);height:100%;display:block}@media (max-width:480px){.pie{grid-template-columns:1fr;justify-items:center}}.cal-load{font-size:var(--fs-xs);color:var(--muted);gap:2px;display:grid}.cal-load .daybar{background:var(--surface-2);border-radius:2px;height:4px;display:flex;overflow:hidden}.cal-load .daybar .done{background:var(--bar)}.cal-load .daybar .over{background:var(--bad)}.ev-allday,.ev-planned,.ev-line{font-size:var(--fs-xs);border-radius:var(--r);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;padding:2px 6px;text-decoration:none;display:block;overflow:hidden}.ev-allday{background:var(--ev-bg);border:1px solid var(--line)}.ev-allday.ev-olek-valjas{background-image:repeating-linear-gradient(45deg, transparent 0 6px, var(--hatch) 6px 8px)}.ev-planned{border:1px dashed var(--plan);color:var(--plan);background:var(--plan-soft)}.ev-line{background:var(--ev-bg)}.ev-allday:hover,.ev-planned:hover,.ev-line:hover{outline:1px solid var(--accent)}.cal-month{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.cal-month th{text-align:left;border-bottom:1px solid var(--line);padding:6px}.cal-month th:first-child{width:52px}.cal-month td{vertical-align:top;border:1px solid var(--line);height:110px;padding:4px;display:table-cell}.cal-month td>*+*{margin-top:3px}.cal-month td.weekend{background:var(--surface-2)}.cal-month td.today{background:var(--today)}.cal-month td.other .cal-month-day{color:var(--muted)}.cal-month-day{color:var(--fg);font-weight:600;text-decoration:none}.cal-summary{flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-top:14px;display:flex}.cal-summary .num{font-size:var(--fs-lg)}.gantt-p{--gl:260px;--gh:72px;overflow-x:auto}.gantt-p-head,.gantt-p-row{grid-template-columns:var(--gl) var(--gh) minmax(420px, 1fr);align-items:center;display:grid}.gantt-p-head{border-bottom:1px solid var(--line);height:30px}.gantt-p-body{position:relative}.gantt-p-head,.gantt-p-body{min-width:calc(var(--gl) + var(--gh) + 420px)}.gantt-p-row{border-bottom:1px solid var(--line)}.gantt-p-row.phase{background:var(--surface-2)}.gantt-p-row.phase .gantt-p-name{font:600 var(--fs-xs) var(--font-head);letter-spacing:.04em}.gantt-p-name{text-overflow:ellipsis;white-space:nowrap;padding:0 8px 0 4px;overflow:hidden}.gantt-p-name.sub{padding-left:20px}.gantt-p-hours{text-align:right;color:var(--muted);padding-right:10px}.gantt-p-axis,.gantt-p-track{height:100%;position:relative}.gantt-p-axis span{font-size:var(--fs-xs);color:var(--muted);border-left:1px solid var(--line);padding-left:3px;position:absolute;top:6px}.gantt-p-bar{background:var(--bar);border-radius:3px;height:14px;position:absolute;top:8px}.gantt-p-bar.phase{background:var(--accent);height:8px;top:11px}.gantt-p-bar.late{background:var(--bad)}.gantt-p-nodate{font-size:var(--fs-xs);padding-left:4px}.gantt-p-arrows{top:0;left:calc(var(--gl) + var(--gh));width:calc(100% - var(--gl) - var(--gh));pointer-events:none;position:absolute;overflow:visible}.g-bar{overflow:hidden}.g-bar.project{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--btn)}.g-fill{background:var(--btn);height:100%;display:block}.g-bar.over-budget,.g-bar.late{background:var(--bad-soft);outline:1px solid var(--bad)}.g-bar.over-budget .g-fill,.g-bar.late .g-fill{background:var(--bad)}.g-key.fill{background:var(--btn)}.g-key.project{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--btn)}.resgrid th,.resgrid td{white-space:nowrap}.resgrid td.planned{color:var(--plan);background:var(--plan-soft)}.resgrid .today{background:var(--today)}.resgrid-week{font-size:var(--fs-xs);color:var(--muted);display:block}
