@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/portal/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/portal/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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/portal/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/portal/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.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:700;src:url(/portal/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/portal/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.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:700;src:url(/portal/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/portal/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.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:700;src:url(/portal/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/portal/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.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:700;src:url(/portal/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/portal/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.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:700;src:url(/portal/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/portal/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.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(/portal/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/portal/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(/portal/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/portal/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{--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--color-bg: #13141a;--color-sidebar: #17181f;--color-surface: #1c1d26;--color-surface-2: #24252f;--color-column: #181920;--color-card: #1f2029;--color-border: #2a2b37;--color-border-strong: #3a3c4a;--color-text: #e9eaf0;--color-text-muted: #9a9db0;--color-text-faint: #8f92a6;--color-primary: #5558e8;--color-primary-hover: #6366f1;--color-primary-soft: rgba(129, 140, 248, .16);--color-primary-text: #c7c9ff;--color-success: #34d399;--color-success-soft: rgba(52, 211, 153, .14);--color-success-text: #6ee7b7;--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .14);--color-warning-text: #fcd34d;--color-danger: #f87171;--color-danger-soft: rgba(248, 113, 113, .14);--color-danger-text: #fca5a5;--color-orange-soft: rgba(251, 146, 60, .16);--color-orange-text: #fdba74;--color-teal-soft: rgba(45, 212, 191, .14);--color-teal-text: #99f6e4;--color-neutral-soft: #272835;--color-neutral-text: #c9cbd8;--color-note-bg: #241f15;--color-note-border: #4a3a17;--color-note-text: #efe6cf;--chart-grid: #2a2b37;--chart-axis: #8f92a6;--chart-tooltip-bg: #24252f;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--color-info: #38bdf8;--color-info-soft: rgba(56, 189, 248, .14);--color-info-text: #7dd3fc;--status-active: #818cf8;--status-waiting: #fbbf24;--status-done: #34d399;--status-neutral: #8f92a6;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--page-gutter: var(--space-6);--control-height: 36px;font-family:var(--font-sans);color-scheme:dark;-webkit-font-smoothing:antialiased}:root[data-theme=light]{--color-bg: #f6f7fb;--color-sidebar: #ffffff;--color-surface: #ffffff;--color-surface-2: #f2f3f7;--color-border: #e6e8ee;--color-border-strong: #d6d9e2;--color-text: #14161f;--color-text-muted: #646979;--color-text-faint: #6b7080;--color-info: #0369a1;--color-info-soft: #e6f4fb;--color-info-text: #075985;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-soft: #eef0ff;--color-primary-text: #4338ca;--color-column: #eef0f5;--color-card: #ffffff;--color-success-text: #047857;--color-warning-text: #92400e;--color-danger-text: #b91c1c;--color-orange-soft: #fff1e6;--color-orange-text: #9a3412;--color-teal-soft: #e6f7f5;--color-teal-text: #0f766e;--color-note-bg: #fff8e6;--color-note-border: #f3dca0;--color-note-text: #3f3108;--color-success: #059669;--color-success-soft: #e8f8f1;--color-warning: #b45309;--color-warning-soft: #fef3e3;--color-danger: #dc2626;--color-danger-soft: #fdedec;--color-neutral-soft: #eef0f4;--color-neutral-text: #4b5163;--chart-grid: #eef0f4;--chart-axis: #9298a8;--chart-tooltip-bg: #ffffff;--shadow-sm: 0 1px 2px rgba(20, 22, 31, .05);--shadow-md: 0 8px 24px rgba(20, 22, 31, .08);color-scheme:light}@media (prefers-color-scheme: light){:root:not([data-theme]){--color-bg: #f6f7fb;--color-sidebar: #ffffff;--color-surface: #ffffff;--color-surface-2: #f2f3f7;--color-border: #e6e8ee;--color-border-strong: #d6d9e2;--color-text: #14161f;--color-text-muted: #646979;--color-text-faint: #6b7080;--color-info: #0369a1;--color-info-soft: #e6f4fb;--color-info-text: #075985;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-soft: #eef0ff;--color-primary-text: #4338ca;--color-column: #eef0f5;--color-card: #ffffff;--color-success-text: #047857;--color-warning-text: #92400e;--color-danger-text: #b91c1c;--color-orange-soft: #fff1e6;--color-orange-text: #9a3412;--color-teal-soft: #e6f7f5;--color-teal-text: #0f766e;--color-note-bg: #fff8e6;--color-note-border: #f3dca0;--color-note-text: #3f3108;--color-success: #059669;--color-success-soft: #e8f8f1;--color-warning: #b45309;--color-warning-soft: #fef3e3;--color-danger: #dc2626;--color-danger-soft: #fdedec;--color-neutral-soft: #eef0f4;--color-neutral-text: #4b5163;--chart-grid: #eef0f4;--chart-axis: #9298a8;--chart-tooltip-bg: #ffffff;--shadow-sm: 0 1px 2px rgba(20, 22, 31, .05);--shadow-md: 0 8px 24px rgba(20, 22, 31, .08);color-scheme:light}}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.5}h1{font-size:1.35rem;font-weight:640;letter-spacing:-.021em;line-height:1.25;margin:0 0 18px}.card h1{font-size:1.02rem;font-weight:620;letter-spacing:-.014em;margin-bottom:14px}.section-title{font-size:.78rem;font-weight:640;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-faint);margin:26px 0 10px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px;padding:20px;position:relative}.auth-lang{position:absolute;top:14px;right:16px;display:flex;align-items:center;flex-wrap:wrap;gap:2px;color:var(--color-text-muted);font-size:.85rem}.auth-lang svg{margin-right:4px;flex-shrink:0}.auth-lang button{margin:0;padding:4px 9px;background:none;color:inherit;border-radius:var(--radius-sm);font-size:inherit;font-weight:500}.auth-lang button:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.auth-lang button.active{color:var(--color-primary-text);font-weight:650}@media (max-width: 560px){.auth-lang{position:static;justify-content:center}}.brand{display:flex;align-items:center;gap:10px;font-weight:660;font-size:clamp(.85rem,.72rem + .45vw,1.02rem);line-height:1.3;letter-spacing:-.022em;color:var(--color-text);text-decoration:none;min-width:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--color-primary),#a855f7);color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}label{display:block;margin-top:14px;margin-bottom:6px;font-size:.83rem;font-weight:550;color:var(--color-text-muted)}input,textarea,select{width:100%;background:var(--color-surface-2);padding:9px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}button{margin-top:18px;padding:9px 18px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.92rem;font-weight:550;font-family:inherit;transition:background .15s ease,transform .05s ease}button:hover:not(:disabled){background:var(--color-primary-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{background:var(--color-border-strong);color:var(--color-text-faint);cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-strong)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.error{color:var(--color-danger);font-size:.88rem;margin-top:10px}.success{color:var(--color-success);font-size:.88rem;margin-top:10px}.muted{color:var(--color-text-muted);font-size:.87rem}a{color:var(--color-primary-text);text-decoration:none}a:hover{text-decoration:underline}.ticket-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:background .12s ease;border-radius:var(--radius-sm)}.ticket-row:hover{background:var(--color-surface-2);text-decoration:none}.ticket-row:last-child{border-bottom:none}.ticket-number{color:var(--color-text-faint);font-weight:500;margin-right:6px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--color-neutral-soft);color:var(--color-neutral-text)}.badge-open{background:var(--color-primary-soft);color:var(--color-primary-text)}.badge-pending{background:var(--color-warning-soft);color:var(--color-warning)}.badge-resolved,.badge-closed{background:var(--color-success-soft);color:var(--color-success)}.badge-overdue{background:var(--color-danger-soft);color:var(--color-danger)}.comment{border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 14px;margin:14px 0;background:var(--color-surface-2)}.comment-internal{border-left-color:var(--color-warning);background:var(--color-warning-soft)}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.attachment-chip{display:inline-flex;align-items:center;gap:4px;margin-top:0;padding:5px 11px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-text);font-size:.82rem;font-weight:500;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.attachment-chip:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text)}input[type=file]{padding:8px 10px;font-size:.85rem;cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--color-sidebar);border-right:1px solid var(--color-border);transition:width .16s ease}.app-shell.is-collapsed .sidebar{width:var(--sidebar-width-collapsed)}.main-content{flex:1;min-width:0;padding:var(--space-6) var(--space-8) 64px;overflow-x:auto}.main-content:focus{outline:none}.content-wide{width:100%}.content-narrow{max-width:440px;margin:24px auto}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px;text-align:center}.stat-value{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;margin-top:2px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 640px){.section-grid{grid-template-columns:1fr}}.overview-item{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;color:var(--color-text);border:none;border-radius:var(--radius-sm);padding:8px 12px;margin-top:1px;font-size:.875rem;font-weight:500;letter-spacing:-.006em;cursor:pointer;text-align:left}.overview-item:hover:not(.active){background:var(--color-surface-2)}.overview-item.active,.overview-item.active:hover{background:var(--color-primary-soft);color:var(--color-primary-text)}.ticket-table{width:100%;border-collapse:collapse}.ticket-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);padding:10px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.ticket-table th:first-child{border-top-left-radius:var(--radius-lg)}.ticket-table th:last-child{border-top-right-radius:var(--radius-lg)}.ticket-table td{padding:12px 14px;border-bottom:1px solid var(--color-border);font-size:.88rem;white-space:nowrap}.ticket-table tr:last-child td{border-bottom:none}.ticket-table tbody tr{cursor:pointer}.ticket-table tbody tr:hover{background:var(--color-surface-2)}.settings-layout{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.settings-nav{width:220px;flex-shrink:0}.settings-body{flex:1;min-width:300px}.radio-row{display:flex;align-items:center;gap:10px;padding:10px 4px;cursor:pointer;font-size:.92rem;margin:0;color:var(--color-text);font-weight:400}.radio-row input{width:auto;margin:0;accent-color:var(--color-primary)}.group-picker{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:4px 10px;max-height:160px;overflow-y:auto;background:var(--color-surface-2)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.filter-field{display:flex;flex-direction:column;min-width:150px}.filter-field label{margin-top:0;margin-bottom:5px}.period-tabs{display:flex;gap:4px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px;flex-wrap:wrap}.period-tab{margin-top:0;padding:6px 14px;background:transparent;color:var(--color-text-muted);font-size:.85rem;border-radius:6px}.period-tab:hover:not(.active){background:var(--color-surface);color:var(--color-text)}.period-tab.active,.period-tab.active:hover{background:var(--color-primary);color:#fff}.mobile-topbar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--color-sidebar);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:30}.hamburger{margin-top:0;padding:7px 12px;background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text);font-size:1.1rem;line-height:1}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}@media (max-width: 1200px){.main-content{padding:var(--space-5) var(--space-5) var(--space-10)}}@media (max-width: 900px){.settings-nav{width:100%}.ticket-detail-sidebar{width:100%!important}}@media (max-width: 768px){.mobile-topbar{display:flex}.app-shell{flex-direction:column}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,86vw);height:100vh;z-index:50;transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:var(--shadow-md)}.sidebar.open{transform:translate(0);visibility:visible;transition:transform .2s ease}.sidebar-backdrop.show{display:block}.main-content{padding:var(--space-4) var(--space-4) var(--space-10);width:100%}.overviews-panel{width:100%!important}.content-narrow{max-width:100%;margin:0}.card{padding:18px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.top-bar{flex-wrap:wrap}h1{font-size:1.05rem}}.toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:1 1 auto}.search-box{position:relative;display:flex;align-items:center;flex:0 1 340px;min-width:190px}.search-box input[type=search]{width:100%;margin:0;padding:9px 32px;font-size:.9rem;-moz-appearance:none;appearance:none;-webkit-appearance:none}.search-box input[type=search]::-webkit-search-cancel-button{display:none}.search-icon{position:absolute;left:11px;font-size:1.05rem;line-height:1;color:var(--color-text-faint);pointer-events:none}.search-clear{position:absolute;right:6px;width:22px;height:22px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer}.search-clear:hover{background:var(--color-surface-2);color:var(--color-text)}.search-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);font-size:.88rem;color:var(--color-text-muted)}.search-summary .btn-ghost{margin:0;padding:4px 10px;font-size:.82rem;width:auto}.overviews-panel.dimmed{opacity:.5}@media (max-width: 720px){.toolbar{width:100%}.search-box{flex:1 1 100%}}.perm-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--color-border)}.perm-row:last-of-type{border-bottom:none}.perm-info{flex:1 1 auto;min-width:0}.perm-label{font-weight:500;margin-bottom:2px}.perm-actions{display:flex;gap:14px;flex-shrink:0;padding-top:2px}.checkbox-inline{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.9rem;font-weight:400;cursor:pointer;white-space:nowrap}.checkbox-inline input[type=checkbox]{width:auto;margin:0;accent-color:var(--color-primary);cursor:pointer}@media (max-width: 640px){.perm-row{flex-direction:column;gap:8px}.perm-row>*{max-width:100%;min-width:0}.perm-actions{padding-top:0}}.license-install-id{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%}.license-install-id code{overflow-wrap:anywhere;word-break:break-all}.roles-table td.perm-summary{white-space:normal;max-width:380px;line-height:1.45}.roles-table td:last-child{text-align:right}.time-total{font-size:.95rem;font-weight:600;color:var(--color-primary-text)}.time-form{border-top:1px solid var(--color-border);padding-top:14px;margin-top:6px}.time-quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.chip{margin:0;width:auto;padding:6px 14px;font-size:.85rem;border-radius:999px;border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-muted);cursor:pointer}.chip:hover{border-color:var(--color-primary);color:var(--color-text)}.chip-active,.chip-active:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-text)}.time-fields{display:flex;gap:12px;flex-wrap:wrap}.time-fields>div{flex:1 1 140px;min-width:0}.time-list{margin-top:16px;border-top:1px solid var(--color-border)}.time-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border)}.time-row:last-child{border-bottom:none}.time-amount{font-weight:600}.time-shortcuts{display:flex;gap:8px;margin-top:12px}.board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.board-column{flex:0 0 280px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px;transition:border-color .12s,background .12s}.board-column.drag-over{border-color:var(--color-primary);background:var(--color-primary-soft)}.board-column-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px}.board-cards{display:flex;flex-direction:column;gap:8px;min-height:60px}.board-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px;cursor:pointer;font-size:.86rem}.board-card:hover{border-color:var(--color-border-strong)}.board-card[draggable=true]:active{cursor:grabbing}.board-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.board-card-subject{margin-bottom:6px;line-height:1.35}.board-card-meta{font-size:.8rem;margin-bottom:6px}.board-card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.8rem}.prio{padding:1px 8px;border-radius:999px;font-size:.75rem}.prio-urgent,.prio-high{background:var(--color-danger-soft);color:var(--color-danger)}.prio-low{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.board-empty{margin:6px 2px;font-size:.82rem}.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}.release-notes{margin:0;padding:12px 14px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.domain-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:28px}.domain-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border);font-size:.84rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.domain-chip button{width:18px;height:18px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:.95rem;line-height:1;cursor:pointer}.domain-chip button:hover{background:var(--color-danger-soft);color:var(--color-danger)}.domain-chip-auto{border-style:dashed}.domain-chip button.domain-confirm{width:auto;height:auto;padding:1px 8px;border-radius:999px;font-family:inherit;font-size:.75rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border)}.domain-chip button.domain-confirm:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text-muted)}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100vw - 40px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);border-left:3px solid var(--color-text-faint);background:var(--color-surface);box-shadow:0 8px 24px #00000047;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-info{border-left-color:var(--color-primary)}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-text{flex:1;min-width:0}.toast-title{font-size:.875rem;font-weight:600;color:var(--color-text)}.toast-body{margin-top:3px;font-size:.82rem;color:var(--color-text-muted)}.toast-close{margin:-4px -4px 0 0;padding:0 6px;width:auto;font-size:1.1rem;line-height:1.4;color:var(--color-text-faint);background:transparent;border:none;cursor:pointer}.toast-close:hover{color:var(--color-text);background:transparent}@media (max-width: 640px){.toast-stack{right:12px;left:12px;bottom:12px;max-width:none}}.nav-badge{flex-shrink:0;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;text-align:center}.project-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.project-tag{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.color-swatch{width:22px;height:22px;margin:0;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer}.color-swatch.selected{border-color:var(--color-text)}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border);font-size:.82rem}.chip button{margin:0;padding:0 4px;width:auto;background:transparent;border:none;color:var(--color-text-faint);font-size:1rem;line-height:1;cursor:pointer}.chip button:hover{color:var(--color-danger);background:transparent}.version-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.version-pill{display:flex;flex-direction:column;gap:1px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border)}.version-pill span{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint)}.version-pill strong{font-family:ui-monospace,Consolas,monospace;font-size:.95rem;color:var(--color-text)}.version-pill.new{border-color:var(--color-primary);background:var(--color-primary-soft)}.version-pill.new strong{color:var(--color-primary-text)}.version-arrow{color:var(--color-text-faint);font-size:1.1rem}.ticket-event{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 2px 5px 10px;margin:2px 0;border-left:2px solid var(--color-border);font-size:.8rem;color:var(--color-text-muted)}.ticket-event .muted{flex-shrink:0;font-size:.75rem}.chip-primary{border-color:var(--color-primary);background:var(--color-primary-soft)}.message-body{margin-top:4px}.message-body p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.message-body p:last-child{margin-bottom:0}.sidebar{gap:var(--space-2);padding:var(--space-3) 0 var(--space-2)}.sb-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:36px;padding:0 var(--space-3) 0 var(--space-4)}.sb-head .brand{gap:10px;min-width:0}.sb-toggle{width:32px;height:32px;flex:none}.sb-actions{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-3)}button.sb-search{display:flex;align-items:center;gap:var(--space-2);min-width:0;height:var(--control-height);margin:0;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500}button.sb-search:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.sb-search .sb-label{flex:1;text-align:left}kbd,.sb-kbd{padding:0 5px;border:1px solid var(--color-border-strong);border-radius:4px;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-xs);line-height:18px;white-space:nowrap}.sb-search .sb-kbd{flex:none}.sidebar.is-collapsed .sb-actions{align-items:center}.sidebar.is-collapsed button.sb-search{justify-content:center;width:40px;padding:0}.sb-actions:empty{display:none}.sb-create-wrap{position:relative}a.sb-create,button.sb-create{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:var(--control-height);margin:0;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:var(--text-base);font-weight:600;text-decoration:none}.sb-create .sb-label{flex:none}a.sb-create:hover,button.sb-create:hover:not(:disabled){background:var(--color-primary-hover);color:#fff;text-decoration:none}.sb-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:200px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.sb-menu-item{display:flex;align-items:center;gap:10px;padding:var(--space-2) 10px;border-radius:6px;color:var(--color-text);font-size:var(--text-base);text-decoration:none}.sb-menu-item:hover,.sb-menu-item:focus-visible{background:var(--color-surface-2);color:var(--color-text);text-decoration:none}.sb-nav{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 var(--space-3);scrollbar-width:thin}.sb-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.sb-link{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-base);font-weight:500;white-space:nowrap;text-decoration:none}.sb-link>svg{flex:none}.sb-link:hover{background:var(--color-surface-2);color:var(--color-text);text-decoration:none}.sb-link.is-active{background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:600}.sb-link.is-active:before{content:"";position:absolute;top:8px;bottom:8px;left:calc(-1 * var(--space-3));width:3px;border-radius:0 2px 2px 0;background:var(--color-primary)}.sb-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sb-external{flex:none;opacity:.55}.sb-count{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-surface-2);color:var(--color-text);font-size:var(--text-xs);font-weight:600;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}.sb-link:hover .sb-count,.sb-link.is-active .sb-count{background:var(--color-surface)}.sb-workspace{margin-top:var(--space-1)}.sb-workspace.is-current>.sb-workspace-link{color:var(--color-text);font-weight:600}.sb-sublist{display:flex;flex-direction:column;gap:1px;margin:2px 0 var(--space-1);padding:0;list-style:none}.sb-link.sb-sub{height:32px;padding-left:38px;font-size:var(--text-sm)}.sidebar:not(.is-collapsed) .sb-sub>svg:first-child{display:none}.sb-foot{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3) 0;border-top:1px solid var(--color-border)}.sb-user{display:flex;align-items:center;gap:var(--space-1);padding:6px;border-radius:10px;background:var(--color-surface-2)}.sb-user-card{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border-radius:var(--radius-sm);color:inherit;text-decoration:none}.sb-user-card:hover{text-decoration:none}.sb-user-text{min-width:0;display:flex;flex-direction:column}.sb-user-name,.sb-user-mail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-user-name{font-size:var(--text-sm);font-weight:600}.sb-user-mail{color:var(--color-text-faint);font-size:var(--text-xs)}.sb-logout{flex:none;width:32px;height:32px}.sidebar.is-collapsed .sb-head{flex-direction:column;padding:0}.sidebar.is-collapsed .sb-label,.sidebar.is-collapsed .sb-external,.sidebar.is-collapsed .sb-user-text{display:none}.sidebar.is-collapsed .sb-actions,.sidebar.is-collapsed .sb-nav,.sidebar.is-collapsed .sb-foot{padding-left:var(--space-2);padding-right:var(--space-2)}.sidebar.is-collapsed .sb-create{width:40px;margin:0 auto;padding:0}.sidebar.is-collapsed .sb-menu{top:0;left:calc(100% + 8px)}.sidebar.is-collapsed .sb-link{justify-content:center;height:40px;padding:0}.sidebar.is-collapsed .sb-link.is-active:before{left:calc(-1 * var(--space-2))}.sidebar.is-collapsed .sb-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-primary);color:#fff;font-size:.625rem;line-height:16px}.sidebar.is-collapsed .sb-sublist{padding:2px 0;border-radius:var(--radius-sm);background:var(--color-surface-2)}.sidebar.is-collapsed .sb-link.sb-sub{height:34px;padding:0}.sidebar.is-collapsed .sb-sublist .sb-link:hover{background:var(--color-surface)}.sidebar.is-collapsed .sb-user{flex-direction:column;padding:0;background:transparent}.sidebar.is-collapsed .sb-user-card{flex:none}.sb-tooltip{position:fixed;z-index:1000;max-width:280px;padding:6px 10px;border-radius:6px;background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:600;line-height:1.35;pointer-events:none;transform:translateY(-50%)}.sb-tooltip span{display:block;font-weight:400;opacity:.8}.skip-link{position:absolute;top:-60px;left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-weight:600}.skip-link:focus{top:var(--space-2)}:where(a,button,[role=button],[role=menuitem],[tabindex],summary):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.settings-layout{display:grid;grid-template-columns:216px minmax(0,1fr);gap:var(--space-6);align-items:start}.settings-page{min-width:0}.settings-side{position:sticky;top:var(--space-4)}.settings-side-home{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:6px 10px;color:var(--color-text);font-size:var(--text-base);font-weight:600;text-decoration:none}.settings-side-select{display:none;width:100%;margin:0}.settings-side-group+.settings-side-group{margin-top:var(--space-4)}.settings-side-title{padding:0 10px var(--space-1);color:var(--color-text-faint);font-size:var(--text-xs);font-weight:600}.settings-side ul{margin:0;padding:0;list-style:none}.settings-side-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 10px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none}.settings-side-link:hover{background:var(--color-surface-2);color:var(--color-text);text-decoration:none}.settings-side-link.is-active{background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:600}.settings-side-lock{flex:none;opacity:.6}@media (max-width: 1024px){.settings-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.settings-side{position:static}.settings-side-groups{display:none}.settings-side-select{display:block}.settings-side-home{margin-bottom:var(--space-2);padding-left:0}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.settings-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.settings-card h2{margin:0;font-size:var(--text-md);font-weight:600}.settings-card-text{margin:var(--space-1) 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.settings-card ul{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none;font-size:var(--text-base)}.state-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:520px;margin:0 auto;padding:var(--space-10) var(--space-4);color:var(--color-text-muted);text-align:center}.state-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-surface-2);color:var(--color-text-muted)}.state-title{margin:0;color:var(--color-text);font-size:var(--text-md);font-weight:600;letter-spacing:normal}.state-text{max-width:46ch;margin:0;font-size:var(--text-base)}.state-action{margin-top:var(--space-2)}.state-action button{margin-top:0}.state-error .state-icon{background:var(--color-danger-soft);color:var(--color-danger-text)}.state-denied .state-icon{background:var(--color-warning-soft);color:var(--color-warning-text)}.state-loading{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0}.skeleton-row{height:14px}.skeleton{display:block;height:100%;border-radius:6px;background:var(--color-surface-2);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.page-loading{max-width:720px;margin:0 auto;padding:var(--space-10) var(--space-6)}a.button-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 14px;border-radius:var(--radius-sm);font-size:var(--text-base);text-decoration:none}a.button-link:hover{text-decoration:none}.page-count{margin-left:var(--space-2);color:var(--color-text-faint);font-size:var(--text-base);font-weight:500}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);border:none}.icon-button:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.brand-mark{border-radius:9px;background:var(--color-primary)}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.page-head h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.015em}.page-head-text{flex:1 1 220px;min-width:0}.page-sub{color:var(--color-text-muted);margin-top:2px;font-size:.9rem}a.button,.button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none}a.button:hover,.button:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}a.button-ghost{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}a.button-ghost:hover{background:var(--color-surface-2);color:var(--color-text)}.stat-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}@media (max-width: 720px){.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:inherit;text-decoration:none}button.stat-tile{margin:0;text-align:left;font:inherit;cursor:pointer}button.stat-tile:hover:not(:disabled){background:var(--color-surface-2)}button.stat-tile-danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:#f8717173}button.stat-tile-warning:hover:not(:disabled){background:var(--color-warning-soft);border-color:#fbbf2473}a.stat-tile:hover{border-color:var(--color-border-strong);text-decoration:none}.stat-tile.active{border-color:var(--color-primary)}.stat-tile-label{color:var(--color-text-muted);font-size:.82rem}.stat-tile-value{font-size:1.6rem;font-weight:700;line-height:1.1}.stat-tile-danger{background:var(--color-danger-soft);border-color:transparent}.stat-tile-danger .stat-tile-label,.stat-tile-danger .stat-tile-value{color:var(--color-danger-text)}.stat-tile-warning{background:var(--color-warning-soft);border-color:transparent}.stat-tile-warning .stat-tile-label,.stat-tile-warning .stat-tile-value{color:var(--color-warning-text)}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.filter-chip{margin:0;padding:7px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-neutral-text);font-size:.82rem;font-weight:500}.filter-chip:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.filter-chip.active,.filter-chip.active:hover:not(:disabled){background:var(--color-text);border-color:var(--color-text);color:var(--color-bg);font-weight:600}.segmented{display:inline-flex;gap:4px;padding:3px;border-radius:9px;background:var(--color-surface);border:1px solid var(--color-border)}.segmented button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:.82rem;font-weight:500}.segmented button:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.segmented button.active{background:var(--color-surface-2);color:var(--color-text);font-weight:600}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:500;line-height:1.5;white-space:nowrap;border:none;cursor:default}.chip-neutral{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.chip-primary{background:var(--color-primary-soft);color:var(--color-primary-text)}.chip-danger{background:var(--color-danger-soft);color:var(--color-danger-text);font-weight:600}.chip-warning{background:var(--color-warning-soft);color:var(--color-warning-text);font-weight:600}.chip-success{background:var(--color-success-soft);color:var(--color-success-text)}.chip-orange{background:var(--color-orange-soft);color:var(--color-orange-text);font-weight:600}.chip-teal{background:var(--color-teal-soft);color:var(--color-teal-text)}.chip-dashed{background:transparent;border:1px dashed var(--color-border-strong);color:var(--color-text-muted);border-radius:999px}.chip-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:#fff;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.avatar-photo{overflow:hidden;background:var(--color-surface-2)}.avatar-photo img{display:block;width:100%;height:100%;object-fit:cover}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-7px;box-shadow:0 0 0 2px var(--color-card)}.avatar-more{width:24px;height:24px;background:var(--color-surface-2);color:var(--color-text-muted);font-size:10px}.progress{display:block;flex:1;height:5px;border-radius:999px;background:var(--color-border);overflow:hidden}.progress-fill{display:block;height:100%;border-radius:999px;background:var(--color-primary)}.mono{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted)}.wi-board{overflow-x:auto;padding-bottom:6px}.wi-board-grid{display:grid;gap:16px;align-items:start}.wi-column{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--color-column);min-height:120px;transition:background .12s,box-shadow .12s}.wi-column.drag-over{box-shadow:inset 0 0 0 2px var(--color-primary)}.wi-column-head{display:flex;align-items:center;gap:8px;padding:2px 4px}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.wi-column-title{font-weight:600}.wi-column-count{color:var(--color-text-faint)}.wi-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-md);background:var(--color-card);border:1px solid var(--color-border);color:inherit;text-decoration:none;cursor:pointer;transition:border-color .12s}.wi-card:hover{border-color:var(--color-border-strong);text-decoration:none}.wi-card.overdue{border-color:#f8717173}.wi-card.done{opacity:.8}.wi-card.done .wi-card-title{text-decoration:line-through;text-decoration-color:var(--color-text-faint)}.wi-card-top,.wi-card-foot{display:flex;align-items:center;gap:8px}.wi-card-top{justify-content:space-between}.wi-card-title{font-weight:600;line-height:1.4}.wi-card-tags{display:flex;flex-wrap:wrap;gap:6px}.wi-card-foot{color:var(--color-text-muted);font-size:.78rem}.wi-card-meta{display:inline-flex;align-items:center;gap:4px}.wi-card-progress{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.78rem}.wi-column-more{margin:0;padding:8px;border-radius:10px;background:transparent;color:var(--color-text-muted);font-size:.82rem}.wi-column-more:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.detail-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.detail-main{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:12px}.detail-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:12px}.panel{padding:16px 18px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.panel-title{margin:0 0 12px;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);display:flex;align-items:center;gap:10px}.panel-title .progress{max-width:220px}.prop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px 12px;font-size:.86rem;align-items:center}.prop-label{color:var(--color-text-muted)}.prop-grid select,.prop-grid input{margin:0;padding:6px 8px;font-size:.86rem}.breadcrumb{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.82rem;margin-bottom:12px}.breadcrumb a{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.checklist{display:flex;flex-direction:column;gap:4px}.checklist-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:9px;background:var(--color-surface-2)}.checklist-item input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--color-primary);flex-shrink:0}.checklist-item.done .checklist-title{text-decoration:line-through;color:var(--color-text-muted)}.checklist-title{flex:1;min-width:0}.checklist-meta{color:var(--color-text-faint);font-size:.74rem;white-space:nowrap}.inline-add{display:flex;gap:8px;margin-top:8px}.inline-add input{flex:1;margin:0}.inline-add button{margin:0}.subtask-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--color-surface-2);color:inherit;text-decoration:none}.subtask-row+.subtask-row{margin-top:6px}.subtask-row:hover{text-decoration:none;background:var(--color-neutral-soft)}.subtask-row.done .subtask-title{text-decoration:line-through;color:var(--color-text-muted)}.subtask-title{flex:1;min-width:0}.linked-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:11px;background:var(--color-surface-2);border:1px solid var(--color-border);color:inherit;text-decoration:none}.linked-card+.linked-card{margin-top:8px}.linked-card:hover{border-color:var(--color-border-strong);text-decoration:none}.dashed-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:8px 0 0;padding:8px;border-radius:9px;border:1px dashed var(--color-border-strong);background:transparent;color:var(--color-neutral-text);font-size:.84rem;font-weight:500;text-decoration:none}.dashed-button:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text);text-decoration:none}.comment-internal{background:var(--color-note-bg);border-color:var(--color-note-border);color:var(--color-note-text)}.message-card{padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.message-staff{background:linear-gradient(var(--color-primary-soft),var(--color-primary-soft)),var(--color-surface);border-color:#818cf847}.message-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:8px}.message-author{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-meta{font-size:.76rem;color:var(--color-text-muted)}.message-card .message-body{overflow-wrap:anywhere}.message-card.comment-internal{background:var(--color-note-bg);border-color:var(--color-note-border);color:var(--color-note-text)}.message-card.comment-internal .message-meta{color:var(--color-note-text);opacity:.7}.composer{padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.composer-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px}.composer textarea{margin:0;min-height:96px;resize:vertical}.composer textarea.composer-note{background:var(--color-note-bg);border-color:var(--color-note-border);color:var(--color-note-text)}.composer-foot{display:flex;align-items:center;gap:8px;margin-top:10px}.composer-foot button[type=submit]{margin:0}button.button-note{background:var(--color-warning);color:#1d1604}button.button-note:hover:not(:disabled){background:var(--color-warning-text);color:#1d1604}.empty-state{padding:28px;text-align:center;color:var(--color-text-muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}@media (max-width: 640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.weekday-picker{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.wi-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border);color:inherit;text-decoration:none;min-width:640px}.wi-row:last-child{border-bottom:none}.wi-row:hover{background:var(--color-surface-2);text-decoration:none}.wi-row-title{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wi-row.done .wi-row-title{text-decoration:line-through;color:var(--color-text-muted)}.wi-row-meta{display:inline-flex;align-items:center;gap:4px;font-size:.78rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.label-text{display:block;font-size:.82rem;font-weight:560;color:var(--color-text-muted);margin:14px 0 6px}.btn-primary-icon{display:inline-flex;align-items:center;gap:8px;margin-top:0}.panel-title .time-total{text-transform:none;letter-spacing:0}.wi-row-wrap{min-width:0;flex-wrap:wrap}.wi-row-wrap .wi-row-title{flex:1 1 200px;white-space:normal}.ticket-table td:first-child{white-space:normal;min-width:200px}.ticket-table td:nth-child(2){white-space:normal}.toolbar .search-box{width:340px}.rich-editor{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.rich-editor:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.rich-tool{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0;padding:0;border-radius:7px;background:transparent;color:var(--color-text-muted)}.rich-tool:hover:not(:disabled){background:var(--color-neutral-soft);color:var(--color-text)}.rich-tool.active{background:var(--color-primary-soft);color:var(--color-primary-text)}.rich-tool:disabled{opacity:.35}.rich-sep{width:1px;height:18px;margin:0 4px;background:var(--color-border-strong)}select.rich-block{width:auto;margin:0 4px 0 0;padding:4px 8px;font-size:.82rem;background:transparent;border-color:transparent}.rich-mode button{padding:4px 10px;font-size:.78rem}.rich-linkbar,.rich-tablebar{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;border-bottom:1px solid var(--color-border)}.rich-linkbar input{flex:1;margin:0;padding:5px 10px;font-size:.85rem}.rich-linkbar button,.rich-tablebar button{margin:0;padding:4px 10px;font-size:.8rem}.rich-body{cursor:text}.rich-body .rich-content{min-height:inherit;padding:14px 16px;outline:none}textarea.rich-markdown{display:block;width:100%;margin:0;border:none;border-radius:0;background:var(--color-surface);font-family:var(--font-mono);font-size:.86rem;line-height:1.6;padding:14px 16px;resize:vertical}.create-main>textarea.rich-markdown,form>textarea.rich-markdown{border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}textarea.rich-markdown:focus{box-shadow:none}.rich-content{line-height:1.6;overflow-wrap:anywhere}.rich-content>:first-child{margin-top:0}.rich-content>:last-child{margin-bottom:0}.rich-content p{margin:0 0 .6em}.rich-content h1,.rich-content h2,.rich-content h3{margin:1em 0 .4em;line-height:1.3}.rich-content h1{font-size:1.35rem}.rich-content h2{font-size:1.15rem}.rich-content h3{font-size:1rem}.rich-content ul,.rich-content ol{margin:0 0 .6em;padding-left:1.4em}.rich-content ul[data-type=taskList]{list-style:none;padding-left:.2em}.rich-content ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.rich-content ul[data-type=taskList] li>label{margin:.2em 0 0}.rich-content ul[data-type=taskList] li>label input{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}.rich-content ul[data-type=taskList] li>div{flex:1;min-width:0}.rich-content ul[data-type=taskList] li[data-checked=true]>div{color:var(--color-text-muted);text-decoration:line-through}.rich-content blockquote{margin:0 0 .6em;padding:2px 0 2px 14px;border-left:3px solid var(--color-border-strong);color:var(--color-text-muted)}.rich-content code{padding:1px 5px;border-radius:5px;background:var(--color-neutral-soft);font-family:var(--font-mono);font-size:.86em}.rich-content pre{margin:0 0 .6em;padding:12px 14px;border-radius:10px;background:var(--color-column);border:1px solid var(--color-border);overflow-x:auto}.rich-content pre code{padding:0;background:transparent}.rich-content hr{border:none;border-top:1px solid var(--color-border-strong);margin:1em 0}.rich-content a{color:var(--color-primary-text);text-decoration:underline}.rich-content table{width:100%;margin:0 0 .8em;border-collapse:collapse;table-layout:fixed}.rich-content th,.rich-content td{padding:6px 10px;border:1px solid var(--color-border-strong);vertical-align:top}.rich-content th{background:var(--color-surface-2);font-weight:600;text-align:left}.rich-content .selectedCell{background:var(--color-primary-soft)}.rich-content img,.rich-image{display:block;max-width:100%;max-height:520px;margin:6px 0;border-radius:8px;border:1px solid var(--color-border)}.rich-content img.ProseMirror-selectednode,.rich-content .ProseMirror-selectednode>img,.rich-content .ProseMirror-selectednode>.rich-image-placeholder{outline:2px solid var(--color-primary)}.rich-image-slot{display:block;max-width:100%}span.rich-image-broken{display:block;min-height:40px;min-width:120px;max-width:240px}.rich-image-broken{min-height:40px;min-width:120px;background:var(--color-surface-2)}.rich-image-placeholder{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;margin:6px 0;padding:8px 12px;border-radius:8px;border:1px dashed var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text-muted);font-size:.85rem;overflow-wrap:anywhere}.rich-image-placeholder .btn-ghost{margin:0;width:auto}.rich-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--color-text-faint);pointer-events:none}.rich-view .rich-content{outline:none}.create-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.create-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}.create-side{flex:1 1 320px;min-width:0;padding:16px 18px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);position:sticky;top:16px}.create-side .prop-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);row-gap:12px}.create-side-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.summary-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--color-border-strong)}.summary-row:focus-within{border-bottom-color:var(--color-primary)}input.summary-input{flex:1;margin:0;padding:6px 2px 10px;border:none;background:transparent;font-size:1.45rem;font-weight:650;letter-spacing:-.01em}input.summary-input:focus{box-shadow:none}.summary-actions{display:flex;gap:2px}.icon-button.active{color:var(--color-primary-text);background:var(--color-primary-soft)}.dropzone{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.88rem;transition:background .15s,border-color .15s}.dropzone.dragging{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-text)}button.link-button,label.link-button{display:inline;margin:0;padding:0;background:none;border:none;color:var(--color-primary-text);font-size:inherit;font-weight:600;cursor:pointer}button.link-button:hover{text-decoration:underline;background:none}.panel-title .link-button{font-size:.78rem;text-transform:none;letter-spacing:0}button.chip-remove{display:inline-flex;margin:0 0 0 4px;padding:2px;background:transparent;color:var(--color-text-muted);border-radius:4px}button.chip-remove:hover{background:var(--color-neutral-soft);color:var(--color-text)}.create-section .checklist-item+.checklist-item{margin-top:6px}.similar-items{padding:12px 14px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.similar-items .subtask-row{margin-top:6px}button.section-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;background:none;color:var(--color-text);font-weight:600;font-size:.9rem}button.section-toggle:hover{background:none}.create-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.create-actions a.button{padding:9px 16px}.create-hint{font-size:.78rem}.split-button{position:relative;display:inline-flex}.split-button>button{margin:0}.split-button>button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.split-button>button.split-toggle{padding:9px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(255,255,255,.25)}.split-menu{bottom:calc(100% + 6px);top:auto;left:0;min-width:220px}.toggle-row{display:flex;align-items:center;gap:8px;margin:0;color:var(--color-text);font-weight:450;font-size:.86rem;cursor:pointer}.toggle-row input{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}.required-mark{color:var(--color-danger)}input.input-invalid{border-color:var(--color-danger)}.estimate-cell{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.estimate-cell .progress{flex:1 1 80px}.estimate-over{font-size:.75rem;color:var(--color-danger-text);font-weight:600}.tag-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:550;line-height:1.5;color:var(--color-text);background:color-mix(in srgb,var(--tag-color, #8f92a6) 18%,transparent);border:1px solid color-mix(in srgb,var(--tag-color, #8f92a6) 40%,transparent);white-space:nowrap}.tag-dot{width:7px;height:7px;border-radius:50%;background:var(--tag-color, #8f92a6)}.tag-chip button{display:inline-flex;margin:0;padding:1px;background:transparent;color:var(--color-text-muted);border-radius:4px}.tag-chip button:hover{color:var(--color-text);background:transparent}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.tag-input-box{position:relative;flex:1 1 120px;min-width:100px}.tag-input-box input{margin:0;padding:6px 8px;font-size:.86rem}.popover-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:220px;max-height:280px;overflow-y:auto;padding:6px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:0 12px 32px #00000059}.popover-list>button{display:flex;align-items:center;gap:6px;width:100%;margin:0;padding:7px 8px;background:transparent;color:var(--color-text);font-size:.86rem;font-weight:450;text-align:left;border-radius:7px}.popover-list>button:hover{background:var(--color-surface-2)}.popover-list>input{margin:0 0 6px;padding:6px 8px;font-size:.86rem}.popover-option{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px;border-radius:7px;color:var(--color-text);font-size:.86rem;font-weight:450;cursor:pointer}.popover-option:hover{background:var(--color-surface-2)}.popover-option input{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}.option-chips{display:flex;flex-wrap:wrap;gap:6px}.option-chips .filter-chip{padding:4px 10px;font-size:.78rem}.people-picker{position:relative;min-width:0}button.picker-button{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;min-height:38px;margin:0;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text);font-weight:450;text-align:left}button.picker-button:hover{background:var(--color-surface-2);border-color:var(--color-text-faint)}button.picker-button>svg{margin-left:auto;color:var(--color-text-muted)}.picker-person{display:inline-flex;align-items:center;gap:6px;font-size:.86rem}.link-picker{margin-top:8px}.link-picker-row{display:flex;flex-wrap:wrap;gap:6px}.link-picker-row select{flex:0 1 190px;margin:0;padding:6px 8px;font-size:.84rem}.link-picker-row input{flex:1 1 160px;margin:0;padding:6px 10px;font-size:.86rem}.link-picker-results{margin-top:6px;display:flex;flex-direction:column;gap:4px}.link-picker-results button{display:flex;align-items:center;gap:8px;margin:0;padding:7px 10px;border-radius:8px;background:var(--color-surface-2);color:var(--color-text);font-weight:450;font-size:.86rem;text-align:left}.link-picker-results button:hover{background:var(--color-neutral-soft)}.admin-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border)}.admin-row:last-child{border-bottom:none}.admin-row.inactive{opacity:.6}.admin-row button{margin:0}.admin-row input[type=color],.option-row input[type=color]{width:32px;height:32px;padding:2px;margin:0;flex-shrink:0;cursor:pointer}.admin-row-order{display:flex;flex-direction:column}.admin-row-order .icon-button{width:26px;height:22px}.option-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.option-row input:not([type=color]){flex:1;margin:0}.option-row button{margin:0}.rotate-180{transform:rotate(180deg)}.prop-grid .prop-label{margin:0}.admin-row-order .icon-button:disabled{background:transparent;opacity:.25}.search-layout{display:flex;gap:20px;align-items:flex-start}.search-side{flex:0 0 240px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;padding:10px 8px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.search-side-title{margin:10px 8px 6px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.search-side-title:first-child{margin-top:2px}.search-side-empty{margin:4px 8px;font-size:.8rem}.search-view{display:flex;align-items:center;gap:4px;width:100%;margin:0;padding:0;border-radius:8px;background:transparent;color:var(--color-text);font-weight:450;font-size:.86rem;text-align:left}button.search-view,.search-view-main{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px}.search-view-main{flex:1;min-width:0;margin:0;background:transparent;color:inherit;font:inherit;text-align:left;border-radius:8px}.search-view-main>span:first-child,button.search-view>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-view:hover,.search-view-main:hover{background:var(--color-surface-2)}.search-view.active{background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:600}.search-view-actions{display:none;gap:0}.search-view:hover .search-view-actions,.search-view:focus-within .search-view-actions{display:flex}.search-view-actions .icon-button{width:24px;height:24px}.search-count{flex-shrink:0;color:var(--color-text-muted);font-size:.78rem;font-variant-numeric:tabular-nums}.search-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.search-total{margin-left:6px;font-size:1rem;font-weight:500;color:var(--color-text-muted)}.query-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface)}.query-bar:focus-within{border-color:var(--color-primary)}.query-chip{position:relative;display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 2px;border-radius:7px;background:var(--color-primary-soft);color:var(--color-primary-text);font-size:.82rem;max-width:100%}button.query-chip-main{margin:0;padding:3px 6px;background:transparent;color:inherit;font-size:inherit;font-weight:450;border-radius:6px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.query-chip-main:hover{background:#818cf826}.query-chip-key{font-weight:650}.query-chip .chip-remove{color:inherit}.query-add{position:relative}.query-add .icon-button{width:30px;height:30px}.query-popover{min-width:260px}.query-popover-title{padding:4px 8px 6px;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.query-text{flex:1 1 220px;display:flex;align-items:center;gap:6px;min-width:180px;color:var(--color-text-muted)}.query-text input{margin:0;padding:6px 4px;border:none;background:transparent;font-size:.92rem}.query-text input:focus{box-shadow:none}button.popover-choice{display:block;width:100%;margin:0;padding:7px 8px;background:transparent;color:var(--color-text);font-weight:450;font-size:.86rem;text-align:left;border-radius:7px}button.popover-choice:hover{background:var(--color-surface-2)}button.popover-choice.active{background:var(--color-primary-soft);color:var(--color-primary-text)}.date-range{display:flex;align-items:center;gap:6px;padding:6px 4px 0}.date-range input{margin:0;padding:5px 6px;font-size:.82rem}button.popover-apply{width:100%;margin:8px 0 2px;padding:7px 10px;font-size:.84rem}.search-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:34px}.search-toolbar select{width:auto;margin:0;padding:6px 10px;font-size:.84rem}.search-toolbar .inline-add input{min-width:220px;padding:6px 10px}.search-toolbar .link-button{display:inline-flex;align-items:center;gap:5px}@media (max-width: 900px){.search-layout{flex-direction:column;gap:12px;align-items:stretch}.search-side{position:static;display:flex;gap:6px;width:100%;max-height:none;flex-basis:auto;padding:6px;overflow-x:auto;white-space:nowrap}.search-side-title,.search-side-empty,.search-side-hint,.search-view-actions{display:none!important}.search-view{flex:0 0 auto;width:auto;border:1px solid var(--color-border)}}.dashboard-head{align-items:center}.dashboard-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}select.dashboard-select{width:auto;max-width:100%;margin:0;padding:4px 34px 4px 8px;border-color:transparent;background-color:transparent;font-size:1.4rem;font-weight:700;letter-spacing:-.015em;cursor:pointer}select.dashboard-select:hover{border-color:var(--color-border-strong)}.dashboard-title input{margin:0;font-size:1.3rem;font-weight:700}.dashboard-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dashboard-actions .btn-primary-icon,.dashboard-actions .btn-ghost{margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.widget{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden}.widget.dragging{opacity:.45}.widget-head{display:flex;align-items:center;gap:8px;padding:12px 14px 8px}.widget-head[draggable=true]{cursor:grab}.widget-grip{color:var(--color-text-faint);flex-shrink:0}.widget-title{flex:1;min-width:0;margin:0;font-size:.92rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-title a{color:var(--color-text);text-decoration:none}.widget-title a:hover{color:var(--color-primary-text)}.widget-count{margin-left:6px;font-size:.78rem;font-weight:600;color:var(--color-text-muted);vertical-align:super}.widget-tools{display:flex;opacity:0;transition:opacity .15s}.widget:hover .widget-tools,.widget:focus-within .widget-tools{opacity:1}.widget-tools .icon-button{width:26px;height:26px}.widget-body{padding:4px 14px 14px;min-height:60px}.widget-empty{margin:6px 0;font-size:.86rem}.widget-list{display:flex;flex-direction:column}.widget-list-row{display:flex;align-items:baseline;gap:8px;padding:6px 4px;border-radius:6px;color:var(--color-primary-text);text-decoration:none;font-size:.86rem}.widget-list-row .status-dot{width:8px;height:8px;align-self:center}.widget-list-row .mono{flex-shrink:0;color:var(--color-text-muted);font-size:.78rem}.widget-list-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-list-row:hover{background:var(--color-surface-2);text-decoration:none}.widget-more{display:inline-block;margin-top:6px;font-size:.8rem}.widget-counter{display:block;padding:6px 0 4px;font-size:2.6rem;font-weight:750;letter-spacing:-.03em;color:var(--color-text);text-decoration:none;font-variant-numeric:tabular-nums}.widget-counter:hover{color:var(--color-primary-text);text-decoration:none}.widget-bars{display:flex;flex-direction:column;gap:4px}.widget-bar-row{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 4px;border-radius:6px;color:var(--color-text);text-decoration:none;font-size:.82rem}a.widget-bar-row:hover{background:var(--color-surface-2);text-decoration:none}.widget-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-bar-track{height:8px;border-radius:999px;background:var(--color-neutral-soft);overflow:hidden}.widget-bar-fill{display:block;height:100%;border-radius:999px}.widget-bar-value{min-width:28px;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.widget-foot{margin:8px 0 0;font-size:.8rem}.widget-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin-bottom:8px}.widget-stats div{display:flex;flex-direction:column;gap:2px}.widget-stats span{font-size:.74rem;color:var(--color-text-muted)}.widget-stats strong{font-size:1.15rem}.widget-matrix{overflow-x:auto}.widget-matrix table{width:100%;border-collapse:collapse;font-size:.82rem}.widget-matrix th,.widget-matrix td{padding:6px 8px;border-bottom:1px solid var(--color-border);text-align:right;white-space:nowrap}.widget-matrix thead th{color:var(--color-text-muted);font-weight:600}.widget-matrix tbody th{text-align:left;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis}.widget-matrix td.zero{color:var(--color-text-faint)}.widget-matrix td.total{font-weight:650}@media (max-width: 1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid>.widget{grid-column:span 2!important}.dashboard-grid>.widget[style*="span 1"]{grid-column:span 1!important}}@media (max-width: 700px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid>.widget,.dashboard-grid>.widget[style*="span 1"]{grid-column:span 1!important}.widget-tools{opacity:1}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;background:#08090e99}.modal{width:100%;max-width:640px;padding:20px 22px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:0 24px 64px #00000073}.widget-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:4px}button.widget-type{display:flex;flex-direction:column;gap:2px;margin:0;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text);text-align:left;font-weight:450}button.widget-type span{font-size:.74rem;color:var(--color-text-muted)}button.widget-type:hover{border-color:var(--color-text-faint);background:var(--color-surface-2)}button.widget-type.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.widget-editor .query-bar{margin-top:0}.report-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}.report-category-icon{color:var(--color-text-muted);margin-bottom:8px}.report-category h2{margin:0 0 10px;font-size:1.02rem}.report-category ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.report-category li{display:flex;flex-direction:column;gap:1px}.report-category li a{color:var(--color-primary-text);font-weight:500}.report-category li .muted{font-size:.78rem}.saved-reports{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.saved-report{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:var(--color-surface-2)}.saved-report a{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--color-text);text-decoration:none}.saved-report a .muted{font-size:.76rem}.saved-report a:hover strong{color:var(--color-primary-text)}.report-config{margin-bottom:16px}.report-config-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.report-field{display:flex;flex-direction:column;gap:4px;margin:0;min-width:160px}.report-field select{margin:0;padding:7px 10px;font-size:.86rem}.report-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.report-notice select{width:auto;margin:0}.report-notice button{margin:0}.report-result{display:flex;flex-direction:column;gap:16px;transition:opacity .15s}.report-result.loading{opacity:.55}.report-panel{min-width:0;max-width:100%;overflow-x:auto}.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.report-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.report-stat span{font-size:.78rem;color:var(--color-text-muted)}.report-stat strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.report-stat.danger strong{color:var(--color-danger-text)}.report-stat.success strong{color:var(--color-success-text)}.report-table{width:100%;border-collapse:collapse;font-size:.86rem}.report-table th,.report-table td{padding:8px 10px;border-bottom:1px solid var(--color-border);text-align:left}.report-table thead th{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.report-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-table tfoot td{font-weight:650;border-bottom:none}.report-note{margin:10px 0 0;font-size:.78rem}.report-table td.over{color:var(--color-danger-text);font-weight:600}.report-table tbody th{font-weight:500;white-space:nowrap}.report-table.matrix td.heat{background:color-mix(in srgb,var(--color-primary) calc(var(--heat, 0) * 45%),transparent)}.report-table.timesheet th.weekend{color:var(--color-text-faint)}.gantt{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.gantt-names{flex:0 0 280px;min-width:0;border-right:1px solid var(--color-border);background:var(--color-surface);z-index:1}.gantt-head{position:relative;height:32px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.gantt-name{display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none;font-size:.82rem}.gantt-name:hover{background:var(--color-surface-2);text-decoration:none}.gantt-name .mono{flex-shrink:0;color:var(--color-text-muted);font-size:.74rem}.gantt-subject{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-scroll{flex:1;min-width:0;overflow-x:auto}.gantt-tick{position:absolute;top:8px;padding-left:4px;font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}.gantt-tick.month{font-weight:650;color:var(--color-text)}.gantt-rows{position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 33px,var(--color-border) 33px,var(--color-border) 34px)}.gantt-grid{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border)}.gantt-grid.month{background:var(--color-border-strong)}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--color-danger);opacity:.7;z-index:2}.gantt-bar{position:absolute;height:18px;border-radius:5px;background:color-mix(in srgb,var(--bar, #818cf8) 75%,transparent);border:1px solid var(--bar, #818cf8);overflow:hidden;z-index:1}.gantt-bar span{display:block;padding:0 6px;font-size:.68rem;line-height:16px;color:#0f1016;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar.open{border-right-style:dashed;background:linear-gradient(to right,color-mix(in srgb,var(--bar, #818cf8) 75%,transparent) 70%,transparent)}.gantt-bar.late{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.gantt-bar.done{opacity:.55}.gantt-links{position:absolute;top:0;left:0;pointer-events:none;z-index:3}.gantt-legend{margin:10px 0 0;font-size:.78rem}@media (max-width: 700px){.gantt-names{flex-basis:150px}}.db-health{margin-bottom:16px}.db-subtitle{margin:18px 0 8px;font-size:.86rem;font-weight:650}td.db-query{max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.db-settings{max-width:560px}.db-note{margin-top:12px;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-warning-soft);font-size:.84rem}.db-note p{margin:0}.db-note p+code,.db-note code+p{margin-top:8px}.db-note code{display:block;font-family:var(--font-mono);font-size:.78rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.item-list-panel{padding:0;overflow:hidden}.item-list-panel .dashed-button,.item-list-scroll .dashed-button{margin:10px;width:calc(100% - 20px)}.item-table-wrap{overflow-x:auto}.item-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:100%;font-size:.86rem}.item-table th{position:relative;padding:0;text-align:left;background:var(--color-surface);border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none;cursor:grab}.item-table th.dragging{opacity:.45}.item-table th.drop-before{box-shadow:inset 3px 0 0 var(--color-primary)}.item-table th.drop-after{box-shadow:inset -3px 0 0 var(--color-primary)}.item-table .th-label{display:flex;align-items:center;gap:4px;width:100%;margin:0;padding:9px 12px;border:none;background:transparent;color:var(--color-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left;cursor:inherit}.item-table .th-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-table .th-label.sortable{cursor:pointer}.item-table .th-label.sortable:hover{color:var(--color-text)}.col-resize{position:absolute;top:0;right:-4px;bottom:0;width:8px;z-index:2;cursor:col-resize}.col-resize:after{content:"";position:absolute;top:25%;bottom:25%;left:3px;width:2px;border-radius:1px;background:var(--color-border)}.col-resize:hover:after{top:0;bottom:0;background:var(--color-primary)}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.item-table td{padding:8px 12px;border-bottom:1px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.item-table tbody tr{cursor:pointer}.item-table tbody tr:hover{background:var(--color-surface-2)}.item-table tbody tr.selected{background:var(--color-primary-soft);box-shadow:inset 3px 0 0 var(--color-primary)}.item-table tbody tr:last-child td{border-bottom:none}.item-table td.num{text-align:right;font-variant-numeric:tabular-nums}.item-table td .chip{max-width:100%}.item-table .check-cell{width:38px;padding:0;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.item-table .check-cell input{width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--color-primary)}.item-table th.check-cell{cursor:default}.item-table tbody tr.checked{background:var(--color-primary-soft)}.bulk-bar{position:fixed;left:50%;bottom:18px;z-index:60;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-primary);border-radius:var(--radius-md, 10px);background:var(--color-surface);box-shadow:0 12px 32px #0006}@media (min-width: 769px){.bulk-bar{left:calc(50% + 124px);max-width:calc(100vw - 280px)}}.bulk-spacer{height:84px}.bulk-bar select,.bulk-bar input{width:auto;min-width:0;max-width:170px;margin:0;padding:5px 8px;font-size:.84rem}.bulk-bar .btn-ghost{margin:0;padding:5px 10px;font-size:.84rem}.bulk-count{font-weight:600;white-space:nowrap}.bulk-tags{display:inline-flex;align-items:center;gap:2px}.bulk-tags input{width:110px}.bulk-notify{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.bulk-notify input{width:auto;margin:0}.bulk-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:7px 10px;border-radius:var(--radius-md, 10px);background:var(--color-primary-soft);font-size:.86rem}.bulk-summary.has-failures{background:var(--color-warning-soft)}.bulk-failures{flex-basis:100%;margin:2px 0 0;padding-left:24px;font-size:.82rem}.watch-wrap{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px}button.watch-button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border:1px solid var(--color-border-strong);border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:.84rem;font-weight:500;white-space:nowrap}button.watch-button:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}button.watch-button.active{border-color:var(--color-warning-text);color:var(--color-warning-text);background:var(--color-warning-soft)}button.watch-button.active svg{fill:currentColor}.watch-count{min-width:18px;padding:0 5px;border-radius:999px;background:var(--color-surface-2);color:var(--color-text-muted);font-size:.72rem;text-align:center}.watch-error{font-size:.78rem}.cc-row{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:.84rem}.cc-address{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-row.pending .cc-address{color:var(--color-text-muted)}.cc-flag{flex-shrink:0;font-size:.7rem}.cc-actions{display:inline-flex;gap:2px}.cc-actions .icon-button{width:22px;height:22px}.cc-add{display:flex;gap:6px;margin-top:6px}.cc-add input{flex:1;min-width:0;margin:0}.cc-add .btn-ghost{margin:0}.merged-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;border:1px solid var(--color-primary);border-radius:var(--radius-md, 10px);background:var(--color-primary-soft)}.merged-banner span{flex:1;min-width:200px}.merged-banner .button{margin:0}button.merge-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px}.merge-dialog .merge-intro{margin:0 0 14px;font-size:.86rem}.merge-choices{display:flex;flex-direction:column;gap:4px}.merge-choice,.merge-picked{display:flex;align-items:center;gap:8px;margin:0;padding:7px 10px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-weight:450}.merge-choice input{width:auto;margin:0}.merge-choice.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.merge-picked{cursor:default}.merge-choice-subject{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-hint{margin:8px 0 4px;font-size:.8rem}.merge-source{margin-bottom:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;font-size:.84rem}.merge-source.problem{opacity:.75}.merge-source-head{display:flex;gap:8px;margin-bottom:2px;font-weight:600}.merge-warning,.merge-note{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:.8rem}.merge-warning{color:var(--color-warning-text)}.merge-notify{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:.86rem;font-weight:450}.merge-notify input{width:auto;margin:0}.merge-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.merge-actions button{margin:0}.item-id{font-size:.8rem;color:var(--color-primary-text)}.item-subject{display:inline-flex;align-items:center;gap:8px;max-width:100%;font-weight:600}.item-table tr.done .item-subject{text-decoration:line-through;color:var(--color-text-muted)}.item-person,.item-cell-chips{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;vertical-align:middle}.item-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-picker{position:relative}.column-picker>.link-button{display:inline-flex;align-items:center;gap:5px}.column-picker-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:230px;max-height:380px;overflow-y:auto;padding:6px;border-radius:var(--radius-md, 10px);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.column-picker-item{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px;border-radius:var(--radius-sm);font-size:.86rem;font-weight:500;color:var(--color-text);cursor:pointer}.column-picker-item:hover{background:var(--color-surface-2)}.column-picker-item input{width:auto;margin:0}.column-picker-reset{display:block;margin:6px 8px 4px}.main-content:has(.wi-split){padding-bottom:12px}html.split-lock,html.split-lock body{height:100%;overflow:hidden}html.split-lock .app-shell{height:100vh;min-height:0}html.split-lock .main-content{display:flex;flex-direction:column;overflow:hidden}html.split-lock .main-content>.content-wide{flex:1;min-height:0;display:flex;flex-direction:column}html.split-lock .search-layout{flex:1;min-height:0;align-items:stretch}html.split-lock .search-side{position:static;align-self:flex-start;max-height:100%}html.split-lock .search-main{min-height:0}html.split-lock .wi-split{flex:1;min-height:0}.item-drawer{position:fixed;top:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;max-width:calc(100vw - 160px);background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-16px 0 40px #00000047;animation:drawer-in .16s ease-out}.item-drawer-resize{position:absolute;top:0;bottom:0;left:-4px;width:8px;z-index:1;cursor:col-resize}.item-drawer-resize:hover{background:var(--color-primary-soft)}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.item-drawer{animation:none}}.wi-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.wi-row.selected{background:var(--color-primary-soft)}.wi-split{display:flex;min-height:320px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.wi-split-list{flex:0 0 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}.item-list-scroll{flex:1;min-height:0;overflow:auto}.item-list-scroll .item-table-wrap{overflow:visible}.item-list-scroll .item-table th{position:sticky;top:0;z-index:3}.item-list-scroll .item-table .col-resize{z-index:4}.wi-split-divider{position:relative;flex:0 0 10px;cursor:col-resize;background:var(--color-surface-2);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.wi-split-divider:after{content:"";position:absolute;top:50%;left:3px;width:2px;height:36px;margin-top:-18px;border-radius:1px;background:var(--color-text-faint, var(--color-border))}.wi-split-divider:hover{background:var(--color-primary-soft)}.wi-split-divider:hover:after{background:var(--color-primary)}.wi-split-divider.collapsed{cursor:pointer}.wi-split-detail{flex:1;min-width:0;display:flex;flex-direction:column}.pane-bar{display:flex;align-items:center;gap:4px;padding:4px 8px 4px 16px;border-bottom:1px solid var(--color-border)}.pane-bar .icon-button{width:32px;height:32px}.pane-hint{margin-right:8px;font-size:.75rem}.pane-scroll{flex:1;min-height:0;overflow:auto;padding:18px 22px 28px}.pane-content .page-head h1{font-size:1.35rem}.pane-content .detail-main{flex-basis:400px}.pane-content .detail-side{flex:0 1 270px}.demo-banner{display:flex;align-items:center;gap:10px;padding:8px 18px;margin:-28px -32px 20px;background:var(--color-primary-soft);color:var(--color-primary-text);border-bottom:1px solid var(--color-border);font-size:.85rem}.demo-banner a{margin-left:auto;font-weight:600;white-space:nowrap}.demo-lock{position:relative;min-height:300px}.demo-lock-content{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.demo-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px}.demo-lock-overlay strong{font-size:1.1rem}.demo-lock-overlay p{max-width:420px;color:var(--color-text-muted);margin:0 0 6px}.demo-login{margin-top:20px}.demo-login-sep{text-align:center;font-size:.78rem;color:var(--color-text-muted);margin-bottom:12px}.demo-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-login-hint{text-align:center;margin-top:12px;font-size:.78rem}.login-notice{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:var(--color-warning-soft);color:var(--color-warning-text);font-size:.85rem;text-align:center}.idle-warning{position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 16px;border:1px solid var(--color-border);border-left:4px solid var(--color-warning);border-radius:10px;background:var(--color-card);box-shadow:0 10px 30px #00000059}.idle-warning p{margin:0;font-size:.9rem}.idle-warning button{margin-top:0;white-space:nowrap}@media (max-width: 560px){.idle-warning{flex-direction:column;align-items:stretch}}.demo-timer{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:3px 10px;border-radius:999px;background:var(--color-surface);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.demo-timer.warn{background:var(--color-danger-soft);color:var(--color-danger-text)}.demo-banner .demo-timer+.demo-help-btn{margin-left:8px}@media (max-width: 768px){.demo-banner{margin:-16px -16px 16px;flex-wrap:wrap}}.demo-help-btn{display:inline-flex;align-items:center;gap:5px;margin:0 4px 0 auto;padding:3px 10px;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-primary-text);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.demo-help-btn:hover{background:var(--color-surface)}.demo-banner .demo-help-btn+a{margin-left:12px}.demo-help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:72px 16px 16px;background:#00000073}.demo-help-panel{width:100%;max-width:460px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.demo-help-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-border)}.demo-help-head strong{flex:1;font-size:1.05rem}.demo-help-list{margin:0;padding:14px 20px 14px 34px;display:flex;flex-direction:column;gap:10px}.demo-help-list li{line-height:1.5}.demo-help-foot{margin:0;padding:0 16px 16px;font-size:.8rem;color:var(--color-text-muted)}@media (max-width: 640px){.demo-help-label{display:none}}.badge-draft{background:var(--color-warning-soft);color:var(--color-warning)}.draft-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:22px;margin-top:8px;font-size:.82rem}.draft-status .error-text,.draft-count.full{color:var(--color-danger, #f87171)}.draft-list{padding:4px 0}.draft-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer}.draft-row:last-child{border-bottom:none}.draft-row:hover,.draft-row:focus-visible{background:var(--color-surface-2);outline:none}.draft-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.draft-row-title{color:var(--color-text);font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-row-preview{display:flex;align-items:center;gap:6px;font-size:.82rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.draft-row-time{flex-shrink:0;font-size:.8rem;font-variant-numeric:tabular-nums}@media (min-width: 769px){.sidebar{z-index:20}}.notif-bell{position:relative}.notif-bell>.icon-button{position:relative}.notif-badge{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--color-danger);color:#fff;font-size:.68rem;font-weight:700;line-height:17px;text-align:center;pointer-events:none}.notif-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:min(400px,calc(100vw - 24px));display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 90px));background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md, 0 12px 32px rgba(0, 0, 0, .35));overflow:hidden}.mobile-topbar .notif-popover{left:auto;right:0}.notif-popover-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border)}.notif-popover-list{flex:1;min-height:0;overflow-y:auto}.notif-popover-foot{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px;border-top:1px solid var(--color-border);font-size:.85rem;font-weight:560}.notif-empty{margin:0;padding:18px 14px;text-align:center}.notif-row{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 28px 10px 14px;border-bottom:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted)}.notif-row:last-child{border-bottom:none}.notif-row:hover,.notif-row:focus-visible{background:var(--color-surface-2);outline:none}.notif-row.active{background:var(--color-primary-soft)}.notif-icon{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--color-surface-2);color:var(--color-text-muted)}.notif-row.unread .notif-icon{background:var(--color-primary-soft);color:var(--color-primary-text)}.notif-row.danger .notif-icon{background:var(--color-danger-soft);color:var(--color-danger)}.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-title{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-row.unread .notif-title{color:var(--color-text);font-weight:600}.notif-item{font-size:.86rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item .mono{color:var(--color-text-muted);margin-right:4px}.notif-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.notif-time{font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.notif-dot{position:absolute;top:50%;right:11px;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--color-primary)}.notif-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s ease}.notif-row:hover .notif-actions,.notif-row:focus-within .notif-actions{opacity:1}.notif-actions .icon-button{width:26px;height:26px}@media (hover: none){.notif-actions{opacity:1}}.notif-head-actions{display:flex;flex-wrap:wrap;gap:8px}.notif-head-actions .btn-ghost{margin-top:0;display:inline-flex;align-items:center;gap:6px}.notif-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.notif-filters{display:flex;flex-wrap:wrap;gap:6px}.notif-filters .filter-chip{display:inline-flex;align-items:center;gap:5px}@media (max-width: 768px){.notif-filters{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px;scrollbar-width:none}.notif-filters .filter-chip{flex-shrink:0}.notif-head-actions .btn-ghost{padding:7px 12px;font-size:.85rem}}.notif-group{margin-bottom:16px}.notif-day{margin:0 0 6px 2px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.notif-list{padding:0;overflow:hidden}.notif-settings{max-width:640px}.notif-setting{align-items:flex-start;margin-bottom:10px}.notif-setting>span{display:flex;flex-direction:column;gap:2px}.notif-setting-hint{font-size:.82rem}.notif-excerpt{font-size:.8rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-email-master{padding:10px 12px;margin-bottom:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.notif-matrix{display:flex;flex-direction:column}.notif-matrix-head,.notif-matrix-row{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--color-border)}.notif-matrix.with-email .notif-matrix-head,.notif-matrix.with-email .notif-matrix-row{grid-template-columns:minmax(0,1fr) 64px 64px}.notif-matrix-row:last-child{border-bottom:none}.notif-matrix-head{padding-top:0;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.notif-matrix-head>span:not(:first-child),.notif-matrix-row>span:not(:first-child){display:flex;justify-content:center}.notif-matrix-label{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.86rem;color:var(--color-text)}.notif-matrix input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}.mention{padding:0 3px;border-radius:4px;background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:550;white-space:nowrap}.mention.mention-me{background:var(--color-warning-soft);color:var(--color-warning-text)}.mention-popup{position:fixed;z-index:200;width:280px;max-height:280px;overflow-y:auto;padding:6px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:0 12px 32px #00000059}.mention-popup.above{transform:translateY(-100%)}button.mention-option{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:6px 8px;background:transparent;color:var(--color-text);font-size:.86rem;font-weight:450;text-align:left;border-radius:7px}button.mention-option.active{background:var(--color-primary-soft)}button.mention-option.muted-option{color:var(--color-text-muted)}.mention-option-text{display:flex;flex-direction:column;min-width:0}.mention-option-text>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-option-hint{font-size:.74rem;color:var(--color-text-muted)}.profile-header{display:flex;align-items:center;gap:18px;margin-bottom:14px}.profile-header h1{margin:0}.profile-header-text{min-width:0;display:flex;flex-direction:column;gap:2px}.profile-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:.85rem}button.profile-avatar{position:relative;flex-shrink:0;margin:0;padding:0;border-radius:50%;background:none;line-height:0}button.profile-avatar:hover:not(:disabled){background:none}button.profile-avatar:disabled{cursor:default}button.profile-avatar:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#08090e8c;color:#fff;opacity:0;transition:opacity .15s ease}button.profile-avatar:hover .profile-avatar-overlay,button.profile-avatar:focus-visible .profile-avatar-overlay{opacity:1}.profile-avatar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;font-size:.85rem}.profile-avatar-actions .error{margin:0}.modal.avatar-crop{max-width:320px}.avatar-crop-view{position:relative;margin:4px auto 0;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-surface-2);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.avatar-crop-view:active{cursor:grabbing}.avatar-crop-view:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar-crop-view img{position:absolute;max-width:none;pointer-events:none}.avatar-crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 200px #08090e8c;pointer-events:none}.avatar-crop-zoom{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:var(--color-text-muted)}.avatar-crop-zoom input{flex:1;margin:0;padding:0}.avatar-crop-hint{margin:8px 0 0;font-size:.82rem}.avatar-crop-actions{display:flex;gap:8px;margin-top:4px}.profile-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--color-border);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.profile-tab{margin:0;padding:10px 14px;display:inline-flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--color-text-muted);font-weight:560;white-space:nowrap}.profile-tab:hover:not(:disabled){background:none;color:var(--color-text)}.profile-tab.active{color:var(--color-text);border-bottom-color:var(--color-primary)}.profile-body{max-width:820px;display:flex;flex-direction:column;gap:16px}.profile-body>.card{margin:0}.profile-setting{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid var(--color-border)}.profile-setting:first-of-type{border-top:none}.profile-setting-text{min-width:0;display:flex;flex-direction:column;gap:2px}.profile-setting-title{font-weight:560}.profile-setting-hint{font-size:.84rem}.profile-setting-control{flex-shrink:0}.profile-setting-control select{min-width:200px;margin:0}.profile-list-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--color-border)}.profile-list-row:first-of-type{border-top:none}.profile-list-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.profile-setting{flex-direction:column;align-items:stretch;gap:8px}}.switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:11px;background:var(--color-border-strong);transition:background .15s ease}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.theme-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.theme-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.theme-card.active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.theme-card-head{display:flex;align-items:center;gap:8px;font-weight:560}.theme-card-head input{width:auto;margin:0}.theme-preview{display:flex;height:84px;border-radius:8px;overflow:hidden;border:1px solid var(--color-border)}.tp-side{width:30%}.tp-main{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px}.tp-line{height:7px;width:70%;border-radius:4px}.tp-line.wide{width:90%}.tp-line.short{width:45%}.theme-preview-dark .tp-side{background:#17181f}.theme-preview-dark .tp-main{background:#1c1d26}.theme-preview-dark .tp-line{background:#3a3c4a}.theme-preview-light .tp-side{background:#eef0f5}.theme-preview-light .tp-main{background:#fff}.theme-preview-light .tp-line{background:#d5d8e2}.theme-preview-system .tp-side{background:#17181f}.theme-preview-system .tp-main{background:linear-gradient(90deg,#1c1d26 50%,#fff 50%)}.theme-preview-system .tp-line{background:#8f92a6}.recent-bar{display:flex;gap:6px;margin:-12px 0 16px;padding-bottom:4px;overflow-x:auto;scrollbar-width:thin}.recent-tab{flex:0 0 auto;display:inline-flex;align-items:center;max-width:220px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.8rem}.recent-tab a{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 4px 5px 9px;color:var(--color-text-muted);text-decoration:none}.recent-tab a:hover{color:var(--color-text);text-decoration:none}.recent-tab.active{border-color:var(--color-primary)}.recent-tab.active a{color:var(--color-text)}.recent-tab-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-tab button{margin:0;padding:4px 6px;background:none;color:var(--color-text-faint);display:inline-flex}.recent-tab button:hover:not(:disabled){background:none;color:var(--color-text)}@media (max-width: 768px){.recent-bar{margin-top:0}}html.density-compact .item-table td{padding-top:4px;padding-bottom:4px}html.density-compact .wi-card{gap:6px;padding:9px 10px}html.density-compact .wi-row{padding-top:7px;padding-bottom:7px}html.density-compact .notif-row,html.density-compact .draft-row{padding-top:6px;padding-bottom:6px}.error-text{color:var(--color-danger)}.modal-actions{display:flex;gap:8px;margin-top:16px}.modal-actions button{margin-top:0}.rule-list{padding:4px 0}.rule-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--color-border)}.rule-row:last-child{border-bottom:none}.rule-row.inactive .rule-main{opacity:.55}.rule-order{display:flex;flex-direction:column}.rule-order .icon-button{width:22px;height:18px}button.rule-main{flex:1;min-width:0;margin:0;padding:2px 0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;color:inherit;text-align:left;font-weight:400}button.rule-main:hover:not(:disabled){background:none}.rule-name{font-weight:600;color:var(--color-text)}.rule-summary{font-size:.83rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-error{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--color-danger)}.rule-stats{flex-shrink:0;font-size:.8rem}.modal.rule-editor{max-width:760px}.rule-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.rule-section h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:.92rem}.rule-section h3 select{width:auto;margin:0}.rule-hint{margin:4px 0 0;font-size:.82rem}.rule-time{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.rule-time input[type=number]{width:90px}.rule-time select,.rule-time input{margin:0;width:auto}.rule-time .rule-hint{flex-basis:100%}.rule-item{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px}.rule-item-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.rule-item-body>select{width:auto;min-width:150px;margin:0}.rule-item-body>input,.rule-item-body>textarea{flex:1;min-width:200px;margin:0}.rule-item-body>textarea{flex-basis:100%}.multi-pick,.rule-notify{flex:1;min-width:200px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.multi-pick select,.rule-notify input{width:auto;margin:0}.rule-notify input{flex:1;min-width:180px}.rule-run{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--color-border)}.rule-run-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:.86rem}.rule-run-time{flex-shrink:0;font-size:.78rem}.macro-picker{position:relative}.macro-popover{position:absolute;bottom:calc(100% + 6px);left:0;z-index:40;width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;max-height:420px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.macro-popover>input{margin:8px;width:auto}.macro-list{flex:1;min-height:0;overflow-y:auto}.macro-empty{margin:0;padding:12px}button.macro-item{margin:0;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:0;background:none;color:var(--color-text);text-align:left;font-weight:400}button.macro-item.active,button.macro-item:hover:not(:disabled){background:var(--color-surface-2)}.macro-item-head{display:flex;align-items:center;gap:6px}.macro-item-body{font-size:.82rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.macro-item-actions{font-size:.78rem;color:var(--color-primary-text)}.macro-foot{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--color-border);font-size:.83rem}.macro-pending{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:.83rem}.macro-section{margin-bottom:18px}button.macro-row-main{flex:1;min-width:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;color:inherit;text-align:left;font-weight:400}button.macro-row-main:hover:not(:disabled),button.macro-row-main:disabled{background:none;color:inherit}.remote-steps{margin:8px 0;padding-left:20px;font-size:.9rem}.remote-steps li{margin:4px 0}.remote-card{margin-bottom:14px}.remote-card>.top-bar{flex-wrap:wrap;align-items:flex-start}.remote-actions{display:flex;flex-wrap:wrap;gap:8px}.remote-actions button{margin-top:0}.btn-ghost.btn-danger{color:var(--color-danger-text);border-color:var(--color-danger)}.btn-ghost.btn-danger:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger-text)}button.btn-danger-solid{background:#b91c1c;color:#fff}button.btn-danger-solid:hover:not(:disabled){background:#991b1b}.remote-notice{display:flex;align-items:flex-start;gap:8px;margin:10px 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:.86rem;line-height:1.45}.remote-notice svg{flex:none;margin-top:2px}.remote-notice-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.remote-notice-info{background:var(--color-primary-soft);color:var(--color-primary-text)}.remote-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 20px;margin:14px 0 0}.remote-meta dt{font-size:.75rem;color:var(--color-text-faint)}.remote-meta dd{margin:2px 0 0;font-size:.88rem;overflow-wrap:anywhere}.remote-meta-wide{grid-column:1 / -1}.remote-chips{display:flex;flex-wrap:wrap;gap:6px}.remote-features{min-width:0;margin:14px 0 6px;padding:10px 14px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.remote-features legend{padding:0 6px;font-size:.86rem;font-weight:550}.remote-code{width:100%;font-family:var(--font-mono);font-size:.82rem;word-break:break-all;resize:none}.remote-pairing-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 12px}.remote-pairing-row button{margin-top:0}.remote-pairing-row .muted{display:inline-flex;align-items:center;gap:4px}.remote-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.remote-filters select{flex:0 1 220px;width:auto;min-width:0}.remote-device-card{padding:0;overflow-x:auto}.remote-device-name{font-weight:600;color:var(--color-text);overflow-wrap:anywhere}a.remote-device-name:hover{color:var(--color-primary-text)}.remote-device-code{display:block;margin-top:2px;font-size:.76rem;color:var(--color-text-faint)}.remote-device-table td .chip{font-size:.74rem}@media (max-width: 640px){.remote-device-table thead{display:none}.remote-device-table,.remote-device-table tbody{display:block}.remote-device-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 14px;border-bottom:1px solid var(--color-border)}.remote-device-table tr:last-child{border-bottom:none}.remote-device-table td{display:block;padding:0;border:none;white-space:normal}.remote-device-table td.rd-name{flex:1 0 100%}.remote-device-table td.rd-group{font-size:.82rem;margin-right:auto}.remote-device-table .rd-opt{display:none}}.remote-panel-empty{margin:0;font-size:.84rem}.remote-device-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:.84rem}.remote-device-row+.remote-device-row{border-top:1px solid var(--color-border)}.remote-device-icon{flex:none;margin-top:2px;color:var(--color-text-muted)}.remote-device-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.remote-device-sub{font-size:.78rem;color:var(--color-text-muted);overflow-wrap:anywhere}.remote-device-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.remote-device-chips .chip{font-size:.72rem}button.remote-device-remove{flex:none;width:24px;height:24px}button.remote-device-link{flex:none;margin:0;padding:4px 10px;font-size:.8rem}button.remote-device-launch{flex:none;align-self:center;margin:0;padding:4px 10px;font-size:.8rem;white-space:nowrap}.remote-launch-hint{font-size:.78rem;margin:6px 0 0}.remote-sessions{margin-top:10px}.remote-session-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border)}.remote-session-row:last-child{border-bottom:none}.remote-suggestions{margin-top:8px;padding:8px 10px 2px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm)}.remote-suggestions-title{font-size:.75rem;color:var(--color-text-faint)}.remote-suggestions .remote-device-row{align-items:center}.remote-picker input[type=search]{margin:0}.remote-picker-results{display:flex;flex-direction:column;gap:4px;margin-top:8px}.remote-picker-results button{display:flex;align-items:center;gap:10px;margin:0;padding:8px 10px;border-radius:8px;background:var(--color-surface-2);color:var(--color-text);font-weight:450;font-size:.86rem;text-align:left}.remote-picker-results button:hover:not(:disabled){background:var(--color-neutral-soft)}.remote-picker-results button:disabled{background:var(--color-surface-2);color:var(--color-text-muted)}.remote-picker-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.remote-picker-name{font-weight:600;overflow-wrap:anywhere}.remote-picker-sub{font-size:.78rem;overflow-wrap:anywhere}.remote-picker-flag{flex:none;font-size:.75rem}.remote-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#8f92a6}.remote-dot.online{background:#34d399}.remote-meta-side{grid-template-columns:1fr;gap:10px;margin-top:0}.remote-user-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.86rem}.remote-user-row+.remote-user-row{border-top:1px solid var(--color-border)}.remote-user-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.remote-user-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600}.remote-user-name .chip{font-size:.7rem}button.remote-user-confirm{display:inline-flex;align-items:center;align-self:flex-start;min-height:24px;margin-top:0;font-size:.8rem}button.remote-user-confirm:disabled{opacity:.6;cursor:default}.remote-user-add{margin-top:8px}.remote-user-add input[type=search]{margin:0}.remote-user-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.remote-user-actions button{margin-top:0}.item-table tbody tr.row-overdue>td:first-child,.compact-list>li.row-overdue{box-shadow:inset 3px 0 0 var(--color-danger)}.item-table tbody tr.row-urgent>td:first-child,.compact-list>li.row-urgent{box-shadow:inset 3px 0 0 var(--color-orange-text)}.search-side-hint{margin:var(--space-3) var(--space-2) 0;font-size:var(--text-xs);line-height:1.4}.compact-list{margin:0;padding:0;list-style:none}.compact-list>li+li{border-top:1px solid var(--color-border)}.compact-list>li.done .compact-subject{color:var(--color-text-muted);text-decoration:line-through}.compact-row{display:flex;flex-direction:column;gap:6px;padding:10px var(--space-3);color:var(--color-text);text-decoration:none}.compact-row:hover{background:var(--color-surface-2);text-decoration:none}.compact-line{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.compact-number{flex:none;color:var(--color-text-muted);font-size:var(--text-xs)}.compact-subject{min-width:0;overflow:hidden;font-size:var(--text-base);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.compact-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--text-sm)}.compact-person{color:var(--color-text-muted)}.compact-date{margin-left:auto;font-size:var(--text-xs)}.linked-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm)}.linked-note{margin:var(--space-2) 0 0;font-size:var(--text-sm)}.linked-more{display:inline-block;margin-top:var(--space-2);font-size:var(--text-sm)}.collision-note{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:8px 12px;border-radius:var(--radius-sm);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:var(--text-sm)}.collision-note .link-button{margin-left:auto}.auth-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:100vh;padding:var(--space-4);background:var(--color-bg)}.auth-unavailable .state-block{max-width:420px}.list-cap-note{margin:0;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm)}.requester-card{display:flex;align-items:flex-start;gap:var(--space-3)}.requester-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--text-sm)}.requester-text a,.requester-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.requester-text strong{font-size:var(--text-base)}.palette-backdrop{padding-top:12vh}.palette{display:flex;flex-direction:column;width:100%;max-width:640px;max-height:70vh;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.palette-input{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.palette-input input{flex:1;min-width:0;margin:0;padding:6px 0;border:none;background:transparent;color:var(--color-text);font-size:var(--text-md);box-shadow:none;outline:none}.palette-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) 0}.palette-group{padding:var(--space-2) var(--space-4) var(--space-1);color:var(--color-text-faint);font-size:var(--text-xs);font-weight:600}.palette-option{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-4);cursor:pointer}.palette-option.is-active{background:var(--color-primary-soft);box-shadow:inset 3px 0 0 var(--color-primary)}.palette-label{overflow:hidden;color:var(--color-text);font-size:var(--text-base);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.palette-sub{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.palette-status{margin:0;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.palette-error{color:var(--color-danger-text)}.palette-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs)}.palette-foot-hint{margin-left:auto}.shortcut-help h2{margin:0 0 var(--space-1);font-size:var(--text-lg)}.shortcut-table{width:100%;margin-top:var(--space-3);border-collapse:collapse;font-size:var(--text-sm)}.shortcut-table td{padding:6px var(--space-2) 6px 0;border-bottom:1px solid var(--color-border);vertical-align:top}.shortcut-table td:first-child{width:104px;white-space:nowrap}.modal.shortcut-help{max-width:520px}@media (max-width: 640px){.palette-backdrop{padding-top:var(--space-4)}.palette-foot-hint{display:none}}
