@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");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}.txt-link,.chat-md-link{overflow-wrap:anywhere;word-break:normal}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107.4%;ascent-override:90.199%;descent-override:22.485%;line-gap-override:0%;unicode-range:U+??,U+100-2BA,U+2BB-2BC,U+2BD-2C5,U+2C6,U+2C7-2CC,U+2CE-2D7,U+2DA,U+2DC,U+2DD-2FF,U+300-301,U+303-304,U+308-309,U+323,U+329,U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF,U+400-45F,U+460-52F,U+102-103,U+110-111,U+128-129,U+131,U+152-153,U+168-169,U+1A0-1A1,U+1AF-1B0,U+490-491,U+4B0-4B1,U+1C80-1C8A,U+1D00-1DBF,U+1E00-1E9F,U+1EA0-1EF9,U+1EF2-1EFF,U+1F??,U+2000-206F,U+20A0-20AB,U+20AB,U+20AC,U+20AD-20C0,U+20B4,U+2113,U+2116,U+2122,U+2191,U+2193,U+2212,U+2215,U+2C60-2C7F,U+2DE0-2DFF,U+A640-A69F,U+A720-A7FF,U+FE2E-FE2F,U+FEFF,U+FFFD}:root{--font-sans:"Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", Consolas, monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:24px;--text-2xl:30px;--lh-xs:16px;--lh-sm:18px;--lh-base:20px;--lh-md:22px;--lh-lg:28px;--lh-xl:32px;--lh-2xl:38px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--ease:cubic-bezier(.2, 0, 0, 1);--duration-fast:.12s;--duration-base:.16s;--duration-slow:.22s;--row-h:40px;--input-h:36px;--btn-h:36px;--pad-x:12px;--topbar-h:56px;--app-vh:100dvh;--content-h:calc(var(--app-vh) - var(--topbar-h));--accent-50:#f5edff;--accent-100:#e6d2ff;--accent-200:#cba6ff;--accent-300:#a570f5;--accent-400:#8642e5;--accent-500:#6c1cd1;--accent-600:#5a14b0;--accent-700:#460e8a;--state-tint:var(--accent-500);--state-a-current:26%;--state-current:color-mix(in srgb, var(--state-tint) var(--state-a-current), transparent);--state-text-on-tint:var(--accent-700);--bg:#f7f8fa;--surface:#fff;--surface-elev:#fff;--surface-sunken:#f0f1f4;--border-subtle:#e8eaef;--border:#dde0e6;--border-strong:#c4c8d0;--text:#0f1216;--text-secondary:#3d4350;--text-muted:#5b626e;--text-inverse:#fff;--accent-text:var(--accent-700);--text-link:var(--accent-text);--success:#197a4b;--success-bg:#e3f6ec;--warning:#b54708;--warning-bg:#fdf1dd;--danger:#b3261e;--danger-bg:#fbeceb;--info:#0369a1;--info-bg:#e0f2fe;--success-text:#115c37;--warning-text:#92400e;--danger-text:#8f1e18;--info-text:#075985;--gantt-plan:var(--info);--in-progress:var(--info);--done:var(--success);--shadow-sm:0 1px 2px #0f12160f;--shadow-md:0 4px 12px #0f121614, 0 1px 2px #0f12160a;--shadow-lg:0 12px 32px #0f121624, 0 4px 8px #0f12160f;--ring-core:var(--primary);--ring-outset:4px;--ring:0 0 0 2px var(--ring-core), 0 0 0 var(--ring-outset) var(--ring-halo);--ring-danger:0 0 0 2px var(--danger), 0 0 0 var(--ring-outset) var(--ring-halo);--control-border:#5c626d;--ring-halo:var(--control-border);--surface-hover:var(--surface-sunken);--primary:var(--accent-600);--primary-hover:var(--accent-700);--primary-bg:color-mix(in srgb, var(--primary) 55%, transparent);--danger-hover:#8f1e18;--avatar-c-1:#6c1cd1;--avatar-c-2:#0d9488;--avatar-c-3:#d97706;--avatar-c-4:#4f46e5;--avatar-c-5:#dc2626;--avatar-c-6:#0369a1;--avatar-c-7:#197a4b;--avatar-c-8:#9333ea;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}[data-accent=indigo]{--accent-50:#eef2ff;--accent-100:#e0e7ff;--accent-200:#c7d2fe;--accent-300:#a5b4fc;--accent-400:#818cf8;--accent-500:#4f46e5;--accent-600:#4338ca;--accent-700:#3730a3}[data-accent=teal]{--accent-50:#f0fdfa;--accent-100:#ccfbf1;--accent-200:#99f6e4;--accent-300:#5eead4;--accent-400:#2dd4bf;--accent-500:#0d9488;--accent-600:#0f766e;--accent-700:#115e59}[data-accent=slate]{--accent-50:#f8fafc;--accent-100:#f1f5f9;--accent-200:#e2e8f0;--accent-300:#cbd5e1;--accent-400:#94a3b8;--accent-500:#475569;--accent-600:#334155;--accent-700:#1e293b}[data-accent=amber]{--accent-50:#fffbeb;--accent-100:#fef3c7;--accent-200:#fde68a;--accent-300:#fcd34d;--accent-400:#fbbf24;--accent-500:#d97706;--accent-600:#b45309;--accent-700:#92400e}[data-accent=crimson]{--accent-50:#fef2f2;--accent-100:#fee2e2;--accent-200:#fecaca;--accent-300:#fca5a5;--accent-400:#f87171;--accent-500:#dc2626;--accent-600:#b91c1c;--accent-700:#991b1b}[data-accent=pink]{--accent-50:#fdf2f8;--accent-100:#fce7f3;--accent-200:#fbcfe8;--accent-300:#f9a8d4;--accent-400:#f472b6;--accent-500:#ec4899;--accent-600:#db2777;--accent-700:#be185d}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1014;--surface:#15181d;--surface-elev:#1c2026;--surface-sunken:#0a0c10;--border-subtle:#2e343d;--border:#3f4856;--border-strong:#565f6e;--text:#e8eaee;--text-secondary:#b6bcc6;--text-muted:#969ca6;--text-inverse:#0f1216;--accent-text:var(--accent-300);--text-link:var(--accent-text);--success:#3fbf7f;--success-bg:#0d2a1c;--warning:#e0a838;--warning-bg:#332108;--danger:#f06a63;--danger-bg:#311210;--info:#52b3e0;--info-bg:#0b2436;--success-text:var(--success);--warning-text:var(--warning);--info-text:var(--info);--danger-text:#f79289;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073, 0 1px 2px #0000004d;--shadow-lg:0 12px 32px #0000008c, 0 4px 8px #00000059;--danger-hover:#d65049;--primary:var(--accent-300);--primary-hover:var(--accent-200);--state-a-current:34%;--state-text-on-tint:var(--accent-200);--control-border:#8b93a1;--accent-50:color-mix(in srgb, var(--accent-500) 14%, var(--surface));--accent-100:color-mix(in srgb, var(--accent-500) 24%, var(--surface))}[data-density=compact]{--row-h:32px;--input-h:32px;--btn-h:32px;--pad-x:10px}[data-density=cozy]{--row-h:48px;--input-h:40px;--btn-h:40px;--pad-x:14px}[data-radius="4"]{--radius-md:4px;--radius-lg:6px;--radius-xl:8px}[data-radius="12"]{--radius-md:8px;--radius-lg:12px;--radius-xl:16px}:root{--ui-zoom:1}[data-scale="90"]{--ui-zoom:.9}[data-scale="90"] body{zoom:.9}[data-scale="110"]{--ui-zoom:1.1}[data-scale="110"] body{zoom:1.1}[data-scale="125"]{--ui-zoom:1.25}[data-scale="125"] body{zoom:1.25}[data-scale="150"]{--ui-zoom:1.5}[data-scale="150"] body{zoom:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{min-height:100dvh}h1,h2,h3{color:var(--text);font-weight:var(--fw-semibold)}a{color:var(--text-link)}:focus{outline:none}:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm);outline:none}::selection{background:color-mix(in srgb, var(--accent-500) 24%, transparent)}.skip-link{left:var(--space-3);z-index:1000;padding:var(--space-2) var(--space-4);background:var(--surface-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:top var(--duration-base) var(--ease);position:absolute;top:-48px}.skip-link:focus{top:var(--space-3)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.icon-btn{border-radius:var(--radius-md);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--surface-sunken);color:var(--text)}.theme-menu{display:inline-flex;position:relative}.theme-pop{z-index:60;width:268px;padding:var(--space-4);gap:var(--space-4);background:var(--surface-elev);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:theme-pop-in var(--duration-base) var(--ease);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes theme-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-pop-section{gap:var(--space-2);flex-direction:column;display:flex}.theme-pop-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.segmented{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.segmented-item{border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none;flex:auto;padding:6px 8px}.segmented-item:hover{color:var(--text)}.segmented-item.is-active{background:var(--surface-elev);color:var(--text);box-shadow:var(--shadow-sm)}.accent-dots{gap:var(--space-2);display:flex}.accent-dot{border-radius:var(--radius-full);cursor:pointer;outline-offset:2px;width:26px;height:26px;transition:transform var(--duration-fast) var(--ease);border:2px solid #0000;padding:0}.accent-dot:hover{transform:scale(1.12)}.accent-dot.is-active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface-elev) inset}.theme-reset{color:var(--text-link);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.theme-reset:hover{text-decoration:underline}@media (width<=1279px){.portal .content{max-width:none}}@media (width<=1023px){.portal .sidebar{width:60px;padding:var(--space-4) var(--space-2)}.portal .sidebar-label,.portal .sidebar-badge,.portal .sidebar-soon{display:none}.portal .sidebar-link{padding:var(--space-2);justify-content:center}.portal .content{padding:var(--space-5) var(--space-4)}.portal .topbar-user-name{display:none}}@media (width<=767px){.portal .global-search-label,.portal .global-search-trigger .kbd{display:none}.portal .global-search-trigger{padding:0 var(--space-2);flex-shrink:1;width:auto;min-width:0}.portal .brand-title{display:none}.row,.form .row{gap:var(--space-3);flex-direction:column}}@media (width<=479px){.portal .content{padding:var(--space-3)}.portal .breadcrumbs{display:none}.portal .topbar{gap:var(--space-2);padding:0 var(--space-2)}.portal .topbar-user{gap:var(--space-1)}.page .page-title{font-size:var(--text-lg);line-height:var(--lh-lg)}}:where(*){scroll-padding:var(--ring-outset,4px)}.fy-btn{box-sizing:border-box;border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);height:26px;color:var(--text,#0f1216);font:inherit;cursor:pointer;white-space:nowrap;border-radius:3px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:13px;transition:background-color .1s,border-color .1s;display:inline-flex}.fy-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border-color:var(--fy-control-border,#5c626d)}.fy-btn:disabled,.fy-btn[aria-disabled=true]{opacity:.5;cursor:default}:where(.fy-btn,.fy-tab,.fy-lt__ht):focus-visible{box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d);outline:none}.fy-btn--primary{background:var(--formy-run-bg,#ffd234);border-color:var(--formy-run-border,#7a5f00);color:#1c1c1c;font-weight:700}.fy-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--formy-run-bg-hover,#f6c81f);border-color:var(--formy-run-border,#7a5f00)}.fy-btn--icon{width:24px;height:24px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));background:0 0;border-color:#0000;padding:0}.fy-btn--icon:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border-color:var(--border,#dde0e6)}.fy-btn--icon:disabled,.fy-btn--icon[aria-disabled=true]{opacity:.4}.fy-btn--link{height:auto;color:var(--text-link,var(--accent-text,#5a14b0));text-underline-offset:2px;background:0 0;border:0;padding:0 2px;font-weight:400;text-decoration:underline}.fy-btn--link:hover:not(:disabled):not([aria-disabled=true]){color:var(--primary-hover,#5a14b0);background:0 0}.fy-toolbar{padding:5px var(--pad-x,12px);background:var(--surface,#fff);border-bottom:1px solid var(--border,#dde0e6);flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;display:flex}.fy-toolbar__sep{background:var(--border,#dde0e6);flex:none;width:1px;height:20px;margin:0 2px}:root{--fy-surface-sunken:#f0f1f4;--fy-surface-readonly:#e4e7eb}:root[data-theme=dark]{--fy-surface-sunken:#0a0c10;--fy-surface-readonly:#0f1319}:root{--fy-text-secondary:#3d4350}:root[data-theme=dark]{--fy-text-secondary:#b6bcc6}:root{--fy-success-text:#187347;--fy-warning-text:#885b00;--fy-danger-text:#b3261e}:root[data-theme=dark]{--fy-success-text:#3fbf7f;--fy-warning-text:#e0a838;--fy-danger-text:#ff9a92}:root{--fy-accent-text-on-tint:var(--accent-700,#460e8a)}:root[data-theme=dark]{--fy-accent-text-on-tint:var(--accent-200,#cba6ff)}:root{--fy-control-border:#5c626d;--fy-focus-ring-core:#5c626d;--fy-state-border:#5c626d}:root[data-theme=dark]{--fy-control-border:#8b93a1;--fy-focus-ring-core:#8b93a1;--fy-state-border:#8b93a1}:root{--fy-state-tint:var(--state-tint,var(--accent-500,#6c1cd1));--fy-state-a-rest:var(--state-a-rest,0%);--fy-state-a-hover:var(--state-a-hover,8%);--fy-state-a-selected:var(--state-a-selected,16%);--fy-state-a-current:var(--state-a-current,26%);--fy-state-rest:transparent;--fy-state-hover:color-mix(in srgb, var(--fy-state-tint) var(--fy-state-a-hover), transparent);--fy-state-selected:color-mix(in srgb, var(--fy-state-tint) var(--fy-state-a-selected), transparent);--fy-state-current:color-mix(in srgb, var(--fy-state-tint) var(--fy-state-a-current), transparent);--fy-state-text-on-tint:var(--state-text-on-tint,var(--fy-accent-text-on-tint))}:root[data-theme=dark]{--fy-state-a-hover:var(--state-a-hover,14%);--fy-state-a-selected:var(--state-a-selected,24%);--fy-state-a-current:var(--state-a-current,34%)}:root{--fy-hl-bg:color-mix(in srgb, var(--formy-run-bg,#ffd234) 70%, var(--surface,#fff))}:root[data-theme=dark]{--fy-hl-bg:color-mix(in srgb, var(--formy-run-bg,#ffd234) 30%, var(--surface,#15181d))}:root{--formy-run-border:#7a5f00;--formy-field-accent-border:#7a5f00;--formy-run-text:#5c4700}:root[data-theme=dark]{--formy-run-border:#b08a00;--formy-field-accent-border:#b08a00;--formy-run-text:#d9a520}.fy-input,.fy-select{box-sizing:border-box;border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);height:26px;color:var(--text,#0f1216);font:inherit;border-radius:3px;min-width:0;padding:0 6px;font-family:Arial,Segoe UI,sans-serif;font-size:13px}.fy-input:focus,.fy-select:focus{border-color:var(--accent-400,#8642e5);box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d);outline:none}input.fy-input.fy-input,select.fy-select.fy-select{border-radius:3px;height:26px;padding:0 6px;font-size:13px}.fy-input::placeholder{color:var(--text-muted,#5b626e)}.fy-input[aria-invalid=true],.fy-select[aria-invalid=true]{border-color:var(--danger,#b3261e)}.fy-input:disabled,.fy-select:disabled{opacity:.5}textarea.fy-input{resize:vertical;height:auto;min-height:52px;padding:4px 6px}.fy-input--accent{border-color:var(--formy-field-accent-border,#7a5f00)}.fy-input--accent:focus{border-color:var(--formy-field-accent-border,#7a5f00);box-shadow:0 0 0 2px color-mix(in srgb,var(--formy-field-accent,#e8a33d) 35%,transparent),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-check,.fy-radio{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.fy-check input,.fy-radio input{accent-color:var(--accent-500,#6c1cd1);margin:0}.fy-num{font-variant-numeric:tabular-nums;text-align:right}:root{--fy-fieldbtn:24px}.fy-fieldbtn,.fy-field__btn,.fy-reffield__btn{width:24px;height:24px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-fieldbtn:hover:not(:disabled):not([aria-disabled=true]),.fy-field__btn:hover:not(:disabled):not([aria-disabled=true]),.fy-reffield__btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text,#0f1216)}.fy-fieldbtn:disabled,.fy-field__btn:disabled,.fy-reffield__btn:disabled{opacity:.4;cursor:default}.fy-fieldbtn:focus-visible,.fy-field__btn:focus-visible,.fy-reffield__btn:focus-visible{box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d);outline:none}.fy-inputwrap>.fy-input:not(:last-child),.fy-inputwrap>.fy-choicefield__value:not(:last-child){padding-right:0}.fy-choicefield__value{min-width:max-content;height:24px;color:var(--text,#0f1216);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:auto;padding:0 6px;font-family:Arial,Segoe UI,sans-serif;font-size:13px;overflow:hidden}.fy-inputwrap.fy-choicefield{--fy-valcap:24ch;min-width:min-content}.fy-choicefield__text{max-width:var(--fy-valcap,24ch);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.fy-choicefield__value:focus{outline:none}.fy-choicefield__value:disabled{cursor:default}.fy-field{align-items:center;gap:6px;min-width:0;display:flex}.fy-field--top{flex-direction:column;align-items:flex-start;gap:2px}.fy-field__label{color:var(--text-muted,#5b626e);white-space:nowrap;font-size:13px}.fy-field__row{align-items:center;gap:6px;min-width:0;display:flex}.fy-field__row .fy-field__label:empty{display:none}.fy-fieldgrid .fy-field--top>.fy-field__label{align-self:start;padding-top:4px}.fy-fieldgrid{grid-template-columns:minmax(var(--formy-label-col,180px),max-content) minmax(0,var(--formy-field-col,330px));align-items:center;gap:5px 10px;min-width:0;display:grid}.fy-fieldgrid>.fy-field{display:contents}.fy-tabs{padding:6px var(--pad-x,12px) 0;border-bottom:1px solid var(--border,#dde0e6);gap:2px;font-size:13px;display:flex}.fy-tab{border:1px solid var(--fy-control-border,#5c626d);background:var(--fy-surface-sunken,#f0f1f4);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font:inherit;cursor:pointer;white-space:nowrap;border-bottom:0;border-radius:4px 4px 0 0;padding:6px 12px;font-size:13px}.fy-tab--active{background:var(--surface,#fff);color:var(--text,#0f1216);font-weight:600;position:relative;top:1px}.fy-tab:disabled{opacity:.5;cursor:default}.fy-overlay{z-index:60;position:fixed;inset:0}.fy-menu{z-index:70;border:1px solid var(--border-strong,#c4c8d0);background:var(--surface-elev,var(--surface,#fff));min-width:220px;max-width:340px;max-height:60vh;box-shadow:0 4px 14px color-mix(in srgb,var(--text,#0f1216) 22%,transparent);border-radius:3px;padding:4px 0;scroll-padding:4px;font-size:13px;position:absolute;top:calc(100% + 2px);left:0;overflow:auto}.fy-menu--right{left:auto;right:0}.fy-menu__item{box-sizing:border-box;width:100%;color:var(--text,#0f1216);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 12px 5px 8px;font-size:13px;display:flex}.fy-menu__item:hover:not(:disabled):not([aria-disabled=true]){background:var(--formy-run-bg,#ffd234);color:#1c1c1c}.fy-menu__item:disabled{color:var(--text-muted,#5b626e);cursor:default}.fy-menu__check{text-align:center;width:16px;color:var(--accent-text,#5a14b0);flex:none}.fy-menu__item:hover:not(:disabled):not([aria-disabled=true]) .fy-menu__check{color:#1c1c1c}.fy-menu__label{flex:auto;min-width:0}.fy-menu__hint{color:var(--text-muted,#5b626e);margin-left:auto;font-size:12px}.fy-menu__sep{background:var(--border-subtle,#e8eaef);height:1px;margin:4px 0}.fy-menu__section{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.03em;padding:3px 12px 3px 8px;font-size:11px;font-weight:600}.fy-submenu{top:-5px;left:calc(100% - 2px)}.fy-dialog__backdrop{z-index:80;background:color-mix(in srgb,var(--text,#0f1216) 22%,transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fy-dialog__backdrop--local{position:absolute}.fy-dialog{border:1px solid var(--border-strong,#c4c8d0);background:var(--surface,#fff);width:min(560px,92vw);max-height:min(640px,92vh);color:var(--text,#0f1216);box-shadow:0 8px 30px color-mix(in srgb,var(--text,#0f1216) 35%,transparent);transform:translate(calc(var(--formy-cascade,0) * 14px),calc(var(--formy-cascade,0) * 14px));border-radius:4px;flex-direction:column;font-size:13px;display:flex}.fy-dialog--wide{width:min(940px,96vw)}.fy-dialog--large{width:min(1240px,96vw);height:min(760px,90vh);max-height:90vh}.fy-dialog__head{border-bottom:1px solid var(--border-subtle,#e8eaef);align-items:center;gap:8px;padding:10px 14px;font-size:16px;font-weight:600;display:flex}.fy-dialog__body{flex:auto;min-height:0;padding:10px 14px;scroll-padding:4px;overflow:auto}.fy-dialog__foot{border-top:1px solid var(--border,#dde0e6);justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;display:flex}.fy-dialog__foot--center{justify-content:center}.fy-toast{z-index:40;border:1px solid var(--border-strong,#c4c8d0);background:var(--surface-elev,var(--surface,#fff));min-width:240px;max-width:380px;color:var(--text,#0f1216);box-shadow:0 2px 10px color-mix(in srgb,var(--text,#0f1216) 22%,transparent);border-radius:3px;padding:8px 12px;font-size:13px;position:absolute;bottom:16px;right:16px}.fy-toast--success{border-color:var(--success,#197a4b)}.fy-toast--danger{border-color:var(--danger,#b3261e)}.fy-toast__title{font-weight:600}.fy-toast--danger .fy-toast__title{color:var(--danger,#b3261e)}.fy-toast__sub{color:var(--text-link,var(--accent-text,#5a14b0));margin-top:2px;font-size:12.5px}.fy-link{color:var(--text-link,var(--accent-text,#5a14b0));font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0 2px;text-decoration:underline}.fy-link--active{color:var(--text,#0f1216);font-weight:700;text-decoration:none}.fy-badge{border-radius:var(--radius-full,9999px);background:var(--accent-100,#e6d2ff);color:var(--accent-text,#5a14b0);white-space:nowrap;padding:0 6px;font-size:11px;line-height:16px;display:inline-block}.fy-titlebar{padding:5px var(--pad-x,12px);background:var(--surface,#fff);border-bottom:1px solid var(--border,#dde0e6);align-items:center;gap:6px;font-size:13px;display:flex}.fy-titlebar__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden}.fy-statusbar{padding:4px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.fy-footer{padding:6px var(--pad-x,12px);background:var(--surface,#fff);border-top:1px solid var(--border,#dde0e6);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.fy-footer__spacer{flex:auto}.fy-footer__total{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:inline-flex}.fy-footer__total b{font-weight:700}@media (prefers-reduced-motion:reduce){[class^=fy-],[class*=\ fy-]{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.fy-inputwrap{box-sizing:border-box;border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);border-radius:3px;align-items:center;min-width:0;height:26px;display:inline-flex;position:relative}.fy-inputwrap:focus-within{border-color:var(--accent-400,#8642e5);box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-inputwrap>.fy-input{height:24px;box-shadow:none;background:0 0;border:0;flex:auto}.fy-inputwrap>.fy-input:focus{box-shadow:none;border:0;outline:none}.fy-inputwrap--accent{border-color:var(--formy-field-accent-border,#7a5f00)}.fy-inputwrap--accent:focus-within{border-color:var(--formy-field-accent-border,#7a5f00);box-shadow:0 0 0 2px color-mix(in srgb,var(--formy-field-accent,#e8a33d) 35%,transparent),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-inputwrap--invalid{border-color:var(--danger,#b3261e)}.fy-req-underline{box-shadow:inset 0 -2px 0 var(--danger,#b3261e)}.fy-inputwrap.fy-req-underline:focus-within{box-shadow:inset 0 -2px 0 var(--danger,#b3261e),0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-field__unit{color:var(--text-muted,#5b626e);flex:none;padding:0 6px 0 2px;font-size:12.5px}.fy-num--neg{color:var(--danger,#b3261e)}.fy-field__label--req:after{content:" *";color:var(--danger,#b3261e)}.fy-nativepicker{opacity:0;pointer-events:none;border:0;width:0;height:0;padding:0;position:absolute;bottom:0;right:0}.fy-spin{flex-direction:column;flex:none;margin-right:1px;display:inline-flex}.fy-spin__btn{width:16px;height:11px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-spin__btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text,#0f1216)}.fy-spin__btn:disabled{opacity:.35;cursor:default}.fy-role--muted{color:var(--text-muted,#5b626e)}.fy-role--error{color:var(--danger,#b3261e)}.fy-role--warning{color:var(--warning-text,var(--fy-warning-text,#885b00))}.fy-role--success{color:var(--success-text,var(--fy-success-text,#187347))}.fy-role--accent{color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a))}.fy-role--link{color:var(--text-link,var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a)))}.fy-run--b{font-weight:600}.fy-run--i{font-style:italic}.fy-run--u{text-decoration:underline}.fy-size--xs{font-size:10.5px}.fy-size--sm{font-size:12px}.fy-size--md{font-size:13px}.fy-size--lg{font-size:15px}.fy-size--xl{font-size:18px}.fy-tooltip{align-items:center;display:inline-flex;position:relative}.fy-tooltip--inline{color:var(--text-muted,#5b626e);font-size:12px}.fy-tooltip__btn{width:18px;height:22px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-tooltip__btn:hover{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text,#0f1216)}.fy-tooltip__pop{z-index:91;border:1px solid var(--border-strong,#c4c8d0);background:var(--surface-elev,var(--surface,#fff));min-width:180px;max-width:340px;box-shadow:0 4px 14px color-mix(in srgb,var(--text,#0f1216) 22%,transparent);color:var(--text,#0f1216);white-space:normal;border-radius:3px;padding:6px 10px;font-size:12.5px;position:absolute}.fy-tooltip__pop--bottom,.fy-tooltip__pop--auto{top:calc(100% + 4px);left:0}.fy-tooltip__pop--top{bottom:calc(100% + 4px);left:0}.fy-tooltip__pop--right{top:0;left:calc(100% + 4px)}.fy-tooltip__pop--left{top:0;right:calc(100% + 4px)}.fy-tooltip__pop--balloon{background:var(--formy-balloon-bg,#fff8dc);border-color:var(--formy-balloon-border,#e0d089)}.fy-attached{border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);height:26px;color:var(--text,#0f1216);cursor:pointer;white-space:nowrap;border-radius:3px;margin-left:4px;padding:0 10px;font-size:13px}.fy-attached:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4))}.fy-attached:disabled{opacity:.5;cursor:default}.fy-attached--link{background:0 0;border:0;padding:0 2px}.fy-tumbler{border:1px solid var(--fy-control-border,#5c626d);border-radius:3px;height:26px;display:inline-flex;overflow:hidden}.fy-tumbler__seg{background:var(--surface,#fff);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));cursor:pointer;border:0;padding:0 12px;font-size:13px}.fy-tumbler__seg+.fy-tumbler__seg{border-left:1px solid var(--fy-control-border,#5c626d)}.fy-tumbler__seg--on{background:var(--formy-run-bg,#ffd234);color:#1c1c1c;font-weight:600}.fy-tumbler__seg:disabled{opacity:.5;cursor:default}.fy-check--switch{align-items:center;gap:6px;display:inline-flex}.fy-switch__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fy-switch{background:var(--fy-control-border,#5c626d);border-radius:8px;width:30px;height:16px;transition:background .12s;display:inline-block;position:relative}.fy-switch:after{content:"";background:var(--surface,#fff);border-radius:50%;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px}.fy-switch__input:checked+.fy-switch{background:var(--accent-500,#6c1cd1)}.fy-switch__input:checked+.fy-switch:after{left:16px}.fy-switch__input:focus-visible+.fy-switch{box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-switch__input:disabled+.fy-switch{opacity:.5}.fy-period{align-items:center;gap:4px;min-width:0;display:inline-flex}.fy-period__dash{color:var(--text-muted,#5b626e)}.fy-period .fy-inputwrap{width:118px}.fy-radiogroup{flex-wrap:wrap;align-items:center;gap:12px;min-height:26px;display:inline-flex}.fy-radiogroup--vertical{flex-direction:column;align-items:flex-start;gap:4px}.fy-radiogroup--equal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.fy-radio__desc{color:var(--text-muted,#5b626e);font-size:11.5px;display:block}.fy-segmented{border:1px solid var(--fy-control-border,#5c626d);border-radius:3px;height:26px;display:inline-flex;overflow:hidden}.fy-segmented--equal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.fy-segmented__seg{background:var(--surface,#fff);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));cursor:pointer;white-space:nowrap;border:0;padding:0 12px;font-size:13px}.fy-segmented__seg+.fy-segmented__seg{border-left:1px solid var(--fy-control-border,#5c626d)}.fy-segmented__seg--on{background:var(--formy-run-bg,#ffd234);color:#1c1c1c;font-weight:600}.fy-segmented__seg:disabled{opacity:.5;cursor:default}.fy-select--accent{border-color:var(--formy-field-accent-border,#7a5f00)}.fy-select--accent:focus{border-color:var(--formy-field-accent-border,#7a5f00);box-shadow:0 0 0 2px color-mix(in srgb,var(--formy-field-accent,#e8a33d) 35%,transparent),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-labelfield{min-width:0;min-height:26px;color:var(--text,#0f1216);align-items:center;font-size:13px;display:inline-flex}.fy-decoration{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font-size:13px}.fy-link--inert{cursor:default;text-decoration:underline}.fy-picture{width:24px;height:24px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));justify-content:center;align-items:center;display:inline-flex}.fy-labelfield--link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.fy-deco-btn{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.fy-deco-btn:hover{opacity:.8}.fy-spacer{flex:none;display:inline-block}.fy-image{border-radius:3px;max-width:100%;display:inline-block}.fy-image--border{border:1px solid var(--border,#dde0e6)}.fy-image--clickable{cursor:zoom-in}.fy-image--stretch{width:100%;height:auto}.fy-image--proportional{width:auto;max-height:160px}.fy-image--byFont{width:auto;height:16px}.fy-image--empty{border:1px dashed var(--border-strong,#c4c8d0);min-width:120px;min-height:60px;color:var(--text-muted,#5b626e);border-radius:3px;justify-content:center;align-items:center;padding:8px;font-size:12px;display:inline-flex}.fy-lightbox{z-index:95;cursor:zoom-out;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fy-lightbox__img{border-radius:3px;max-width:92vw;max-height:92vh}textarea.fy-comment{display:block}.fy-fieldgrid--2{grid-template-columns:minmax(var(--formy-label-col,180px),max-content) minmax(0,var(--formy-field-col,330px)) minmax(var(--formy-label-col,180px),max-content) minmax(0,var(--formy-field-col,330px))}.fy-fieldgrid--loose{flex-direction:column;gap:5px;display:flex}.fy-fieldgrid--loose>.fy-field{display:flex}.fy-group{min-width:0}.fy-group--united{border:1px solid var(--border,#dde0e6);border-radius:3px;padding:8px 10px}.fy-group--weak .fy-group__title{text-transform:none;letter-spacing:0;font-weight:400}.fy-group__title{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:11px;font-weight:600}.fy-group__head{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 2px;display:inline-flex}.fy-group__head .fy-group__title{margin-bottom:0}.fy-group__body--v{flex-direction:column;gap:6px;display:flex}.fy-group__body--h{align-items:flex-start;gap:12px;display:flex}.fy-group__body--hwrap{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.fy-group__body--right{text-align:right;align-items:flex-end}.fy-group__body--h.fy-group__body--right,.fy-group__body--hwrap.fy-group__body--right{justify-content:flex-end}.fy-group--popup{display:inline-block;position:relative}.fy-group__popup{min-width:260px;padding:8px 10px}.fy-pages{min-width:0}.fy-pages__body{padding:8px 0}.fy-pages__count{color:var(--text-muted,#5b626e);font-variant-numeric:tabular-nums}.fy-tab--active .fy-pages__count{color:var(--text-secondary,var(--fy-text-secondary,#3d4350))}.fy-table-stub{border:1px dashed var(--border-strong,#c4c8d0);color:var(--text-muted,#5b626e);text-align:center;border-radius:3px;padding:14px;font-size:12.5px}.fy-cal{z-index:92;border:1px solid var(--border-strong,#c4c8d0);background:var(--surface-elev,var(--surface,#fff));box-shadow:0 6px 20px color-mix(in srgb,var(--text,#0f1216) 24%,transparent);color:var(--text,#0f1216);-webkit-user-select:none;user-select:none;border-radius:4px;font-size:12.5px;display:flex;position:absolute}.fy-cal__left{border-right:1px solid var(--border,#dde0e6);background:var(--surface-sunken,var(--fy-surface-sunken,#f7f8fa));flex-direction:column;gap:6px;padding:8px;display:flex}.fy-cal__yearrow{align-items:center;gap:4px;padding:0 2px 2px;display:flex}.fy-cal__year{font-size:13.5px;font-weight:700}.fy-cal__spin{flex-direction:column;margin-left:auto;display:inline-flex}.fy-cal__spin button{border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);width:18px;height:12px;color:var(--text-muted,#5b626e);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.fy-cal__spin button:first-child{border-bottom:0;border-radius:3px 3px 0 0}.fy-cal__spin button:last-child{border-radius:0 0 3px 3px}.fy-cal__spin button:hover{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text,#0f1216)}.fy-cal__months{flex-direction:column;gap:3px;display:flex}.fy-cal__mrow{gap:3px;display:flex}.fy-cal__month{min-width:38px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;flex:1 1 0;padding:3px 4px;font-size:12px}.fy-cal__month:hover{background:var(--surface-sunken,var(--fy-surface-sunken,#eceef2))}.fy-cal__month.is-today{color:var(--accent-text,#5a14b0);font-weight:600}.fy-cal__month.is-sel{background:var(--fy-surface-sunken,#dfe3ea);border-color:var(--fy-state-border,#5c626d);color:var(--text,#0f1216);font-weight:600}.fy-cal__right{flex-direction:column;min-width:218px;padding:8px 10px;display:flex}.fy-cal__hdr{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.fy-cal__title{font-size:12.5px;font-weight:600}.fy-cal__nav{border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);width:22px;height:22px;color:var(--text-muted,#5b626e);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex}.fy-cal__nav:hover{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text,#0f1216)}.fy-cal__grid{grid-template-columns:repeat(7,26px);gap:1px;display:grid}.fy-cal__wd{height:22px;color:var(--accent-text,#3a6ea5);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.fy-cal__wd.is-weekend{color:var(--danger,#c0392b)}.fy-cal__day{height:26px;color:var(--text,#0f1216);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:3px;padding:0;font-size:12.5px}.fy-cal__day:hover{background:var(--surface-sunken,var(--fy-surface-sunken,#eceef2))}.fy-cal__day.is-weekend{color:var(--danger,#c0392b)}.fy-cal__day.is-out{color:var(--text-muted,#a7adb8);opacity:.75}.fy-cal__day.is-today{box-shadow:inset 0 0 0 1px var(--fy-state-border,#5c626d);font-weight:700}.fy-cal__day.is-sel{border-color:var(--fy-state-border,#5c626d);box-shadow:inset 0 0 0 2px var(--formy-field-accent,#e8a33d);font-weight:700}.fy-cal__foot{border-top:1px solid var(--border,#dde0e6);margin-top:8px;padding-top:6px}.fy-cal__today{cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px}.fy-group--strong{border:1px solid var(--danger,#b3261e);background:color-mix(in srgb,var(--danger,#b3261e) 6%,transparent);border-radius:3px;padding:8px 10px}.fy-group--tone-totals{background:color-mix(in srgb,var(--accent-400,#8642e5) 8%,transparent);border-radius:3px;padding:8px 10px}.fy-group--tone-warning{background:color-mix(in srgb,var(--warning,#e8a33d) 14%,transparent);border-radius:3px;padding:8px 10px}.fy-group--stretch{flex:auto;align-self:stretch;width:100%}.fy-group--ro{opacity:.96}.fy-group__head--link{padding:0 2px;font-size:13px}.fy-group__body--cw-equal,.fy-group__body--cw-leftwide,.fy-group__body--cw-leftwidest,.fy-group__body--cw-leftnarrow,.fy-group__body--cw-leftnarrowest{align-items:start;gap:6px 12px;display:grid}.fy-group__body--cw-equal{grid-template-columns:1fr 1fr}.fy-group__body--cw-leftwide{grid-template-columns:2fr 1fr}.fy-group__body--cw-leftwidest{grid-template-columns:3fr 1fr}.fy-group__body--cw-leftnarrow{grid-template-columns:1fr 2fr}.fy-group__body--cw-leftnarrowest{grid-template-columns:1fr 3fr}.fy-group__body--v.fy-group__body--ah-center{text-align:center;align-items:center}.fy-group__body--v.fy-group__body--ah-right{text-align:right;align-items:flex-end}.fy-group__body--h.fy-group__body--ah-center,.fy-group__body--hwrap.fy-group__body--ah-center{justify-content:center}.fy-group__body--h.fy-group__body--ah-right,.fy-group__body--hwrap.fy-group__body--ah-right{justify-content:flex-end}.fy-group__body--sp-none{gap:0}.fy-group__body--sp-half{gap:3px 6px}.fy-group__body--sp-double{gap:12px 24px}.fy-tab__icon{vertical-align:-2px;flex:none;margin-right:4px}.fy-indicator{min-height:26px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));align-items:center;gap:6px;min-width:0;font-size:13px;display:inline-flex}.fy-indicator__icon{flex:none}.fy-indicator__text{min-width:0}.fy-indicator--info .fy-indicator__icon{color:var(--text-muted,#5b626e)}.fy-indicator--warning .fy-indicator__icon{color:var(--warning,#e8a33d)}.fy-indicator--danger .fy-indicator__icon{color:var(--danger,#b3261e)}.fy-busyspin{animation:.9s linear infinite fy-busyspin}@keyframes fy-busyspin{to{transform:rotate(360deg)}}.fy-checklist{flex-direction:column;gap:4px;min-width:180px;max-width:100%;display:inline-flex}.fy-checklist__title{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.fy-checklist__search{width:100%}.fy-checklist__searchicon{color:var(--text-muted,#5b626e);flex:none;margin-left:5px}.fy-checklist__list{border:1px solid var(--border,#dde0e6);background:var(--surface,#fff);border-radius:3px;flex-direction:column;padding:3px 6px;scroll-padding:4px;display:flex;overflow-y:auto}.fy-checklist__item{align-items:center;min-height:24px;display:inline-flex}.fy-checklist__empty{color:var(--text-muted,#5b626e);padding:4px 2px;font-size:12.5px}.fy-checklist__all{gap:12px;display:flex}.fy-printview{border:1px solid var(--border,#dde0e6);background:var(--surface,#fff);border-radius:3px;overflow:hidden}.fy-printview__bar{padding:5px var(--pad-x,12px);border-bottom:1px solid var(--border,#dde0e6);align-items:center;gap:5px;display:flex}.fy-printview__frame{background:#fff;border:0;width:100%;display:block}.fy-htmlview{border:1px solid var(--border,#dde0e6);color:var(--text,#0f1216);background:var(--surface,#fff);border-radius:3px;padding:8px 10px;scroll-padding:4px;font-size:13px;overflow:auto}.fy-htmlview img{max-width:100%}.fy-htmlview table{border-collapse:collapse}.fy-htmlview td,.fy-htmlview th{border:1px solid var(--border,#dde0e6);padding:2px 6px}.fy-node-stub{border:1px dashed var(--border-strong,#c4c8d0);color:var(--text-muted,#5b626e);text-align:center;border-radius:3px;padding:14px;font-size:12.5px}.fy-pdfview{flex-direction:column;align-items:center;gap:6px;display:flex}.fy-grid{outline:none;min-width:0;font-size:13px;position:relative}.fy-grid:focus-visible .fy-grid__scroll{border-color:var(--accent-400,#8642e5);box-shadow:inset 0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),inset 0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-grid__fxbar{background:var(--surface,#fff);border:1px solid var(--border,#dde0e6);border-bottom:none;border-radius:3px 3px 0 0;align-items:center;gap:8px;height:28px;padding:0 8px;font-size:12px;display:flex}.fy-grid__coord{text-align:center;font-variant-numeric:tabular-nums;background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border:1px solid var(--border-subtle,#e8eaef);min-width:44px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));border-radius:3px;padding:1px 6px}.fy-grid__fx{color:var(--text-muted,#5b626e);border-right:1px solid var(--border-subtle,#e8eaef);padding-right:8px;font-style:italic;font-weight:600}.fy-grid__fvalue{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;color:var(--text,#0f1216);flex:auto;overflow:hidden}.fy-grid__scroll{border:1px solid var(--border,#dde0e6);background:var(--surface,#fff);border-radius:0 0 3px 3px;scroll-padding:4px;overflow:auto}.fy-grid__table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;line-height:1.2}.fy-grid__table th,.fy-grid__table td{border-right:.5px solid var(--border-subtle,#e8eaef);border-bottom:.5px solid var(--border-subtle,#e8eaef);padding:0 var(--pad-x,8px);height:var(--row-h,28px);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;border-radius:0;max-width:420px;overflow:hidden}.fy-grid__table th:last-child,.fy-grid__table td:last-child{border-right:none}.fy-grid__table thead th{z-index:3;background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border-bottom:1px solid var(--border,#dde0e6);text-transform:uppercase;letter-spacing:.02em;height:28px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-align:left;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600;position:sticky;top:0}.fy-grid__table thead .fy-grid__head2 th{top:28px}.fy-grid__head--group{text-align:center;border-bottom:.5px solid var(--border-subtle,#e8eaef)}.fy-grid__head-sub{text-transform:none;letter-spacing:0;color:var(--text-muted,#5b626e);font-weight:400}.fy-grid__table thead th.fy-grid__cell--right{text-align:right}.fy-grid__table thead th.fy-grid__cell--center{text-align:center}.fy-grid__table--userw{table-layout:fixed}.fy-grid__head--draggable{cursor:grab}.fy-grid__colresize{cursor:col-resize;z-index:4;width:8px;height:100%;position:absolute;top:0;right:-4px}.fy-grid__colresize:hover,.fy-grid__colresize:active{background:color-mix(in srgb,var(--accent-500,var(--accent,#6c1cd1)) 35%,transparent)}.fy-grid__head--dropbefore{box-shadow:inset 3px 0 0 0 var(--accent-500,var(--accent,#6c1cd1)),inset 4px 0 0 0 var(--fy-state-border,#5c626d)}.fy-grid__head--dropafter{box-shadow:inset -3px 0 0 0 var(--accent-500,var(--accent,#6c1cd1)),inset -4px 0 0 0 var(--fy-state-border,#5c626d)}.fy-grid__col-num{width:56px;min-width:56px}.fy-grid__num{z-index:2;text-align:center;background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text-muted,#5b626e);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:400;position:sticky;left:0}.fy-grid__num.is-active{background:var(--accent-100,#e6d2ff);color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a))}.fy-grid__corner{z-index:4}.fy-grid__cell{--fy-cellbtns-w:0px;cursor:cell;-webkit-user-select:none;user-select:none;background:var(--surface,#fff);position:relative}.fy-grid__cell--right{text-align:right}.fy-grid__cell--center{text-align:center}.fy-grid__cell--right .fy-grid__celltext,.fy-grid__total.fy-grid__cell--right{font-variant-numeric:tabular-nums}.fy-grid__cell--right{min-width:120px}.fy-grid__table tbody tr.fy-grid__row:nth-child(2n)>.fy-grid__cell{background:color-mix(in srgb,var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4)) 45%,var(--surface,#fff))}.fy-grid__cell.is-readonly{background:var(--fy-surface-readonly,#e4e7eb);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));cursor:default}.fy-grid__table tbody tr.fy-grid__row:hover>.fy-grid__cell{background:var(--fy-state-hover)}.fy-grid__cell.is-range,.fy-grid__table tbody tr.fy-grid__row:hover>.fy-grid__cell.is-range{background:var(--fy-state-selected)}.fy-grid__cell.is-active{box-shadow:inset 0 0 0 2px var(--accent-500,#6c1cd1),inset 0 0 0 3px var(--fy-state-border,#5c626d)}.fy-grid__cell.is-fill{box-shadow:inset 0 0 0 1px var(--accent-500,#6c1cd1),inset 0 0 0 2px var(--fy-state-border,#5c626d);background:color-mix(in srgb,var(--accent-500,#6c1cd1) 6%,var(--surface,#fff))}.fy-grid__cell.is-incomplete{background:color-mix(in srgb,var(--danger,#b3261e) 10%,var(--surface,#fff));box-shadow:inset 0 -2px 0 var(--danger,#b3261e)}.fy-grid__table tbody tr.fy-grid__row--danger>.fy-grid__cell{background:color-mix(in srgb,var(--danger,#b3261e) 14%,var(--surface,#fff))}.fy-grid__table tbody tr.fy-grid__row--warning>.fy-grid__cell{background:color-mix(in srgb,var(--warning,#9a6700) 14%,var(--surface,#fff))}.fy-grid__table tbody tr.fy-grid__row--success>.fy-grid__cell{background:color-mix(in srgb,var(--success,#197a4b) 12%,var(--surface,#fff))}.fy-grid__table tbody tr.fy-grid__row--muted>.fy-grid__cell{color:var(--text-muted,#5b626e)}.fy-grid__table tbody tr.fy-grid__row--bold>.fy-grid__cell{font-weight:700}.fy-grid__table tbody tr.fy-grid__row--strike>.fy-grid__cell{text-decoration:line-through}.fy-grid__fill-handle{background:var(--accent-500,#6c1cd1);border:1px solid var(--surface,#fff);cursor:crosshair;z-index:4;width:7px;height:7px;position:absolute;bottom:-1px;right:-1px}.fy-grid__cellbtns{z-index:3;background:inherit;border-radius:2px;align-items:center;display:inline-flex;position:absolute;top:50%;right:1px;transform:translateY(-50%)}.fy-grid__cell.is-active>.fy-grid__celltext{max-width:calc(100% - var(--fy-cellbtns-w,0px));text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;display:inline-block;overflow:hidden}.fy-grid__cell--right.is-active>.fy-grid__celltext{right:var(--fy-cellbtns-w,0px);position:relative}.fy-grid__cell.is-active>.fy-grid__input{box-sizing:border-box;padding-right:calc(var(--pad-x,8px) + var(--fy-cellbtns-w,0px))}.fy-menu.fy-grid__choicepop{z-index:90;position:fixed}.fy-grid__input{width:100%;height:100%;padding:0 var(--pad-x,8px);background:var(--surface,#fff);box-shadow:inset 0 0 0 2px var(--accent-500,#6c1cd1),inset 0 0 0 3px var(--fy-state-border,#5c626d);font:inherit;color:var(--text,#0f1216);font-variant-numeric:tabular-nums;border:none;outline:none;position:absolute;inset:0}.fy-grid__cell--right .fy-grid__input{text-align:right}.fy-grid__celltext--ghost{visibility:hidden}.fy-grid__calbtn{z-index:3;background:var(--surface,#fff);width:18px;height:18px;color:var(--text-muted,#5b626e);cursor:pointer;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.fy-grid__calbtn:hover{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text,#0f1216)}.fy-grid__check{accent-color:var(--accent-500,#6c1cd1);vertical-align:middle;margin:0}.fy-grid__check:disabled{opacity:.5}.fy-grid__pic{max-height:calc(var(--row-h,28px) - 6px);vertical-align:middle;max-width:100%}.fy-grid__cellbtn{max-width:100%;height:calc(var(--row-h,28px) - 6px);color:var(--text-link,var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a)));font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:4px;padding:0 6px;font-size:12.5px;display:inline-flex;overflow:hidden}.fy-grid__cellbtn:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border-color:var(--border,#dde0e6)}.fy-grid__cellbtn:disabled{opacity:.5;cursor:default}.fy-grid__stack{vertical-align:middle;flex-direction:column;line-height:1.15;display:inline-flex}.fy-grid__stack-line{text-overflow:ellipsis;overflow:hidden}.fy-grid__table td.fy-grid__cell:has(>.fy-grid__stack){height:auto;min-height:var(--row-h,28px);padding-top:2px;padding-bottom:2px}.fy-grid__cell.is-editing{z-index:6}.fy-grid__ac{z-index:5;background:var(--surface-elev,var(--surface,#fff));border:1px solid var(--border-strong,#c4c8d0);min-width:200px;max-width:320px;max-height:240px;box-shadow:0 4px 14px color-mix(in srgb,var(--text,#0f1216) 22%,transparent);white-space:normal;border-radius:3px;padding:4px;scroll-padding:4px;position:absolute;top:100%;left:0;overflow-y:auto}.fy-grid__ac--portal{z-index:90;position:fixed;top:auto;left:auto}.fy-grid__ac-item{width:100%;color:var(--text,#0f1216);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:5px 8px;font-size:13px;display:block}.fy-grid__ac-item:hover{background:var(--formy-run-bg,#ffd234);color:#1c1c1c}.fy-grid__ac-all{border-top:1px solid var(--border-subtle,#e8eaef);color:var(--text-link,var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a)));border-radius:0;margin-top:2px;padding-top:6px}.fy-grid__addrow td{background:var(--surface,#fff);padding:0}.fy-grid__addbtn{width:100%;height:var(--row-h,28px);text-align:left;font:inherit;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:none;padding:0 10px;font-size:12px;display:block}.fy-grid__addbtn:hover{color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a));background:color-mix(in srgb,var(--accent-500,#6c1cd1) 6%,var(--surface,#fff))}.fy-grid__addbtn:focus-visible{box-shadow:inset 0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),inset 0 0 0 3px var(--fy-focus-ring-core,#5c626d);outline:none}.fy-grid__table tfoot th,.fy-grid__table tfoot td{z-index:3;background:color-mix(in srgb,var(--accent-500,#6c1cd1) 8%,var(--surface,#fff));border-top:1px solid var(--border-strong,#c4c8d0);height:30px;font-weight:600;position:sticky;bottom:0}.fy-grid__total-corner{z-index:4;text-transform:uppercase;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));background:color-mix(in srgb,var(--accent-500,#6c1cd1) 8%,var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4)));font-size:11px}.fy-grid__sigma{color:var(--text-muted,#5b626e);font-weight:400}.fy-grid__table td.is-fx{z-index:2;position:sticky}.fy-grid__table thead th.is-fx,.fy-grid__table tfoot td.is-fx{z-index:4}.fy-grid__table .is-fx-edge-left:after,.fy-grid__table .is-fx-edge-right:after{content:"";pointer-events:none;width:6px;position:absolute;top:0;bottom:0}.fy-grid__table .is-fx-edge-left:after{background:linear-gradient(to right,color-mix(in srgb,var(--text,#0f1216) 14%,transparent),transparent);right:-6px}.fy-grid__table .is-fx-edge-right:after{background:linear-gradient(to left,color-mix(in srgb,var(--text,#0f1216) 14%,transparent),transparent);left:-6px}.fy-grid__col-filler{width:99%}.fy-grid__cellhl{font:inherit;color:var(--text-link,var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a)));cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:100%;padding:0;overflow:hidden}.fy-grid__cellhl:hover:not(:disabled):not([aria-disabled=true]){text-decoration:underline}.fy-grid__cellhl:disabled{color:var(--text-muted,#5b626e);cursor:default}.fy-grid__cell.is-neg .fy-grid__celltext{color:var(--danger,#b3261e)}.fy-grid__ph{color:var(--text-muted,#5b626e)}.fy-grid__vico{vertical-align:middle;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));display:inline-flex}.fy-grid__vico--error{color:var(--danger,#b3261e)}.fy-grid__vico--warning{color:var(--warning-text,var(--fy-warning-text,#885b00))}.fy-grid__vico--success{color:var(--success-text,var(--fy-success-text,#187347))}.fy-grid__vico--muted{color:var(--text-muted,#5b626e)}.fy-grid__vico--accent{color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a))}.fy-grid__headico{vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.fy-grid__stateico{vertical-align:middle;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));margin-right:3px;display:inline-flex}.fy-grid__table tbody tr.is-rowsel>.fy-grid__cell,.fy-grid__table tbody tr.fy-grid__row.is-rowsel:hover>.fy-grid__cell{background:var(--fy-state-selected)}.fy-grid__table tbody tr.is-rowsel>.fy-grid__num{background:var(--fy-state-current);color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a))}.fy-grid__searchbar{background:var(--surface,#fff);border:1px solid var(--border,#dde0e6);border-top:none;border-bottom:none;align-items:center;gap:4px;padding:3px 8px;display:flex}.fy-grid__search{border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);min-width:0;height:22px;color:var(--text,#0f1216);font:inherit;border-radius:3px;flex:auto;padding:0 6px;font-size:12.5px}.fy-grid__search:focus{border-color:var(--accent-400,#8642e5);box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d);outline:none}.fy-grid__searchclear{font:inherit;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:14px;line-height:1}.fy-grid__searchclear:hover{color:var(--danger,#b3261e)}.fy-grid__viewstatus{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));background:color-mix(in srgb,var(--warning,#9a6700) 12%,var(--surface,#fff));border:1px solid var(--border,#dde0e6);border-top:none;border-bottom:none;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:flex}.fy-grid__hl{background:var(--fy-hl-bg,color-mix(in srgb, var(--formy-run-bg,#ffd234) 70%, var(--surface,#fff)));color:inherit;border-radius:2px;padding:0 1px}.fy-grid__legend{color:var(--text-muted,#5b626e);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:4px 8px;font-size:12px;display:flex}.fy-grid__legend-item{align-items:center;gap:5px;display:inline-flex}.fy-grid__empty{text-align:center;color:var(--text-muted,#5b626e);cursor:default;padding:14px}.fy-reffield{box-sizing:border-box;border:1px solid var(--fy-control-border,#5c626d);background:var(--surface,#fff);border-radius:3px;align-items:center;min-width:0;height:26px;font-size:13px;display:flex;position:relative}.fy-reffield:focus-within{border-color:var(--accent-400,#8642e5);box-shadow:0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-reffield--accent{border-color:var(--formy-field-accent-border,#7a5f00)}.fy-reffield--accent:focus-within{border-color:var(--formy-field-accent-border,#7a5f00);box-shadow:0 0 0 2px color-mix(in srgb,var(--formy-field-accent,#e8a33d) 35%,transparent),0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-reffield--invalid{border-color:var(--danger,#b3261e)}.fy-reffield--disabled{opacity:.5}.fy-reffield__input{min-width:0;height:24px;color:var(--text,#0f1216);font:inherit;background:0 0;border:0;flex:auto;padding:0 6px;font-size:13px}.fy-reffield__input:focus{outline:none}.fy-reffield__input::placeholder{color:var(--text-muted,#5b626e)}.fy-reffield__btn:last-child{border-radius:0 2px 2px 0}.fy-reffield--multi{flex-wrap:wrap;gap:2px;height:auto;min-height:26px;padding:1px 0 1px 2px}.fy-reffield__chip{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));max-width:100%;height:20px;color:var(--text,#0f1216);white-space:nowrap;border-radius:3px;align-items:center;gap:2px;padding:0 2px 0 6px;font-size:12px;display:inline-flex}.fy-reffield__chipname{text-overflow:ellipsis;overflow:hidden}.fy-reffield__chipx{width:14px;height:14px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-reffield__chipx:hover{background:var(--border,#dde0e6);color:var(--text,#0f1216)}.fy-reffield--multi .fy-reffield__input{flex:60px;min-width:60px}.fy-typeahead{z-index:90;border:1px solid var(--border-strong,#c4c8d0);background:var(--surface-elev,var(--surface,#fff));min-width:220px;max-width:420px;max-height:280px;box-shadow:0 4px 14px color-mix(in srgb,var(--text,#0f1216) 22%,transparent);border-radius:3px;padding:4px 0;scroll-padding:4px;font-size:13px;position:fixed;overflow:auto}.fy-typeahead__item{color:var(--text,#0f1216);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:5px 12px 5px 8px;display:flex}.fy-typeahead__item--active{background:var(--formy-run-bg,#ffd234);color:#1c1c1c}.fy-typeahead__item--active .fy-typeahead__code{color:inherit}.fy-typeahead__label{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.fy-typeahead__code{color:var(--text-muted,#5b626e);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.fy-typeahead__match{color:inherit;font-weight:700}.fy-typeahead__empty{color:var(--text-muted,#5b626e);padding:5px 12px 5px 8px}.fy-typeahead__sep{background:var(--border-subtle,#e8eaef);height:1px;margin:4px 0}.fy-typeahead__item--action{color:var(--text-link,var(--accent-text,#5a14b0))}.fy-typeahead__item--action.fy-typeahead__item--active{color:#1c1c1c}.fy-typeahead__section{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.03em;padding:3px 12px 3px 8px;font-size:11px;font-weight:600}.fy-picker{height:min(560px,85vh)}.fy-picker__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fy-picker__body{flex-direction:column;gap:8px;display:flex;overflow:hidden}.fy-picker__search{flex:none;display:flex;position:relative}.fy-picker__search svg{color:var(--text-muted,#5b626e);pointer-events:none;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.fy-picker__searchinput{flex:auto;padding-left:24px}.fy-picker__tablewrap{border:1px solid var(--border,#dde0e6);border-radius:3px;flex:auto;min-height:0;scroll-padding:4px;overflow:auto}.fy-picker__table{border-collapse:collapse;width:100%;font-size:13px}.fy-picker__table th{z-index:2;background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));height:26px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-align:left;white-space:nowrap;border-bottom:1px solid var(--border,#dde0e6);padding:0 8px;font-weight:600;position:sticky;top:0}.fy-picker__table td{height:var(--row-h,32px);border-bottom:1px solid var(--border-subtle,#e8eaef);white-space:nowrap;padding:0 8px}.fy-picker__row{cursor:pointer}.fy-picker__row:hover{background:var(--fy-state-hover)}.fy-picker__row--active{background:color-mix(in srgb,var(--formy-field-accent,#e8a33d) 18%,transparent)}.fy-picker__checkcol{text-align:center;width:28px}.fy-picker__checkcol input{accent-color:var(--accent-500,#6c1cd1);vertical-align:middle;margin:0}.fy-picker__codecol{width:90px}.fy-picker__code{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font-variant-numeric:tabular-nums}.fy-picker__empty{color:var(--text-muted,#5b626e);text-align:center;height:60px}.fy-picker__count{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font-variant-numeric:tabular-nums;margin-right:auto;font-size:12px}.fy-picker__bar{align-items:center;gap:6px;padding:6px 12px 0;display:flex}.fy-picker__bar .fy-btn svg{vertical-align:-2px;margin-right:3px}.fy-picker__barspacer{flex:auto}.fy-picker__more{position:relative}.fy-picker__moremenu{z-index:95;border:1px solid var(--border-strong,#c4c8d0);background:var(--surface-elev,var(--surface,#fff));min-width:220px;box-shadow:0 6px 18px color-mix(in srgb,var(--text,#0f1216) 22%,transparent);border-radius:3px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.fy-picker__moremenu-head{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.02em;padding:4px 8px;font-size:11px;font-weight:600}.fy-picker__moremenu-item{width:100%;color:var(--text,#0f1216);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:5px 8px;font-size:13px;display:flex}.fy-picker__moremenu-item:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4))}.fy-picker__moremenu-item:disabled{opacity:.45;cursor:default}.fy-picker__moremenu-check{width:14px;color:var(--accent-text,#5a14b0)}.fy-picker__crumbs{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));flex:none;font-size:12px}.fy-picker__crumb{font-size:12px}.fy-picker__crumbsep{color:var(--text-muted,#5b626e);margin:0 4px}.fy-picker__crumb--here{font-weight:600}.fy-picker__name{align-items:center;gap:5px;display:inline-flex}.fy-picker__row--group td{font-weight:600}.fy-picker__row--dim td{color:var(--text-muted,#5b626e)}.fy-picker__folder{color:var(--formy-run-text,#5c4700);flex:none}.fy-picker__upicon{color:var(--text-muted,#5b626e)}.fy-picker__twist{width:16px;height:16px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-picker__twist:hover{color:var(--text,#0f1216)}.fy-picker__desccol{width:32%}.fy-picker__desc{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-overflow:ellipsis;max-width:260px;overflow:hidden}.fy-cmdbar__spacer{flex:auto}.fy-toolbar input.fy-cmdbar__search{flex:160px;width:auto;max-width:360px}.fy-drop{flex:none;display:inline-flex;position:relative}.fy-drop__caret{opacity:.65;flex:none;margin-left:1px}.fy-drop .fy-btn--icon{width:auto;padding:0 3px}.fy-splitbtn .fy-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.fy-splitbtn__caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:0 3px}.fy-menu__icon{width:14px;height:14px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));flex:none;justify-content:center;align-items:center;display:inline-flex}.fy-menu__item:hover:not(:disabled):not([aria-disabled=true]) .fy-menu__icon{color:inherit}.fy-menu__subhost{position:relative}.fy-menu__section{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));border-top:1px solid var(--border,#dde0e6);cursor:default;-webkit-user-select:none;user-select:none;margin-top:3px;padding:4px 8px 2px;font-size:11px}.fy-menu__section:first-child{border-top:none;margin-top:0}.fy-menu--fixed{position:fixed}.fy-dialoghost{display:contents}.fy-dialog__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fy-dialog__msg{align-items:flex-start;gap:12px;display:flex}.fy-dialog__msgtext{flex:auto;min-width:0}.fy-dialog__severity{flex:none;margin-top:1px}.fy-dialog__severity--question,.fy-dialog__severity--info{color:var(--info,#0369a1)}.fy-dialog__severity--warning{color:var(--warning,#9a6700)}.fy-dialog__severity--error{color:var(--danger,#b3261e)}.fy-dialog__text{box-sizing:border-box;resize:none;width:100%;color:var(--text,#0f1216);font:inherit;background:0 0;border:0;outline:none;padding:0;scroll-padding:4px;font-size:13px;line-height:1.45;display:block;overflow:auto}.fy-dialog__checkline{margin-top:10px}.fy-dialog__err{color:var(--danger,#b3261e);margin-top:5px;font-size:12.5px}.fy-dlgbtn--danger{color:var(--danger,#b3261e);border-color:var(--danger,#b3261e)}.fy-inputdlg__field{flex-direction:column;gap:4px;min-width:260px;display:flex}.fy-inputdlg__field .fy-input{box-sizing:border-box;width:100%}.fy-choose__bar{align-items:center;gap:5px;padding-bottom:8px;display:flex}.fy-choose__notice{color:var(--text-muted,#5b626e);max-width:45em;margin-bottom:8px}.fy-choose__wrap{border:1px solid var(--border,#dde0e6);border-radius:3px;max-height:320px;scroll-padding:4px;overflow:auto}.fy-choose__table{border-collapse:collapse;width:100%;font-size:13px}.fy-choose__table th{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border-bottom:1px solid var(--border,#dde0e6);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-align:left;white-space:nowrap;padding:4px 8px;font-weight:600;position:sticky;top:0}.fy-choose__table td{border-bottom:1px solid var(--border-subtle,#e8eaef);cursor:default;white-space:nowrap;text-overflow:ellipsis;padding:4px 8px;overflow:hidden}.fy-choose__row--active td{background:var(--fy-state-selected)}.fy-choose__empty{color:var(--text-muted,#5b626e);text-align:center;padding:14px 8px}.fy-pick__bar{flex-wrap:wrap;align-items:center;gap:5px;padding-bottom:8px;display:flex}.fy-pick__add{align-items:center;gap:5px;margin-left:auto;display:flex}.fy-pick__add .fy-input{width:180px}.fy-pick__list{border:1px solid var(--border,#dde0e6);border-radius:3px;max-height:300px;padding:4px 0;scroll-padding:4px;overflow:auto}.fy-pick__row{padding:3px 10px;display:flex}.fy-pick__row:hover{background:var(--fy-state-hover)}.fy-pick__empty{color:var(--text-muted,#5b626e);text-align:center;padding:14px 8px}.fy-progress__body{align-items:center;gap:14px;min-width:320px;display:flex}.fy-progress__spin{color:var(--accent-500,#6c1cd1);flex:none;animation:1s linear infinite fy-spin}@keyframes fy-spin{to{transform:rotate(360deg)}}.fy-progress__info{flex:auto;min-width:0}.fy-progress__pct{font-variant-numeric:tabular-nums;font-weight:700}.fy-progress__note{color:var(--text-secondary,var(--fy-text-secondary,#3d4350))}.fy-progress__track{border:1px solid var(--border,#dde0e6);background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.fy-progress__fill{background:var(--accent-500,#6c1cd1);height:100%;box-shadow:inset 0 0 0 1px var(--fy-state-border,#5c626d);transition:width .2s}.fy-msgpanel{border-top:1px solid var(--border,#dde0e6);background:var(--surface,#fff);font-size:13px}.fy-msgpanel__head{padding:3px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);align-items:center;gap:8px;display:flex}.fy-msgpanel__title{font-weight:600}.fy-msgpanel__counts{color:var(--text-muted,#5b626e);flex:auto;font-size:12px}.fy-msgpanel__list{max-height:calc(var(--row-h,28px) * 5);margin:0;padding:4px 0;scroll-padding:4px;list-style:none;overflow:auto}.fy-msgpanel__row{padding:2px var(--pad-x,12px);align-items:flex-start;gap:6px;display:flex}.fy-msgpanel__ico{flex:none;margin-top:2px}.fy-msgpanel__ico--error{color:var(--danger,#b3261e)}.fy-msgpanel__ico--warning{color:var(--warning,#9a6700)}.fy-msgpanel__ico--info{color:var(--info,#0369a1)}.fy-msgpanel__row .fy-link{text-align:left}.fy-toaster{z-index:40;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.fy-toaster .fy-toast{cursor:pointer;position:static}.fy-list{background:var(--surface,#fff);min-width:0;height:100%;min-height:0;color:var(--text,#0f1216);flex-direction:column;font-size:13px;display:flex}.fy-list__spacer{flex:auto}.fy-list__topline{border-bottom:1px solid var(--border,#dde0e6);flex-wrap:wrap;align-items:flex-end;gap:0;display:flex}.fy-list__topline>.fy-list__filters{border-bottom:none;flex:0 auto}.fy-list__topline>.fy-toolbar{border-bottom:none;flex:340px;min-width:0}.fy-list__filters{padding:6px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.fy-qf{flex-direction:column;gap:2px;min-width:0;display:flex}.fy-qf__head{align-items:center;gap:4px;min-height:16px;display:flex}.fy-qf__clear{width:16px;height:16px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-qf__clear:hover{color:var(--danger,#b3261e);background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4))}.fy-list__usersettings{padding:0 var(--pad-x,12px);flex-wrap:wrap;gap:6px;display:flex}.fy-list__usersettings:not(:empty){padding-top:4px;padding-bottom:4px}.fy-list__uschip{align-items:center;gap:4px;display:inline-flex}.fy-list__uschip-x{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.fy-list__viewstate{padding:3px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.fy-list__chip{border:1px solid var(--fy-control-border,#5c626d);border-radius:var(--radius-full,9999px);background:color-mix(in srgb,var(--formy-run-bg,#ffd234) 18%,var(--surface,#fff));color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:100%;padding:1px 8px;font-size:12px;display:inline-flex;overflow:hidden}.fy-list__chip:hover{border-color:var(--fy-state-border,#5c626d)}.fy-list__infobar{padding:3px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));align-items:center;gap:8px;font-size:12px;display:flex}.fy-list__infotext{align-items:center;gap:6px;min-width:0;display:inline-flex}.fy-list__infostatus{color:var(--text-muted,#5b626e);font-variant-numeric:tabular-nums;white-space:nowrap}.fy-lt-wrap{outline:none;flex:auto;min-height:0;scroll-padding:4px;position:relative;overflow:auto}.fy-lt-wrap:focus-visible{box-shadow:inset 0 0 0 2px var(--fy-focus-ring,var(--accent-300,#a570f5)),inset 0 0 0 3px var(--fy-focus-ring-core,#5c626d)}.fy-lt__c--check input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-500,#6c1cd1);margin:0}.fy-lt__c--check{text-align:center;vertical-align:middle;min-width:26px;padding:0 5px}.fy-lt{border-collapse:collapse;width:100%;font-size:13px}.fy-lt__h{z-index:2;padding:4px var(--pad-x,12px);border-bottom:1px solid var(--border-strong,#c4c8d0);background:var(--surface,#fff);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-align:left;white-space:nowrap;font-size:12.5px;font-weight:600;position:sticky;top:0}.fy-lt__ht{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.fy-lt__ht:hover{color:var(--text,#0f1216)}.fy-lt__c{height:var(--row-h,32px);padding:0 var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:360px;overflow:hidden}.fy-lt__c--num{text-align:right;font-variant-numeric:tabular-nums}th.fy-lt__c--num{text-align:right}.fy-lt__c--st{text-align:center;width:26px;padding:0 4px}.fy-lt__c--check{text-align:center;width:28px;padding:0 6px}.fy-lt__c--check input{accent-color:var(--accent-500,#6c1cd1);margin:0}.fy-lt__st{vertical-align:middle}.fy-lt__st--saved{color:var(--text-muted,#5b626e)}.fy-lt__st--posted{color:var(--formy-run-text,#5c4700)}.fy-lt__st--del{color:var(--danger,#b3261e)}.fy-lt__check{color:var(--success,#197a4b);vertical-align:middle}.fy-lt tbody tr{cursor:pointer}.fy-lt tbody tr:nth-child(2n) .fy-lt__c{background:color-mix(in srgb,var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4)) 45%,transparent)}.fy-lt tbody tr.fy-lt__row--sel .fy-lt__c{background:color-mix(in srgb,var(--formy-field-accent,#e8a33d) 18%,transparent)}.fy-lt tbody tr.fy-lt__row--cur .fy-lt__c{background:color-mix(in srgb,var(--formy-field-accent,#e8a33d) 26%,transparent)}.fy-lt tbody tr.fy-lt__row--cur .fy-lt__c:first-child{box-shadow:inset 3px 0 0 var(--formy-field-accent-border,#7a5f00)}.fy-lt tbody tr.fy-lt__row--danger .fy-lt__c{color:var(--danger,#b3261e);background:color-mix(in srgb,var(--danger,#b3261e) 14%,transparent)}.fy-lt tbody tr.fy-lt__row--warning .fy-lt__c{color:var(--warning-text,var(--fy-warning-text,#885b00));background:color-mix(in srgb,var(--warning,#d97706) 14%,transparent)}.fy-lt tbody tr.fy-lt__row--success .fy-lt__c{color:var(--success-text,var(--fy-success-text,#187347));background:color-mix(in srgb,var(--success,#197a4b) 12%,transparent)}.fy-lt tbody tr.fy-lt__row--muted .fy-lt__c{color:var(--text-muted,#5b626e)}.fy-lt tbody tr .fy-lt__c--zero{color:var(--danger-text,var(--fy-danger-text,#b3261e))}.fy-lt tbody tr.fy-lt__row:hover .fy-lt__c{background:color-mix(in srgb,var(--accent-500,#6c1cd1) 12%,transparent)}.fy-lt tr.fy-lt__row--bold .fy-lt__c{font-weight:700}.fy-lt tr.fy-lt__row--strike .fy-lt__c{color:var(--text-muted,#5b626e);text-decoration:line-through}.fy-lt__grouprow td{height:var(--row-h,32px);border-bottom:1px solid var(--border-subtle,#e8eaef);background:color-mix(in srgb,var(--accent-500,#6c1cd1) 10%,transparent);font-weight:700}.fy-lt__tree{vertical-align:middle;align-items:center;gap:3px;margin-right:4px;display:inline-flex}.fy-lt__twist{width:16px;height:16px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-lt__twist--none{cursor:default}.fy-lt__folder{color:var(--formy-run-text,#5c4700);flex:none}.fy-lt__empty{padding:18px var(--pad-x,12px);color:var(--text-muted,#5b626e);text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.fy-bulkbar{padding:5px var(--pad-x,12px);border-top:1px solid var(--border,#dde0e6);background:color-mix(in srgb,var(--formy-run-bg,#ffd234) 12%,var(--surface,#fff));flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.fy-bulkbar__count{white-space:nowrap;font-weight:600}.fy-bulkbar__count--all{color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a))}.fy-bulkbar__selectall{white-space:nowrap}.fy-bulkbar__progress{color:var(--text-muted,#5b626e);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.fy-bulkres{padding:5px var(--pad-x,12px);border-top:1px solid var(--border,#dde0e6);background:color-mix(in srgb,var(--success,#1e7f3c) 8%,var(--surface,#fff));flex:none;align-items:flex-start;gap:10px;display:flex}.fy-bulkres--err{background:color-mix(in srgb,var(--danger,#b3261e) 8%,var(--surface,#fff))}.fy-bulkres__msg{white-space:nowrap;padding-top:2px;font-weight:600}.fy-bulkres__failed{min-width:0;font-size:12px}.fy-bulkres__failed summary{cursor:pointer;padding-top:3px}.fy-bulkres__failed ul{max-height:120px;margin:4px 0 2px;padding-left:18px;scroll-padding:4px;overflow:auto}.fy-list__chip--reset{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4))}.fy-qf__multi{display:inline-flex;position:relative}.fy-qf__multibtn{cursor:pointer;text-align:left;align-items:center;gap:4px;min-width:12ch;display:inline-flex}.fy-qf__multitext{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fy-advsearch{grid-template-columns:max-content 1fr;align-items:center;gap:8px 10px;min-width:360px;display:grid}.fy-advsearch .fy-field__label{justify-self:end}.fy-formlayout{min-width:520px}.fy-formlayout__body{grid-template-columns:max-content 1fr 1fr;align-items:start;gap:10px;display:grid}.fy-formlayout__bar{flex-direction:column;gap:4px;display:flex}.fy-formlayout__grouphead{padding-bottom:4px;font-weight:600}.fy-formlayout__list{border:1px solid var(--border-subtle,#e8eaef);border-radius:4px;max-height:300px;margin:0;padding:0;scroll-padding:4px;list-style:none;overflow:auto}.fy-formlayout__row{cursor:pointer;align-items:center;gap:6px;padding:3px 8px;display:flex}.fy-formlayout__row--cur{background:color-mix(in srgb,var(--formy-run-bg,#ffd234) 25%,var(--surface,#fff))}.fy-formlayout__glabel{cursor:pointer;align-items:center;gap:6px;display:flex}.fy-formlayout__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fy-list__footer{flex:none}.fy-list__seealso{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));align-items:center;gap:6px;display:inline-flex}.fy-list__count{color:var(--text-muted,#5b626e);font-variant-numeric:tabular-nums;font-size:12px}.fy-list__choicefoot{align-items:center;gap:8px;margin-left:8px;display:inline-flex}.fy-choice{flex-direction:column;height:100%;min-height:0;display:flex}.fy-catalog{height:100%;min-height:0;display:flex}.fy-catalog__main{flex-direction:column;flex:auto;min-width:0;display:flex}.fy-list__side{border-right:1px solid var(--border,#dde0e6);background:var(--surface,#fff);flex:none;width:240px;min-width:160px;padding:6px 0;scroll-padding:4px;font-size:13px;overflow:auto}.fy-list__side-title{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px 6px;font-size:11px;font-weight:600}.fy-tree__item{box-sizing:border-box;width:100%;color:var(--text,#0f1216);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:4px 10px;font-size:13px;display:block;overflow:hidden}.fy-tree__item:hover{background:var(--formy-run-bg,#ffd234);color:#1c1c1c}.fy-tree__item--active{background:color-mix(in srgb,var(--formy-field-accent,#e8a33d) 18%,transparent);font-weight:600}.fy-list__modes{align-items:center;gap:2px;display:inline-flex}.fy-list__mode--on{background:var(--formy-run-bg,#ffd234);border-color:var(--formy-run-border,#7a5f00);color:#1c1c1c}.fy-list__crumb{align-items:center;gap:6px;height:26px;display:inline-flex}.fy-list__crumbpath{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));white-space:nowrap;text-overflow:ellipsis;max-width:320px;overflow:hidden}.fy-lsd__spacer{flex:auto}.fy-lsd__tabs{margin-top:8px}.fy-lsd__tabbody{padding:10px 0 2px}.fy-lsd__row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.fy-lsd__value{flex:160px;min-width:120px}.fy-lsd__cols{border-bottom:1px solid var(--border-subtle,#e8eaef);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:4px 0 8px;display:flex}.fy-lsd__sample{border:1px solid var(--border-subtle,#e8eaef);border-radius:3px;justify-content:center;align-items:center;min-width:30px;height:22px;display:inline-flex}.fy-lsd__sample.fy-lt__row--danger{color:var(--danger,#b3261e);background:color-mix(in srgb,var(--danger,#b3261e) 14%,transparent)}.fy-lsd__sample.fy-lt__row--warning{color:var(--warning-text,var(--fy-warning-text,#885b00));background:color-mix(in srgb,var(--warning,#d97706) 14%,transparent)}.fy-lsd__sample.fy-lt__row--success{color:var(--success-text,var(--fy-success-text,#187347));background:color-mix(in srgb,var(--success,#197a4b) 12%,transparent)}.fy-lsd__sample.fy-lt__row--muted{color:var(--text-muted,#5b626e)}.fy-lsd__sample.fy-lt__row--bold{font-weight:700}.fy-lsd__sample.fy-lt__row--strike{color:var(--text-muted,#5b626e);text-decoration:line-through}.fy-emb{border:1px solid var(--border-subtle,#e8eaef);border-radius:3px}.fy-emb--h .fy-lt-wrap{max-height:calc(var(--fy-emb-rows,8) * var(--row-h,26px) + 27px);scroll-padding:4px;overflow:auto}.fy-emb__stub{margin:4px 0}.fy-lt--userw{table-layout:fixed}.fy-lt__h--draggable{cursor:grab}.fy-lt__colresize{cursor:col-resize;z-index:4;width:8px;height:100%;position:absolute;top:0;right:-4px}.fy-lt__colresize:hover,.fy-lt__colresize:active{background:color-mix(in srgb,var(--accent-500,var(--accent,#6c1cd1)) 35%,transparent)}.fy-lt__h--dropbefore{box-shadow:inset 3px 0 0 0 var(--accent-500,var(--accent,#6c1cd1)),inset 4px 0 0 0 var(--fy-state-border,#5c626d)}.fy-lt__h--dropafter{box-shadow:inset -3px 0 0 0 var(--accent-500,var(--accent,#6c1cd1)),inset -4px 0 0 0 var(--fy-state-border,#5c626d)}.fy-nompick{overflow:hidden}.fy-nompick__head{border-bottom:1px solid var(--border-subtle,#e8eaef);align-items:center;gap:8px;padding:6px 10px;display:flex}.fy-nompick__nav{gap:2px;display:inline-flex}.fy-nompick__title{flex:auto;margin:0;font-size:16px;font-weight:600}.fy-nompick__opts{flex-wrap:wrap;align-items:center;gap:10px;padding:0 2px;display:inline-flex}.fy-nompick__chk{min-height:26px;color:var(--text-secondary,var(--fy-text-secondary,#3d4350));white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.fy-nompick__chk input{accent-color:var(--accent-500,#6c1cd1);margin:0}.fy-nompick__wh{flex:none}.fy-nompick__ctx{border:1px solid var(--border,#dde0e6);background:color-mix(in srgb,var(--accent-500,#6c1cd1) 12%,transparent);height:24px;color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a));white-space:nowrap;border-radius:12px;align-items:center;gap:5px;padding:0 4px 0 8px;font-size:12px;display:inline-flex}.fy-nompick__ctx--off{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text-muted,#5b626e);text-decoration:line-through}.fy-nompick__ctx button{width:24px;height:24px;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-nompick__body{flex:auto;min-width:0;min-height:0;display:flex}.fy-nompick__main{border-right:1px solid var(--border-subtle,#e8eaef);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.fy-nompick__list{flex:auto;min-width:0;min-height:0;overflow:hidden}.fy-nompick__reason{border-top:1px solid var(--border-subtle,#e8eaef);background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text-muted,#5b626e);flex:none;padding:5px 10px;font-size:12px}.fy-nompick__side{background:var(--surface,#fff);flex-direction:column;flex:none;width:340px;min-width:0;display:flex}.fy-nompick__sidehead{border-bottom:1px solid var(--border-subtle,#e8eaef);align-items:center;gap:8px;padding:6px 8px;display:flex}.fy-nompick__sidebtns{gap:2px;margin-left:auto;display:inline-flex}.fy-nompick__rail{border-left:1px solid var(--border-subtle,#e8eaef);background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));flex-direction:column;flex:none;align-items:center;width:28px;padding:4px 0;display:flex}.fy-nompick__tabs{align-items:center;gap:10px;font-size:12.5px;display:inline-flex}.fy-nompick__tab{min-height:24px;color:var(--accent-text,#5a14b0);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:12.5px;display:inline-flex}.fy-nompick__tab--on{color:var(--text,#0f1216);cursor:default;font-weight:600}.fy-nompick__tab:disabled,.fy-nompick__tab[aria-disabled=true]{color:var(--text-muted,#5b626e);cursor:default}.fy-nompick__tree{flex:auto;min-height:0;padding:2px 0;scroll-padding:4px;overflow:auto}.fy-nompick__props{border-top:1px solid var(--border,#dde0e6);flex:none;max-height:190px;scroll-padding:4px;overflow:auto}.fy-nompick__grouphead{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));padding:5px 10px;font-size:11px;font-weight:600}.fy-nompick__node{box-sizing:border-box;width:100%;min-height:25px;color:var(--text,#0f1216);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:12.5px;display:flex}.fy-nompick__node:hover{background:var(--fy-state-hover)}.fy-nompick__node:focus-visible{outline:2px solid var(--fy-focus-ring-core,#5c626d);outline-offset:-2px}.fy-nompick__node--on{background:color-mix(in srgb,var(--accent-500,#6c1cd1) 16%,transparent);box-shadow:inset 3px 0 0 var(--fy-state-border,#5c626d);font-weight:600}.fy-nompick__twist{width:24px;height:24px;color:var(--text-muted,#5b626e);cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex}.fy-nompick__nodeicon{color:var(--formy-run-text,#5c4700);flex:none}.fy-nompick__nodepad{flex:none;width:24px}.fy-nompick__node input[type=checkbox]{accent-color:var(--accent-500,#6c1cd1);margin:0}.fy-nompick__sidehint{color:var(--text-muted,#5b626e);padding:8px 10px;font-size:12px}.fy-nompick__stock{border-top:1px solid var(--border,#dde0e6);background:var(--surface,#fff);flex:none;max-height:190px;scroll-padding:4px;overflow:auto}.fy-nompick__stock h3{background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;margin:0;padding:5px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.fy-nompick__stocktable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.fy-nompick__stocktable th{height:24px;padding:0 var(--pad-x,12px);border-bottom:1px solid var(--border,#dde0e6);background:var(--surface-sunken,var(--fy-surface-sunken,#f0f1f4));color:var(--text-secondary,var(--fy-text-secondary,#3d4350));text-align:left;white-space:nowrap;font-size:12px;font-weight:600}.fy-nompick__stocktable td{height:26px;padding:0 var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);white-space:nowrap}.fy-nompick__num{text-align:right;font-variant-numeric:tabular-nums}.fy-nompick__zero{color:var(--danger,#b3261e)}.fy-nompick__dim{color:var(--text-muted,#5b626e)}.fy-nompick__total td{font-weight:600}.fy-nompick__stockoff{border:1px dashed var(--border-strong,#c4c8d0);color:var(--text-muted,#5b626e);text-transform:none;letter-spacing:0;border-radius:3px;margin-left:8px;padding:0 6px}.fy-nompick__stockoff--list{align-items:center;min-height:26px;margin-left:0;font-size:12.5px;display:inline-flex}.fy-nompick__stockerr{color:var(--danger,#b3261e);padding:8px 10px;font-size:12px}.fy-nompick__foot{justify-content:flex-start}.fy-nompick__hint{color:var(--text-muted,#5b626e);font-size:12px}.fy-nompick__footspacer{flex:auto}.fy-nompick__basket{color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a));font-size:12px;font-weight:600}.fy-nompick__treesmall{flex:none;max-height:190px;padding:2px 0;scroll-padding:4px;overflow:auto}.fy-docform{background:var(--bg,#f4f5f7);width:100%;height:100%;min-height:0;color:var(--text,#1c1f26);flex-direction:column;font-size:13px;display:flex}.fy-docform__split{flex:auto;min-height:0;display:flex}.fy-docform__main{flex-direction:column;flex:auto;min-width:0;display:flex}.fy-docform__body{min-height:0;padding:8px var(--pad-x,12px);background:var(--surface,#fff);flex:auto;scroll-padding:4px;overflow:auto}.fy-docform__preamble{padding:4px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);background:var(--surface,#fff);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font-size:12px}.fy-docform__sections{padding:4px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);background:var(--surface,#fff);gap:14px;display:flex}.fy-docform__section{font-size:12.5px}.fy-docform__section--active{color:var(--text,#1c1f26);cursor:default;font-weight:600;text-decoration:none}.fy-statusbar__label{color:var(--text-muted,#7a8194)}.fy-statusbar__select{flex:none}.fy-statusbar__note{color:var(--text-muted,#7a8194);flex-basis:100%}.fy-statusbar__links{gap:10px;margin-left:auto;display:inline-flex}.fy-statusbar__actions{display:inline}.fy-statusbar__actions .fy-link{padding:0}.fy-statusbar__statuslink{font-weight:600}.fy-statusbar__posted--on{color:var(--success,#1a7f37)}.fy-statusbar__dot{color:var(--text-muted,#7a8194)}.fy-statusbar__step--active{color:var(--text,#1c1f26);font-weight:700}.fy-statusbar__priority{background:color-mix(in srgb,var(--danger,#c62828) 14%,var(--surface,#fff));color:var(--danger,#c62828)}.fy-docform__mirror{padding:5px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);background:color-mix(in srgb,var(--info,#1565c0) 8%,var(--surface,#fff));color:var(--text-secondary,var(--fy-text-secondary,#3d4350));align-items:center;gap:8px;font-size:12px;display:flex}.fy-docform__mirror .fy-btn{margin-left:auto}.fy-doctable{margin:6px 0}.fy-doctable__footer{flex-wrap:wrap;gap:6px 16px;padding:6px 0;display:flex}.fy-movements{flex-direction:column;gap:14px;display:flex}.fy-movements__title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#7a8194);margin:0 0 4px;font-size:11px;font-weight:600}.fy-movements__table{border-collapse:collapse;font-size:12.5px}.fy-movements__table th{text-align:left;border:1px solid var(--border-subtle,#e8eaef);background:var(--surface-sunken,var(--fy-surface-sunken,#eef0f3));padding:3px 10px;font-weight:600}.fy-movements__table td{border:1px solid var(--border-subtle,#e8eaef);font-variant-numeric:tabular-nums;padding:3px 10px}.fy-movements__empty{color:var(--text-muted,#7a8194);padding:6px 0;font-size:12.5px}.fy-docform__chat{border-left:1px solid var(--border,#dde0e6);background:var(--surface,#fff);flex-direction:column;flex:0 0 380px;width:380px;min-height:0;display:flex}.fy-docform__chatstub{color:var(--text-muted,#7a8194);text-align:center;margin:auto;padding:16px;font-size:12.5px}.fy-docform__cmdrow{background:var(--surface,#fff);border-bottom:1px solid var(--border-subtle,#e8eaef);align-items:center;display:flex}.fy-docform__cmdrow .fy-cmdbar{border-bottom:none;flex:auto}.fy-docform__cmdrow--bottom{border-bottom:none;border-top:1px solid var(--border-subtle,#e8eaef)}.fy-docform__fileslink{white-space:nowrap;align-items:center;gap:4px;padding:0 10px;font-size:12.5px;display:inline-flex}.fy-docform__files{padding:6px var(--pad-x,12px);border-bottom:1px solid var(--border-subtle,#e8eaef);background:var(--surface,#fff)}.fy-docform__backdrop{z-index:90;background:color-mix(in srgb,var(--text,#1c1f26) 32%,transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fy-docform--modal{border:1px solid var(--border,#dde0e6);border-radius:3px;width:min(920px,100vw - 48px);height:auto;max-height:min(86vh,720px);overflow:hidden;box-shadow:0 8px 28px #00000038}.fy-statusbar__computed{align-items:center;gap:5px;display:inline-flex}.fy-statusbar__computed--busy{color:var(--text-muted,#7a8194)}.fy-footer__total{align-items:center;gap:5px;display:inline-flex}.fy-footer__totallabel{white-space:nowrap}.fy-footer__totalinput{text-align:right;font-variant-numeric:tabular-nums;background:var(--surface-sunken,var(--fy-surface-sunken,#eef0f3));height:22px;color:var(--text,#1c1f26);font-weight:600}.fy-footer__totalcur{color:var(--text-secondary,var(--fy-text-secondary,#3d4350))}.fy-docform__sectionpage{flex-direction:column;gap:6px;min-height:0;display:flex}.fy-docform__loading,.fy-docform__error{padding:24px var(--pad-x,12px);color:var(--text-muted,#7a8194)}.fy-docform__error{color:var(--danger,#c62828);align-items:center;gap:10px;display:flex}.fy-docform__delmark{color:var(--danger,#c62828);font-size:12.5px}.fy-secmenu{box-sizing:border-box;background:var(--surface,#fff);border-right:1px solid var(--border,#dde0e6);width:236px;min-height:0;color:var(--text,#0f1216);flex-direction:column;flex:none;scroll-padding:4px;font-size:13px;transition:width .15s;display:flex;overflow:hidden auto}.fy-secmenu--collapsed{width:40px}.fy-secmenu__head{border-bottom:1px solid var(--border-subtle,#e8eaef);flex:none;align-items:center;gap:6px;padding:5px 8px;display:flex}.fy-secmenu--collapsed .fy-secmenu__head{justify-content:center;padding:5px 0}.fy-secmenu__icon{color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a));flex:none}.fy-secmenu__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.fy-secmenu__groups{flex:auto;padding:4px 0}.fy-secmenu__group{padding:4px 0}.fy-secmenu__grouptitle{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;padding:3px 12px 3px 10px;font-size:11px;font-weight:600;overflow:hidden}.fy-secmenu__item{box-sizing:border-box;width:100%;color:var(--text,#0f1216);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:5px 12px 5px 10px;font-size:13px;display:flex}.fy-secmenu__item:hover{background:var(--fy-state-hover)}.fy-secmenu__kind{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));flex:none}.fy-secmenu__label{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.fy-secmenu__item--important{font-weight:700}.fy-secmenu__item--seealso{color:var(--text-secondary,var(--fy-text-secondary,#3d4350))}.fy-secmenu__item--active{box-shadow:inset 3px 0 0 var(--accent-500,#6c1cd1),inset 4px 0 0 var(--fy-state-border,#5c626d);background:var(--fy-state-selected)}.fy-secmenu--collapsed .fy-secmenu__item{justify-content:center;padding:6px 0}.fy-secmenu__seealso{border-top:1px solid var(--border-subtle,#e8eaef);flex:none;padding:4px 0 6px}.fy-secmenu__seetoggle{box-sizing:border-box;width:100%;color:var(--text-muted,#5b626e);font:inherit;text-transform:uppercase;letter-spacing:.04em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:3px 12px 3px 8px;font-size:11px;font-weight:600;display:flex}.fy-secmenu__seetoggle:hover{color:var(--text,#0f1216)}.fy-secmenu.fy-secmenu--shell{width:240px}.fy-secmenu.fy-secmenu--shell.fy-secmenu--collapsed{width:56px}.fy-secmenu--shell .fy-secmenu__group{padding:2px 0}.fy-secmenu--shell .fy-secmenu__group+.fy-secmenu__group{border-top-style:solid;border-top-width:1px;border-top-color:var(--border-subtle,#e8eaef);margin-top:4px}.fy-secmenu--shell .fy-secmenu__grouptitle{padding:8px 12px 2px}.fy-secmenu--shell .fy-secmenu__item{border-radius:var(--radius-md,6px);color:var(--text-secondary,var(--fy-text-secondary,#3d4350));gap:10px;padding:8px 10px;font-size:14px}.fy-secmenu--shell .fy-secmenu__item:hover{background:var(--fy-state-hover);color:var(--text,#0f1216)}.fy-secmenu--shell .fy-secmenu__item--active{box-shadow:none;background:var(--fy-state-selected);color:var(--accent-text-on-tint,var(--fy-accent-text-on-tint,#460e8a));font-weight:600}.fy-secmenu--shell .fy-secmenu__kind{color:inherit}.fy-secmenu--shell.fy-secmenu--collapsed .fy-secmenu__item{justify-content:center;padding:8px 0}.fy-secmenu--shell.fy-secmenu--collapsed .fy-secmenu__label{opacity:0}.fy-funcpanel{box-sizing:border-box;width:100%;padding:12px var(--pad-x,12px);color:var(--text,#0f1216);font-size:13px}.fy-funcpanel__nav{flex-wrap:wrap;align-items:flex-start;gap:14px 36px;display:flex}.fy-funcpanel__group{flex:220px;min-width:200px;max-width:340px}.fy-funcpanel__grouptitle,.fy-funcpanel__coltitle{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;margin:0 0 4px;font-size:11px;font-weight:600;display:flex}.fy-funcpanel__tile{box-sizing:border-box;width:100%;color:var(--text,#0f1216);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:4px 6px;font-size:13px;display:block;overflow:hidden}.fy-funcpanel__tile:hover{background:color-mix(in srgb,var(--accent-500,#6c1cd1) 12%,transparent)}.fy-funcpanel__tile--important{font-size:14px;font-weight:700}.fy-funcpanel__tile--seealso{color:var(--text-secondary,var(--fy-text-secondary,#3d4350));font-size:12.5px}.fy-funcpanel__seealso{margin-top:6px}.fy-funcpanel__seetitle{color:var(--text-muted,#5b626e);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;padding:0 6px;font-size:11px;font-weight:600}.fy-funcpanel__actions{border-top:1px solid var(--border-subtle,#e8eaef);flex-wrap:wrap;align-items:flex-start;gap:14px 36px;margin-top:14px;padding-top:12px;display:flex}.fy-funcpanel__col{flex-direction:column;flex:200px;align-items:flex-start;gap:3px;min-width:180px;max-width:340px;display:flex}.fy-funcpanel__cmd{text-align:left}.fy-funcpanel__cmd:disabled{opacity:.5;cursor:default;text-decoration:none}.so-wrap{background:var(--bg,#f7f8fa);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.so-card{text-align:center;background:var(--surface,#fff);border:1px solid var(--border,#dde0e6);border-radius:12px;max-width:420px;padding:32px 28px}.so-title{color:var(--text,#0f1216);margin:12px 0 8px;font-size:18px;font-weight:600}.so-text{color:var(--text-muted,#5b626e);margin:0 0 18px;line-height:1.5}.so-btn{border:1px solid var(--border,#dde0e6);background:var(--surface-elev,#fff);cursor:pointer;color:var(--text,#0f1216);border-radius:8px;padding:8px 16px;text-decoration:none;display:inline-block}.so-spin{border:3px solid var(--border,#dde0e6);border-top-color:var(--accent-text,#460e8a);border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.9s linear infinite so-rot}@keyframes so-rot{to{transform:rotate(360deg)}}.error-boundary{width:100%;min-height:60vh;padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;display:flex}.error-boundary-card{align-items:center;gap:var(--space-3);width:100%;max-width:560px;padding:var(--space-6);text-align:center;background:var(--surface-elev);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.error-boundary-icon{border-radius:var(--radius-full);background:var(--danger-bg);width:56px;height:56px;color:var(--danger);justify-content:center;align-items:center;display:inline-flex}.error-boundary-title{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold);color:var(--text);margin:0}.error-boundary-text{max-width:46ch;font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted);margin:0}.error-boundary-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.error-boundary-details{width:100%;margin-top:var(--space-3);text-align:left}.error-boundary-details>summary{cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.error-boundary-stack{margin:var(--space-2) 0 0;padding:var(--space-3);max-height:240px;font-size:var(--text-xs);line-height:var(--lh-xs);color:var(--text-secondary);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;overflow:auto}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.empty-state--compact{padding:var(--space-5) var(--space-4);gap:var(--space-1)}.empty-state-icon{margin-bottom:var(--space-1);color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.empty-state-title{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--fw-semibold);color:var(--text);margin:0}.empty-state--compact .empty-state-title{font-size:var(--text-base);line-height:var(--lh-base)}.empty-state-desc{max-width:42ch;font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted);margin:0}.empty-state-action{margin-top:var(--space-3)}.load-error{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.load-error--compact{padding:var(--space-5) var(--space-4);gap:var(--space-1)}.load-error-icon{margin-bottom:var(--space-1);color:var(--danger);justify-content:center;align-items:center;display:inline-flex}.load-error-title{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--fw-semibold);color:var(--text);margin:0}.load-error--compact .load-error-title{font-size:var(--text-base);line-height:var(--lh-base)}.load-error-message{max-width:44ch;font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted);margin:0}.load-error-retry{margin-top:var(--space-2)}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-sm);line-height:var(--lh-sm);border:1px solid #0000;display:flex}.alert--info{background:var(--info-bg);border-color:color-mix(in srgb, var(--info) 28%, transparent)}.alert--info .alert-icon{color:var(--info)}.alert--success{background:var(--success-bg);border-color:color-mix(in srgb, var(--success) 28%, transparent)}.alert--success .alert-icon{color:var(--success)}.alert--warning{background:var(--warning-bg);border-color:color-mix(in srgb, var(--warning) 28%, transparent)}.alert--warning .alert-icon{color:var(--warning)}.alert--danger{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 28%, transparent)}.alert--danger .alert-icon{color:var(--danger)}.alert-icon{flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.alert-content{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.alert-title{font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:var(--fw-semibold);color:var(--text);margin:0}.alert-body{color:var(--text-secondary);word-break:break-word}.alert-close{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-2px -4px -2px 0;padding:0;display:inline-flex}.alert-close:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}.skel{background:var(--surface-sunken);vertical-align:middle;display:block;position:relative;overflow:hidden}.skel--line{border-radius:var(--radius-sm)}.skel--rect{border-radius:var(--radius-md)}.skel--circle{border-radius:var(--radius-full)}.skel:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--surface-elev) 60%, transparent) 50%, transparent 100%);animation:skel-shimmer 1.4s var(--ease) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skel:after{animation:none}}.skel-list-row{border-bottom:1px solid var(--border-subtle);min-height:44px}.skel-list-row:last-child{border-bottom:none}.skel-cell{align-items:center;min-width:0;display:flex}.skel-cell--right{justify-content:flex-end}.skel-ident{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex}.skel-stat{gap:var(--space-2)}.skel-panel-body{gap:var(--space-3);flex-direction:column;display:flex}.skel-card{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.skel-card-body{gap:var(--space-2);flex-direction:column;display:flex}.skel-tdp-head{min-height:56px;padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);align-items:center;display:flex}.skel-tdp-body{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.skel-chat{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.skel-chat-row{justify-content:flex-start;display:flex}.skel-chat-row--out{justify-content:flex-end}.modal-root.modal-backdrop{width:calc(100vw / var(--ui-zoom,1));height:calc(100dvh / var(--ui-zoom,1));--modal-pad-y:var(--space-6);--modal-pad-x:var(--space-4);padding:var(--modal-pad-y) var(--modal-pad-x);z-index:1000;background:color-mix(in srgb, var(--text) 55%, transparent);animation:modal-backdrop-in var(--duration-slow) var(--ease);justify-content:center;align-items:flex-start;display:flex;position:fixed;top:0;left:0;overflow:hidden}.modal-root{--modal-avail:calc((100vw - var(--space-5)) / var(--ui-zoom,1));--modal-vw:calc(100vw / var(--ui-zoom,1))}.modal-root .modal-card{--modal-floor:480px;--modal-part:.4;--modal-ceil:640px;width:100%;max-width:min(clamp(var(--modal-floor), calc(var(--modal-part) * var(--modal-vw)), var(--modal-ceil)), var(--modal-avail));max-height:calc(100vh / var(--ui-zoom,1) - 2 * var(--modal-pad-y,32px));max-height:calc(100dvh / var(--ui-zoom,1) - 2 * var(--modal-pad-y,32px));background:var(--surface-elev);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:modal-card-in var(--duration-slow) var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-root .modal-card--sm{--modal-floor:360px;--modal-part:.28;--modal-ceil:480px}.modal-root .modal-card--md{--modal-floor:480px;--modal-part:.4;--modal-ceil:640px}.modal-root .modal-card--lg{--modal-floor:640px;--modal-part:.52;--modal-ceil:860px}.modal-root .modal-card--xl{--modal-floor:880px;--modal-part:.66;--modal-ceil:1100px}.modal-root .modal-card--xxl{--modal-floor:1140px;--modal-part:.78;--modal-ceil:1340px}.modal-root .modal-card--wide{--modal-floor:1280px;--modal-part:.86;--modal-ceil:1440px}.modal-root .modal-card--max{max-width:none;width:calc(96vw / var(--ui-zoom,1));height:calc(96vh / var(--ui-zoom,1));height:calc(96dvh / var(--ui-zoom,1));max-height:calc(96vh / var(--ui-zoom,1));max-height:calc(96dvh / var(--ui-zoom,1))}.modal-root .modal-card--resizable{min-width:360px;min-height:280px}.modal-root .modal-resize-handle{z-index:3;cursor:nwse-resize;touch-action:none;border-radius:0 0 var(--radius-md) 0;background-image:linear-gradient(135deg, transparent 0 45%, var(--text-muted) 45% 55%, transparent 55% 68%, var(--text-muted) 68% 78%, transparent 78%);opacity:.6;width:16px;height:16px;transition:opacity var(--duration-fast) var(--ease);position:absolute;bottom:3px;right:3px}.modal-root .modal-resize-handle:hover{opacity:1;background-image:linear-gradient(135deg, transparent 0 45%, var(--primary) 45% 55%, transparent 55% 68%, var(--primary) 68% 78%, transparent 78%)}.modal-root .modal-head-actions{align-items:center;gap:var(--space-1);flex:none;display:inline-flex}.modal-root .modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex:none;display:flex}.modal-root .modal-title{font-size:var(--text-md);line-height:var(--lh-md);font-weight:var(--fw-semibold);color:var(--text);overflow-wrap:anywhere;min-width:0;margin:0}.modal-root .modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal-root .modal-close:hover{background:var(--surface-sunken);color:var(--text)}.modal-root .modal-close.modal-maximize--labeled{border-color:var(--control-border);width:auto;color:var(--text);gap:6px;padding:0 10px}.modal-root .modal-maximize-text{font-size:var(--text-sm);font-weight:var(--fw-medium);white-space:nowrap}.modal-root .modal-body{min-height:0;padding:var(--space-5);flex:auto;overflow:auto}.modal-root .modal-body .form{margin-bottom:0}.modal-root .modal-body .confirm-message{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-secondary);white-space:pre-line;word-break:break-word;margin:0}.modal-root .modal-footer{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface-elev);flex-wrap:wrap;flex:none;display:flex}.modal-root .modal-footer--end{justify-content:flex-end}.modal-root .modal-footer--start{justify-content:flex-start}.modal-root .modal-footer--between{justify-content:space-between}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (height<=720px){.modal-root.modal-backdrop{--modal-pad-y:var(--space-4)}}@media (width<=480px){.modal-root.modal-backdrop{padding:0}.modal-root .modal-card{border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.modal-root .modal-card--resizable{width:100vw!important;min-width:0!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important}.modal-root .modal-resize-handle{display:none}}@media (prefers-reduced-motion:reduce){.modal-root.modal-backdrop,.modal-root .modal-card{animation:none}}.toast-stack{right:var(--space-4);bottom:var(--space-4);z-index:1100;gap:var(--space-2);width:min(380px, calc(100vw - var(--space-6)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--surface-elev);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--text-sm);line-height:var(--lh-sm);pointer-events:auto;animation:toast-in var(--duration-slow) var(--ease);border-left-width:3px;display:flex}.toast--success{border-left-color:var(--success)}.toast--success .toast-icon{color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--error .toast-icon{color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast--info .toast-icon{color:var(--info)}.toast-icon{flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.toast-message{word-break:break-word;min-width:0;color:var(--text);flex:auto}.toast-close{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-2px -2px -2px 0;padding:0;display:inline-flex}.toast-close:hover{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (width<=480px){.toast-stack{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:auto}}.app{min-height:100vh}.app-header{background:var(--primary);color:var(--text-inverse)}.app-header-inner{flex-wrap:wrap;align-items:baseline;gap:12px;max-width:1000px;margin:0 auto;padding:18px 24px;display:flex}.app-header h1{color:var(--text-inverse);margin:0;font-size:22px;font-weight:600}.app-subtitle{color:var(--text-inverse);font-size:14px}.app-main{max-width:1000px;margin:0 auto;padding:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:0 1px 2px #1018280a}.btn{color:var(--text);background:var(--surface);border:1px solid var(--control-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-sunken)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:13px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);outline:1px solid color-mix(in srgb, var(--text-inverse) 35%, transparent);outline-offset:-3px}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger);color:var(--danger-text)}.form{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text);font-size:13px;font-weight:600}.req{color:var(--danger)}.field input,.field textarea,.field select{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:8px;outline:none;padding:9px 11px;font-family:inherit;font-size:14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:var(--ring)}.field textarea{resize:vertical}.row{flex-wrap:wrap;gap:14px;display:flex}.row .field{flex:180px}.form-actions{gap:10px;display:flex}.muted{color:var(--text-muted)}.error{color:var(--danger);margin:0;font-size:14px}.error-box{background:var(--danger-bg);border-color:#e7c6c4}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.project-card{flex-direction:column;gap:10px;display:flex}.project-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.link-title{color:var(--accent-text);text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:16px;font-weight:600}.link-title:hover{text-decoration:underline}.project-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.project-meta{color:var(--text-muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.project-card-actions{gap:8px;margin-top:auto;padding-top:4px;display:flex}.add-task-row{gap:10px;display:flex}.add-task-row input{flex:auto}.task-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task-item{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.task-title{word-break:break-word;font-size:15px}.task-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.task-controls select{border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.portal{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{background:var(--surface);height:56px;color:var(--text);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:10px;min-width:0;display:flex}.topbar-toggle{flex-shrink:0}.topbar-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-mark{border-radius:var(--radius-md);background:var(--primary);width:32px;height:32px;color:var(--text-inverse);letter-spacing:.5px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.brand-mark-logo{color:var(--primary);flex-shrink:0}.brand-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap}.topbar-user{align-items:center;gap:8px;display:flex}.topbar-user-link{color:var(--text);border-radius:var(--radius-md);align-items:center;gap:8px;padding:4px 6px;text-decoration:none;display:flex}.topbar-user-link:hover{background:var(--surface-sunken)}.topbar-user-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.btn-ghost{border-color:var(--control-border);color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-muted);color:var(--text)}.global-search-trigger{border:1px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface-sunken);width:clamp(220px,24vw,411px);min-width:220px;height:34px;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);flex-shrink:0;align-items:center;gap:8px;padding:0 10px;display:flex}.global-search-trigger .kbd{margin-left:auto}.global-search-trigger:hover{border-color:var(--text-muted);color:var(--text-secondary)}.kbd{font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);border-bottom-width:2px;padding:2px 5px;font-size:11px;line-height:1}.breadcrumbs{min-width:0;font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;display:flex;overflow:hidden}.crumb-wrap{align-items:center;gap:6px;display:inline-flex}.crumb{color:var(--text-muted);white-space:nowrap;text-decoration:none}.crumb:hover{color:var(--text)}.crumb.is-current{color:var(--text);font-weight:var(--fw-medium)}.crumb-sep{color:var(--border-strong)}.portal-body{flex:auto;align-items:stretch;min-height:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:244px;height:var(--content-h);flex-direction:column;flex-shrink:0;padding:14px 10px;display:flex;position:sticky;top:56px;overflow:hidden}.sidebar-menu{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex:auto;gap:4px;margin:0;padding:0 6px 0 0;list-style:none;display:flex;overflow-y:auto}.sidebar-menu::-webkit-scrollbar{width:10px}.sidebar-menu::-webkit-scrollbar-track{background:0 0}.sidebar-menu::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--surface);border-radius:6px}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-menu button.sidebar-link{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.sidebar-chat-badge{background:var(--primary);min-width:18px;height:18px;color:var(--text-inverse);text-align:center;border-radius:9px;flex:none;margin-left:auto;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.sidebar-menu li.is-nav-dragging{opacity:.45}.sidebar-menu li.is-nav-drop-target{box-shadow:0 -2px 0 0 var(--primary);border-radius:2px}.sidebar-foot{border-top:1px solid var(--border);flex:none;justify-content:flex-end;margin-top:8px;padding:8px 6px 0 0;display:flex}.sidebar-edit-toggle{color:var(--text-muted)}.nav-edit-panel{gap:6px;width:100%;display:flex}.nav-edit-panel .btn{flex:auto}.nav-edit-row{cursor:grab;border:1px dashed var(--border-strong);background:var(--surface-sunken);gap:6px;padding:6px 4px}.nav-edit-row .sidebar-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-edit-grip{color:var(--text-muted);flex:none;display:inline-flex}.nav-edit-actions{flex:none;gap:2px;margin-left:auto;display:inline-flex}.nav-edit-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-edit-btn:hover:not(:disabled){background:var(--accent-50);color:var(--text)}.nav-edit-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-edit-btn:disabled{opacity:.35;cursor:default}.sidebar-menu li.is-nav-hidden .nav-edit-grip,.sidebar-menu li.is-nav-hidden .sidebar-icon,.sidebar-menu li.is-nav-hidden .sidebar-label{opacity:.45}.sidebar-menu li.is-nav-hidden .sidebar-label{text-decoration:line-through}.sidebar-link{color:var(--text);border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--accent-50)}@media (width>=1024px) and (height<=800px){.portal:not(.is-collapsed) .sidebar-menu .sidebar-link{padding-block:7px}}.sidebar-link:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:var(--accent-50)}.sidebar-link.is-active{background:var(--accent-50);color:var(--accent-text);position:relative}.sidebar-link.is-active:before{content:"";border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--primary);width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-icon{text-align:center;width:20px;font-size:16px}.sidebar-label{flex:auto}.sidebar-soon{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);background:var(--surface-sunken);border-radius:6px;padding:2px 6px;font-size:10px}.content{--content-pad:24px;padding:var(--content-pad);min-width:0;max-width:none;min-height:var(--content-h);flex-direction:column;flex:auto;display:flex}.content-main{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.content.has-secondary{height:var(--content-h);flex-direction:row;align-items:stretch;gap:16px;min-height:0;overflow:hidden}.content.has-secondary>.content-main{flex:50%;min-width:360px;min-height:0;overflow:auto}@media (width<=900px){.content.has-secondary{flex-direction:column;height:auto;overflow:visible}.content.has-secondary>.content-main{flex:auto;overflow:visible}}.copy-link-btn.is-copied{color:var(--success)}.sidebar{transition:width var(--duration-base) var(--ease)}.portal.is-collapsed .sidebar{width:60px;padding:14px 8px}.portal.is-collapsed .sidebar-label,.portal.is-collapsed .sidebar-badge{display:none}.portal.is-collapsed .sidebar-link{justify-content:center;padding:9px}.search-overlay{z-index:80;animation:fade-in var(--duration-base) var(--ease);background:#0000006b;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.search-panel{background:var(--surface-elev);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(620px,92vw);box-shadow:var(--shadow-lg);animation:pop-in var(--duration-base) var(--ease);overflow:hidden}.search-input-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:14px 16px;display:flex}.search-input-icon{color:var(--text-muted);flex-shrink:0}.search-input{color:var(--text);font-size:var(--text-md);background:0 0;border:none;outline:none;flex:auto}.search-input::placeholder{color:var(--text-muted)}.search-hint{font-size:var(--text-sm);color:var(--text-muted);padding:10px 16px}.search-history{border-top:1px solid var(--border-subtle);gap:2px;padding:8px 12px 10px;display:grid}.search-history-title{color:var(--text-muted);padding:2px 4px 5px;font-size:12px}.search-history-item{color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;overflow:hidden}.search-history-item:hover,.search-history-item:focus-visible{background:var(--surface-hover);outline:none}.search-results{max-height:min(60vh,540px);padding:6px 0;overflow-y:auto}.search-group{padding:4px 0}.search-group+.search-group{border-top:1px solid var(--border-subtle)}.search-group-title{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:6px;padding:8px 16px 4px;font-weight:600;display:flex}.search-result{text-align:left;cursor:pointer;width:100%;color:var(--text);font-size:var(--text-md);background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 16px;display:flex}.search-result:hover,.search-result:focus-visible{background:var(--bg);outline:none}.search-result--person{flex-direction:row;align-items:center;gap:10px}.search-result-person-text{flex-direction:column;gap:1px;min-width:0;display:flex}.search-result-title{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.search-result-sub{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.page{flex-direction:column;gap:18px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title{margin:0;font-size:22px}.admin-readonly-note{background:var(--warning-bg);color:var(--warning);border-radius:8px;padding:8px 14px;font-size:13px}.page-center{justify-content:center;align-items:center;width:100%;padding:48px 0;display:flex}.empty{text-align:center;padding:32px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-title{margin:0;font-size:16px}.success-text{color:var(--success);margin:0;font-size:14px}.field-hint{font-size:12px}.admin-zone{border:1px solid var(--accent-100);background:var(--accent-50);border-radius:10px;margin-top:18px;padding:14px 16px 16px}.admin-zone-title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);margin:0 0 12px;font-size:12px;font-weight:700}.inline-action{align-items:center;gap:8px;display:flex}.inline-action input,.inline-action select{flex:auto;min-width:0}.inline-action .btn{white-space:nowrap;flex:none}.checkbox-row{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-row input{width:16px;height:16px;accent-color:var(--primary)}.spinner{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);line-height:var(--lh-sm);display:inline-flex}.spinner-ring{--spinner-size:22px;width:var(--spinner-size);height:var(--spinner-size);border:3px solid var(--border-strong);border-top-color:var(--primary);border-radius:var(--radius-full);animation:.7s linear infinite spin}.spinner--sm .spinner-ring{--spinner-size:16px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner-ring{animation:none}}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar-img{object-fit:cover}.avatar-initials{color:#fff;font-weight:600}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-neutral{background:var(--surface-sunken);color:var(--text-secondary)}.badge-primary{background:var(--accent-50);color:var(--accent-text)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.tabs{border-bottom:1px solid var(--border);gap:6px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500}.tab:hover{color:var(--text)}.tab.is-active{color:var(--accent-text);border-bottom-color:var(--primary)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.group-card{color:inherit;flex-direction:column;gap:10px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.group-card:hover{border-color:var(--accent-100);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-500) 10%, transparent)}.group-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.group-card-name{color:var(--accent-text);font-size:16px;font-weight:600}.group-card-desc{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.group-card-meta{flex-wrap:wrap;gap:8px;margin-top:auto;font-size:13px;display:flex}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.dash-tile{color:inherit;flex-direction:column;gap:6px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}a.dash-tile:hover{border-color:var(--accent-100);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-500) 10%, transparent)}.dash-tile-icon{font-size:26px}.dash-tile-title{font-size:16px;font-weight:600}.dash-tile-desc{font-size:13px}.dash-tile-soon{opacity:.7}.auth-screen{background:radial-gradient(1200px 500px at 50% -10%, var(--accent-50) 0%, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{width:100%;max-width:420px;padding:28px}.auth-brand{align-items:center;gap:12px;margin-bottom:20px;display:flex}.auth-brand .brand-mark{background:var(--primary);width:44px;height:44px;font-size:16px}.auth-title{margin:0;font-size:18px}.auth-subtitle{margin:0;font-size:13px}.auth-heading{margin:0 0 16px;font-size:20px}.auth-switch{text-align:center;margin:16px 0 0;font-size:14px}.auth-switch+.auth-switch{margin-top:8px}.auth-notice{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--accent-50);border-radius:10px;margin:4px 0;padding:16px}.auth-notice-title{color:var(--accent-text);margin:0 0 6px;font-size:15px;font-weight:600}.auth-notice .muted{margin:0;font-size:14px;line-height:1.5}.group-head-left{align-items:flex-start;gap:12px;display:flex}.group-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.group-head-actions{gap:8px;display:flex}.group-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:18px;display:grid}.group-main{flex-direction:column;gap:18px;min-width:0;display:flex}.group-aside{position:sticky;top:80px}.member-list,.user-pick-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.member-row,.user-pick-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.member-row:last-child,.user-pick-row:last-child{border-bottom:none}.user-pick-row.is-active{background:var(--accent-50);border-radius:var(--radius-md);margin:0 -8px;padding-left:8px;padding-right:8px}.user-picker-dropdown .user-pick-row{cursor:pointer;border-radius:var(--radius-md);margin:0 -8px;padding-left:8px;padding-right:8px}.user-picker-dropdown .user-pick-row:hover{background:var(--surface-sunken)}.user-picker-dropdown .user-pick-row.is-added{cursor:default}.user-picker-dropdown .user-pick-row.is-added:hover{background:0 0}.user-pick-pick{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--accent-text);flex:none}.user-pick-pick.is-added{color:var(--text-muted);font-weight:var(--fw-regular)}.member-ident{align-items:center;gap:10px;min-width:0;display:flex}.member-name{font-size:14px;font-weight:600}.member-sub{font-size:13px}.member-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.member-controls select{border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.task-main{flex-direction:column;gap:2px;min-width:0;display:flex}.task-resp{font-size:12px}.task-note{margin:12px 0 0;font-size:12px}.user-search-results{max-height:320px;margin-top:14px;overflow-y:auto}.chat-panel{background:var(--surface);border:1px solid var(--border);height:560px;max-height:calc(var(--app-vh) - 120px);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:auto;gap:10px;padding:14px;display:flex;overflow-y:auto}.chat-empty{text-align:center;margin:auto 0}.chat-system{color:var(--text-muted);background:var(--surface-sunken);border-radius:999px;align-self:center;padding:4px 12px;font-size:12px}.chat-msg{align-items:flex-end;gap:8px;max-width:85%;display:flex}.chat-msg-mine{flex-direction:row-reverse;align-self:flex-end}.chat-bubble{background:var(--surface-sunken);border-radius:12px;flex-direction:column;gap:2px;padding:8px 11px;display:flex}.chat-msg-mine .chat-bubble{background:var(--accent-50)}.chat-author{color:var(--accent-text);font-size:12px;font-weight:600}.chat-author-link{cursor:pointer;text-decoration:none;display:inline-block}.chat-author-link:hover{text-decoration:underline}.chat-author-wrap{display:inline-block;position:relative}.chat-author-btn{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-block}.chat-author-btn:hover{text-decoration:underline}.chat-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0;line-height:0}.chat-avatar-btn:hover{outline:2px solid var(--text-muted);outline-offset:0}.chat-author-menu{z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:160px;padding:4px;position:absolute;top:18px;left:0;box-shadow:0 6px 18px #10182829}.chat-text{white-space:pre-wrap;word-break:break-word;font-size:14px}.chat-msg-link{color:var(--accent-text);white-space:nowrap;font-weight:600;text-decoration:none}.chat-msg-link:hover{text-decoration:underline}.chat-system .chat-msg-link{color:var(--accent-text)}.chat-time{color:var(--text-muted);align-self:flex-end;font-size:11px}.chat-error{padding:0 14px}.profile-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.profile-card{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.profile-name{margin-top:6px;font-size:18px;font-weight:600}.profile-email{font-size:13px}.profile-form{gap:14px}.field input:disabled{background:var(--bg);color:var(--text-muted)}.stub{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.stub-icon{font-size:40px}.stub-title{margin:0;font-size:18px}.modal-backdrop{z-index:50;background:#10182873;justify-content:center;align-items:flex-start;padding:60px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:var(--surface);border-radius:12px;width:100%;overflow:hidden;box-shadow:0 12px 40px #10182838}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-title{margin:0;font-size:17px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:26px;line-height:1}.modal-close:hover{color:var(--text)}.modal-body{padding:18px}.modal-body .form{margin-bottom:0}.view-switch{border:1px solid var(--control-border);border-radius:8px;display:inline-flex;overflow:hidden}.view-switch-btn{background:var(--surface);color:var(--text-muted);cursor:pointer;border:none;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500}.view-switch-btn+.view-switch-btn{border-left:1px solid var(--control-border)}.view-switch-btn:hover{background:var(--accent-50)}.view-switch-btn.is-active{background:var(--accent-50);color:var(--accent-text)}.task-filters{flex-wrap:wrap;gap:16px;display:flex}.task-filter{flex-direction:column;gap:4px;font-size:13px;display:flex}.task-filter select{border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:14px}.task-title-link{color:var(--accent-text);text-align:left;cursor:pointer;word-break:break-word;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:15px;font-weight:600}.task-title-link:hover{text-decoration:underline}.task-row-meta{flex-wrap:wrap;gap:6px;margin-top:2px;font-size:12px;display:flex}.kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.kanban-col{background:var(--accent-50);border:1px solid var(--border);border-radius:10px;min-height:120px;padding:10px;transition:background .15s,border-color .15s}.kanban-col.is-over{background:var(--accent-50);border-color:var(--primary)}.kanban-col-head{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px;display:flex}.kanban-col-title{text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);font-size:13px;font-weight:700}.kanban-col-count{color:var(--text-muted);background:var(--surface);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.kanban-col-body{flex-direction:column;gap:8px;min-height:40px;display:flex}.kanban-empty{text-align:center;border:1px dashed var(--border);border-radius:8px;padding:14px 0;font-size:12px}.kanban-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9px;flex-direction:column;gap:8px;padding:10px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #1018280a}.kanban-card:hover{border-color:var(--accent-100);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-500) 10%, transparent)}.kanban-card.is-dragging{opacity:.5}.kanban-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.kanban-card-title{word-break:break-word;font-size:14px;font-weight:600}.kanban-card-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kanban-card-meta{font-size:12px}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{color:var(--accent-text);background:var(--accent-50);border:1px solid var(--accent-100);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.tag-chip-sm{padding:1px 8px;font-size:11px}.tag-chip-x{color:var(--accent-text);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:15px;line-height:1}.tag-chip-x:hover{color:var(--danger)}.tag-input{position:relative}.tag-input-box{border:1px solid var(--control-border);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px;display:flex}.tag-input-box:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.tag-input-box input{border:none;outline:none;flex:80px;min-width:80px;padding:4px 2px;font-family:inherit;font-size:14px}.tag-suggest,.user-picker-dropdown{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:260px;margin-top:4px;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #10182824}.tag-suggest-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-family:inherit;font-size:14px;display:block}.tag-suggest-item:hover{background:var(--accent-50);color:var(--accent-text)}.tag-add-row{margin-top:12px}.user-picker{position:relative}.user-picker input{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:8px;outline:none;padding:9px 11px;font-family:inherit;font-size:14px}.user-picker input:focus{border-color:var(--primary);box-shadow:var(--ring)}.user-picker-msg{padding:12px}.user-picker-section{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:8px 12px 4px;font-size:11px;font-weight:600}.user-picker-dropdown .user-pick-list{padding:4px 12px 8px}.picker-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.picker-chip{background:var(--accent-50);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 8px;font-size:13px;display:inline-flex}.picker-chip-remove{background:color-mix(in srgb, var(--accent-500) 12%, transparent);width:18px;height:18px;color:var(--accent-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.picker-chip-remove:hover{background:var(--primary);color:var(--text-inverse)}.picked-user{border:1px solid var(--border);background:var(--surface-sunken);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.picked-list{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.picked-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.picked-row-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.picked-row-controls select{border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.participant-add{margin-top:12px}.task-fields .field,.task-fields .row{margin-bottom:12px}.task-fields .row:last-child,.task-fields .field:last-child{margin-bottom:0}.checklist{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.checklist-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;display:flex}.checklist-label{cursor:pointer;word-break:break-word;align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.checklist-label input{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.checklist-done{color:var(--text-muted);text-decoration:line-through}.checklist-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:20px;line-height:1}.checklist-del:hover{color:var(--danger)}.chat-typing{color:var(--text-muted);min-height:18px;padding:2px 14px 6px;font-size:12px;font-style:italic}.notif{align-items:center;display:flex;position:relative}.notif-btn{width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;transition:background .15s;display:inline-flex;position:relative}.notif-btn:hover{background:var(--surface-sunken)}.back-to-project{width:fit-content;font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.back-to-project:hover{color:var(--text-link)}.notif-icon{font-size:18px;line-height:1}.notif-badge{background:var(--danger);min-width:17px;height:17px;color:var(--text-inverse);text-align:center;box-shadow:0 0 0 2px var(--surface);border-radius:999px;padding:0 4px;font-size:11px;font-weight:700;line-height:17px;position:absolute;top:2px;right:0}.notif-dropdown{background:var(--surface);border:1px solid var(--border);z-index:60;border-radius:12px;width:340px;max-width:calc(100vw - 24px);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #10182838}.notif-dropdown-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-dropdown-title{color:var(--text);font-size:15px;font-weight:600}.notif-dropdown-actions{align-items:center;gap:4px;display:inline-flex}.notif-journal-link{color:var(--accent-text);text-decoration:none}.notif-readall{color:var(--accent-text);border-color:var(--control-border)}.notif-readall:hover:not(:disabled){background:var(--accent-50)}.notif-tabs{border-bottom:1px solid var(--border);gap:4px;padding:8px 10px;display:flex}.notif-tab{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:5px 8px;font-size:13px}.notif-tab:hover{background:var(--surface-sunken)}.notif-tab.is-active{border-color:var(--control-border);background:var(--surface-sunken);color:var(--text);font-weight:600}.notif-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.notif-more{color:var(--accent-text);border-color:var(--control-border);flex:none}.notif-more:hover:not(:disabled){background:var(--accent-50)}.notif-foot-error{border-top:1px solid var(--border);padding:6px 10px}.notif-list{flex-direction:column;max-height:380px;display:flex;overflow-y:auto}.notif-msg{text-align:center;padding:18px 14px}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;gap:3px;width:100%;padding:11px 14px;font-family:inherit;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover,.notif-item.is-unread,.notif-item.is-unread:hover{background:var(--accent-50)}.notif-item-title{color:var(--text);font-size:14px;font-weight:600}.notif-item.is-unread .notif-item-title:before{content:"";background:var(--primary);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.notif-item-count{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.notif-item-body{color:var(--text);word-break:break-word;font-size:13px}.notif-item-meta{color:var(--text-muted);font-size:11px}.sidebar-badge{background:var(--danger);min-width:18px;height:18px;color:var(--text-inverse);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.messenger-page{flex:auto;min-height:0}.messenger-layout{flex:auto;grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:stretch;gap:18px;min-height:0;display:grid}.messenger-list{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.messenger-tabs{flex-wrap:wrap;gap:2px;padding:8px 10px 0}.messenger-tabs .tab{padding:7px 10px;font-size:13px}.messenger-search{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 10px 8px;position:relative}.messenger-search-input{width:100%;color:var(--text);background:var(--surface-sunken);border:1px solid var(--control-border);border-radius:999px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px}.messenger-search-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:var(--ring)}.messenger-search-panel{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:420px;margin-top:2px;padding:6px;position:absolute;top:100%;left:10px;right:10px;overflow-y:auto;box-shadow:0 12px 32px #1018282e}.messenger-search-msg{text-align:center;padding:14px}.messenger-search-group+.messenger-search-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.messenger-search-title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:6px 8px 4px;font-size:11px;font-weight:600}.messenger-search-list{margin:0;padding:0;list-style:none}.messenger-search-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.messenger-search-item:hover{background:var(--accent-50)}.messenger-search-icon{background:var(--accent-50);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:17px;display:inline-flex}.messenger-search-item-main{flex-direction:column;gap:1px;min-width:0;display:flex}.messenger-search-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.messenger-search-item-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.messenger-recent-row{gap:6px;padding:4px 4px 6px;display:flex;overflow-x:auto}.messenger-recent-chip{cursor:pointer;width:66px;color:var(--text);background:0 0;border:none;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:6px 4px;display:flex}.messenger-recent-chip:hover{background:var(--accent-50)}.messenger-recent-name{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:11px;line-height:1.2;display:-webkit-box;overflow:hidden}.messenger-list-body{flex:auto;min-height:0;overflow-y:auto}.messenger-empty{text-align:center;padding:24px 16px}.chat-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chat-list-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;transition:background .12s;display:flex}.chat-list-item:hover,.chat-list-item.is-active{background:var(--accent-50)}.chat-list-icon{background:var(--accent-50);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:inline-flex}.chat-list-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.chat-list-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chat-list-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.chat-list-time{color:var(--text-muted);flex-shrink:0;font-size:11px}.chat-list-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-list-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:13px;overflow:hidden}.chat-list-badge{background:var(--primary);min-width:18px;height:18px;color:var(--text-inverse);text-align:center;border-radius:999px;flex-shrink:0;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.messenger-active{min-width:0;min-height:0;display:flex}.messenger-active .chat-panel{flex:auto;height:auto;max-height:none}.messenger-placeholder{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:10px;display:flex}.messenger-placeholder-icon{font-size:42px}@media (width<=900px){.group-layout{grid-template-columns:1fr}.group-aside{position:static}.profile-layout,.kanban{grid-template-columns:1fr}.messenger-page{height:auto;min-height:0}.messenger-layout{grid-template-columns:1fr}.messenger-list{max-height:360px}.messenger-active .chat-panel{height:520px}}@media (width<=640px){.sidebar{width:64px;padding:14px 6px}.sidebar-label,.sidebar-soon,.sidebar-foot,.nav-edit-grip,.nav-edit-actions{display:none}.sidebar-link{justify-content:center}.topbar-user-name{display:none}.content{--content-pad:16px}}.cal-page{gap:14px}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cal-toolbar-nav{align-items:center;gap:8px;display:flex}.cal-nav-arrow{padding:4px 10px;font-size:18px;line-height:1}.cal-period-title{text-transform:capitalize;margin-left:6px;font-size:17px;font-weight:600}.cal-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal-scope-select{border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;max-width:220px;padding:6px 10px;font-family:inherit;font-size:14px}.cal-surface{padding:0;position:relative;overflow:hidden}.cal-loading{background:color-mix(in srgb, var(--surface) 60%, transparent);z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cal-chip{color:#fff;text-align:left;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;align-items:center;gap:5px;width:100%;padding:2px 6px;font-family:inherit;font-size:12px;display:flex;overflow:hidden}.cal-chip:hover{filter:brightness(.94)}.cal-chip-time{opacity:.95;flex-shrink:0;font-weight:700}.cal-chip-title{text-overflow:ellipsis;overflow:hidden}.cal-chip-band{border-radius:5px}.cal-month{flex-direction:column;display:flex}.cal-month-head{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.cal-month-head-cell{text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);text-align:left;padding:8px 10px;font-size:12px;font-weight:700}.cal-month-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(108px,1fr);display:grid}.cal-month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;background:var(--surface);flex-direction:column;gap:3px;min-height:0;padding:4px 5px 6px;transition:background .12s;display:flex}.cal-month-cell:nth-child(7n){border-right:none}.cal-month-cell:hover{background:var(--accent-50)}.cal-month-cell.is-outside{background:var(--surface-sunken)}.cal-month-cell.is-outside .cal-month-daynum{color:var(--text-muted)}.cal-month-cell.is-today{background:var(--accent-50)}.cal-month-cell-head{justify-content:flex-end;align-items:center;display:flex}.cal-month-daynum{justify-content:center;align-items:center;min-width:22px;height:22px;font-size:13px;font-weight:600;display:inline-flex}.cal-month-cell.is-today .cal-month-daynum{background:var(--primary);color:var(--text-inverse);border-radius:50%}.cal-month-events{flex-direction:column;gap:2px;display:flex;overflow:hidden}.cal-month-more{color:var(--accent-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:600}.cal-month-more:hover{text-decoration:underline}.cal-time-gutter{border-right:1px solid var(--border);flex-shrink:0;width:56px}.cal-time-label{color:var(--text-muted);text-align:right;padding-right:6px;font-size:11px;position:relative;transform:translateY(-7px)}.cal-day-col{border-right:1px solid var(--border);flex:1 1 0;min-width:0;position:relative}.cal-day-col.is-today{background:var(--accent-50)}.cal-slot{border-bottom:1px solid var(--surface-sunken);cursor:pointer}.cal-slot:hover{background:var(--accent-50)}.cal-event-block{color:#fff;text-align:left;cursor:pointer;border:none;border-left:3px solid #0000002e;border-radius:5px;flex-direction:column;gap:1px;padding:2px 5px;font-family:inherit;font-size:11px;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #1018281f}.cal-event-block:hover{filter:brightness(.95);z-index:4}.cal-event-time{opacity:.95;font-weight:700}.cal-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-week{flex-direction:column;display:flex}.cal-week-head{border-bottom:1px solid var(--border);grid-template-columns:56px repeat(7,1fr);display:grid}.cal-week-gutter-head{border-right:1px solid var(--border)}.cal-week-dayhead{border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:1px;padding:6px 4px;display:flex}.cal-week-dayhead:last-child{border-right:none}.cal-week-dow{text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);font-size:11px;font-weight:700}.cal-week-daynum{font-size:16px;font-weight:600}.cal-week-dayhead.is-today .cal-week-daynum{background:var(--primary);min-width:26px;height:26px;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cal-week-allday{border-bottom:1px solid var(--border);grid-template-columns:56px repeat(7,1fr);min-height:30px;display:grid}.cal-week-gutter-allday,.cal-week-allday-cell{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:3px 4px;display:flex}.cal-week-gutter-allday{color:var(--text-muted);text-align:right;justify-content:center;align-items:flex-end;font-size:10px}.cal-week-allday-cell:last-child{border-right:none}.cal-week-body,.cal-day-body{height:calc(var(--app-vh) - 280px);min-height:360px;overflow-y:auto}.cal-week-grid{display:flex;position:relative}.cal-week-grid .cal-day-col:last-child{border-right:none}.cal-day{flex-direction:column;display:flex}.cal-day-allday{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:8px 10px;display:flex}.cal-day-allday .cal-chip{width:auto;max-width:100%}.cal-day-grid{display:flex;position:relative}.cal-day-grid .cal-day-col{border-right:none}.cal-agenda{border-top:1px solid var(--border);padding:14px 16px}.cal-agenda-title{text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);margin-bottom:10px;font-size:13px;font-weight:700}.cal-agenda-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cal-agenda-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 8px;font-family:inherit;font-size:14px;display:flex}.cal-agenda-item:hover{background:var(--accent-50)}.cal-agenda-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cal-agenda-when{flex-shrink:0;min-width:64px;font-weight:600}.cal-agenda-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.cal-agenda-loc{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:13px;overflow:hidden}.cal-event-form .cal-color-presets{flex-wrap:wrap;gap:8px;display:flex}.cal-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0;box-shadow:0 0 0 1px #1018281f}.cal-color-dot.is-active{border-color:var(--surface);box-shadow:0 0 0 2px var(--primary), 0 0 0 1px #1018281f}.cal-detail{flex-direction:column;gap:12px;display:flex}.cal-detail-head{align-items:center;gap:10px;display:flex}.cal-detail-color{border-radius:4px;flex-shrink:0;width:14px;height:14px}.cal-detail-title{word-break:break-word;margin:0;font-size:18px}.cal-detail-row{align-items:flex-start;gap:10px;font-size:14px;display:flex}.cal-detail-icon{text-align:center;flex-shrink:0;width:18px}.cal-detail-desc{white-space:pre-wrap;word-break:break-word;background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}.cal-detail-respond{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.cal-detail-respond-label{font-size:13px;font-weight:600}.cal-respond-btns{flex-wrap:wrap;gap:8px;display:flex}.cal-detail-section{margin-top:2px}.cal-detail-section .section-head{margin-bottom:8px}.cal-creator-tag{font-size:12px;font-weight:400}.cal-detail-actions{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.cal-detail-layout{grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;gap:18px;display:grid}.cal-detail-layout .cal-detail{min-width:0;max-height:calc(var(--app-vh) - 200px);padding-right:4px;overflow-y:auto}.cal-detail-chat{min-width:0}.cal-detail-chat .chat-panel{height:calc(var(--app-vh) / var(--ui-zoom,1) - 200px);max-height:none}.cal-detail-links{flex-wrap:wrap;gap:8px;display:flex}.cal-detail-link{color:var(--accent-text);background:var(--accent-50);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.cal-detail-link:hover{background:var(--accent-50)}.cal-project-filter{position:relative}.cal-project-filter-summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 12px;font-size:14px;list-style:none}.cal-project-filter-summary::-webkit-details-marker{display:none}.cal-project-filter[open] .cal-project-filter-summary{border-color:var(--primary);box-shadow:var(--ring)}.cal-project-filter-pop{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:280px;max-height:320px;padding:10px 12px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 32px #10182829}.cal-project-filter-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.cal-project-filter-hint{font-size:12px}.cal-project-filter-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cal-project-filter-item{cursor:pointer;align-items:center;gap:8px;padding:4px 2px;font-size:14px;display:flex}@media (width<=900px){.cal-month-grid{grid-auto-rows:minmax(84px,1fr)}.cal-chip-time{display:none}.cal-week-body,.cal-day-body{height:auto;max-height:none}.cal-detail-layout{grid-template-columns:1fr}.cal-detail-layout .cal-detail{max-height:none;padding-right:0;overflow:visible}.cal-detail-chat .chat-panel{height:480px}}@media (width<=640px){.cal-toolbar{flex-direction:column;align-items:flex-start}.cal-period-title{font-size:15px}.cal-month-head-cell{padding:6px 4px;font-size:11px}.cal-month-grid{grid-auto-rows:minmax(64px,1fr)}.cal-month-events .cal-chip{padding:2px 4px;font-size:10px}.cal-scope-select{width:100%;max-width:none}}.mail-page{flex:auto;min-height:0}.mail-layout{flex:auto;grid-template-columns:220px minmax(280px,360px) minmax(0,1fr);align-items:stretch;gap:16px;min-height:0;display:grid}.mail-folders{flex-direction:column;min-height:0;padding:12px 10px;display:flex;overflow:hidden}.mail-folder-list{flex-direction:column;flex:auto;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.mail-folder-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;padding:9px 11px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.mail-folder-item:hover{background:var(--accent-50)}.mail-folder-item.is-active{background:var(--accent-50);color:var(--accent-text)}.mail-folder-icon{text-align:center;flex-shrink:0;width:18px;font-size:15px}.mail-folder-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.mail-folders-foot{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.mail-disconnect{width:100%}.mail-list-panel{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.mail-list-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.mail-list-head-title{font-size:15px;font-weight:600}.mail-list-body{flex:auto;min-height:0;overflow-y:auto}.mail-list-loading,.mail-list-error,.mail-list-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;display:flex}.mail-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mail-list-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:flex-start;gap:9px;width:100%;padding:11px 14px;font-family:inherit;transition:background .12s;display:flex}.mail-list-item:hover,.mail-list-item.is-active{background:var(--accent-50)}.mail-list-dot{background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.mail-list-item.is-unread .mail-list-dot{background:var(--primary)}.mail-list-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.mail-list-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mail-list-from{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.mail-list-item.is-unread .mail-list-from{font-weight:700}.mail-list-date{color:var(--text-muted);flex-shrink:0;font-size:11px}.mail-list-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.mail-list-subject{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:13px;overflow:hidden}.mail-list-item.is-unread .mail-list-subject{color:var(--text)}.mail-list-flags{flex-shrink:0;align-items:center;gap:4px;font-size:12px;display:inline-flex}.mail-list-flag{color:var(--warning)}.mail-view-panel{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.mail-view{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.mail-view-center,.mail-view-empty{text-align:center;justify-content:center;align-items:center;gap:10px;padding:32px 20px}.mail-view-empty-icon{opacity:.6;font-size:42px}.mail-view-head{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:12px;padding:16px 18px;display:flex}.mail-view-subject{word-break:break-word;margin:0;font-size:18px}.mail-view-meta{flex-direction:column;gap:4px;display:flex}.mail-view-meta-row{gap:8px;font-size:13px;display:flex}.mail-view-meta-label{min-width:44px;color:var(--text-muted);flex-shrink:0;font-weight:600}.mail-view-meta-value{word-break:break-word}.mail-view-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.mail-view-html{background:var(--surface);border:none;flex:auto;width:100%;min-height:320px}.mail-view-text{white-space:pre-wrap;word-break:break-word;color:var(--text);flex:auto;margin:0;padding:16px 18px;font-family:inherit;font-size:14px}.mail-view-nobody{padding:18px}.mail-view-attachments{border-top:1px solid var(--border);flex-shrink:0;padding:14px 18px}.mail-view-attachments-title{text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);margin:0 0 8px;font-size:13px;font-weight:700}.mail-attach-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mail-attach-item{border:1px solid var(--border);background:var(--surface-sunken);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.mail-attach-icon{flex-shrink:0}.mail-attach-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.mail-attach-size{flex-shrink:0;font-size:12px}.mail-attach-soon{flex-shrink:0;margin-left:auto;font-size:11px;font-style:italic}.mail-link-task{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mail-link-select{border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;max-width:240px;padding:6px 10px;font-family:inherit;font-size:13px}.mail-link-error{flex-basis:100%}.mail-compose-text{font-family:inherit;line-height:1.5}.mail-connect-card{max-width:560px}.mail-provider-tabs{flex-wrap:wrap;gap:6px;display:flex}.mail-provider-btn{background:var(--surface);border:1px solid var(--control-border);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.mail-provider-btn:hover{background:var(--accent-50)}.mail-provider-btn.is-active{background:var(--accent-50);border-color:var(--primary);color:var(--accent-text)}.mail-connect-hint{color:var(--text);background:var(--accent-50);border:1px solid var(--accent-100);border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.mail-port-field{flex:0 0 110px}@media (width<=1100px){.mail-layout{grid-template-columns:180px minmax(240px,300px) minmax(0,1fr);gap:12px}}@media (width<=900px){.mail-page{height:auto;min-height:0}.mail-layout{grid-template-columns:1fr}.mail-folders{overflow:visible}.mail-folder-list{flex-flow:wrap;overflow:visible}.mail-folder-item{width:auto}.mail-list-panel{max-height:360px}.mail-view-panel{min-height:480px}.mail-view-html{min-height:360px}}.page-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.directory-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.directory-search{min-width:0;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:8px;outline:none;flex:280px;padding:9px 12px;font-family:inherit;font-size:14px}.directory-search:focus{border-color:var(--primary);box-shadow:var(--ring)}.directory-filter{color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:8px;flex:none;padding:9px 12px;font-family:inherit;font-size:14px}.person-list{flex-direction:column;margin:0;padding:4px 16px;list-style:none;display:flex}.person-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.person-row:last-child{border-bottom:none}.person-main{flex-direction:column;gap:2px;min-width:0;display:flex}.person-counterparty{font-size:12px}.person-controls{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.counterparty-card{flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s;display:flex}.counterparty-card.is-selected{border-color:var(--primary);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-500) 10%, transparent)}.counterparty-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.counterparty-name{text-align:left;color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:16px;font-weight:600}.counterparty-name:hover{text-decoration:underline}.counterparty-meta{flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.counterparty-desc{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.counterparty-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.counterparty-people{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin:4px 0 0;padding:12px 0 0;list-style:none;display:flex}.counterparty-person{align-items:center;gap:8px;font-size:14px;display:flex}.counterparty-person-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.user-pick-tag{margin-left:8px;font-weight:400}.invite-modal{flex-direction:column;gap:14px;display:flex}.invite-person{color:var(--text)}.invite-link-row{align-items:center;gap:8px;display:flex}.invite-link-input{min-width:0;color:var(--text);background:var(--surface-sunken);border:1px solid var(--control-border);border-radius:8px;outline:none;flex:auto;padding:9px 11px;font-family:inherit;font-size:13px}.invite-link-input:focus{border-color:var(--primary);box-shadow:var(--ring)}.auth-invite-hint{margin:0 0 4px;font-size:14px}@media (width<=640px){.person-row{flex-direction:column;align-items:flex-start;gap:10px}.person-controls{justify-content:flex-start}.directory-filter{flex:100%}}.chat-msg{position:relative}.chat-bubble{max-width:100%;position:relative}.chat-bubble-deleted{border:1px dashed var(--border);background:0 0}.chat-deleted{color:var(--text-muted);font-size:13px;font-style:italic}.chat-edited{color:var(--text-muted);font-size:11px;font-style:italic}.chat-quote{border-left:3px solid var(--primary);background:color-mix(in srgb, var(--accent-500) 6%, transparent);border-radius:4px;flex-direction:column;gap:1px;max-width:100%;margin-bottom:4px;padding:3px 8px;display:flex}.chat-quote-author{color:var(--accent-text);font-size:11px;font-weight:600}.chat-quote-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:12px;overflow:hidden}.chat-edit{flex-direction:column;gap:6px;min-width:220px;display:flex}.chat-edit-input{border:1px solid var(--primary);resize:vertical;width:100%;box-shadow:var(--ring);border-radius:8px;outline:none;padding:6px 8px;font-family:inherit;font-size:14px}.chat-edit-actions{gap:6px;display:flex}.chat-attachments{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.chat-att-image{border:1px solid var(--border);border-radius:8px;max-width:220px;line-height:0;display:inline-flex;overflow:hidden}.chat-att-image img{object-fit:cover;max-width:220px;max-height:220px;display:block}.chat-att-image-loading{background:var(--surface-sunken);color:var(--text-muted);justify-content:center;align-items:center;padding:18px 24px;font-size:12px;line-height:1.2}.chat-att-file{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;max-width:260px;padding:8px 10px;font-family:inherit;display:inline-flex}.chat-att-file:hover:not(:disabled){border-color:var(--primary);background:var(--accent-50)}.chat-att-file:disabled{cursor:default;opacity:.7}.chat-att-file-icon{flex-shrink:0;font-size:18px}.chat-att-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.chat-att-file-size{color:var(--text-muted);flex-shrink:0;font-size:11px}.chat-reactions{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.chat-reaction{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:12px;line-height:1.4;transition:background .12s,border-color .12s;display:inline-flex}.chat-reaction:hover{border-color:var(--primary)}.chat-reaction.is-mine{background:var(--accent-50);border-color:var(--primary)}.kanban-wrap{flex-direction:column;display:flex}.kanban-project-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.kanban-project-label{color:var(--text-muted);font-weight:600}.kanban-project-bar select{border:1px solid var(--control-border);background:var(--surface);min-width:220px;color:var(--text);border-radius:8px;padding:7px 10px;font-size:14px}.kanban-project-bar select:focus{border-color:var(--primary);outline:none}.kanban-project-hint{font-size:13px}.kanban-action-error{background:var(--danger-bg);color:var(--danger);border:1px solid #f3c9c5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:9px 12px;font-size:14px;display:flex}.kanban-action-error-close{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.kanban-board{align-items:flex-start;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.kanban-board .kanban-col{flex-direction:column;flex:0 0 300px;gap:10px;max-width:300px;display:flex}.kanban-board .kanban-col-title{text-transform:none;letter-spacing:0;color:var(--text);align-items:center;font-size:13px;display:inline-flex}.kanban-board .kanban-col-head{margin-bottom:0}.kanban-stage-dot{background:var(--primary);border-radius:50%;flex:none;width:10px;height:10px;margin-right:6px;display:inline-block}.kanban-add{text-align:left;border:1px dashed var(--control-border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px;font-size:13px;transition:border-color .15s,color .15s}.kanban-add:hover{border-color:var(--primary);color:var(--accent-text)}.kanban-add-form{flex-direction:column;gap:6px;display:flex}.kanban-add-form input{border:1px solid var(--control-border);border-radius:8px;width:100%;padding:7px 10px;font-size:13px}.kanban-add-form input:focus{border-color:var(--primary);outline:none}.kanban-add-actions{gap:6px;display:flex}.kanban-card-roles{gap:4px}.kanban-card.drop-before{box-shadow:inset 0 2px 0 0 var(--primary)}.kanban-card.drop-after{box-shadow:inset 0 -2px 0 0 var(--primary)}.kanban-card.is-overdue{border-left:3px solid var(--danger)}.kanban-board-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.chat-reaction-emoji{font-size:13px}.chat-reaction-count{color:var(--text-muted);font-size:11px;font-weight:600}.chat-reaction.is-mine .chat-reaction-count{color:var(--accent-text)}.chat-actions{opacity:0;pointer-events:none;align-self:flex-start;align-items:center;gap:2px;margin-top:2px;transition:opacity .12s;display:flex;position:relative}.chat-msg:hover .chat-actions,.chat-actions.is-open{opacity:1;pointer-events:auto}.chat-action-btn{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;width:26px;height:26px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.chat-action-btn:hover{background:var(--accent-50);border-color:var(--primary)}.chat-react-pop{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:999px;gap:2px;padding:4px 6px;display:flex;position:absolute;bottom:28px;left:0;box-shadow:0 6px 18px #10182829}.chat-msg-mine .chat-react-pop{left:auto;right:0}.chat-react-pop.down{top:28px;bottom:auto}.chat-react-pop-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px;font-size:18px;line-height:1}.chat-react-pop-btn:hover{background:var(--accent-50);transform:scale(1.15)}.chat-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:130px;padding:4px;position:absolute;top:30px;left:0;overflow:hidden;box-shadow:0 6px 18px #10182829}.chat-msg-mine .chat-menu{left:auto;right:0}.chat-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px;display:block}.chat-menu-item:hover{background:var(--accent-50)}.chat-menu-danger{color:var(--danger)}.chat-menu-danger:hover{background:var(--danger-bg)}.chat-reply-bar{background:var(--accent-50);border-left:3px solid var(--primary);border-radius:6px;align-items:center;gap:10px;margin:0 14px;padding:7px 10px;display:flex}.chat-reply-info{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.chat-reply-label{color:var(--accent-text);font-size:12px;font-weight:600}.chat-reply-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chat-reply-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;font-size:14px;line-height:1}.chat-reply-close:hover{color:var(--danger);background:#0000000a}.chat-uploads{flex-wrap:wrap;gap:6px;margin:6px 14px 0;display:flex}.chat-upload-chip{background:var(--accent-50);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;max-width:240px;padding:5px 8px;font-size:12px;display:inline-flex}.chat-upload-chip.has-error{background:var(--danger-bg);border-color:var(--danger)}.chat-upload-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.chat-upload-state{color:var(--text-muted);flex-shrink:0;font-size:11px}.chat-upload-chip.has-error .chat-upload-state{color:var(--danger)}.chat-upload-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:12px;line-height:1}.chat-upload-remove:hover{color:var(--danger)}.chat-file-input{display:none}.chat-icon-btn{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:18px;line-height:1;display:inline-flex}.chat-icon-btn:hover:not(:disabled){background:var(--accent-50);border-color:var(--primary)}.chat-icon-btn:disabled{opacity:.5;cursor:default}.chat-emoji-wrap{flex-shrink:0;position:relative}.chat-emoji-pop{z-index:30;position:absolute;bottom:42px;left:0}.emoji-picker{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:280px;overflow:hidden;box-shadow:0 8px 24px #1018282e}.emoji-picker-tabs{border-bottom:1px solid var(--border);display:flex}.emoji-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1 1 0;padding:8px 0;font-family:inherit;font-size:13px}.emoji-tab.is-active{color:var(--accent-text);border-bottom-color:var(--primary);font-weight:600}.emoji-picker-body{max-height:240px;padding:8px;overflow-y:auto}.emoji-group+.emoji-group{margin-top:8px}.emoji-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:11px;font-weight:600}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 0;font-size:20px;line-height:1}.emoji-btn:hover{background:var(--accent-50)}.sticker-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sticker-btn{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;border-radius:10px;padding:10px 0;font-size:40px;line-height:1}.sticker-btn:hover{background:var(--accent-50);border-color:var(--primary)}.page>.view-switch{margin-top:4px}.role-presets{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding-bottom:2px;display:flex}.role-preset{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;padding:7px 12px;font-family:inherit;font-size:14px;font-weight:500}.role-preset:hover{background:var(--accent-50);color:var(--accent-text)}.role-preset.is-active{color:var(--accent-text);border-bottom-color:var(--primary);font-weight:600}.task-filter-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-self:flex-end;align-items:center;gap:7px;padding-bottom:8px;font-size:14px;display:flex}.task-filter-check input{accent-color:var(--primary);width:16px;height:16px}.task-table-wrap{flex-direction:column;gap:8px;display:flex}.task-table-meta{font-size:13px}.task-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}.task-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--accent-50);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:600}.task-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px;font-size:14px}.task-table tbody tr:last-child td{border-bottom:none}.task-table-row:hover{background:var(--accent-50)}.task-table-title{min-width:220px;max-width:360px}.task-table-checklist{white-space:nowrap;margin-left:8px;font-size:12px;display:inline-block}.task-resp{align-items:center;gap:8px;display:inline-flex}.task-resp-name{white-space:nowrap}.task-deadline.is-overdue{color:var(--danger);font-weight:600}.stage-badge{white-space:nowrap;background:var(--accent-50);color:var(--accent-text);border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.task-table-project{color:var(--accent-text);font-weight:500;text-decoration:none}.task-table-project:hover{text-decoration:underline}.my-role-badges{flex-wrap:wrap;gap:4px;display:flex}.view-placeholder{text-align:center;padding:48px 24px}.view-placeholder-icon{margin-bottom:8px;font-size:44px;line-height:1}.view-placeholder .section-title{margin:0 0 6px}@media (width<=760px){.task-table,.task-table thead,.task-table tbody,.task-table th,.task-table td,.task-table tr{display:block}.task-table thead{display:none}.task-table{background:0 0;border:none}.task-table-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:6px 4px}.task-table-row:hover{background:var(--surface)}.task-table tbody td{border-bottom:none;align-items:center;gap:10px;padding:6px 14px;display:flex}.task-table tbody td:before{content:attr(data-label);color:var(--text-muted);flex:0 0 96px;font-size:12px;font-weight:600}.task-table-title{max-width:none}}.gantt-wrap{flex-direction:column;display:flex}.gantt-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;display:flex}.gantt-project-bar{align-items:center;gap:10px;display:flex}.gantt-project-label{color:var(--text-muted);font-weight:600}.gantt-project-bar select{border:1px solid var(--control-border);background:var(--surface);min-width:220px;color:var(--text);border-radius:8px;padding:7px 10px;font-size:14px}.gantt-project-bar select:focus{border-color:var(--primary);outline:none}.gantt-scale-switch{border:1px solid var(--control-border);border-radius:8px;display:inline-flex;overflow:hidden}.gantt-scale-btn{background:var(--surface);color:var(--text-muted);cursor:pointer;border:none;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500}.gantt-scale-btn+.gantt-scale-btn{border-left:1px solid var(--control-border)}.gantt-scale-btn:hover{background:var(--accent-50)}.gantt-scale-btn.is-active{background:var(--accent-50);color:var(--accent-text)}.gantt-add-link{white-space:nowrap}.gantt-action-error{background:var(--danger-bg);color:var(--danger);border:1px solid #f3c9c5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:9px 12px;font-size:14px;display:flex}.gantt-action-error-close{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.gantt-empty{text-align:center;padding:40px 24px}.gantt-truncated{margin:0 0 8px;font-size:13px}.gantt-scroll{--gantt-labels-width:260px;--gantt-header-height:48px;--gantt-total-width:0px;max-height:calc(var(--app-vh) - 200px);border:1px solid var(--border);background:var(--surface);border-radius:12px;min-height:420px;position:relative;overflow:auto}.gantt-grid{grid-template-columns:var(--gantt-labels-width) var(--gantt-total-width);grid-template-rows:var(--gantt-header-height) auto;width:max-content;min-width:100%;display:grid}.gantt-corner{z-index:5;height:var(--gantt-header-height);background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-muted);grid-area:1/1;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:flex;position:sticky;top:0;left:0}.gantt-header{z-index:4;height:var(--gantt-header-height);background:var(--surface);border-bottom:1px solid var(--border);grid-area:1/2;position:sticky;top:0}.gantt-header-groups{border-bottom:1px solid var(--border);height:50%;position:relative}.gantt-header-group{height:100%;color:var(--text);white-space:nowrap;border-left:1px solid var(--border);box-sizing:border-box;align-items:center;padding-left:8px;font-size:12px;font-weight:600;display:flex;position:absolute;top:0}.gantt-header-cells{height:50%;position:relative}.gantt-header-cell{height:100%;color:var(--text-muted);border-left:1px solid var(--border);box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:0;overflow:hidden}.gantt-header-cell.is-weekend{background:var(--accent-50)}.gantt-labels{z-index:3;background:var(--surface);border-right:1px solid var(--border);grid-area:2/1;position:sticky;left:0}.gantt-row-label{border-bottom:1px solid var(--border);box-sizing:border-box;align-items:center;gap:8px;padding:0 10px;display:flex}.gantt-bar-dot{background:var(--primary);border-radius:50%;flex:none;width:10px;height:10px}.gantt-row-label-text{flex-direction:column;gap:1px;min-width:0;display:flex}.gantt-task-title{text-align:left;font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:100%;margin:0;padding:0;font-size:13px;font-weight:500;overflow:hidden}.gantt-task-title:hover{color:var(--accent-text);text-decoration:underline}.gantt-row-resp{align-items:center;gap:5px;font-size:12px;display:flex}.gantt-row-resp-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-canvas{grid-area:2/2;position:relative}.gantt-grid-bg{z-index:0;position:absolute;inset:0}.gantt-gridline{border-left:1px solid var(--border);box-sizing:border-box;position:absolute;top:0}.gantt-gridline.is-weekend{background:var(--accent-50)}.gantt-today{background:var(--primary);z-index:2;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0}.gantt-today:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:-1px;left:-3px}.gantt-bar{z-index:3;border:1px solid var(--primary);box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px;align-items:center;padding:0 8px;display:flex;position:absolute;overflow:visible}.gantt-bar-label{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:12px;font-weight:500;overflow:hidden}.gantt-bar.is-dragging{opacity:.85;z-index:6;box-shadow:0 4px 14px #10182838}.gantt-bar.is-open{border-right-style:dashed}.gantt-bar.is-overdue{border-color:var(--danger);background-image:repeating-linear-gradient(45deg,#0000,#0000 5px,#b3261e1f 5px 10px);border-width:2px}.gantt-bar.is-done{opacity:.6}.gantt-bar.is-invalid{outline:1px solid var(--danger);outline-offset:1px}.gantt-handle{cursor:ew-resize;opacity:0;background:color-mix(in srgb, var(--accent-500) 35%, transparent);touch-action:none;width:7px;height:100%;position:absolute;top:0}.gantt-handle-left{border-radius:6px 0 0 6px;left:0}.gantt-handle-right{border-radius:0 6px 6px 0;right:0}.gantt-bar:hover .gantt-handle{opacity:1}.gantt-link-handle{background:var(--surface);border:2px solid var(--primary);opacity:0;pointer-events:none;cursor:crosshair;z-index:7;touch-action:none;border-radius:50%;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%}.gantt-link-handle-left{left:-6px}.gantt-link-handle-right{right:-6px}.gantt-bar:hover .gantt-link-handle{opacity:1;pointer-events:auto}.gantt-milestone{z-index:3;border:2px solid var(--primary);box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none;width:14px;height:14px;position:absolute;transform:rotate(45deg)}.gantt-milestone.is-overdue{border-color:var(--danger)}.gantt-milestone.is-done{opacity:.6}.gantt-milestone.is-dragging{z-index:6;box-shadow:0 4px 14px #10182838}.gantt-deps{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:visible}.gantt-arrow-head{fill:var(--text-muted)}.gantt-dep-path{fill:none;stroke:var(--text-muted);stroke-width:1.5px;pointer-events:none}.gantt-dep-hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:pointer}.gantt-dep:hover .gantt-dep-path{stroke:var(--primary);stroke-width:2px}.gantt-dep:hover .gantt-arrow-head{fill:var(--primary)}.gantt-dep-del{opacity:0;cursor:pointer;pointer-events:auto}.gantt-dep:hover .gantt-dep-del{opacity:1}.gantt-dep-del-bg{fill:var(--surface);stroke:var(--danger);stroke-width:1.5px}.gantt-dep-del-x{stroke:var(--danger);stroke-width:1.5px;fill:none}.gantt-link-draw{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:visible}.gantt-link-draw-line{stroke:var(--primary);stroke-width:2px;stroke-dasharray:5 4}.gantt-undated{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:14px;overflow:hidden}.gantt-undated-head{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.gantt-undated-caret{color:var(--text-muted);font-size:12px}.gantt-undated-count{background:var(--accent-50);color:var(--accent-text);border-radius:999px;margin-left:auto;padding:1px 9px;font-size:12px}.gantt-undated-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.gantt-undated-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 14px;display:flex}.gantt-undated-item:last-child{border-bottom:none}.gantt-undated-resp{white-space:nowrap;margin-left:auto;font-size:12px}.gantt-dep-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.gantt-dep-form .task-filter{flex:150px}.gantt-dep-hint{margin:8px 0 0;font-size:12px}.gantt-dep-list-wrap{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.gantt-dep-list-title{margin:0 0 8px;font-size:14px}.gantt-dep-list{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.gantt-dep-list-item{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.gantt-dep-list-text{text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.gantt-dep-list-arrow{color:var(--text-muted)}.gantt-dep-list-type{color:var(--text-muted);font-size:12px}@media (width<=760px){.gantt-scroll{--gantt-labels-width:160px}}.user-picker-tabs{border-bottom:1px solid var(--border-subtle);background:var(--surface);z-index:1;gap:4px;padding:6px;display:flex;position:sticky;top:0}.user-picker-tabs .upt{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.user-picker-tabs .upt.is-on{background:var(--surface-sunken);color:var(--text);border-color:var(--control-border)}.user-picker-dept{padding:8px}.user-picker-incl{color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0 8px;display:inline-flex}.user-picker-incl.is-on{color:var(--text)}.user-picker-bulkmsg{font-size:var(--text-xs);color:var(--success);margin:0 0 6px}.user-picker-dept .dept-row-name{min-width:0;font-size:var(--text-sm);color:var(--text);align-items:center;gap:6px;display:inline-flex}
