@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--radius-sm: 6px;--radius-md: 10px;--radius-lg: 10px;--radius-xl: 12px;--radius-seg: 8px;--radius-popover: 12px;--radius-sheet: 18px;--radius-pill: 999px;--header-h: 64px;--tabbar-h: 0px;--chrome-h: calc(var(--header-h) + var(--tabbar-h) + env(safe-area-inset-top, 0px));--fs-2xs: 9px;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-base: 13px;--fs-lg: 14px;--fs-xl: 16px;--fs-2xl: 18px;--fs-3xl: 20px;--font: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--shadow-sm: 0 0 #0000;--shadow-md: 0 0 #0000;--on-pastel: #1F2430;--on-pastel-subtle: #5E6472;--pastel-border: rgba(0, 0, 0, .08);--on-data: #FFFFFF;--shadow-cursor: 0 1px 1px rgba(0, 0, 0, .25);--brand-youtube: #E6002E;--on-brand: #FFFFFF;--celebrate-text: #FFFFFF;--celebrate-text-muted: rgba(255, 255, 255, .75);--celebrate-glow: rgba(255, 220, 80, .7);--celebrate-plum: #1A0533;--celebrate-navy: #0A1A3D;--celebrate-forest: #001A10;--celebrate-olive: #1A2800;--celebrate-rust: #3D1500;--celebrate-wine: #3D0A1A;--confetti-1: #F59E0B;--confetti-2: #EF4444;--confetti-3: #10B981;--confetti-4: #3B82F6;--confetti-5: #8B5CF6;--confetti-6: #EC4899;--confetti-7: #F97316;--confetti-8: #06B6D4;--confetti-9: #FBBF24;--confetti-10: #A3E635}:root{color-scheme:light;--color-scheme: light;--bg: #F4F3EF;--surface: #FFFFFF;--surface-2: #FAF9F6;--surface-sunken: #E6E4DD;--border: #E2E0D8;--border-strong: #D5D2C8;--text: #17191C;--text-muted: #4A4E55;--text-subtle: #5B5F66;--accent: #C2410C;--accent-hover: #A8380A;--accent-rgb: 194, 65, 12;--on-accent: #FFFFFF;--accent-soft: #FBF1EA;--accent-text: #9A3412;--header-bg: #E4E0D6;--header-text: #4A4E55;--header-text-strong: #17191C;--header-border: #BDB8AC;--search-bg: #F4F3EF;--search-border: #CFCAC0;--info-soft: #E3F1EF;--info-text: #0F5F59;--success: #1E7A35;--success-soft: #E4F2E7;--warning: #B45309;--warning-soft: #FDF5E8;--danger: #B42318;--danger-soft: #FBE9E7;--danger-wash: #FDF4F3;--danger-border: rgba(180, 35, 24, .35);--cat-blue: #1D5FB4;--cat-blue-soft: #E7EEF9;--cat-green: #1E7A35;--cat-green-soft: #E4F2E7;--cat-amber: #B45309;--cat-amber-soft: #FDF5E8;--cat-yellow: #856200;--cat-yellow-soft: #FBF4DC;--cat-purple: #6B3FD1;--cat-purple-soft: #EFEAFB;--cat-red: #B42318;--cat-red-soft: #FBE9E7;--cat-cyan: #0E7490;--cat-cyan-soft: #E1F2F6;--cat-pink: #B8175A;--cat-pink-soft: #FBE8F0;--cat-grey: #5B5F66;--cat-grey-soft: #ECEBE6;--on-cat: #FFFFFF;--toast-bg: #17191C;--toast-text: #F4F3EF;--toast-action: #FDBA8C;--scrim: rgba(23, 25, 28, .5);--shadow-lg: 0 12px 32px rgba(23, 25, 28, .18);--shadow-popover: 0 12px 32px rgba(23, 25, 28, .18);--logo-filter: none}html[data-theme=dark]{color-scheme:dark;--color-scheme: dark;--bg: #1B1C22;--surface: #25272E;--surface-2: #212228;--surface-sunken: #15161B;--border: #33353E;--border-strong: #3D404A;--text: #EDEDF1;--text-muted: #A3A6B1;--text-subtle: #8E909A;--accent: #8B8FF7;--accent-hover: #A1A4F9;--accent-rgb: 139, 143, 247;--on-accent: #0E0F13;--accent-soft: #2A2C48;--accent-text: #B4B7FA;--header-bg: #0E0F13;--header-text: #A3A6B1;--header-text-strong: #F2F2F5;--header-border: #2C2E36;--search-bg: #191A20;--search-border: #2C2E36;--info-soft: #173A36;--info-text: #86DCCB;--success: #7FD396;--success-soft: #1C3526;--warning: #F5B460;--warning-soft: #3A2D18;--danger: #FF8A80;--danger-soft: #3D2124;--danger-wash: #2A2226;--danger-border: rgba(255, 138, 128, .4);--cat-blue: #86B6F7;--cat-blue-soft: #1E2D45;--cat-green: #7FD396;--cat-green-soft: #1C3526;--cat-amber: #F5B460;--cat-amber-soft: #3A2D18;--cat-yellow: #EBD26A;--cat-yellow-soft: #34301A;--cat-purple: #B9A5FB;--cat-purple-soft: #2D2747;--cat-red: #FF8A80;--cat-red-soft: #3D2124;--cat-cyan: #6FD4E8;--cat-cyan-soft: #163840;--cat-pink: #F59AC5;--cat-pink-soft: #3C2231;--cat-grey: #A3A6B1;--cat-grey-soft: #2C2E36;--on-cat: #0E0F13;--toast-bg: #EDEDF1;--toast-text: #17191C;--toast-action: #4B4FC9;--scrim: rgba(0, 0, 0, .6);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--shadow-popover: 0 12px 32px rgba(0, 0, 0, .5);--logo-filter: brightness(0) invert(1)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-scheme: dark;--bg: #1B1C22;--surface: #25272E;--surface-2: #212228;--surface-sunken: #15161B;--border: #33353E;--border-strong: #3D404A;--text: #EDEDF1;--text-muted: #A3A6B1;--text-subtle: #8E909A;--accent: #8B8FF7;--accent-hover: #A1A4F9;--accent-rgb: 139, 143, 247;--on-accent: #0E0F13;--accent-soft: #2A2C48;--accent-text: #B4B7FA;--header-bg: #0E0F13;--header-text: #A3A6B1;--header-text-strong: #F2F2F5;--header-border: #2C2E36;--search-bg: #191A20;--search-border: #2C2E36;--info-soft: #173A36;--info-text: #86DCCB;--success: #7FD396;--success-soft: #1C3526;--warning: #F5B460;--warning-soft: #3A2D18;--danger: #FF8A80;--danger-soft: #3D2124;--danger-wash: #2A2226;--danger-border: rgba(255, 138, 128, .4);--cat-blue: #86B6F7;--cat-blue-soft: #1E2D45;--cat-green: #7FD396;--cat-green-soft: #1C3526;--cat-amber: #F5B460;--cat-amber-soft: #3A2D18;--cat-yellow: #EBD26A;--cat-yellow-soft: #34301A;--cat-purple: #B9A5FB;--cat-purple-soft: #2D2747;--cat-red: #FF8A80;--cat-red-soft: #3D2124;--cat-cyan: #6FD4E8;--cat-cyan-soft: #163840;--cat-pink: #F59AC5;--cat-pink-soft: #3C2231;--cat-grey: #A3A6B1;--cat-grey-soft: #2C2E36;--on-cat: #0E0F13;--toast-bg: #EDEDF1;--toast-text: #17191C;--toast-action: #4B4FC9;--scrim: rgba(0, 0, 0, .6);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--shadow-popover: 0 12px 32px rgba(0, 0, 0, .5);--logo-filter: brightness(0) invert(1)}}:root{--bg-primary: var(--surface);--bg-secondary: var(--surface-2);--bg-tertiary: var(--surface-sunken);--text-primary: var(--text);--text-secondary: var(--text-muted);--text-tertiary: var(--text-subtle);--border-light: var(--border);--border-med: var(--border-strong);--accent-subtle: var(--accent-soft);--danger-subtle: var(--danger-soft)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);font-size:14px;height:100vh;height:100dvh;overflow:hidden;transition:background .2s,color .2s;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:rgba(var(--accent-rgb),.25)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-med);border-radius:var(--radius-pill);border:2.5px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);border:2.5px solid transparent;background-clip:padding-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}button[data-busy]{opacity:.7;cursor:progress!important;pointer-events:none}button:disabled{opacity:.55;cursor:not-allowed}.section-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle)}kbd{font-family:var(--font-mono)}.btn-primary{background:var(--accent);color:var(--on-accent);border:none;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font);line-height:1.4;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm);transition:background .15s,transform .1s,box-shadow .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-med);padding:7px 15px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font);line-height:1.4;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm);transition:background .12s,color .12s,border-color .12s,transform .1s}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:active{transform:translateY(1px)}.btn-cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-med);padding:8px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);line-height:1.4;display:inline-flex;align-items:center;transition:background .12s,color .12s}.btn-cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger-border);padding:8px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font);line-height:1.4;display:inline-flex;align-items:center;transition:background .12s}.btn-danger:hover{background:var(--danger-subtle)}.row-btn{font-size:11px;font-weight:500;white-space:nowrap;padding:4px 9px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font);line-height:1.4;transition:background .1s,color .1s,border-color .1s}.row-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-med)}.dashed-btn{width:100%;padding:8px;border:1px dashed var(--border-med);border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;font-family:var(--font);transition:background .1s,color .1s,border-color .1s;margin-top:6px}.dashed-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-strong)}#auth{display:none;height:100vh;align-items:center;justify-content:center;background:radial-gradient(1100px 560px at 50% -12%,rgba(var(--accent-rgb),.13),transparent 62%),var(--bg)}#auth-inner{display:flex;flex-direction:column;align-items:center;gap:30px;animation:fade-up .35s ease-out}#auth-logo{height:48px;width:auto}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px}#auth-product{font-size:15px;font-weight:600;letter-spacing:.2px;color:var(--text-secondary)}#auth-logo{filter:var(--logo-filter)}.loading{display:flex;align-items:center;justify-content:center;gap:10px;height:100vh;font-size:13px;color:var(--text-tertiary)}.loading:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--border-med);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#app{height:100vh;height:100dvh;display:flex;flex-direction:column}.app-body{flex:1;min-height:0;display:flex}.app-header{height:var(--header-h);flex-shrink:0;display:flex;align-items:stretch;gap:28px;padding:0 20px 0 24px;background:var(--header-bg);color:var(--header-text)}.app-wordmark{align-self:center;display:inline-flex;align-items:center;flex-shrink:0;min-height:44px;border-radius:var(--radius-sm)}.app-logo{display:block;width:auto;height:28px;filter:var(--logo-filter)}.app-tabs{display:flex;align-items:flex-end;gap:2px}.app-tab{height:44px;padding:0 20px;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--header-text);text-decoration:none;border-radius:10px 10px 0 0;transition:color .12s,background .12s}.app-tab:hover{color:var(--header-text-strong)}.tab-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--danger, #E5484D);color:#fff;font-size:11px;font-weight:700;line-height:1}.tab-count[hidden]{display:none}.app-tabbar a{position:relative}.app-tabbar .tab-count{position:absolute;top:2px;left:calc(50% + 6px)}.app-tab[aria-current=page]{background:var(--bg);color:var(--text);font-weight:600}.app-tab:focus-visible{outline-offset:-3px;border-radius:10px 10px 0 0}.app-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.hdr-search{width:260px;height:36px;display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;background:var(--search-bg);border:1px solid var(--search-border);border-radius:var(--radius-md);color:var(--header-text);font-family:var(--font);font-size:13px;text-align:left;cursor:pointer;transition:border-color .12s}.hdr-search:hover{border-color:var(--header-border)}.hdr-search-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hdr-search kbd{font-size:11px;color:var(--header-text)}.hdr-btn{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-radius:var(--radius-md);font-family:var(--font);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s}.hdr-btn--outline{background:transparent;border:1px solid var(--header-border);color:var(--header-text-strong)}.hdr-btn--outline:hover{background:var(--search-bg)}.hdr-btn--accent{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent)}.hdr-btn--accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}@media (min-width: 769px) and (max-width: 1360px){.hdr-search{width:36px;padding:0;justify-content:center}.hdr-search kbd{display:none}.hdr-search-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media (min-width: 769px) and (max-width: 1140px){.app-header{gap:16px;padding:0 16px 0 20px}.app-tab{padding:0 14px}.app-logo{height:26px}#hdr-logtime,#hdr-new{width:36px;padding:0;justify-content:center}#hdr-logtime>span,#hdr-new>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media (min-width: 769px) and (max-width: 900px){.app-header{gap:12px;padding:0 12px 0 16px}.app-logo{height:22px}.app-tab{padding:0 9px;font-size:14px}.app-header-actions{gap:4px}.hdr-account .icon{display:none}}.hdr-account{position:relative;display:inline-flex;align-items:center;gap:4px;height:40px;padding:2px 6px 2px 2px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--header-text);cursor:pointer}.hdr-account:hover{color:var(--header-text-strong)}.hdr-avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--text);color:var(--bg);font-size:12px;font-weight:600;letter-spacing:.02em}.hdr-account-dot{position:absolute;top:1px;left:26px;width:11px;height:11px;border-radius:50%;background:var(--warning);border:2px solid var(--header-bg)}.hdr-account-dot[hidden]{display:none}.search-row{display:flex;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;border-bottom:1px solid var(--border-light)}.search-row[aria-selected=true]{background:var(--bg-secondary)}.search-row-icon{width:20px;flex-shrink:0;display:inline-flex;justify-content:center;font-size:16px;color:var(--text-muted)}.hdr-bell{position:relative}.hdr-bell-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:2px solid var(--header-bg);background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:1}.hdr-bell-count[hidden]{display:none}.notif-pop{width:360px;max-width:calc(100vw - 16px);max-height:min(70vh,520px);overflow-y:auto}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 10px 14px;border-bottom:1px solid var(--border)}.notif-title{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.notif-empty{margin:0;padding:16px 14px}.notif-list .tk-notif:last-child{border-bottom:none}.pop{position:fixed;z-index:10001;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover);animation:modal-pop .12s ease-out}.dd{padding:6px;max-height:calc(100vh - 88px);overflow-y:auto}.dd--account{width:264px}.dd--new{width:200px}.dd-head{display:flex;align-items:center;gap:10px;padding:8px 10px 10px}.dd-who{display:flex;flex-direction:column;min-width:0}.dd-name{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-org{font-size:12px;color:var(--text-muted)}.dd-sep{height:1px;background:var(--border);margin:6px 4px}.dd-label{display:block;padding:6px 10px 4px}.dd-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border:none;border-radius:var(--radius-seg);background:none;color:var(--text);font-family:var(--font);font-size:14px;text-align:left;text-decoration:none;cursor:pointer}.dd-item .icon{color:var(--text-muted);flex-shrink:0}.dd-item:hover,.dd-item:focus-visible{background:var(--bg)}.dd-item:focus-visible{outline-offset:-2px}.dd-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--warning-soft);color:var(--warning);font-family:var(--font-mono);font-size:11px;font-weight:500}.dd-theme{padding:0 4px 4px}.dd-theme .dd-label{padding-left:6px}.lt-pop{width:340px;max-width:calc(100vw - 16px);padding:16px}.lt-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.lt-title{flex:1;font-size:15px;font-weight:600;color:var(--text)}.tl-form{display:flex;flex-direction:column;gap:12px}.tl-field{display:flex;flex-direction:column;gap:5px;min-width:0}.tl-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.tl-optional{font-weight:400;color:var(--text-subtle)}.tl-field select,.tl-field input{width:100%;height:36px;padding:0 10px;font-family:var(--font);font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;transition:border-color .15s,box-shadow .15s}.tl-field input[type=date]{font-family:var(--font-mono);font-size:12px}.tl-field textarea{width:100%;padding:8px 10px;font-family:var(--font);font-size:13px;line-height:1.45;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.tl-field select:focus,.tl-field input:focus,.tl-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.tl-field select:disabled{color:var(--text-subtle);background:var(--surface-2);cursor:not-allowed}.tl-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tl-hint{font-size:12px;line-height:1.45;color:var(--text-subtle)}.tl-hint[hidden],.tl-field[hidden],.tl-submit[hidden]{display:none}.tl-submit{width:100%;height:40px;justify-content:center}.tl-msg{font-size:12px;min-height:0;color:var(--text-muted)}.tl-msg:empty{display:none}.tl-msg[data-tone=error]{color:var(--danger)}.pv-time{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}@media (max-width: 1100px){.pv-time{grid-template-columns:1fr}.pv-time-form{order:-1}}.tt-log-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:0 0 8px;background:none;border:none;cursor:pointer;text-align:left}.tt-table-wrap{overflow-x:auto}.tt-table-wrap[hidden]{display:none}.tt-table{width:100%;border-collapse:collapse;font-size:13px}.tt-table th{padding:8px 10px;text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);border-bottom:1px solid var(--border);white-space:nowrap}.tt-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}.tt-table tr:last-child td{border-bottom:none}.tt-table .num{text-align:right}.tt-table .mono{font-family:var(--font-mono);font-size:12px;white-space:nowrap}.tt-table .tt-note{color:var(--text-muted);min-width:140px}.tt-table .tt-act{width:1%;padding:2px 4px}.tt-table .tt-act .icon-btn{width:30px;height:30px}.seg{display:flex;gap:2px;padding:3px;background:var(--surface-sunken);border-radius:var(--radius-md)}.seg-btn{flex:1;min-height:30px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-seg);background:transparent;color:var(--text-muted);font-family:var(--font);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.seg-btn:hover{color:var(--text)}.seg-btn[aria-checked=true],.seg-btn[aria-current=page],.seg-btn[aria-current=true],.seg-btn[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:600}.seg-btn:focus-visible{outline-offset:-2px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-body{position:relative}.page{flex:1;min-width:0;overflow-y:auto;padding:22px 28px 28px}.page-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.page-toolbar[hidden]{display:none}.page-toolbar-filters{display:flex;align-items:center;gap:8px}.toolbar-note{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.page-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.page-toolbar-actions:empty{display:none}.view-switch .seg-btn{flex:0 0 auto;white-space:nowrap}.page-toolbar .view-switch{max-width:100%;overflow-x:auto;scrollbar-width:none}.page-toolbar .view-switch::-webkit-scrollbar{display:none}.seg--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.search-wrap--wide input{width:320px}.crumbs{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:15px}.crumbs a{color:var(--text-muted);font-weight:500;text-decoration:none;border-radius:var(--radius-sm)}.crumbs a:hover{color:var(--text);text-decoration:underline}.crumb-sep{color:var(--text-subtle)}.icon-btn,.hdr-icon-btn{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:background .12s,color .12s}.icon-btn{color:var(--text-muted)}.icon-btn:hover{background:var(--bg);color:var(--text)}.hdr-icon-btn{color:var(--header-text)}.hdr-icon-btn:hover,.hdr-icon-btn[aria-expanded=true]{background:var(--search-bg);color:var(--header-text-strong)}.notes-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:1px solid var(--border)}.notes-panel-head{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 18px;border-bottom:1px solid var(--border)}.notes-panel-title{flex:1;margin:0}.notes-panel-new{padding:6px 12px;font-size:12px}.notes-list{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.notes-empty{padding:24px 8px;text-align:center;color:var(--text-subtle);font-size:13px;line-height:1.7}.notes-card{flex-shrink:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s}.notes-card:hover{border-color:var(--border-strong)}.notes-card:focus-within{border-color:var(--accent)}.notes-card-header{display:flex;align-items:center;gap:4px;cursor:pointer;padding-right:6px}.notes-card-toggle{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-subtle);cursor:pointer;transition:color .12s,background .12s}.notes-card-toggle:hover{background:var(--bg);color:var(--text)}.notes-card-toggle svg{transition:transform .18s ease}.notes-card.open .notes-card-toggle svg{transform:rotate(180deg)}.notes-card-body{display:none}.notes-card.open .notes-card-body{display:block;border-top:1px solid var(--border)}.notes-title-input{flex:1;min-width:0;width:100%;padding:10px 4px 10px 12px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--text);background:transparent;border:none;outline:none;text-overflow:ellipsis;cursor:text}.notes-title-input::placeholder{color:var(--text-subtle);font-weight:400}.notes-body-input{width:100%;min-height:60px;padding:10px 12px;font-family:var(--font);font-size:13px;line-height:1.55;color:var(--text);background:transparent;border:none;outline:none;resize:none;overflow:hidden}.notes-body-input::placeholder{color:var(--text-subtle)}.notes-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 12px 8px}.notes-due-input{font-family:var(--font-mono);font-size:12px;padding:3px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);outline:none}.notes-reminder{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.notes-reminder input{width:14px;height:14px;cursor:pointer;accent-color:var(--accent)}.notes-card-footer{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 8px;border-top:1px solid var(--border)}.notes-timestamp{font-family:var(--font-mono);font-size:11px;color:var(--text-subtle)}.notes-delete-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:none;font-family:var(--font);font-size:12px;color:var(--text-subtle);cursor:pointer;transition:background .1s,color .1s}.notes-delete-btn:hover{background:var(--danger-soft);color:var(--danger)}.notes-delete-hover{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-subtle);cursor:pointer;opacity:0;transition:opacity .12s,color .12s,background .12s}.notes-card:hover .notes-delete-hover,.notes-card:focus-within .notes-delete-hover{opacity:1}.notes-delete-hover:hover{color:var(--danger);background:var(--danger-soft)}@media (max-width: 1100px){.notes-panel{position:absolute;top:0;right:0;bottom:0;z-index:60;box-shadow:var(--shadow-popover)}}.search-wrap{position:relative}.search-wrap input{padding:7px 12px 7px 34px;font-size:13px;border-radius:var(--radius-md);width:220px;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary);font-family:var(--font);outline:none;transition:border .15s,box-shadow .15s,background .15s}.search-wrap input:focus{border-color:var(--accent);background:var(--bg-primary);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.page-split{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:16px;align-items:start}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:16px;align-items:start}.panel-grid>.panel-grid-wide{grid-column:1 / -1}.panel-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(480px,100%),1fr));gap:12px;align-items:start}@media (max-width: 1100px){.page-split{grid-template-columns:minmax(0,1fr)}}.leave-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 20px}.leave-rows>.leave-row+.leave-row,.leave-rows>.social-post-row+.social-post-row{border-top:1px solid var(--border-light)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card--sm{padding:12px 14px}.stat-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:6px}.stat-value{font-size:26px;font-weight:650;letter-spacing:-.6px;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-value--sm{font-size:18px;font-weight:650;letter-spacing:-.3px}.stat-sub{font-size:11px;color:var(--text-tertiary);margin-top:3px}.panel{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.panel-header{display:flex;align-items:center;padding:13px 20px;border-bottom:1px solid var(--border-light);gap:8px;flex-wrap:wrap}.panel-title{font-size:13px;font-weight:600;flex:1;color:var(--text-primary)}.filter-pill{font-size:12.5px;padding:5px 12px;border-radius:var(--radius-pill);border:none;color:var(--text-secondary);cursor:pointer;background:transparent;font-family:var(--font);font-weight:500;transition:background .12s,color .12s}.filter-pill:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-pill.active{background:var(--accent-subtle);color:var(--accent);font-weight:550}.col-header{display:grid;padding:9px 20px;border-bottom:1px solid var(--border-light);font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-weight:500;background:var(--bg-secondary)}.contact-row{display:grid;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}.contact-row:last-child{border-bottom:none}.contact-row:hover{background:var(--bg-secondary)}.contact-row.selected{background:var(--accent-subtle)}.contact-name{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.name-main{font-size:13px;font-weight:550}.name-sub{font-size:12px;color:var(--text-secondary);margin-top:1px}.tag{display:inline-flex;font-size:11px;padding:3px 9px;border-radius:var(--radius-pill);font-weight:550}.status-cell{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-active{background:var(--success)}.dot-warm{background:var(--warning)}.dot-cold{background:var(--text-tertiary)}.actions-cell{display:flex;justify-content:flex-end;gap:6px}.empty-state{padding:56px 20px;text-align:center;color:var(--text-tertiary);font-size:13px;line-height:1.7}.av-blue{background:var(--cat-blue-soft);color:var(--cat-blue)}.av-teal{background:var(--cat-cyan-soft);color:var(--cat-cyan)}.av-coral{background:var(--cat-red-soft);color:var(--cat-red)}.av-purple{background:var(--cat-purple-soft);color:var(--cat-purple)}.av-amber{background:var(--cat-amber-soft);color:var(--cat-amber)}.av-green{background:var(--cat-green-soft);color:var(--cat-green)}.av-pink{background:var(--cat-pink-soft);color:var(--cat-pink)}.tag-brand{background:var(--cat-blue-soft);color:var(--cat-blue)}.tag-agency{background:var(--cat-purple-soft);color:var(--cat-purple)}.tag-ngo{background:var(--cat-cyan-soft);color:var(--cat-cyan)}.tag-sport{background:var(--cat-amber-soft);color:var(--cat-amber)}.tag-corp{background:var(--cat-grey-soft);color:var(--cat-grey)}.tag-sub{background:var(--cat-red-soft);color:var(--cat-red)}.detail-panel{width:300px;flex-shrink:0;background:var(--bg-primary);border-left:1px solid var(--border-light);display:flex;flex-direction:column;overflow-y:auto}.detail-empty{display:flex;align-items:center;justify-content:center;flex:1;font-size:13px;color:var(--text-tertiary);text-align:center;line-height:1.6}.detail-header{padding:20px;border-bottom:1px solid var(--border-light)}.detail-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;margin-bottom:12px}.detail-name{font-size:15px;font-weight:600;letter-spacing:-.1px}.detail-role{font-size:12px;color:var(--text-secondary);margin-top:3px}.detail-tags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.detail-section{padding:16px 20px;border-bottom:1px solid var(--border-light)}.detail-section:last-child{border-bottom:none}.section-title{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:12px}.info-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:8px}.info-key{font-size:12px;color:var(--text-secondary);flex-shrink:0}.info-val{font-size:12px;color:var(--text-primary);text-align:right;word-break:break-all}.note-item{background:var(--bg-secondary);border-radius:var(--radius-md);padding:9px 11px;margin-bottom:8px}.note-text{font-size:12px;color:var(--text-primary);line-height:1.5}.note-date{font-size:11px;color:var(--text-tertiary);margin-top:5px}.project-chip{display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);padding:8px 11px;margin-bottom:6px;cursor:pointer;transition:background .1s}.project-chip:hover{background:var(--bg-tertiary)}.project-chip-name{font-size:12px;font-weight:550}.project-chip-badge{font-size:11px;color:var(--text-secondary)}.modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:100;align-items:center;justify-content:center}.modal-backdrop.open{display:flex;animation:backdrop-in .15s ease-out}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);width:480px;max-width:96vw;overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.modal-backdrop.open .modal{animation:modal-pop .18s cubic-bezier(.16,1,.3,1)}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.modal-header{padding:18px 20px 14px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;flex-shrink:0}.modal-title{font-size:15px;font-weight:600;flex:1;color:var(--text-primary);letter-spacing:-.1px}.modal-close{background:none;border:none;font-size:18px;color:var(--text-tertiary);cursor:pointer;line-height:1;padding:2px 4px;border-radius:var(--radius-sm);transition:color .1s}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.modal-footer{padding:14px 20px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.field-label{font-size:12px;color:var(--text-secondary);margin-bottom:5px;font-weight:550}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field input,.field select,.field textarea{width:100%;padding:8px 11px;font-size:13px;border:1px solid var(--border-med);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font);outline:none;transition:border .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.field textarea{resize:vertical;min-height:70px}.notif-settings{display:flex;flex-direction:column;gap:4px}.notif-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0}.notif-text{min-width:0}.notif-switches{display:flex;gap:14px;flex-shrink:0}.notif-switch{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer}.notif-switch input{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.notif-label{display:block;font-size:14px;color:var(--text-primary)}.push-device{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border-med)}.push-state{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--text-primary)}.push-actions{display:flex;gap:8px}.push-sub{display:block;font-size:12px;font-weight:400;color:var(--text-tertiary);line-height:1.5;margin-top:2px}.push-note{font-size:12px;color:var(--text-tertiary);line-height:1.6}.push-devs{display:flex;flex-direction:column;gap:6px}.push-dev{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--text-primary)}.push-bad{color:var(--danger)}.push-ok{color:var(--text-secondary)}.push-log{display:flex;flex-direction:column;gap:6px;margin-top:4px}.push-log-head{font-size:12px;font-weight:600;color:var(--text-secondary)}.push-log-row{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;align-items:baseline}.push-log-when{color:var(--text-tertiary);min-width:70px}.push-log-what{color:var(--text-primary)}.notif-desc{display:block;font-size:12px;color:var(--text-tertiary);line-height:1.5;margin-top:2px}.company-hint{font-size:11px;color:var(--text-tertiary);margin-top:5px;line-height:1.4}.company-hint-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent-text);cursor:pointer}.company-hint-btn:hover{text-decoration:underline}.is-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 3px var(--danger-subtle)!important}.field-err{font-size:11px;color:var(--danger);margin-top:4px;line-height:1.4}.req{color:var(--danger);margin-left:2px;font-weight:600}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(8px);background:var(--toast-bg);color:var(--toast-text);border:none;padding:10px 18px;border-radius:var(--radius-lg);font-size:13px;font-weight:500;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:200;white-space:nowrap;box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;gap:16px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-action{background:none;border:none;color:var(--toast-action);font-weight:600;font-size:13px;cursor:pointer;font-family:var(--font);padding:0;white-space:nowrap;pointer-events:auto}.toast-action:hover{text-decoration:underline}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.confirm-box{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-pop .16s cubic-bezier(.16,1,.3,1)}.confirm-body{padding:22px 22px 18px}.confirm-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.1px}.confirm-msg{font-size:13px;color:var(--text-secondary);line-height:1.55}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 22px 20px}.kanban-wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.kanban-col{display:flex;flex-direction:column;gap:8px}.kanban-col-head{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:0 4px 10px;display:flex;align-items:center;gap:8px}.kanban-count{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-pill);padding:1px 7px}.kanban-col-body{display:flex;flex-direction:column;gap:8px;min-height:16px;border-radius:var(--radius-sm)}.kanban-col-body--over{outline:2px dashed var(--accent);outline-offset:3px}.kanban-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:13px 14px;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s,transform .15s}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-med);transform:translateY(-1px)}.kanban-card--dragging{opacity:.4}.kanban-card--over{box-shadow:0 -3px 0 0 var(--accent)}.kanban-card-title{font-size:13.5px;font-weight:550;margin-bottom:4px;line-height:1.4;color:var(--text-primary);letter-spacing:-.1px}.kanban-card-client{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.kanban-card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.kanban-card-date{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.kanban-add{border:1px dashed var(--border-med);border-radius:var(--radius-lg);padding:9px 12px;font-size:12px;color:var(--text-tertiary);cursor:pointer;text-align:center;background:transparent;width:100%;font-family:var(--font);transition:background .1s,color .1s,border-color .1s}.kanban-add:hover{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-strong)}.mkt-col-body--over{outline:2px dashed var(--accent);outline-offset:3px;border-radius:var(--radius-md)}.mkt-card--dragging{opacity:.4}.mkt-card--over{box-shadow:0 -3px 0 0 var(--accent)}.budget-layout{display:flex;gap:20px;align-items:flex-start}.budget-main{flex:1;min-width:0}.budget-sidebar-panel{width:210px;flex-shrink:0}.bsum-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:12px;box-shadow:var(--shadow-sm)}.bsum-head{padding:11px 15px;border-bottom:1px solid var(--border-light);font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.bsum-row{display:flex;justify-content:space-between;padding:7px 15px;font-size:12px;border-bottom:1px solid var(--border-light)}.bsum-row:last-child{border-bottom:none}.bsum-row.grand{font-weight:600;font-size:13px;padding:11px 15px;background:var(--bg-secondary)}.bsum-row .sk{color:var(--text-secondary)}.bsum-row .sv{color:var(--text-primary);font-variant-numeric:tabular-nums}.bsec-wrap{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden}.bsec-head{display:flex;align-items:center;padding:10px 14px;cursor:pointer;gap:8px;-webkit-user-select:none;user-select:none;transition:background .1s}.bsec-head:hover,.bsec-head.enabled{background:var(--bg-secondary)}.bsec-code{font-size:10px;font-weight:700;color:var(--text-tertiary);width:22px;letter-spacing:.3px}.bsec-name{font-size:13px;flex:1}.bsec-amt{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:60px;text-align:right}.bsec-tog{font-size:11px;font-weight:500;color:var(--text-secondary);padding:2px 10px;border:1px solid var(--border-light);border-radius:var(--radius-pill);background:transparent;cursor:pointer;font-family:var(--font);flex-shrink:0;transition:background .12s,color .12s,border-color .12s}.bsec-tog.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.bsec-chev{color:var(--text-tertiary);font-size:9px;transition:transform .18s;flex-shrink:0}.bsec-chev.open{transform:rotate(90deg)}.cs-panel-head{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:11px 16px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.cs-panel-head:hover{background:var(--bg-secondary)}.cs-panel-body.cs-collapsed{display:none}.bsec-body{display:none;border-top:1px solid var(--border-light)}.bsec-body.open{display:block;overflow-x:auto}.bl-table{width:100%;border-collapse:collapse;min-width:880px}.bl-table th{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:8px 6px;text-align:left;border-bottom:1px solid var(--border-light);font-weight:600}.bl-table th.r{text-align:right}.bl-table td{padding:4px;vertical-align:middle;border-bottom:1px solid var(--border-light)}.bl-table tr:last-child td{border-bottom:none}.bl-table tr.sub td{background:var(--bg-secondary);font-size:12px;font-weight:500}.bl-in{font-size:13px;padding:6px 8px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font);outline:none;transition:border .12s,box-shadow .12s;min-height:32px}.bl-in:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.12)}.bl-in.w{width:100%}.bl-in.n{width:80px;text-align:right;font-variant-numeric:tabular-nums}.bl-tot{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-tertiary);text-align:right;white-space:nowrap}.bl-tot.nz{color:var(--text-primary);font-weight:500}.add-line{display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:12px;color:var(--text-tertiary);cursor:pointer;border:none;border-top:1px solid var(--border-light);background:transparent;width:100%;text-align:left;font-family:var(--font);transition:background .1s,color .1s}.add-line:hover{background:var(--bg-secondary);color:var(--text-secondary)}.bh-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.mu-row{display:flex;gap:20px;margin-bottom:18px;align-items:center;flex-wrap:wrap}.mu-field{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.mu-field input{width:58px;padding:5px 8px;font-size:12px;border:1px solid var(--border-med);border-radius:var(--radius-sm);font-family:var(--font);outline:none;text-align:right;color:var(--text-primary);background:var(--bg-primary)}.proj-layout{display:flex;gap:20px;align-items:flex-start}.proj-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.proj-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;transition:width .2s,opacity .2s}.proj-sidebar.collapsed{width:0;overflow:hidden;opacity:0;pointer-events:none}.proj-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border-light);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.proj-tab-bar::-webkit-scrollbar{display:none}.proj-tab-bar-wrap{position:relative}.proj-tab-fade{position:absolute;top:0;bottom:0;width:24px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:1}.proj-tab-fade--left{left:0;background:linear-gradient(to right,var(--bg),transparent)}.proj-tab-fade--right{right:0;background:linear-gradient(to left,var(--bg),transparent)}.proj-tab-fade--visible{opacity:1}.proj-tab{padding:10px 14px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;background:none;border-left:none;border-right:none;border-top:none;font-family:var(--font);transition:color .1s}.proj-tab:hover{color:var(--text)}.proj-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.proj-sidebar-toggle{background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:color .1s,border-color .1s}.proj-sidebar-toggle:hover{color:var(--text-primary);border-color:var(--border-strong)}.proj-panel{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.proj-panel-head{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:11px 14px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px}.proj-panel-body{padding:14px;display:flex;flex-direction:column;gap:12px}.proj-field-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px}.proj-input{width:100%;padding:7px 10px;font-size:13px;border:1px solid var(--border-med);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font);outline:none;transition:border .12s,box-shadow .12s}.proj-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.proj-textarea{width:100%;padding:8px 10px;font-size:13px;border:1px solid var(--border-med);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font);outline:none;resize:vertical;min-height:80px;line-height:1.6;transition:border .12s,box-shadow .12s}.proj-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.proj-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deliverable-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-light)}.deliverable-row:last-child{border-bottom:none}.deliverable-check{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--accent)}.deliverable-text{flex:1;font-size:13px;background:transparent;border:none;outline:none;font-family:var(--font);color:var(--text-primary)}.shot-row{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--border-light)}.shot-row:last-child{border-bottom:none}.shot-num{font-size:11px;color:var(--text-tertiary);width:20px;flex-shrink:0;padding-top:2px}.shot-text{flex:1;font-size:13px;background:transparent;border:none;outline:none;font-family:var(--font);color:var(--text-primary);resize:none;line-height:1.5}.crew-row{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-light)}.crew-row:last-child{border-bottom:none}.approval-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px}.approval-row:last-child{border-bottom:none}.approval-label{color:var(--text-secondary)}.approval-status{font-size:11px;padding:3px 10px;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font);border:none;font-weight:550}.apv-pending{background:var(--bg-secondary);color:var(--text-tertiary)}.apv-approved{background:var(--success-soft);color:var(--success)}.apv-changes{background:var(--warning-soft);color:var(--warning)}.status-select{font-size:12px;padding:5px 8px;border:1px solid var(--border-med);border-radius:var(--radius-md);font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);outline:none}.db-section-head{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:10px;-webkit-user-select:none;user-select:none}.db-section-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.db-section-count{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-pill);padding:1px 8px}.db-proj-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-primary);box-shadow:var(--shadow-sm)}.db-proj-row{border-bottom:1px solid var(--border-light)}.db-proj-row:last-child{border-bottom:none}.db-proj-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s;min-height:44px}.db-proj-header:hover{background:var(--bg-secondary)}.db-chevron{font-size:9px;color:var(--text-tertiary);transition:transform .18s;flex-shrink:0;line-height:1;display:inline-block}.db-chevron--open{transform:rotate(90deg)}.db-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.db-proj-name-label{font-size:13px;font-weight:550;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-proj-client-label{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.db-badge{font-size:10px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.db-due-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-secondary)}.db-due-pill--today{background:var(--warning-soft);color:var(--warning)}.db-due-pill--overdue{background:var(--danger-subtle);color:var(--danger)}.rq-tabs{margin-bottom:14px}.rq-count{margin-left:4px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);font-size:11px;font-weight:600}.rq-screen{display:flex;flex-direction:column;gap:16px;max-width:640px}.rq-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.rq-card p{margin:0 0 10px;font-size:14px;line-height:1.5}.rq-card p:last-child{margin-bottom:0}.rq-h{margin:0 0 4px;font-size:15px;font-weight:600}.rq-detail{white-space:pre-wrap;overflow-wrap:anywhere}.rq-detail a,.rt-summary a{color:var(--accent-text)}.rq-card .tl-form{margin-top:12px}.rt-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:520px;padding:32px 0;font-size:14px;color:var(--text-muted)}.rt-empty p{margin:0;line-height:1.5}.rt-error{color:var(--danger)}.rt-muted{color:var(--text-subtle)}.rt-late{color:var(--danger);font-weight:500}.rt-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}.rt-pill{padding:2px 8px;border-radius:var(--radius-pill);background:var(--cat-grey-soft);color:var(--cat-grey);font-size:11px;font-weight:500;white-space:nowrap}.rt-pill--late{background:var(--danger-soft);color:var(--danger)}.rt-pill--waiting{background:var(--cat-amber-soft);color:var(--cat-amber)}.rt-pill--review{background:var(--cat-purple-soft);color:var(--cat-purple)}.rt-link-btn{padding:4px 0;border:none;background:none;color:var(--accent-text);font:500 12px var(--font);cursor:pointer}.rt-danger{color:var(--danger)}.rt-cos{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.rt-co{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 16px;min-height:56px;padding:12px 16px;color:inherit;text-decoration:none}.rt-co+.rt-co{border-top:1px solid var(--border)}.rt-co:hover{background:var(--surface-2)}.rt-co-main{display:flex;flex-direction:column;gap:2px;min-width:0}.rt-co-name{font-size:14px;font-weight:600;color:var(--text)}.rt-co-meta{overflow:hidden;font-size:12px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.rt-co-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.rt-co-next{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);white-space:nowrap}.rt-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px}.rt-back{font-size:12px;text-decoration:none}.rt-head-main{flex:1;min-width:200px}.rt-head-actions{display:flex;flex-wrap:wrap;gap:8px}.rt-people{margin:0;padding:0;list-style:none}.rt-person{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border-light)}.rt-person:first-child{border-top:none}.rt-person-main{display:flex;flex:1;flex-direction:column;min-width:0;font-size:12px}.rt-person-name{overflow:hidden;font-size:13px;font-weight:500;color:var(--text);text-overflow:ellipsis}.rt-invite{margin-top:16px}.rt-pick{cursor:pointer}.rt-pick--off{cursor:default;opacity:.55}.rt-warn{color:var(--warning)}.rt-title{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.rt-summary{margin-top:4px;font-size:13px;color:var(--text-muted)}.rt-ws{margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.rt-ws--paused,.rt-ws--complete{background:var(--surface-2)}.rt-ws-head{display:flex;align-items:flex-start;gap:8px;padding:10px 10px 8px 16px}.rt-ws-head-main{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;min-height:32px}.rt-ws-title{margin:0;font-size:15px;font-weight:600;color:var(--text)}.rt-ws-status{position:relative;display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:none;border-radius:var(--radius-pill);font:500 11px var(--font);white-space:nowrap;background:var(--cat-grey-soft);color:var(--cat-grey)}button.rt-ws-status{cursor:pointer}.rt-ws-status--active{background:var(--cat-green-soft);color:var(--cat-green)}.rt-ws-status--paused{background:var(--cat-amber-soft);color:var(--cat-amber)}.rt-ws-project{font-size:12px;color:var(--accent-text);text-decoration:none}.rt-ws-project:hover{text-decoration:underline}.rt-ws-count{margin-left:auto;font-size:12px;color:var(--text-muted)}.rt-ws-brief{margin:0;padding:0 16px 10px;font-size:13px;line-height:1.5;color:var(--text-muted);white-space:pre-line}.rt-list{border-top:1px solid var(--border)}.rt-list-empty{padding:12px 16px;font-size:13px;color:var(--text-subtle)}.rt-add{display:block;width:100%;padding:10px 16px;border:none;border-top:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);background:none;color:var(--accent-text);font:500 13px var(--font);text-align:left;cursor:pointer}.rt-add:hover{background:var(--surface-2)}.rt-d{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"eye main status send";align-items:center;gap:4px 12px;padding:10px 14px 10px 8px}.rt-d+.rt-d{border-top:1px solid var(--border-light)}.rt-eye{grid-area:eye;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-subtle)}.rt-eye--on{color:var(--info-text)}.rt-d-main{grid-area:main;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.rt-d-title{max-width:100%;padding:0;border:none;background:none;color:var(--text);font:500 14px var(--font);text-align:left;cursor:pointer}.rt-d-title:hover{text-decoration:underline}.rt-d--done .rt-d-title{color:var(--text-muted)}.rt-d-meta,.rt-d-round,.rt-d-waiting{font-size:12px;color:var(--text-muted)}.rt-due--late{color:var(--danger);font-weight:500}.rt-d-round--ok{color:var(--success)}.rt-d-round--changes{color:var(--cat-pink)}.rt-d-round--comments{color:var(--cat-blue)}.rt-round-link{color:inherit;font-weight:500}.rt-d-waiting{color:var(--cat-amber)}.rt-status{grid-area:status;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:none;border-radius:var(--radius-pill);background:var(--cat-grey-soft);color:var(--cat-grey);font:500 12px var(--font);white-space:nowrap}button.rt-status{cursor:pointer}button.rt-status:hover,button.rt-ws-status:hover{box-shadow:inset 0 0 0 1px currentColor}.rt-status--in_progress{background:var(--cat-blue-soft);color:var(--cat-blue)}.rt-status--waiting_on_client{background:var(--cat-amber-soft);color:var(--cat-amber)}.rt-status--in_review{background:var(--cat-purple-soft);color:var(--cat-purple)}.rt-status--changes_requested{background:var(--cat-pink-soft);color:var(--cat-pink)}.rt-status--comments_in{background:var(--cat-blue-soft);color:var(--cat-blue)}.rt-status--approved{background:var(--cat-green-soft);color:var(--cat-green)}.rt-delivered{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.rt-delivered input{accent-color:var(--accent)}.rt-send{grid-area:send;display:inline-flex;align-items:center;gap:6px}.rt-menu{width:280px}.rt-menu-item{flex-wrap:wrap;row-gap:0;padding-top:6px;padding-bottom:6px}.rt-menu-item[aria-checked=true]{background:var(--accent-soft)}.rt-menu-label{flex:1}.rt-menu-hint{width:100%;padding-left:20px;font-size:11px;color:var(--text-muted)}.rt-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--cat-grey)}.rt-dot--in_progress{background:var(--cat-blue)}.rt-dot--waiting_on_client,.rt-dot--ws-paused{background:var(--cat-amber)}.rt-dot--in_review{background:var(--cat-purple)}.rt-dot--changes_requested{background:var(--cat-pink)}.rt-dot--comments_in{background:var(--cat-blue)}.rt-dot--approved,.rt-dot--ws-active{background:var(--cat-green)}.rt-pop{max-height:calc(100vh - 32px);overflow-y:auto}.rt-pop--wide{width:440px}.rt-send-what{margin:-6px 0 0;font-weight:500;color:var(--text)}.rt-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.rt-check input{width:16px;height:16px;accent-color:var(--accent)}.rt-field-label{font-size:12px;font-weight:500;color:var(--text-muted)}.rt-sheet-head{align-items:flex-start}.rt-sheet-label{margin:18px 0 8px}.rt-rounds{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.rt-round{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px}.rt-round--old{opacity:.7}.rt-round-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.rt-round-note{margin-top:4px;color:var(--text-muted);white-space:pre-line}.rt-round-answer{margin-top:4px;font-weight:500;color:var(--text-muted)}.rt-round--approved .rt-round-answer{color:var(--success)}.rt-round--changes_requested .rt-round-answer{color:var(--cat-pink)}.rt-round-comment{margin-top:2px;color:var(--text);white-space:pre-line}.rt-round--hidden{border-style:dashed;background:var(--bg-secondary)}.rt-hidden-chip{font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.rt-round-actions{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}.rt-round-panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.rt-log{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px}.rt-answer{margin-top:10px;padding:12px;border-radius:var(--radius-md);background:var(--surface-2)}.rt-read{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px}.rt-read dt{color:var(--text-muted)}.rt-read dd{margin:0;color:var(--text);white-space:pre-line}.due-list{gap:0}.due-group+.due-group{border-top:1px solid var(--border-light)}.due-group-label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:10px 14px 4px}.due-group-label--late{color:var(--danger)}.due-row{display:flex;align-items:center;gap:10px;padding:7px 14px;color:inherit;text-decoration:none;transition:background .12s}.due-row:hover{background:var(--bg-secondary)}.due-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.due-title{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-meta{font-size:11px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-owner{font-size:11px;color:var(--text-secondary);flex-shrink:0;max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-owner--none{color:var(--text-tertiary);font-style:italic}.due-empty{color:var(--text-tertiary);font-size:13px;padding:12px 0 4px}.db-status-pill{font-size:10px;font-weight:550;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid;white-space:nowrap;flex-shrink:0;letter-spacing:.2px}.db-pin-btn{background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;font-size:13px;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;line-height:1;transition:color .12s,border-color .12s,background .12s}.db-pin-btn:hover{color:var(--text-secondary);border-color:var(--border-med);background:var(--bg-secondary)}.db-pin-btn--on{color:var(--accent)!important;border-color:rgba(var(--accent-rgb),.4)!important;background:var(--accent-subtle)!important}.db-proj-nav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--border-light)}.db-nav-link{background:none;border:none;font-family:var(--font);font-size:11px;color:var(--text-secondary);cursor:pointer;padding:3px 7px;border-radius:var(--radius-sm);line-height:1.2;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;transition:background .12s,color .12s}.db-nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.db-nav-count{font-family:var(--font-mono);color:var(--text-tertiary);font-size:10px}.db-nav-count:empty{display:none}.db-nav-sep{color:var(--border-med);font-size:10px;-webkit-user-select:none;user-select:none}.db-proj-body{border-top:1px solid var(--border-light);background:var(--bg-secondary)}.db-thread{display:flex;flex-direction:column;gap:0;padding:4px 0}.db-no-comments{padding:16px 20px;font-size:12px;color:var(--text-tertiary);font-style:italic}.db-comment{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-light);transition:background .1s}.db-comment:last-child{border-bottom:none}.db-comment--resolved{opacity:.55}.db-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;color:var(--on-cat);letter-spacing:.3px}.db-avatar--sm{width:22px;height:22px;font-size:9px}.db-comment-body{flex:1;min-width:0}.db-comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.db-comment-author{font-size:12px;font-weight:600;color:var(--text-primary)}.db-comment-time{font-size:11px;color:var(--text-tertiary)}.db-resolve-label{display:inline-flex;align-items:center;gap:3px;cursor:pointer;margin-left:auto;flex-shrink:0}.db-resolve-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.db-resolve-icon{width:20px;height:20px;border:1.5px solid var(--border-med);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.db-resolve-icon--done{background:var(--success);border-color:var(--success);color:var(--on-cat)}.db-resolve-label:hover .db-resolve-icon:not(.db-resolve-icon--done){border-color:var(--accent);color:var(--text-tertiary)}.db-comment-text{font-size:13px;color:var(--text-primary);line-height:1.55;word-break:break-word}.db-comment-text--resolved{color:var(--text-tertiary)}.db-action-link{background:none;border:none;color:var(--text-tertiary);font-size:11px;cursor:pointer;padding:3px 0;font-family:var(--font);transition:color .1s;margin-top:4px;display:inline-block}.db-action-link:hover{color:var(--accent)}.db-replies{display:flex;flex-direction:column;gap:0;margin-top:8px;padding-left:2px;border-left:2px solid var(--border-light)}.db-reply{display:flex;gap:8px;padding:7px 0 7px 10px;border-bottom:1px solid var(--border-light)}.db-reply:last-child{border-bottom:none}.db-reply-form{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.db-reply-input{width:100%;font-size:12px;padding:6px 9px;border:1px solid var(--border-med);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font);outline:none;resize:none;transition:border .12s}.db-reply-input:focus{border-color:var(--accent)}.db-add-comment{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--border-light);background:var(--bg-primary)}.db-comment-input{flex:1;font-size:12px;padding:7px 10px;border:1px solid var(--border-med);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font);outline:none;resize:none;transition:border .12s,background .12s}.db-comment-input:focus{border-color:var(--accent);background:var(--bg-primary)}.db-enq-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-primary)}.db-enq-item{border-bottom:1px solid var(--border-light)}.db-enq-item:last-child{border-bottom:none}.db-enq-row{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .1s;flex-wrap:wrap}.db-enq-row:hover{background:var(--bg-secondary)}.db-enq-brief{font-size:11px;color:var(--text-tertiary);flex:1;min-width:100%;margin-top:2px}.cd-widget{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:28px 24px 24px;margin-bottom:24px;text-align:center;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.cd-name{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:16px}.cd-units{display:flex;align-items:center;justify-content:center;gap:4px}.cd-unit{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:76px}.cd-num{font-size:54px;font-weight:700;letter-spacing:-2px;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.cd-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-tertiary);font-weight:600}.cd-sep{font-size:42px;font-weight:300;color:var(--border-strong);line-height:1;padding-bottom:14px;-webkit-user-select:none;user-select:none}.cd-widget--celebrate{border-color:transparent!important;color:var(--celebrate-text)}.cd-widget--celebrate .cd-name{color:var(--celebrate-text-muted)}.cd-celebrate-body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.cd-done-msg{font-size:34px;font-weight:700;color:var(--celebrate-text);animation:cd-pulse 1.4s ease-in-out infinite alternate;text-shadow:0 0 24px var(--celebrate-glow);letter-spacing:-.5px}.cd-done-sub{font-size:13px;color:var(--celebrate-text-muted);letter-spacing:.3px}.cd-confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:9999}.cd-confetti-piece{position:absolute;top:-14px;border-radius:2px;animation:cd-fall linear forwards}@keyframes cd-bg-shift{0%{background:linear-gradient(135deg,var(--celebrate-plum) 0%,var(--celebrate-navy) 50%,var(--celebrate-forest) 100%)}25%{background:linear-gradient(135deg,var(--celebrate-olive) 0%,var(--celebrate-rust) 50%,var(--celebrate-navy) 100%)}50%{background:linear-gradient(135deg,var(--celebrate-navy) 0%,var(--celebrate-plum) 50%,var(--celebrate-olive) 100%)}75%{background:linear-gradient(135deg,var(--celebrate-rust) 0%,var(--celebrate-forest) 50%,var(--celebrate-plum) 100%)}to{background:linear-gradient(135deg,var(--celebrate-navy) 0%,var(--celebrate-olive) 50%,var(--celebrate-wine) 100%)}}@keyframes cd-pulse{0%{transform:scale(1);opacity:.9}to{transform:scale(1.07);opacity:1}}@keyframes cd-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}#ds-widget-wrap{display:flex;justify-content:center;padding:10px 16px}.ds-widget{display:inline-flex;align-items:baseline;gap:6px;padding:7px 18px;background:var(--danger);color:var(--on-cat);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.ds-days{font-size:18px;font-weight:700;line-height:1;color:var(--on-cat);font-variant-numeric:tabular-nums}.ds-label{font-size:13px;font-weight:500;color:var(--on-cat)}#yt-widget-wrap{display:flex;justify-content:center;padding:0 16px 10px}.yt-widget{display:inline-flex;align-items:baseline;gap:7px;padding:7px 18px;background:var(--brand-youtube);color:var(--on-brand);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.yt-views{font-size:18px;font-weight:700;line-height:1;color:var(--on-brand);font-variant-numeric:tabular-nums}.yt-label{font-size:13px;font-weight:500;color:var(--on-brand)}.yt-widget--error{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-med);font-size:12px;box-shadow:none}.ds-name{font-weight:700;color:var(--on-cat)}.bd-list-row{display:flex;align-items:center;gap:12px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;transition:box-shadow .15s,border-color .15s;box-shadow:var(--shadow-sm)}.bd-list-row:hover{box-shadow:var(--shadow-md);border-color:var(--border-med)}.bd-board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:24px}.bd-col{display:flex;flex-direction:column;gap:8px;width:268px;min-width:268px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:10px}.bd-col-head{display:flex;align-items:center;gap:7px;padding:0 2px 2px;cursor:grab}.bd-col-head--over{box-shadow:-3px 0 0 0 var(--accent)}.bd-col-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bd-col-name{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd-col-count{font-size:11px;color:var(--text-tertiary)}.bd-col-edit{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:13px;line-height:1;padding:1px 4px;border-radius:var(--radius-sm)}.bd-col-edit:hover{background:var(--bg-tertiary);color:var(--text-primary)}.bd-col-cards{display:flex;flex-direction:column;gap:8px;min-height:16px;border-radius:var(--radius-sm)}.bd-col-cards--over{outline:2px dashed var(--accent);outline-offset:3px}.bd-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:9px 11px;cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.bd-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-med)}.bd-card--dragging{opacity:.4}.bd-card--over{box-shadow:0 -3px 0 0 var(--accent)}.bd-card-labels{display:flex;margin-bottom:6px}.bd-label-pill{display:inline-block;width:32px;height:6px;border-radius:var(--radius-pill)}.bd-card-title{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.4}.bd-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:500;border-radius:var(--radius-pill);padding:2px 8px;cursor:pointer;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bd-chip:hover{filter:brightness(1.15)}.bd-card-meta{display:flex;align-items:center;gap:6px;margin-top:7px}.bd-avatar{width:20px;height:20px;border-radius:50%;background:var(--cat-blue);color:var(--on-cat);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.bd-add-card{width:100%;padding:7px;border:1px dashed var(--border-med);border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;font-family:var(--font);transition:background .1s,color .1s}.bd-add-card:hover{background:var(--bg-primary);color:var(--text-secondary)}.bd-composer{display:flex;flex-direction:column;gap:6px}.bd-composer-input{width:100%;box-sizing:border-box;resize:none;font-size:13px;font-family:var(--font);line-height:1.4;padding:9px 11px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);outline:none}.bd-composer-input:focus{border-color:var(--accent)}.bd-composer-close{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:16px;line-height:1;padding:3px 7px;border-radius:var(--radius-sm)}.bd-composer-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.bd-add-col{min-width:150px;align-self:stretch;border:1px dashed var(--border-med);border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;font-family:var(--font);padding:12px}.bd-add-col:hover{background:var(--bg-secondary);color:var(--text-secondary)}@media (max-width: 700px){.bd-col{width:230px;min-width:230px}}.pt-bar{display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--border-light);margin-bottom:12px}.pt-tabs{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none;position:relative}.pt-tabs::-webkit-scrollbar{display:none}.pt-tab{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;max-width:220px;padding:8px 12px;margin-bottom:-1px;background:none;border:none;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-x;transition:color .1s,background .1s,transform .15s ease}.pt-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.pt-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pt-tab--active,.pt-tab--active:hover{color:var(--accent);border-bottom-color:var(--accent);font-weight:550;background:none}.pt-tab-icon{font-size:13px;line-height:1;flex-shrink:0}.pt-tab-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-tabs--dragging .pt-tab{cursor:grabbing}.pt-tab--dragging{position:relative;z-index:2;transition:none;background:var(--bg-primary);box-shadow:var(--shadow-md);color:var(--text-primary)}.pt-tab-input{font-family:var(--font);font-size:13px;font-weight:550;padding:1px 4px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none;min-width:0}.pt-tab-peers{display:inline-flex;margin-left:2px}.pt-tab-peers i{width:18px;height:18px;margin-left:-4px;border-radius:50%;border:1.5px solid var(--bg-primary);background:var(--peer, var(--text-tertiary));color:var(--on-data);font-style:normal;font-size:8px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.pt-tab-peers i:first-child{margin-left:0}.pt-tab-peers-more{background:var(--bg-tertiary)!important;color:var(--text-secondary)!important}.pt-add{flex-shrink:0;width:28px;height:28px;margin:0 0 4px 2px;border:1px dashed var(--border-med);border-radius:var(--radius-sm);background:none;color:var(--text-tertiary);font-size:16px;line-height:1;cursor:pointer}.pt-add:hover{color:var(--accent);border-color:var(--accent)}.pt-menu{position:fixed;z-index:9000;min-width:200px;padding:4px;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.pt-menu button{display:flex;align-items:center;gap:8px;padding:7px 10px;background:none;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;text-align:left;color:var(--text-primary);cursor:pointer}.pt-menu button:hover,.pt-menu button:focus-visible{background:var(--bg-secondary);outline:none}.pt-menu-sep{height:1px;background:var(--border-light);margin:4px 2px}.pt-link{background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:20px}.pt-link-list{margin-top:10px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.pt-link-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;text-align:left;color:var(--text-primary);cursor:pointer}.pt-link-row:hover{background:var(--bg-secondary)}.pt-link-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-link-kind{font-size:11px;color:var(--text-tertiary);flex-shrink:0}.pt-link-empty{font-size:12px;color:var(--text-tertiary);padding:16px 4px;text-align:center;line-height:1.5}.cv-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;min-height:32px}.cv-header--embedded{margin-bottom:8px}.cv-crumbs{display:flex;align-items:center;gap:2px;min-width:0;flex-wrap:wrap}.cv-crumb{background:none;border:none;cursor:pointer;font-family:var(--font);font-size:13px;color:var(--text-tertiary);padding:4px 6px;border-radius:var(--radius-sm);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-crumb:hover{color:var(--text-primary);background:var(--bg-secondary)}.cv-crumb-sep{color:var(--text-tertiary);font-size:12px}.cv-title-input{flex:1;min-width:140px;font-size:15px;font-weight:600;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 6px;outline:none;color:var(--text-primary);font-family:var(--font)}.cv-title-input:hover:not(:disabled){border-color:var(--border-light)}.cv-title-input:focus{border-color:var(--accent);background:var(--bg-primary)}.cv-wrap{--cv-line: var(--text-tertiary);--cv-dot: var(--border-med);--cv-inv-zoom: 1;position:relative;overflow:hidden;border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-secondary);background-image:radial-gradient(var(--cv-dot) 1px,transparent 1.2px);background-size:24px 24px;cursor:default;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;overscroll-behavior:contain;contain:strict}.cv-wrap--full{position:fixed;top:0;right:0;bottom:0;left:0;height:auto!important;z-index:900;border:none;border-radius:0}body.cv-body-lock{overflow:hidden}.cv-wrap--hand,.cv-wrap--space{cursor:grab}.cv-wrap--hand .cv-item,.cv-wrap--space .cv-item{cursor:grab!important}.cv-wrap--connect,.cv-wrap--connect .cv-item{cursor:crosshair}.cv-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;display:none}.cv-shield--on{display:block}.cv-world{position:absolute;top:0;left:0;width:0;height:0;transform-origin:0 0}.cv-wrap--enter .cv-world{animation:cv-enter .2s ease-out}@keyframes cv-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.cv-wrap--enter .cv-world{animation:none}.cv-item--absorbed{transition:none}}.cv-wrap--moving .cv-world,.cv-wrap--dragging .cv-world{will-change:transform}.cv-links,.cv-overlay{position:absolute;top:0;left:0;width:1px;height:1px;overflow:visible;pointer-events:none}.cv-links{z-index:0}.cv-items{position:absolute;top:0;left:0;z-index:1}.cv-labels{position:absolute;top:0;left:0;z-index:2;pointer-events:none}.cv-overlay{z-index:3}.cv-link{pointer-events:none}.cv-link-hit{fill:none;stroke:transparent;stroke-width:calc(16px * var(--cv-inv-zoom));pointer-events:stroke;cursor:pointer}.cv-wrap--readonly .cv-link-hit{pointer-events:none}.cv-link-line{fill:none;stroke:var(--cv-line);stroke-width:2;stroke-linecap:round;transition:stroke .12s}.cv-head{fill:var(--cv-line)}.cv-head--sel{fill:var(--accent)}.cv-link:hover .cv-link-line{stroke:var(--text-secondary)}.cv-link--selected .cv-link-line,.cv-link--selected:hover .cv-link-line{stroke:var(--accent);stroke-width:2.5}.cv-link-draft{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5;stroke-linecap:round}.cv-link-label{position:absolute;top:0;left:0;max-width:200px;padding:2px 8px;font-size:12px;line-height:1.4;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-pill);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;cursor:pointer}.cv-link-label--selected{border-color:var(--accent);color:var(--accent)}.cv-guide-layer line{stroke:var(--cat-pink);stroke-width:calc(1px * var(--cv-inv-zoom));stroke-dasharray:calc(4px * var(--cv-inv-zoom)) calc(3px * var(--cv-inv-zoom))}.cv-item{position:absolute;top:0;left:0;box-sizing:border-box;border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;contain:layout style;transition:box-shadow .15s,opacity .15s}.cv-wrap:not(.cv-wrap--readonly) .cv-item{cursor:grab}.cv-wrap--dragging .cv-item--selected{box-shadow:var(--shadow-lg)}.cv-wrap--dropping .cv-item--selected{opacity:.55}.cv-item--selected,.cv-item--link-target,.cv-item--drop-target,.cv-item--file-over{outline:2px solid var(--accent);outline-offset:3px}.cv-item--link-target,.cv-item--file-over{outline-style:dashed}.cv-item--drop-target{outline-width:3px;outline-offset:5px}.cv-item--drop-target .cv-board-tile{filter:brightness(1.15)}.cv-item--absorbed{transition:transform .16s ease-in,opacity .16s ease-in;opacity:0}.cv-port{position:absolute;width:calc(12px * var(--cv-inv-zoom));height:calc(12px * var(--cv-inv-zoom));min-width:8px;min-height:8px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--accent);box-sizing:border-box;cursor:crosshair;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .12s,transform .12s;z-index:3}.cv-port[data-port=top]{left:50%;top:0}.cv-port[data-port=right]{left:100%;top:50%}.cv-port[data-port=bottom]{left:50%;top:100%}.cv-port[data-port=left]{left:0;top:50%}.cv-port:hover{background:var(--accent);transform:translate(-50%,-50%) scale(1.25)!important}.cv-item:hover .cv-port,.cv-wrap--connect .cv-port,.cv-item--link-target .cv-port{opacity:1;transform:translate(-50%,-50%) scale(1)}.cv-item--link-source .cv-port{opacity:0!important}.cv-resize{position:absolute;right:-5px;bottom:-5px;width:calc(14px * var(--cv-inv-zoom));height:calc(14px * var(--cv-inv-zoom));min-width:10px;min-height:10px;cursor:nwse-resize;background:var(--bg-primary);border:2px solid var(--accent);border-radius:3px;box-sizing:border-box;opacity:0;transition:opacity .1s;z-index:4}.cv-item--selected .cv-resize{opacity:1}.cv-wrap--dragging .cv-resize{opacity:0}.cv-note{flex:1;min-height:0;display:flex;border-radius:inherit;border:1px solid var(--pastel-border)}.cv-note-text{flex:1;width:100%;background:transparent;border:none;outline:none;resize:none;padding:12px 14px;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--on-pastel);pointer-events:none;overflow:hidden;box-sizing:border-box;-webkit-user-select:none;user-select:none}.cv-note-text::placeholder{color:var(--on-pastel-subtle)}.cv-note-text--editing{pointer-events:auto;cursor:text;overflow:auto;-webkit-user-select:text;user-select:text}.cv-item--note:has(.cv-note-text--editing){cursor:text}.cv-item--image{background:var(--bg-primary)}.cv-item--image:has(.cv-img){background:transparent}.cv-img{flex:1;width:100%;min-height:0;object-fit:cover;border-radius:inherit;pointer-events:none;display:block;background:var(--bg-tertiary)}.cv-drop{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:6px;border:2px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-tertiary);text-align:center;padding:8px}.cv-item--file-over .cv-drop{border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}.cv-drop-icon{font-size:24px;line-height:1}.cv-drop-title{font-size:12px;font-weight:500}.cv-drop-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.cv-mini-btn{font-family:var(--font);font-size:11px;padding:4px 9px;border:1px solid var(--border-med);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.cv-mini-btn:hover{border-color:var(--accent);color:var(--text-primary)}.cv-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-med);border-top-color:var(--accent);border-radius:50%;animation:cv-spin .8s linear infinite}@keyframes cv-spin{to{transform:rotate(360deg)}}.cv-item--link,.cv-item--todo,.cv-item--swatch,.cv-item--board{background:var(--bg-primary);border:1px solid var(--border-light)}.cv-link-body{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:inherit;overflow:hidden}.cv-link-thumb{flex:1;min-height:0;overflow:hidden;background:var(--bg-secondary)}.cv-link-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}.cv-link-thumb--none{display:flex;align-items:center;justify-content:center;background:var(--accent-subtle)}.cv-link-glyph{font-size:26px;font-weight:700;color:var(--accent);opacity:.8}.cv-link-meta{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.cv-link-title{font-size:13px;font-weight:550;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cv-link-url{font-size:11px;color:var(--text-tertiary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-link-url:hover{color:var(--accent);text-decoration:underline}.cv-todo{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:10px;overflow:auto}.cv-todo-head{display:flex;align-items:center;gap:6px}.cv-todo-title{flex:1;min-width:0;font-size:13px;font-weight:600;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:var(--font);outline:none}.cv-todo-title:focus{border-color:var(--accent)}.cv-todo-count{font-size:11px;color:var(--text-tertiary);flex-shrink:0;font-variant-numeric:tabular-nums}.cv-todo-bar{height:3px;border-radius:2px;background:var(--bg-tertiary);overflow:hidden;flex-shrink:0}.cv-todo-bar span{display:block;height:100%;background:var(--success);transition:width .2s}.cv-todo-rows{display:flex;flex-direction:column;gap:5px}.cv-todo-row{display:flex;align-items:center;gap:5px}.cv-todo-row--done .cv-todo-text{text-decoration:line-through;opacity:.55}.cv-todo-done{flex-shrink:0;cursor:pointer;accent-color:var(--accent)}.cv-todo-text{flex:1;min-width:0;font-size:13px;padding:3px 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:var(--font);outline:none}.cv-todo-row:hover .cv-todo-text:not(:disabled){background:var(--bg-secondary)}.cv-todo-text:focus{border-color:var(--accent);background:var(--bg-primary)!important}.cv-todo-del{display:none}.cv-todo-row:hover .cv-todo-del,.cv-todo-row:focus-within .cv-todo-del{display:inline-block}.cv-todo-del{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:14px;line-height:1;padding:1px 3px}.cv-todo-del:hover{color:var(--text-primary)}.cv-todo-add{align-self:flex-start;background:none;border:1px dashed var(--border-med);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:11px;padding:4px 9px;cursor:pointer;font-family:var(--font)}.cv-todo-add:hover{color:var(--text-primary);border-color:var(--accent)}.cv-swatch-chip{flex:1;min-height:0;display:flex;align-items:flex-end;padding:8px 10px;border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0}.cv-swatch-hex{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;opacity:.85}.cv-swatch-meta{padding:8px 10px}.cv-swatch-name{font-size:13px;font-weight:550;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-swatch-rgb{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.cv-board{flex:1;min-height:0;display:flex;flex-direction:column}.cv-board-tile{flex:1;min-height:0;margin:6px 6px 0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:filter .15s}.cv-board-preview{width:100%;height:100%;display:block;padding:8px;box-sizing:border-box}.cv-board-glyph{font-size:34px;color:var(--on-data);line-height:1}.cv-board-meta{padding:7px 10px 9px;min-width:0}.cv-board-name{font-size:13.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-board-sub{font-size:11px;color:var(--text-tertiary);margin-top:1px;white-space:nowrap}.cv-board-open{color:var(--accent);cursor:pointer;font-weight:550}.cv-board-open:hover{text-decoration:underline}.cv-inline-edit{width:100%;box-sizing:border-box;font-size:13.5px;font-weight:600;font-family:var(--font);padding:1px 4px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none;-webkit-user-select:text;user-select:text}.cv-item-chips{display:flex;gap:4px;flex-wrap:wrap;padding:5px 8px 7px;background:var(--bg-primary);border-radius:0 0 var(--radius-md) var(--radius-md)}.cv-item--uploading{opacity:.85}.cv-marquee{position:absolute;top:0;left:0;border:1px solid var(--accent);background:rgba(var(--accent-rgb),.1);border-radius:2px;pointer-events:none;z-index:20}.cv-palette{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:2px;padding:5px;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:30}.cv-pal-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:54px;padding:6px 2px 5px;background:none;border:none;border-radius:var(--radius-md);cursor:grab;color:var(--text-secondary);font-family:var(--font);touch-action:none}.cv-pal-btn[data-mode]{cursor:pointer}.cv-pal-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.cv-pal-btn--on,.cv-pal-btn--on:hover{background:var(--accent-subtle);color:var(--accent)}.cv-pal-icon{font-size:17px;line-height:1.1}.cv-pal-label{font-size:10px;font-weight:500}.cv-pal-sep{height:1px;background:var(--border-light);margin:3px 4px}.cv-ghost{position:fixed;top:0;left:0;z-index:10000;pointer-events:none;border:2px dashed var(--accent);border-radius:var(--radius-md);background:rgba(var(--accent-rgb),.1);color:var(--accent);font-size:12px;font-weight:600;font-family:var(--font);display:flex;align-items:center;justify-content:center}.cv-selbar{position:absolute;top:0;left:0;display:flex;align-items:center;gap:2px;padding:4px;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:40;white-space:nowrap}.cv-selbar[hidden],.cv-wrap--dragging .cv-selbar,.cv-wrap--resizing .cv-selbar,.cv-wrap--linking .cv-selbar,.cv-wrap--panning .cv-selbar{display:none}.cv-selbar button{font-family:var(--font);font-size:12px;padding:5px 8px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;line-height:1.1}.cv-selbar button:hover{background:var(--bg-secondary);color:var(--text-primary)}.cv-selbar .cv-sb-danger:hover{background:var(--danger-subtle);color:var(--danger)}.cv-selbar .cv-sb-dot,.cv-pop-presets .cv-sb-dot{width:16px;height:16px;padding:0;margin:0 2px;border-radius:50%;border:1px solid var(--border-strong);cursor:pointer}.cv-selbar .cv-sb-dot:hover{transform:scale(1.15);background-clip:padding-box}.cv-sb-sep{width:1px;height:18px;background:var(--border-light);margin:0 3px;display:inline-block}.cv-sb-count{font-size:11px;color:var(--text-tertiary);padding:0 6px}.cv-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%,6px);padding:6px 12px;font-size:12px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:35;max-width:calc(100% - 200px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-hint--on{opacity:1;transform:translate(-50%)}.cv-zoom{position:absolute;bottom:12px;right:12px;display:flex;gap:1px;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);z-index:30}.cv-zoom button{background:var(--bg-primary);border:none;cursor:pointer;color:var(--text-secondary);font-size:13px;font-family:var(--font);padding:6px 10px;line-height:1}.cv-zoom button:hover{background:var(--bg-secondary);color:var(--text-primary)}.cv-zoom-pct{font-size:11px;font-variant-numeric:tabular-nums;display:inline-block;min-width:34px}.cv-popover,.cv-help{position:absolute;top:0;left:0;z-index:50;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:12px;-webkit-user-select:text;user-select:text}.cv-popover{width:236px;display:flex;flex-direction:column;gap:10px}.cv-pop-title{font-size:12px;font-weight:600;color:var(--text-primary)}.cv-pop-row{display:flex;gap:8px;align-items:center}.cv-pop-picker{width:44px;height:32px;padding:0;border:1px solid var(--border-med);border-radius:var(--radius-sm);background:none;cursor:pointer}.cv-pop-presets{display:flex;flex-wrap:wrap;gap:6px}.cv-pop-actions{display:flex;justify-content:flex-end}.cv-help{right:12px;bottom:52px;top:auto;left:auto;width:320px;display:flex;flex-direction:column;gap:6px;cursor:pointer}.cv-help-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-secondary)}.cv-help-row kbd{font-family:var(--font);font-size:11px;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;padding:1px 6px;text-align:right}.cv-item--peer{outline:2px solid var(--peer);outline-offset:3px}.cv-item--peer:before{content:attr(data-peer);position:absolute;left:-3px;bottom:calc(100% + 5px);transform-origin:0 100%;transform:scale(var(--cv-inv-zoom));padding:2px 7px;border-radius:var(--radius-pill);background:var(--peer);color:var(--on-data);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;pointer-events:none;z-index:6}.cv-item--selected.cv-item--peer{outline-color:var(--accent)}.cv-item--conflict{outline:2px dashed var(--warning);outline-offset:3px}.cv-item--remote-move{transition:transform .09s linear,width .09s linear,height .09s linear}.cv-peers{position:absolute;top:12px;right:12px;display:flex;align-items:center;padding-left:6px;z-index:30}.cv-peers[hidden]{display:none}.cv-peer{width:30px;height:30px;margin-left:-6px;border-radius:50%;border:2px solid var(--bg-primary);background:var(--peer, var(--text-tertiary));color:var(--on-data);font-family:var(--font);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .12s}.cv-peer:hover{transform:translateY(-2px);z-index:1}.cv-peer--more{background:var(--bg-tertiary);color:var(--text-secondary);cursor:default}.cv-cursor{position:absolute;top:0;left:0;z-index:44;pointer-events:none;transition:transform .09s linear,opacity .3s;will-change:transform}.cv-cursor svg{display:block;filter:drop-shadow(var(--shadow-cursor))}.cv-cursor span{position:absolute;left:13px;top:15px;padding:2px 7px;border-radius:var(--radius-pill);background:var(--peer);color:var(--on-data);font-family:var(--font);font-size:11px;font-weight:600;white-space:nowrap}.cv-cursor--idle{opacity:.35}.cv-conflict{position:absolute;top:0;left:0;z-index:42;display:flex;align-items:center;gap:6px;max-width:360px;padding:6px 6px 6px 10px;background:var(--bg-primary);border:1px solid var(--warning);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:12px;color:var(--text-primary)}.cv-conflict-msg{line-height:1.35}.cv-conflict button{flex-shrink:0;font-family:var(--font);font-size:12px;font-weight:550;padding:5px 9px;border-radius:var(--radius-sm);border:1px solid var(--border-med);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.cv-conflict button[data-choice=mine]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cv-conflict button:hover{filter:brightness(1.06)}@media (max-width: 640px){.cv-palette{flex-direction:row;top:auto;bottom:12px;left:12px;right:auto;max-width:calc(100% - 24px);overflow-x:auto}.cv-pal-btn{width:46px}.cv-pal-label{display:none}.cv-pal-sep{width:1px;height:auto;margin:4px 3px}.cv-zoom{bottom:auto;top:12px}.cv-hint{max-width:calc(100% - 24px);bottom:76px}}.tc-mobile-switcher{display:none;margin-bottom:8px}.tc-mobile-switcher select{width:100%}.tc-resize-handle,.pps-resize-handle{opacity:0;transition:opacity .1s;z-index:3}.tc-chip:hover .tc-resize-handle,.pps-block-cell:hover .pps-resize-handle{opacity:1}.tc-resize-handle:after,.pps-resize-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:3px;border-radius:2px;background:currentColor;opacity:.6}body.is-resizing,body.is-resizing *{cursor:ns-resize!important;-webkit-user-select:none!important;user-select:none!important}body.is-resizing .tc-chip-overlay{pointer-events:none!important}.leave-lbl{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:5px}.leave-input{width:100%;padding:7px 10px;font-size:13px;border:1px solid var(--border-med);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font);outline:none;transition:border .12s,box-shadow .12s}.leave-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}#pdf-topsheet{display:none}@media print{body>*{display:none!important}#pdf-topsheet{display:block!important}@page{margin:0;size:A4}}.pdf-cover{background:#1a1a18;color:#fff;width:210mm;min-height:297mm;display:flex;flex-direction:column;padding:52px 56px 44px;page-break-after:always}.pdf-logo{margin-bottom:auto}.pdf-logo img{height:48px;width:auto;filter:brightness(0) invert(1)}.pdf-quote-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#fff6;margin-bottom:14px}.pdf-budget-title{font-size:38px;font-weight:500;letter-spacing:-1px;line-height:1.1;margin-bottom:10px}.pdf-client-name{font-size:16px;color:#ffffff8c;margin-bottom:52px}.pdf-cover-divider{border:none;border-top:.5px solid rgba(255,255,255,.15);margin-bottom:32px}.pdf-cover-summary{width:100%;border-collapse:collapse;margin-bottom:36px}.pdf-cover-summary tr{border-bottom:.5px solid rgba(255,255,255,.1);page-break-inside:avoid;break-inside:avoid}.pdf-cover-summary tr:last-child{border-bottom:none}.pdf-cover-summary td{padding:9px 0;font-size:14px}.sec-code{font-size:10px;color:#ffffff59;letter-spacing:.5px;width:36px;font-weight:600;vertical-align:middle}.sec-name{color:#fffc;vertical-align:middle}.sec-total{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;vertical-align:middle}.pdf-cover-totals{border-top:.5px solid rgba(255,255,255,.25);padding-top:20px;page-break-inside:avoid;break-inside:avoid}.pdf-cover-total-row{display:flex;justify-content:space-between;padding:5px 0;font-size:14px}.pdf-cover-total-row .tk{color:#ffffff80}.pdf-cover-total-row .tv{font-variant-numeric:tabular-nums}.pdf-cover-total-row.grand{font-size:22px;font-weight:500;padding:14px 0 0}.pdf-cover-disc-note{font-size:12px;font-style:italic;line-height:1.5;color:#ffffff80;padding:0 0 6px;white-space:pre-line}.pdf-cover-total-row.big{font-size:22px;font-weight:500;padding:8px 0}.pdf-cover-total-row.big .tk{color:#ffffffd9}.pdf-cover-footer{margin-top:32px;display:flex;justify-content:space-between;align-items:flex-end;page-break-inside:avoid;break-inside:avoid}.pdf-cover-meta{font-size:11px;color:#ffffff4d;line-height:1.8}.pdf-valid{font-size:11px;color:#ffffff59;text-align:right;line-height:1.8}.pdf-detail-page{width:210mm;min-height:297mm;padding:44px 56px;page-break-before:always}.pdf-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;padding-bottom:20px;border-bottom:.5px solid #e0dfda;page-break-inside:avoid;break-inside:avoid}.pdf-detail-header-left{display:flex;flex-direction:column;gap:4px}.pdf-detail-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#a8a8a0}.pdf-detail-title{font-size:18px;font-weight:500;letter-spacing:-.3px}.pdf-detail-header img{height:32px;width:auto}.pdf-section{margin-bottom:28px;page-break-inside:avoid;break-inside:avoid}.pdf-section-header{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid #1a1a18}.pdf-section-code{font-size:10px;font-weight:700;color:#a8a8a0;letter-spacing:.5px}.pdf-section-name{font-size:13px;font-weight:500;flex:1}.pdf-section-total{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.pdf-col-heads{display:grid;grid-template-columns:1fr 44px 36px 44px 72px;gap:6px;padding:4px 0 5px}.pdf-col-head{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#a8a8a0;text-align:right}.pdf-col-head:first-child{text-align:left}.pdf-line{display:grid;grid-template-columns:1fr 44px 36px 44px 72px;gap:6px;padding:6px 0;border-bottom:.5px solid #f0efe9;align-items:baseline;page-break-inside:avoid;break-inside:avoid}.pdf-line:last-child{border-bottom:none}.pdf-line-item{font-size:12px}.pdf-line-sub{font-size:10px;color:#a8a8a0;margin-top:2px}.pdf-line-num{font-size:12px;color:#6b6b66;text-align:right;font-variant-numeric:tabular-nums}.pdf-line-total{font-size:12px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.pdf-detail-totals{margin-top:36px;border-top:1px solid #1a1a18;padding-top:16px;page-break-inside:avoid;break-inside:avoid}.pdf-detail-total-row{display:flex;justify-content:space-between;padding:5px 0;font-size:12px;border-bottom:.5px solid #f0efe9}.pdf-detail-total-row:last-child{border-bottom:none}.pdf-detail-total-row.grand{font-size:16px;font-weight:500;padding-top:12px}.pdf-detail-total-row .dk{color:#6b6b66}.pdf-detail-footer{margin-top:40px;display:flex;justify-content:space-between;font-size:9px;color:#c0c0b8;border-top:.5px solid #e0dfda;padding-top:10px;page-break-inside:avoid;break-inside:avoid}.pdf-page-marker{page-break-inside:avoid;break-inside:avoid}.pdf-cont-header{page-break-before:always;break-before:page;page-break-inside:avoid;break-inside:avoid}.pdf-continued{font-size:9px;font-style:italic;letter-spacing:.3px;color:#a0a09a;text-align:center;padding:6px 0 2px;border-top:.5px dashed #d8d8d2}.pdf-pagenum{font-size:9px;color:#b5b5ae;text-align:center;padding-top:2px}@media (max-width: 900px){.stats-row{grid-template-columns:repeat(2,1fr)!important}.kanban-wrap{grid-template-columns:repeat(3,minmax(200px,1fr))!important}}@media (max-width: 768px){.detail-panel{display:none!important}.page{padding:16px!important}.stats-row{grid-template-columns:repeat(2,1fr)!important}.due-row{min-height:44px}.rt-co{grid-template-columns:minmax(0,1fr) auto}.rt-co-pills{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.rt-d{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"eye main status" "eye main send";padding:8px 12px 8px 4px}.rt-send{justify-self:end}.rt-eye{width:44px;height:44px}.rt-status,.rt-send,.rt-more,.rt-add,.rt-link-btn{min-height:44px}.rt-more{min-width:44px}button.rt-ws-status:after{content:"";position:absolute;top:-10px;right:-4px;bottom:-10px;left:-4px}.rt-d-title{min-height:32px;font-size:15px}.field-row{grid-template-columns:1fr!important}.budget-layout{flex-direction:column!important}.budget-sidebar-panel{width:100%!important}.proj-layout{flex-direction:column!important;align-items:stretch!important}.proj-main{min-width:0!important}.proj-sidebar{width:100%!important}.proj-sidebar.collapsed{opacity:1!important;pointer-events:auto!important;overflow:visible!important}.proj-sidebar-toggle{display:none!important}.search-wrap input{width:130px!important}.col-header{grid-template-columns:1fr 80px!important}.col-header>*:nth-child(2),.col-header>*:nth-child(3),.col-header>*:nth-child(4){display:none!important}.contact-row{grid-template-columns:1fr 80px!important}.contact-row>*:nth-child(2),.contact-row>*:nth-child(3),.contact-row>*:nth-child(4){display:none!important}.tc-mobile-switcher{display:block}}@media (max-width: 480px){.stats-row{grid-template-columns:1fr!important}.page{padding:12px!important}.panel-header{padding:10px 14px!important;gap:4px}.filter-pill{font-size:12px;padding:4px 8px}}.app-tabbar,.board-status{display:none}.seg-count{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-subtle)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--scrim);animation:backdrop-in .15s ease-out}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:10001;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-popover);padding:10px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));animation:sheet-up .22s cubic-bezier(.16,1,.3,1)}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet-grab{width:40px;height:5px;margin:0 auto 8px;border-radius:var(--radius-pill);background:var(--border-strong)}.sheet-close{position:absolute;top:8px;right:max(8px,env(safe-area-inset-right));width:44px;height:44px}.sheet .dd{width:auto;max-height:none;overflow:visible;padding:0}.sheet .dd-head{padding-right:52px}.sheet .dd-item{min-height:48px;font-size:15px}.sheet .seg-btn{min-height:44px}.sheet .lt-pop{width:auto;max-width:none;padding:0 4px}.sheet .notif-pop{width:auto;max-width:none;max-height:none}.sheet .notif-head{min-height:44px;padding:0 52px 8px 4px}.sheet .tk-notif{min-height:56px}.sheet .lt-head{min-height:44px;padding-right:48px}.sheet .tl-field select,.sheet .tl-field input{height:46px;font-size:16px}.sheet .tl-field textarea{font-size:16px}.sheet .tl-submit{height:48px;font-size:15px}.sheet .rt-pop{width:auto;max-height:none;overflow:visible}.sheet .rt-menu{width:auto}@media (max-width: 768px){:root{--header-h: 56px;--tabbar-h: calc(80px + env(safe-area-inset-bottom)) }.app-header{height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));align-items:center;gap:8px}.app-tabs,#hdr-new,.hdr-account .icon{display:none}.app-header-actions{gap:2px}#hdr-logtime{order:1}.hdr-search{order:2}#hdr-notes{order:3}#hdr-bell{order:4}.hdr-account{order:5}#hdr-logtime,.hdr-search{width:44px;height:44px;padding:0;justify-content:center;border:none;background:transparent;color:var(--header-text)}#hdr-logtime .icon,.hdr-search .icon{width:20px;height:20px}#hdr-logtime>span,.hdr-search-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hdr-search kbd{display:none}.hdr-icon-btn{width:44px;height:44px}.hdr-account{width:44px;height:44px;padding:0;justify-content:center}.hdr-avatar{width:32px;height:32px}.hdr-account-dot{left:29px;top:4px}.app-tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;flex-shrink:0;height:var(--tabbar-h);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--header-bg)}.app-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;border-radius:14px;color:var(--header-text);font-size:11px;font-weight:600;text-decoration:none}.app-tabbar a>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-tabbar a[aria-current=page]{background:var(--bg);color:var(--text)}.app-wordmark{flex:0 1 auto;min-width:0}.app-logo{width:91px;max-width:100%;height:auto}.app-tabbar a:focus-visible{outline-offset:-2px}.notes-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;width:auto;border-left:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-shadow:none}.notes-panel-head{padding:8px max(8px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.notes-card-toggle,.notes-delete-hover{width:44px;height:44px}.notes-delete-hover{opacity:1}.notes-title-input,.notes-body-input{font-size:16px}.crumbs+input,.crumbs+h2{flex:1 1 55%!important;min-width:0}.page-toolbar-filters{flex:1 1 100%}.page-toolbar-filters .search-wrap,.page-toolbar-filters .search-wrap input{width:100%!important}.board-status{display:flex;overflow-x:auto;margin-bottom:12px;scrollbar-width:none}.board-status::-webkit-scrollbar{display:none}.board-status .seg-btn{flex:1 0 auto}.board--switchable.board--switchable{display:block!important;overflow:visible!important;padding-bottom:0!important}.board--switchable>.is-col{width:auto!important;min-width:0!important;max-width:none!important}.board--switchable>.is-col:not(.is-current){display:none!important}.db-proj-header{flex-wrap:wrap;row-gap:0}.db-proj-name-label{flex:1 1 calc(100% - 48px)}.db-pin-btn{margin-left:auto}.db-action-link{margin-top:0;white-space:nowrap}.btn-primary,.btn-secondary,.btn-cancel,.btn-danger,.filter-pill,.proj-tab,.seg-btn,.kanban-add,.dashed-btn,.bd-add-card,.bd-add-col,.mkt-add-btn,.db-pin-btn,.db-action-link,.db-nav-link{min-height:44px}.row-btn{min-height:44px;min-width:44px}.icon-btn,.tt-table .tt-act .icon-btn{width:44px;height:44px}.crumbs a{display:inline-flex;align-items:center;min-height:44px}.search-wrap input,.field input,.field select,.field textarea,.tl-field input,.tl-field select{font-size:16px}.search-wrap input,.field input,.field select,.tl-field input,.tl-field select{min-height:44px}.company-hint-btn{min-height:44px;padding:0 4px}.notif-row{min-height:44px;flex-direction:column;gap:8px}.push-actions button{min-height:40px}}.row-overflow-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;font-family:var(--font);font-size:16px;line-height:1;padding:0;transition:background .1s,color .1s,border-color .1s}.row-overflow-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}.menu-pop{position:fixed;z-index:10001;min-width:150px;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-popover);box-shadow:var(--shadow-lg);padding:4px;animation:modal-pop .12s ease-out}.menu-pop-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;font-family:var(--font);border-radius:var(--radius-sm)}.menu-pop-item:hover{background:var(--bg-secondary)}.menu-pop-item.danger{color:var(--danger)}.menu-pop-item.danger:hover{background:var(--danger-subtle)}.menu-pop-divider{height:1px;background:var(--border-light);margin:4px 0}.app-popover{position:fixed;z-index:10001;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-popover);box-shadow:var(--shadow-lg);padding:12px 14px;animation:modal-pop .12s ease-out}.legend-help-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-med);background:transparent;color:var(--text-tertiary);font-size:11px;line-height:1;cursor:pointer;font-family:var(--font);padding:0;flex-shrink:0}.legend-help-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-tertiary)}.legend-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);padding:3px 0;line-height:1.4}.legend-row b{color:var(--text-primary);font-weight:600}.tc-add-hint,.pps-add-hint{transition:opacity .1s}.stat-card--link{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .06s}.stat-card--link:hover{border-color:var(--accent)}.stat-card--link:active{transform:translateY(1px)}.ds-widget{align-items:center;padding:6px 8px 6px 18px}.ds-dismiss{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:none;background:var(--danger-soft);color:var(--danger);font-size:14px;line-height:1;cursor:pointer;font-family:var(--font);padding:0;margin-left:2px;flex-shrink:0}.ds-dismiss:hover{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tk-wrap{display:flex;flex-direction:column;gap:14px}.tk-chip,.tk-got-it,.tk-x,.tk-qa-input,.tk-qa-select,.tk-title-input,.tk-m-disclosure,.tk-m-shell-toggle,.tk-dash-act,.tk-dash-more,.tk-dash-all,.tk-dash-input,.tk-mention-opt,.tk-notif{font-family:var(--font)}.tk-quickadd{display:flex;flex-direction:column;gap:8px}.tk-qa-input{width:100%;padding:11px 14px;font-size:14.5px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.tk-qa-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-subtle)}.tk-qa-opts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tk-qa-select{padding:6px 9px;font-size:12.5px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);max-width:100%}.tk-qa-btn{padding:6px 14px;font-size:12.5px}.tk-chip{padding:5px 11px;font-size:12px;font-weight:550;cursor:pointer;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-med);border-radius:var(--radius-pill)}.tk-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.tk-chip--on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tk-chip:disabled{opacity:.5;cursor:default}.tk-tray{border:1px dashed var(--border-med);border-radius:var(--radius-md);padding:9px 11px;background:var(--bg-secondary)}.tk-tray-label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:7px}.tk-tray-body{display:flex;gap:8px;overflow-x:auto;min-height:20px;padding-bottom:2px}.tk-tray-body .tk-card{min-width:210px;max-width:260px;flex-shrink:0}.tk-card.tk-card--unassigned{border-left:3px solid var(--cat-amber)}.tk-unassigned{padding:1px 7px;border-radius:var(--radius-pill);font-size:11px;font-weight:550;background:var(--surface-2);color:var(--text-secondary)}.tk-take{font-size:11px;font-weight:550;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--border-med);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.tk-take:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tk-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.tk-col{display:flex;flex-direction:column;gap:8px;min-width:0}.tk-col-head{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);padding:0 4px 8px;display:flex;align-items:center;gap:8px}.tk-col-body{display:flex;flex-direction:column;gap:8px;min-height:40px;border-radius:var(--radius-sm)}.tk-col-note{margin:0 4px;font-size:12px;color:var(--text-tertiary)}.tk-drop--over{outline:2px dashed var(--accent);outline-offset:3px}.tk-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:10px 12px;cursor:pointer;transition:border-color .12s}.tk-card:hover{border-color:var(--border-strong)}.tk-card--dragging{opacity:.4}.tk-card--over{box-shadow:0 -3px 0 0 var(--accent)}.tk-card--unack{border-left:3px solid var(--danger);border-top-left-radius:0;border-bottom-left-radius:0}.tk-card-title{font-size:13.5px;font-weight:550;line-height:1.4;color:var(--text-primary);overflow-wrap:anywhere}.tk-card-project{font-size:11.5px;color:var(--text-tertiary);margin-top:3px;overflow-wrap:anywhere}.tk-card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.tk-pill{font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--danger);background:var(--danger-subtle);border:1px solid var(--danger-border);border-radius:var(--radius-pill);padding:1px 6px}.tk-due{font-size:11px;color:var(--text-tertiary)}.tk-due--soon{color:var(--text-secondary);font-weight:550}.tk-due--over{color:var(--danger);font-weight:600}.tk-count{font-size:11px;color:var(--text-tertiary)}.tk-avatar{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;letter-spacing:.2px;background:var(--accent-soft);color:var(--accent-text)}.tk-m-wrap{display:flex;flex-direction:column;gap:16px;max-width:100%;overflow-x:hidden}.tk-m-group{display:flex;flex-direction:column;gap:7px}.tk-m-group-head{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.tk-m-group-head--alert{color:var(--danger)}.tk-m-row{display:flex;align-items:center;gap:10px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px 13px;cursor:pointer;min-width:0}.tk-m-row--unack{border-left:3px solid var(--danger);border-top-left-radius:0;border-bottom-left-radius:0}.tk-m-row-main{flex:1;min-width:0}.tk-m-row--deliverable{cursor:pointer}.tk-m-row--muted .tk-m-row-title{color:var(--text-secondary)}.tk-m-row-title{font-size:14.5px;font-weight:550;line-height:1.35;color:var(--text-primary);overflow-wrap:anywhere}.tk-m-row-meta{font-size:12px;color:var(--text-tertiary);margin-top:3px;overflow-wrap:anywhere}.tk-m-row-meta--over{color:var(--danger);font-weight:550}.tk-m-disclosure{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;padding:4px 0;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.tk-got-it{flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-md)}.tk-got-it--wide{width:100%;margin-bottom:14px;padding:12px;font-size:14.5px}.tk-m-shell-toggle{align-self:center;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-tertiary);text-decoration:underline;padding:4px}.tk-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:20px}.tk-sheet{background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-xl);display:flex;flex-direction:column;max-height:100%;width:100%;overflow:hidden;box-shadow:var(--shadow-popover)}.tk-sheet:focus{outline:none}.tk-sheet-title{margin:0;font-size:15px;font-weight:600}.tk-sheet--modal{max-width:620px}.tk-sheet--full{max-width:100%;height:100%;border-radius:0;border:none;box-shadow:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.tk-sheet--add{max-width:520px}.tk-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.tk-sheet-sub{font-size:12px;color:var(--text-tertiary);overflow-wrap:anywhere}.tk-x{background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:15px;padding:4px 6px;border-radius:var(--radius-md)}.tk-x:hover{color:var(--text-primary);background:var(--bg-secondary)}.tk-sheet-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.tk-title-input{width:100%;font-size:17px;font-weight:600;padding:6px 8px;background:transparent;color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-md)}.tk-title-input:hover{border-color:var(--border-light)}.tk-title-input:focus{border-color:var(--accent);outline:none;background:var(--bg-primary)}.tk-d-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center}.tk-d-label{font-size:12px;color:var(--text-tertiary)}.tk-body-input{width:100%;padding:9px 11px;font-size:13.5px;font-family:inherit;resize:vertical;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.tk-d-section{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-top:4px}.tk-comments{display:flex;flex-direction:column;gap:10px}.tk-comment-head{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-secondary)}.tk-comment-time{font-size:11px;color:var(--text-tertiary)}.tk-comment-body{font-size:13.5px;color:var(--text-primary);margin-top:3px;padding-left:29px;overflow-wrap:anywhere;white-space:pre-wrap}.tk-comment-empty{font-size:12.5px;color:var(--text-tertiary)}.tk-mention{color:var(--accent-text);font-weight:600}.tk-composer{position:relative;display:flex;gap:8px;align-items:flex-end}.tk-composer textarea{flex:1;padding:9px 11px;font-size:13.5px;font-family:inherit;resize:vertical;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.tk-mention-menu{position:absolute;bottom:calc(100% + 4px);left:0;z-index:5;background:var(--bg-primary);border:1px solid var(--border-med);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover);display:flex;flex-direction:column;min-width:200px;overflow:hidden}.tk-mention-opt{display:flex;align-items:center;gap:8px;padding:7px 11px;background:none;border:none;cursor:pointer;text-align:left;font-size:13px;color:var(--text-primary)}.tk-mention-opt:hover{background:var(--bg-secondary)}.tk-activity{font-size:12.5px;color:var(--text-secondary)}.tk-activity summary{cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.tk-event{padding:5px 0;border-bottom:1px solid var(--border-light);overflow-wrap:anywhere}.tk-d-foot{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border-light)}.tk-notif{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;background:none;cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--border-light)}.tk-notif:hover{background:var(--bg-secondary)}.tk-notif--unread{background:var(--accent-soft)}.tk-notif-text{font-size:13px;color:var(--text-primary);overflow-wrap:anywhere}.tk-notif .tk-comment-time{flex-shrink:0;white-space:nowrap}.tk-notif--unread .tk-comment-time{color:var(--text-secondary)}@media (max-width: 899px){.tk-sheet-backdrop{padding:0}}.tk-dash-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden}.tk-dash-all{background:none;border:none;cursor:pointer;padding:2px 4px;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.tk-dash-all:hover{color:var(--accent-text)}.tk-dash-add{display:flex;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.tk-dash-input{flex:1;min-width:0;padding:9px 12px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.tk-dash-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-subtle)}.tk-dash-group{border-bottom:1px solid var(--border-light)}.tk-dash-group:last-child{border-bottom:none}.tk-dash-group-head{display:flex;align-items:center;gap:7px;padding:9px 14px 7px;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.tk-dash-row{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;min-width:0;border-top:1px solid var(--border-light)}.tk-dash-row:hover{background:var(--bg-secondary)}.tk-dash-row--unack{border-left:3px solid var(--danger)}.tk-dash-row-main{flex:1;min-width:0}.tk-dash-row-title{font-size:13.5px;font-weight:550;color:var(--text-primary);line-height:1.35;overflow-wrap:anywhere}.tk-dash-row-meta{font-size:11.5px;color:var(--text-tertiary);margin-top:2px;overflow-wrap:anywhere}.tk-dash-row-meta--over{color:var(--danger);font-weight:550}.tk-got-it--sm{padding:5px 11px;font-size:12px;flex-shrink:0}.tk-dash-act{flex-shrink:0;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;background:var(--bg-primary);color:var(--accent-text);border:1px solid var(--accent);border-radius:var(--radius-md)}.tk-dash-act:hover{background:var(--accent);color:var(--on-accent)}.tk-dash-more{display:block;width:100%;text-align:left;cursor:pointer;padding:8px 14px;background:none;border:none;border-top:1px solid var(--border-light);font-size:12px;color:var(--text-tertiary)}.tk-dash-more:hover{color:var(--accent-text)}.tk-dash-empty{padding:16px 14px;font-size:13px;color:var(--text-tertiary)}@media (max-width: 599px){.tk-dash-add{flex-wrap:wrap}.tk-dash-input{flex-basis:100%}}@media (max-width: 768px){.tk-chip,.tk-got-it,.tk-qa-btn,.tk-qa-select,.tk-dash-act,.tk-dash-more,.tk-dash-all,.tk-m-disclosure,.tk-m-shell-toggle,.tk-mention-opt,.tk-notif{min-height:44px}.tk-x{min-width:44px;min-height:44px}.tk-title-input,.tk-dash-input{min-height:44px}.tk-activity summary{padding:15px 0}.tk-qa-input,.tk-qa-select,.tk-dash-input,.tk-title-input,.tk-body-input,.tk-composer textarea{font-size:16px}}.tk-card--deliverable{cursor:pointer}.tk-card--muted{opacity:.72;background:var(--surface-2)}.tk-card--saving{opacity:.5;pointer-events:none}.tk-card--refused{animation:tk-refused .35s ease}@keyframes tk-refused{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.tk-pill--deliverable{background:var(--surface-2);color:var(--text-secondary)}.tk-due--undated{font-style:italic}.tk-chip-status{padding:1px 7px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:550}.tk-chip-status--comments_in{background:var(--cat-blue-soft);color:var(--cat-blue)}.tk-chip-status--changes_requested{background:var(--danger-soft, var(--surface-2));color:var(--danger)}.tk-chip-status--waiting_on_client{background:var(--warning-soft, var(--surface-2));color:var(--warning, var(--text-secondary))}.tk-notice{position:fixed;z-index:1000;left:50%;bottom:16px;transform:translate(-50%);width:min(480px,calc(100vw - 24px));padding:16px;border:2px solid var(--accent);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 8px 32px #00000040}.tk-notice-text{margin:0 0 12px;font-size:16px;font-weight:550;line-height:1.4;color:var(--text-primary)}.tk-notice-actions{display:flex;flex-wrap:wrap;gap:8px}.tk-notice-actions .btn-primary,.tk-notice-actions .btn-secondary{min-height:44px;flex:1 1 140px}@media (max-width: 600px){.tk-notice{left:0;right:0;bottom:0;width:auto;transform:none;border-radius:var(--radius-md) var(--radius-md) 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){.tk-card--refused{animation:none}}.rt-attach{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;font-size:13px;line-height:1.5;border:1px solid var(--border);border-left:3px solid var(--accent, #E5484D);border-radius:var(--radius-md, 8px);background:var(--bg-secondary, transparent)}.co-switch{display:flex;gap:4px;margin-right:8px;background:var(--bg-secondary);border-radius:var(--radius-pill);padding:3px}.panel-header.co-sub{border-top:1px solid var(--border-light);padding-top:8px}.co-group{border-bottom:1px solid var(--border-light)}.co-group:last-child{border-bottom:none}.co-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;min-height:44px;cursor:pointer;transition:background .1s}.co-row:hover{background:var(--bg-secondary)}.co-row--static{cursor:default;background:var(--bg-secondary)}.co-row--static:hover{background:var(--bg-secondary)}.co-chevron{font-size:10px;color:var(--text-tertiary);transition:transform .12s;width:12px}.co-chevron--open{transform:rotate(90deg)}.co-name{font-size:14px;font-weight:550;color:var(--text-primary)}.co-sector{font-size:11px;font-weight:400;color:var(--text-tertiary);margin-left:6px}.co-meta{margin-left:auto;font-size:12px;color:var(--text-tertiary)}.co-row--static .co-meta{margin-left:10px}.co-check{font-size:11px;color:var(--cat-amber);border:1px solid var(--cat-amber);border-radius:var(--radius-pill);padding:1px 8px}.co-unlinked{color:var(--text-tertiary)}.co-body{background:var(--bg-primary)}.co-body .contact-row{padding-left:44px}.co-group--none .co-body .contact-row{padding-left:20px}.co-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:10px 20px 12px 44px;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.co-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-tertiary)}.co-field select,.co-field input{font-size:13px;min-height:36px}.co-empty{padding:10px 20px 14px 44px;font-size:12px;color:var(--text-tertiary)}.co-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 20px;padding:10px 14px;font-size:13px;border:1px solid var(--border);border-left:3px solid var(--cat-amber);border-radius:var(--radius-md, 8px)}.co-suggest{margin:0 20px 12px;display:grid;gap:10px}.co-suggest-row{border:1px solid var(--border-light);border-radius:var(--radius-md, 8px);padding:10px 14px}.co-suggest-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.co-suggest-head .co-meta{margin-left:0;font-size:13px;color:var(--text-secondary)}.co-suggest-people{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0;font-size:13px}.co-suggest-actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 720px){.co-row{padding:12px 14px}.co-meta{margin-left:0;width:100%;padding-left:22px}.co-body .contact-row,.co-group--none .co-body .contact-row{padding-left:14px}.co-controls{padding:10px 14px 12px}.co-empty{padding-left:14px}.co-banner,.co-suggest{margin-left:14px;margin-right:14px}}.owed-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px}.owed-summary{font-size:13px;color:var(--text-secondary)}.owed .due-list{border-top:1px solid var(--border-light)}.owed-row--muted .due-title{color:var(--text-secondary)}.owed-status{font-size:11px;color:var(--text-secondary);white-space:nowrap}.owed-due{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);white-space:nowrap;min-width:84px;text-align:right}.owed-due--late{color:var(--danger)}.owed-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--border-light)}.owed-later{font-size:12px;color:var(--text-tertiary)}.tk-window{display:inline-flex}.co-actions{margin-left:auto;flex-shrink:0}.row-btn--danger{color:var(--danger);border-color:var(--danger-border)}.contact-row.is-dragging{opacity:.45}.co-row.co-drop--over,.co-drop-chip.co-drop--over{background:var(--accent-subtle);outline:2px dashed var(--accent);outline-offset:-2px}.co-drop-tray{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:50;width:min(720px,calc(100vw - 32px));max-height:36vh;overflow:auto;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 8px 28px rgba(0,0,0,.18))}.co-drop-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:6px}.co-drop-chips{display:flex;flex-wrap:wrap;gap:6px}.co-drop-chip{padding:6px 10px;border:1px solid var(--border);border-radius:999px;font-size:12px;background:var(--bg-secondary)}.co-pick-search{width:100%;margin:4px 0 8px}.co-pick-list{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.co-pick-row{display:flex;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;text-align:left;background:none;border:0;border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:inherit}.co-pick-row:hover,.co-pick-row:focus-visible{background:var(--bg-secondary)}.co-pick-row[aria-current=true]{font-weight:600}@media (max-width: 768px){.row-btn--desk{display:none}.co-actions .row-btn{padding:6px 8px}}.tk-card--request{cursor:pointer;border-left:3px solid var(--accent)}.tk-pill--request{background:var(--accent-subtle);color:var(--accent-text)}.tk-chip-status--link{background:var(--bg-secondary);color:var(--text-secondary)}.tk-accept{font-size:12px;padding:4px 12px}.tk-m-row--request{border-left:3px solid var(--accent)}.rq-detail{margin:8px 0;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.rq-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.hdr-test{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#fff3c4;color:#6b5600;border:1px solid #e6c84a;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.hdr-test:hover{background:#ffe98a}.sw-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary);cursor:pointer;margin-bottom:10px}.sw{position:relative;display:inline-block;width:34px;height:20px;flex-shrink:0}.sw input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer;z-index:1}.sw-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:var(--border-strong);transition:background .15s}.sw-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:transform .15s}.sw input:checked+.sw-track{background:var(--accent)}.sw input:checked+.sw-track:after{transform:translate(14px)}.sw input:focus-visible+.sw-track{outline:2px solid var(--accent);outline-offset:2px}.pt-card{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:inherit;padding:16px}.pt-card:hover,.pt-card:focus-visible{border-color:var(--border-strong);background:var(--surface-2)}.pt-card-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-text)}.pt-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}.pt-card-title{font-weight:600;font-size:15px}.pt-card-desc{font-size:13px;color:var(--text-muted);line-height:1.5}.tr{color:var(--text);font-size:15px;line-height:1.5}.tr p{margin:.4em 0}.tr-muted{color:var(--text-muted)}.tr-small{font-size:13px}.tr-h1{font-size:clamp(34px,7vw,56px);font-weight:600;line-height:1.02;letter-spacing:-.02em;margin:0}.tr-h2{font-size:28px;font-weight:600;line-height:1.05;letter-spacing:-.01em;margin:0}.tr-sportline{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin:0 0 6px}.tr-warn{margin:0 0 14px;padding:8px 12px;border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:13px}.tr-warn[hidden]{display:none}.tr-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.tr-field{margin:22px 0}.tr-lbl{display:block;font-weight:600;margin-bottom:8px}.tr-chips{display:flex;flex-wrap:wrap;gap:6px}.tr-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);padding:9px 15px;min-height:44px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.tr-chip:hover{border-color:var(--text-muted)}.tr-chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.tr-setup{max-width:760px}.tr-save{min-height:44px;padding:10px 22px;font-size:15px}.tr-setup .btn-secondary{min-height:44px}.tr-grade{display:inline-flex;align-items:center;gap:8px;font-weight:600;margin-top:8px}.tr-grade:before{content:"";width:14px;height:14px;border-radius:3px;background:var(--c)}.tr-profile{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;align-items:end;height:140px;margin:22px 0 6px;max-width:720px}.tr-wk{height:var(--h);background:var(--c);color:var(--on-cat);border:0;border-radius:5px 5px 0 0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:7px 0 8px;font:inherit;font-weight:600;font-size:18px;min-width:0;cursor:pointer}.tr-wk[aria-pressed=true]{outline:3px solid var(--text);outline-offset:3px}.tr-dots{display:flex;gap:3px}.tr-dots i{width:6px;height:6px;border-radius:50%;border:1.5px solid var(--on-cat)}.tr-dots i.on{background:var(--on-cat)}.tr-ground{height:3px;background:var(--text);border-radius:2px;max-width:720px}.tr-legend{font-size:13px;color:var(--text-muted);margin:10px 0 22px;max-width:720px}.tr-note{border-left:3px solid var(--c);padding:2px 0 2px 14px;margin:18px 0;max-width:720px}.tr-note strong{display:block}.tr-sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px;align-items:start}.tr-sess{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 16px 14px}.tr-sess-head{display:flex;gap:14px;align-items:flex-start}.tr-key{flex:none;width:40px;height:40px;border-radius:50%;background:var(--c);color:var(--on-cat);display:grid;place-items:center;font-weight:600;font-size:20px}.tr-sess h3{font-size:22px;font-weight:600;line-height:1.1;margin:0}.tr-meta{font-size:13px;color:var(--text-muted);margin:2px 0 0}.tr-done-tag{margin-left:auto;font-size:13px;font-weight:600;color:var(--success);white-space:nowrap}.tr details summary{cursor:pointer;font-weight:600;margin:12px 0 4px;font-size:14px}.tr-exlist{list-style:none;padding:0;margin:4px 0 0}.tr-exlist li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border);font-size:14px}.tr-exlist li.tr-grp{border:0;padding:12px 0 2px;color:var(--text-subtle);font-size:12px;font-weight:600}.tr-rx{color:var(--text-muted);text-align:right;white-space:nowrap}.tr-btn{border:1px solid var(--text);background:transparent;color:var(--text);border-radius:var(--radius-md);padding:10px 16px;min-height:44px;font:inherit;font-weight:600;font-size:15px;cursor:pointer}.tr-btn.primary{background:var(--text);color:var(--bg)}.tr-btn:disabled{opacity:.4;cursor:default}.tr-tips{font-size:14px;color:var(--text-muted);margin-top:26px;max-width:720px}.tr-build{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:32px;align-items:start}.tr-build .tr-field:first-child{margin-top:0}.tr-dur{display:flex;align-items:center;gap:14px;margin-bottom:10px}.tr-dur output{font-family:var(--font-mono);font-weight:500;font-size:26px;min-width:4.2ch}.tr-dur input[type=range]{flex:1;accent-color:var(--accent);min-height:44px}.tr-gen{border-top:3px solid var(--text);padding-top:16px}.tr-swap{border:0;background:none;color:var(--accent-text);font:inherit;font-weight:600;font-size:13px;padding:0 0 0 6px;min-height:28px;cursor:pointer}.tr-gen li>div{display:flex;flex-direction:column;align-items:flex-start}.tr-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr));column-gap:28px;align-items:start}.tr-lib{border-top:1px solid var(--border);padding:4px 0}.tr-lib summary{display:flex;justify-content:space-between;gap:12px;margin:8px 0;font-size:15px}.tr-tag{font-size:12px;color:var(--text-muted);font-weight:400;text-align:right}.tr-lib p{font-size:14px}.tr-why{font-weight:600}.tr-howto h4{font-size:14px;font-weight:600;margin:14px 0 2px}.tr-howto p,.tr-howto ol{font-size:14px;margin:2px 0}.tr-howto ol{padding-left:22px}.tr-howto li{margin:3px 0}.tr-lib .tr-howto{padding-bottom:14px}.tr-player{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;background:var(--bg);color:var(--text);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-family:var(--font);transition:background-color .35s}.tr-player[hidden]{display:none}.tr-player.rest{background:var(--c);color:var(--on-cat)}.tr-player.rest .tr-btn{border-color:var(--on-cat);color:var(--on-cat)}.tr-player.rest .tr-btn.primary{background:var(--on-cat);color:var(--c)}.tr-player button{font-family:inherit;color:inherit}.tr-player .tr-pl-top button{border:0;background:none;font-weight:600;padding:12px 0;min-height:44px;cursor:pointer}.tr-pl-top{display:flex;justify-content:space-between;align-items:center;padding:4px 20px;gap:10px;font-size:14px}.tr-pl-bar{height:4px;background:color-mix(in srgb,currentColor 18%,transparent);margin:0 20px}.tr-pl-bar i{display:block;height:100%;background:currentColor;transition:width .3s}.tr-pl-body{flex:1;overflow-y:auto;padding:26px 20px;max-width:720px;width:100%;margin:0 auto}.tr-pl-kind{font-weight:600;font-size:15px;opacity:.8;margin:0}.tr-pl-name{font-size:clamp(34px,9vw,60px);font-weight:600;line-height:1.02;letter-spacing:-.02em;margin:4px 0 0}.tr-pl-big{font-family:var(--font-mono);font-weight:500;font-size:clamp(88px,28vw,170px);line-height:.95;font-variant-numeric:tabular-nums;margin:18px 0 0}.tr-pl-sub{font-weight:600;font-size:17px}.tr-pl-cues{padding-left:20px;margin:18px 0 0}.tr-pl-cues li{margin:4px 0}.tr-pl-why{font-size:14px;opacity:.8;margin-top:14px}.tr-pl-more{margin-top:18px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);padding-top:4px}.tr-pl-more summary{font-size:15px;font-weight:600;cursor:pointer;margin:12px 0 4px}.tr-pl-more .tr-pl-why{margin-top:6px}.tr-sides{display:flex;gap:6px;margin-top:14px}.tr-sides span{flex:1;max-width:150px;text-align:center;padding:9px 0;border-radius:var(--radius-sm);border:2px solid currentColor;font-weight:600;font-size:20px;opacity:.35}.tr-sides span.on{opacity:1;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tr-player.rest .tr-sides span.on{background:var(--on-cat);border-color:var(--on-cat);color:var(--c)}.tr-sides-note{font-weight:600;margin:8px 0 0;font-size:16px}.tr-pl-next{margin-top:22px;border-top:1px solid color-mix(in srgb,currentColor 30%,transparent);padding-top:14px}.tr-pl-next h3{font-size:26px;font-weight:600;margin:0}.tr-pl-ctrl{display:flex;gap:8px;padding:12px 20px 18px;max-width:720px;width:100%;margin:0 auto}.tr-pl-ctrl .tr-btn{flex:1;padding:16px 8px;font-size:16px}.tr-pl-ctrl .tr-btn.primary{flex:2}@media (max-width: 900px){.tr-build{grid-template-columns:1fr;gap:8px}}@media (max-width: 768px){.tr-profile{height:120px}.tr-exlist li{font-size:15px}}@media (prefers-reduced-motion: reduce){.tr-player,.tr-pl-bar i{transition:none}}.pdf-one-pages{width:210mm}.pdf-one>*{zoom:var(--pdf-s, 1)}.pdf-one{width:210mm;min-height:297mm;display:flex;flex-direction:column;padding:calc(52px * var(--pdf-s, 1)) calc(56px * var(--pdf-s, 1)) calc(40px * var(--pdf-s, 1));box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-family:var(--font)}@media print{.pdf-one:not(:last-child){page-break-after:always;break-after:page}}.pdf-one-dark{background:#1a1a18;color:#fff}.pdf-one-light{background:#fff;color:#1a1a18}.pdf-one-logo{margin-bottom:40px}.pdf-one-logo img,.pdf-one-top img{height:48px;width:auto}.pdf-one-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px}.pdf-one-title{font-size:38px;font-weight:500;letter-spacing:-1px;line-height:1.1;margin-bottom:10px;overflow-wrap:anywhere}.pdf-one-sub{font-size:16px;line-height:1.4;margin-bottom:8px}.pdf-one-divider{border:none;margin:28px 0}.pdf-one-dark .pdf-one-label{color:#fff6}.pdf-one-dark .pdf-one-sub{color:#ffffff8c}.pdf-one-dark .pdf-one-divider{border-top:.5px solid rgba(255,255,255,.15)}.pdf-one-light .pdf-one-label{color:#a8a8a0}.pdf-one-light .pdf-one-sub{color:#6b6b66}.pdf-one-light .pdf-one-divider{border-top:.5px solid #e0dfda}.pdf-one-body{flex:1}.pdf-one-h{font-size:13px;font-weight:500;margin:24px 0 8px;padding-bottom:7px;border-bottom:1px solid currentColor;overflow-wrap:anywhere}.pdf-one-h:first-child{margin-top:0}.pdf-one-p{font-size:13px;line-height:1.65;margin:0 0 12px;white-space:pre-line;overflow-wrap:anywhere}.pdf-one-p strong,.pdf-one-ul strong,.pdf-one-table strong{font-weight:700}.pdf-one-ul{font-size:13px;line-height:1.65;margin:0 0 12px;padding-left:18px}.pdf-one-ul li{margin-bottom:4px;overflow-wrap:anywhere}.pdf-one-table{margin:0 0 12px}.pdf-one-row{display:flex;justify-content:space-between;gap:24px;padding:7px 0;font-size:13px;page-break-inside:avoid;break-inside:avoid}.pdf-one-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.pdf-one-dark .pdf-one-row{border-bottom:.5px solid rgba(255,255,255,.1)}.pdf-one-dark .pdf-one-k{color:#ffffffb3}.pdf-one-dark .pdf-one-p,.pdf-one-dark .pdf-one-ul{color:#ffffffd9}.pdf-one-light .pdf-one-row{border-bottom:.5px solid #f0efe9}.pdf-one-light .pdf-one-k{color:#6b6b66}.pdf-one-footer{margin-top:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;page-break-inside:avoid;break-inside:avoid}.pdf-one-meta,.pdf-one-right{font-size:9.5px;line-height:1.55}.pdf-one-right{text-align:right;flex:none}.pdf-one-fc .pdf-one-meta,.pdf-one-fc .pdf-one-right{font-size:8.5px;line-height:1.4}.pdf-one-fc .pdf-one-footer{margin-top:14px}.pdf-one-dark .pdf-one-footer{color:#ffffff59}.pdf-one-light .pdf-one-footer{color:#a8a8a0;border-top:.5px solid #e0dfda;padding-top:10px}.pdf-one-fc.pdf-one-light .pdf-one-footer{padding-top:7px}.pdf-one-run{display:flex;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:12px;font-size:11px}.pdf-one-run img{height:24px;width:auto}.pdf-one-run span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-one-dark .pdf-one-run{border-bottom:.5px solid rgba(255,255,255,.15);color:#ffffff80}.pdf-one-light .pdf-one-run{border-bottom:.5px solid #e0dfda;color:#a8a8a0}.pdf-one-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pdf-one-hc .pdf-one-top img{height:30px}.pdf-one-hc .pdf-one-top .pdf-one-label{margin:0}.pdf-one-hc .pdf-one-title{font-size:26px;letter-spacing:-.5px;margin-bottom:4px}.pdf-one-hc .pdf-one-sub{font-size:12px;margin-bottom:0}.pdf-one-hc .pdf-one-divider{margin:14px 0 16px}.pdf-one-tight{padding:calc(32px * var(--pdf-s, 1)) calc(40px * var(--pdf-s, 1)) calc(26px * var(--pdf-s, 1))}.pdf-one-tight .pdf-one-h{font-size:11.5px;margin:14px 0 6px;padding-bottom:4px}.pdf-one-tight .pdf-one-h:first-child{margin-top:0}.pdf-one-tight .pdf-one-p,.pdf-one-tight .pdf-one-ul{font-size:11px;line-height:1.45;margin-bottom:8px}.pdf-one-tight .pdf-one-ul li{margin-bottom:2px}.pdf-one-tight .pdf-one-row{font-size:11px;padding:4px 0}.pdf-one-tight .pdf-one-run{margin-bottom:16px;padding-bottom:8px}.pg-list-meta{font-size:12px;color:var(--text-muted)}.pg-theme-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-sunken);color:var(--text-muted);margin-left:8px;vertical-align:middle}.pg-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:20px;align-items:start}.pg-form{display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px}.pg-form fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:14px}.pg-form .field{margin:0}.pg-form .field textarea{min-height:60px}.pg-checks{display:flex;flex-direction:column;gap:8px}.pg-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.pg-check input{width:16px;height:16px;margin:0;flex:none}.pg-check input:disabled+span{color:var(--text-muted)}.pg-scale{display:flex;align-items:center;gap:10px}.pg-scale input[type=range]{flex:1;min-width:0}.pg-scale output{min-width:3.5em;text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.pg-block{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}.pg-block-head{display:flex;align-items:center;gap:6px}.pg-block-type{flex:1;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pg-block-btn{background:none;border:0;padding:4px 8px;min-height:28px;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font:inherit;font-size:13px}.pg-block-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.pg-block-btn:disabled{opacity:.35;cursor:default}.pg-fmt{min-width:28px;font-weight:700;border:1px solid var(--border-light)}.pg-fmt[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}.pg-fmt-i{font-style:italic;font-weight:600}.pg-block input[type=text]{width:100%;box-sizing:border-box}.pg-rich{box-sizing:border-box;width:100%;min-height:84px;padding:8px 10px;font:inherit;font-size:13px;line-height:1.55;color:var(--text);background:var(--bg-primary, var(--surface));border:1px solid var(--border-med, var(--border));border-radius:var(--radius-md);overflow-wrap:anywhere;outline:none;cursor:text}.pg-rich:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.pg-rich:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.pg-rich[contenteditable=false]{cursor:default;background:var(--surface-sunken)}.pg-rich b,.pg-rich strong{font-weight:700}.pg-add{display:flex;flex-wrap:wrap;gap:6px}.pg-hint{font-size:12px;color:var(--text-muted);margin:0}.pg-preview-wrap{min-width:0;position:sticky;top:12px}.pg-preview-frame{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:var(--surface-sunken)}.pg-preview-frame .pdf-one-pages{position:absolute;top:0;left:0;transform-origin:top left;display:flex;flex-direction:column;gap:24px}.pg-pages-note{margin:0 0 10px}.pg-pages-note[hidden]{display:none}@media (max-width: 900px){.pg-layout{grid-template-columns:minmax(0,1fr)}.pg-preview-wrap{position:static}}.fg-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:6px 0 4px}.fg-row.fg-wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.fg-frame{margin:0;border:1px solid var(--border);border-radius:10px;padding:6px}.fg-frame svg{width:100%;height:auto;display:block}.fg-frame figcaption{font-size:13px;color:var(--text-muted);padding:2px 4px 4px}.fg-limb{stroke:var(--text);stroke-width:5.5;stroke-linecap:round;fill:none}.fg-limb.far{stroke:var(--text-muted);opacity:.7}.fg-limb.hl{stroke:var(--accent)}.fg-head{fill:none;stroke:var(--text);stroke-width:5}.fg-ground{stroke:var(--border);stroke-width:3}.fg-eq{fill:var(--text-muted)}.fg-band{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-dasharray:5 3}.fg-arrow{stroke:var(--text-muted);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.tr-video{display:inline-block;margin:8px 0 4px;font-size:14px;font-weight:600;color:var(--accent-text)}.cf-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:999px;background:var(--info-soft);color:var(--info-text);font:500 11px var(--font);vertical-align:middle;white-space:nowrap}.cf-chip svg{flex-shrink:0}.cf-word{display:none}@media (min-width: 640px){.cf-word{display:inline}}.cf-caption{display:flex;align-items:center;gap:5px;margin-top:4px;padding-left:8px;border-left:2px solid var(--info-text);font-size:11px;color:var(--info-text)}.cf-caption svg{flex-shrink:0}.cf-edge{border-left:2px solid var(--info-text)}
