@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gray-0:#fff;--gray-25:#fafafb;--gray-50:#f5f5f7;--gray-100:#edeef1;--gray-150:#e4e5e9;--gray-200:#d9dbe0;--gray-300:#c2c5cc;--gray-400:#9a9ea8;--gray-500:#737783;--gray-600:#575b66;--gray-700:#3f424b;--gray-800:#2a2c33;--gray-850:#1f2127;--gray-900:#17181d;--gray-950:#101115;--indigo-50:#eef0ff;--indigo-100:#e0e3ff;--indigo-200:#c5caff;--indigo-300:#a1a6fc;--indigo-400:#7d7ff7;--indigo-500:#5f5cf0;--indigo-600:#4f46e5;--indigo-700:#4338ca;--indigo-800:#3730a3;--indigo-900:#2a2678;--bg:var(--gray-50);--bg-subtle:var(--gray-25);--surface:var(--gray-0);--surface-raised:var(--gray-0);--surface-sunken:var(--gray-100);--surface-hover:var(--gray-100);--surface-active:var(--gray-150);--border:var(--gray-150);--border-strong:var(--gray-200);--border-input:var(--gray-300);--text:var(--gray-900);--text-muted:var(--gray-600);--text-subtle:var(--gray-500);--text-disabled:var(--gray-400);--text-on-accent:#fff;--accent:var(--indigo-600);--accent-hover:var(--indigo-700);--accent-active:var(--indigo-800);--accent-soft:var(--indigo-50);--accent-soft-hover:var(--indigo-100);--accent-soft-text:var(--indigo-700);--accent-text:var(--indigo-600);--focus-ring:var(--indigo-500);--focus-halo:#4f46e538;--success:#1a8a4a;--success-soft:#ddf5e6;--success-text:#146b39;--warning:#e5a400;--warning-soft:#fff1c7;--warning-text:#7a4f00;--danger:#d63339;--danger-hover:#b8262c;--danger-soft:#fde3e3;--danger-text:#b4232a;--info-soft:#e0ecff;--info-text:#1d4fb8;--due-soon-bg:#fff1c7;--due-soon-fg:#7a4f00;--due-overdue-bg:#fde3e3;--due-overdue-fg:#b4232a;--due-done-bg:#ddf5e6;--due-done-fg:#146b39;--label-green-bg:#cff3dd;--label-green-fg:#155c35;--label-green-solid:#22a55b;--label-yellow-bg:#fbefb5;--label-yellow-fg:#6b5300;--label-yellow-solid:#e2b203;--label-orange-bg:#fdddc4;--label-orange-fg:#8a3b07;--label-orange-solid:#f0802a;--label-red-bg:#fdd6d3;--label-red-fg:#9b1c1c;--label-red-solid:#e5484d;--label-purple-bg:#e9dcfc;--label-purple-fg:#5b2a9e;--label-purple-solid:#9d5ce6;--label-blue-bg:#d6e4fe;--label-blue-fg:#1b4aae;--label-blue-solid:#3b7cf0;--label-sky-bg:#cdeff8;--label-sky-fg:#0a5770;--label-sky-solid:#22a9cf;--label-lime-bg:#e2f5c0;--label-lime-fg:#3e5e09;--label-lime-solid:#82c41c;--label-pink-bg:#fbd9ec;--label-pink-fg:#93245e;--label-pink-solid:#e255a1;--label-gray-bg:#e5e6ea;--label-gray-fg:#3e414a;--label-gray-solid:#8b8e98;--avatar-1:#4f46e5;--avatar-2:#0f7f74;--avatar-3:#c2410c;--avatar-4:#be185d;--avatar-5:#6d28d9;--avatar-6:#1d6fd1;--avatar-7:#4d7c0f;--avatar-8:#57534e;--board-aurora:linear-gradient(135deg, #4f46e5 0%, #7c3aed 45%, #db2777 100%);--board-ocean:linear-gradient(135deg, #0ea5e9 0%, #2563eb 55%, #1e3a8a 100%);--board-forest:linear-gradient(135deg, #10b981 0%, #047857 60%, #064e3b 100%);--board-sunset:linear-gradient(135deg, #f97316 0%, #e11d48 60%, #9d174d 100%);--board-peach:linear-gradient(135deg, #fdba74 0%, #fb7185 55%, #c026d3 100%);--board-mint:linear-gradient(135deg, #5eead4 0%, #22c55e 50%, #15803d 100%);--board-dusk:linear-gradient(160deg, #1e1b4b 0%, #4338ca 50%, #a78bfa 100%);--board-graphite:linear-gradient(135deg, #475569 0%, #1f2937 60%, #0b0f17 100%);--board-indigo:#4f46e5;--board-blue:#1d6fd1;--board-teal:#0f766e;--board-green:#2f855a;--board-orange:#c2570c;--board-red:#c53030;--board-purple:#7e3fbf;--board-slate:#475569;--cover-photo-1:linear-gradient(135deg, #fde68a 0%, #f59e0b 40%, #b45309 100%);--cover-photo-2:linear-gradient(135deg, #a5b4fc 0%, #6366f1 50%, #312e81 100%);--cover-photo-3:linear-gradient(135deg, #99f6e4 0%, #14b8a6 50%, #134e4a 100%);--cover-photo-4:linear-gradient(135deg, #fbcfe8 0%, #ec4899 55%, #831843 100%);--cover-photo-5:linear-gradient(160deg, #e0f2fe 0%, #7dd3fc 40%, #0369a1 100%);--list-bg:#f1f2f5e0;--list-border:#ffffff80;--board-header-bg:#0c0d1252;--board-header-text:#fff;--glass-btn:#ffffff29;--glass-btn-hover:#ffffff42;--glass-btn-active:#ffffff57;--overlay-bg:#1011157a;--blur:14px;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--lh-tight:1.25;--lh-base:1.45;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-0:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:16px;--r-full:999px;--shadow-xs:0 1px 1px #1011150d;--shadow-sm:0 1px 2px #1011150f, 0 1px 3px #10111514;--shadow-md:0 4px 10px -2px #10111514, 0 2px 4px -2px #1011150f;--shadow-lg:0 12px 28px -6px #10111529, 0 4px 10px -4px #10111514;--shadow-xl:0 24px 56px -12px #10111547, 0 8px 18px -8px #1011151f;--shadow-card:0 1px 0 #1011150f, 0 1px 2px #10111514;--shadow-card-hover:0 1px 0 #1011150f, 0 4px 12px -2px #10111524;--shadow-drag:0 18px 36px -8px #10111559, 0 6px 12px -4px #10111533;--topbar-h:52px;--sidebar-w:256px;--list-w:280px;--drawer-w:352px;--hit-min:40px;--z-base:0;--z-raised:1;--z-sticky:10;--z-header:20;--z-drawer:30;--z-dropdown:40;--z-drag:45;--z-overlay:50;--z-modal:60;--z-popover:70;--z-toast:80;--z-tooltip:90;--dur-instant:80ms;--dur-fast:.14s;--dur-base:.18s;--dur-slow:.26s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--gray-950);--bg-subtle:#131418;--surface:var(--gray-900);--surface-raised:var(--gray-850);--surface-sunken:#0c0d10;--surface-hover:#24262d;--surface-active:#2d2f37;--border:var(--gray-800);--border-strong:#33363e;--border-input:#3f424b;--text:#ecedf0;--text-muted:#a6a9b3;--text-subtle:#8a8e99;--text-disabled:#5d616c;--accent:var(--indigo-500);--accent-hover:#6f6cf4;--accent-active:var(--indigo-400);--accent-soft:#5f5cf02e;--accent-soft-hover:#5f5cf047;--accent-soft-text:#b8bbff;--accent-text:#9b9dfb;--focus-ring:#8d8ffa;--focus-halo:#7d7ff74d;--success:#2fb36a;--success-soft:#143a26;--success-text:#8fe0af;--warning:#f2c94c;--warning-soft:#3d3112;--warning-text:#f5cf6b;--danger:#e5484d;--danger-hover:#f06367;--danger-soft:#4a1d20;--danger-text:#ff9d9d;--info-soft:#172e57;--info-text:#9ec0ff;--due-soon-bg:#3d3112;--due-soon-fg:#f5cf6b;--due-overdue-bg:#4a1d20;--due-overdue-fg:#ff9d9d;--due-done-bg:#143a26;--due-done-fg:#8fe0af;--label-green-bg:#143d27;--label-green-fg:#8fe3b0;--label-yellow-bg:#3e3410;--label-yellow-fg:#f2d66b;--label-orange-bg:#45250f;--label-orange-fg:#fdb27a;--label-red-bg:#4a1b1d;--label-red-fg:#ff9c9c;--label-purple-bg:#33204f;--label-purple-fg:#cfb2fa;--label-blue-bg:#172e57;--label-blue-fg:#9ec0ff;--label-sky-bg:#0f3743;--label-sky-fg:#86d8ee;--label-lime-bg:#2a3a0f;--label-lime-fg:#bfe57a;--label-pink-bg:#47193a;--label-pink-fg:#f7a6d2;--label-gray-bg:#2c2e35;--label-gray-fg:#c3c6cf;--list-bg:#101115cc;--list-border:#ffffff0f;--board-header-bg:#08090c73;--overlay-bg:#0009;--shadow-xs:0 1px 1px #0000004d;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 4px 12px -2px #00000080, 0 2px 4px -2px #0006;--shadow-lg:0 14px 30px -6px #0009, 0 0 0 1px #ffffff0a;--shadow-xl:0 26px 60px -12px #000000b3, 0 0 0 1px #ffffff0d;--shadow-card:0 1px 0 #0006, 0 0 0 1px #ffffff0a;--shadow-card-hover:0 4px 14px -2px #0009, 0 0 0 1px #ffffff14;--shadow-drag:0 20px 40px -8px #000000bf, 0 0 0 1px #ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--gray-950);--bg-subtle:#131418;--surface:var(--gray-900);--surface-raised:var(--gray-850);--surface-sunken:#0c0d10;--surface-hover:#24262d;--surface-active:#2d2f37;--border:var(--gray-800);--border-strong:#33363e;--border-input:#3f424b;--text:#ecedf0;--text-muted:#a6a9b3;--text-subtle:#8a8e99;--text-disabled:#5d616c;--accent:var(--indigo-500);--accent-hover:#6f6cf4;--accent-active:var(--indigo-400);--accent-soft:#5f5cf02e;--accent-soft-hover:#5f5cf047;--accent-soft-text:#b8bbff;--accent-text:#9b9dfb;--focus-ring:#8d8ffa;--focus-halo:#7d7ff74d;--success:#2fb36a;--success-soft:#143a26;--success-text:#8fe0af;--warning:#f2c94c;--warning-soft:#3d3112;--warning-text:#f5cf6b;--danger:#e5484d;--danger-hover:#f06367;--danger-soft:#4a1d20;--danger-text:#ff9d9d;--info-soft:#172e57;--info-text:#9ec0ff;--due-soon-bg:#3d3112;--due-soon-fg:#f5cf6b;--due-overdue-bg:#4a1d20;--due-overdue-fg:#ff9d9d;--due-done-bg:#143a26;--due-done-fg:#8fe0af;--label-green-bg:#143d27;--label-green-fg:#8fe3b0;--label-yellow-bg:#3e3410;--label-yellow-fg:#f2d66b;--label-orange-bg:#45250f;--label-orange-fg:#fdb27a;--label-red-bg:#4a1b1d;--label-red-fg:#ff9c9c;--label-purple-bg:#33204f;--label-purple-fg:#cfb2fa;--label-blue-bg:#172e57;--label-blue-fg:#9ec0ff;--label-sky-bg:#0f3743;--label-sky-fg:#86d8ee;--label-lime-bg:#2a3a0f;--label-lime-fg:#bfe57a;--label-pink-bg:#47193a;--label-pink-fg:#f7a6d2;--label-gray-bg:#2c2e35;--label-gray-fg:#c3c6cf;--list-bg:#101115cc;--list-border:#ffffff0f;--board-header-bg:#08090c73;--overlay-bg:#0009;--shadow-xs:0 1px 1px #0000004d;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 4px 12px -2px #00000080, 0 2px 4px -2px #0006;--shadow-lg:0 14px 30px -6px #0009, 0 0 0 1px #ffffff0a;--shadow-xl:0 26px 60px -12px #000000b3, 0 0 0 1px #ffffff0d;--shadow-card:0 1px 0 #0006, 0 0 0 1px #ffffff0a;--shadow-card-hover:0 4px 14px -2px #0009, 0 0 0 1px #ffffff14;--shadow-drag:0 20px 40px -8px #000000bf, 0 0 0 1px #ffffff14}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";margin:0}h1,h2,h3,h4,h5,p{margin:0}h1{font-size:var(--fs-3xl);line-height:var(--lh-tight);font-weight:var(--fw-bold);letter-spacing:-.02em}h2{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:-.015em}h3{font-size:var(--fs-lg);line-height:var(--lh-tight);font-weight:var(--fw-semibold)}h4{font-size:var(--fs-base);font-weight:var(--fw-semibold)}a{color:var(--accent-text);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block}ul,ol{margin:0;padding:0;list-style:none}hr{border:0;border-top:1px solid var(--border);margin:var(--sp-3) 0}::selection{background:var(--accent-soft-hover)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}mark,.hl{background:var(--warning-soft);color:inherit;box-shadow:inset 0 -1px 0 var(--warning);border-radius:3px;padding:0 2px}.kbd{min-width:20px;height:20px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-xs);border-bottom-width:2px;align-items:center;padding:0 5px;display:inline-flex}[data-lucide],svg.lucide{stroke-width:2px;flex-shrink:0;width:16px;height:16px;display:inline-block}.i-12{width:12px!important;height:12px!important}.i-14{width:14px!important;height:14px!important}.i-18{width:18px!important;height:18px!important}.i-20{width:20px!important;height:20px!important}.i-24{width:24px!important;height:24px!important}.i-32{stroke-width:1.6px;width:32px!important;height:32px!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.row{align-items:center;gap:var(--sp-2);display:flex}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.row--top{align-items:flex-start}.stack{gap:var(--sp-3);flex-direction:column;display:flex}.stack--sm{gap:var(--sp-2)}.stack--lg{gap:var(--sp-5)}.grow{flex:auto;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-strong{font-weight:var(--fw-semibold)}.text-danger{color:var(--danger-text)}.text-success{color:var(--success-text)}.divider-v{opacity:.2;width:1px;margin:4px var(--sp-1);background:currentColor;align-self:stretch}.btn{--btn-h:32px;height:var(--btn-h);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-instant) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 12px;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-hover);text-decoration:none}.btn:active{background:var(--surface-active);transform:translateY(.5px)scale(.985)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn--primary{background:var(--accent);color:var(--text-on-accent);border-color:#0000;box-shadow:0 1px 2px #3128a04d,inset 0 1px #ffffff1f}.btn--primary:hover{background:var(--accent-hover)}.btn--primary:active{background:var(--accent-active)}.btn--soft{background:var(--accent-soft);color:var(--accent-soft-text);box-shadow:none;border-color:#0000}.btn--soft:hover{background:var(--accent-soft-hover)}.btn--ghost{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--surface-hover);color:var(--text)}.btn--ghost:active{background:var(--surface-active)}.btn--ghost[aria-pressed=true],.btn--ghost.is-active{background:var(--accent-soft);color:var(--accent-soft-text)}.btn--danger{background:var(--danger);color:#fff;border-color:#0000;box-shadow:0 1px 2px #96141e4d}.btn--danger:hover{background:var(--danger-hover)}.btn--danger-outline{border-color:var(--danger);color:var(--danger-text);box-shadow:none;background:0 0}.btn--danger-outline:hover{background:var(--danger-soft)}.btn--glass{background:var(--glass-btn);color:#fff;box-shadow:none;border-color:#0000}.btn--glass:hover{background:var(--glass-btn-hover)}.btn--glass:active,.btn--glass.is-active{background:var(--glass-btn-active)}.btn--glass.is-active{box-shadow:inset 0 0 0 1px #fff6}.btn--light{color:var(--gray-900);background:#fff;border-color:#0000}.btn--light:hover{background:var(--gray-100)}.btn--sm{--btn-h:28px;font-size:var(--fs-sm);border-radius:var(--r-sm);padding:0 10px}.btn--lg{--btn-h:40px;font-size:var(--fs-base);padding:0 16px}.btn--icon{width:var(--btn-h);padding:0}.btn--block{width:100%}.btn--left{justify-content:flex-start}.btn .badge{margin-left:2px}.icon-btn{border-radius:var(--r-md);width:32px;height:32px;color:var(--text-muted);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn:active{background:var(--surface-active)}.icon-btn.is-active{background:var(--accent-soft);color:var(--accent-soft-text)}.icon-btn--sm{border-radius:var(--r-sm);width:28px;height:28px}.icon-btn--lg{width:40px;height:40px}.icon-btn--on-dark{color:#ffffffe6}.icon-btn--on-dark:hover{background:var(--glass-btn-hover);color:#fff}.icon-btn__dot{border-radius:var(--r-full);background:var(--danger);color:#fff;min-width:16px;height:16px;font-size:10px;font-weight:var(--fw-bold);text-align:center;box-shadow:0 0 0 2px var(--surface);padding:0 4px;line-height:16px;position:absolute;top:5px;right:5px;transform:translate(40%,-30%)}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.field__hint{font-size:var(--fs-sm);color:var(--text-subtle)}.field__error{font-size:var(--fs-sm);color:var(--danger-text);align-items:center;gap:6px;display:flex}.field__row{justify-content:space-between;align-items:baseline;display:flex}.input{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);width:100%;height:36px;color:var(--text);font-size:var(--fs-base);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast);padding:0 10px}.input::placeholder{color:var(--text-subtle)}.input:hover{border-color:var(--gray-400)}.input:focus,.input:focus-visible,.input.is-focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-halo);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #d6333933}.input:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.input--sm{height:30px;font-size:var(--fs-md);border-radius:var(--r-sm)}.input--lg{height:44px;font-size:var(--fs-lg)}textarea.input{height:auto;min-height:72px;line-height:var(--lh-base);resize:vertical;padding:8px 10px}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23737783' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.input-group{align-items:center;display:flex;position:relative}.input-group>[data-lucide],.input-group>svg.lucide{color:var(--text-subtle);pointer-events:none;position:absolute;left:10px}.input-group>.input{padding-left:34px}.input-group__end{align-items:center;gap:4px;display:flex;position:absolute;right:6px}.input-group--action>.input{padding-right:96px}.checkbox{align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-base);min-height:24px;display:inline-flex}.checkbox input{appearance:none;border:1.5px solid var(--border-input);border-radius:var(--r-xs);background:var(--surface);cursor:pointer;width:16px;height:16px;transition:background-color var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);flex-shrink:0;place-content:center;margin:0;display:grid}.checkbox input:after{content:"";width:9px;height:5px;transition:transform var(--dur-fast) var(--ease-spring);border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(-45deg)translate(1px,-1px)scale(0)}.checkbox input:checked{background:var(--accent);border-color:var(--accent)}.checkbox input:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.checkbox input:hover{border-color:var(--accent)}.checkbox input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.checkbox input:disabled{opacity:.5;cursor:not-allowed}.checkbox--success input:checked{background:var(--success);border-color:var(--success)}.checkbox input[type=radio]{border-radius:50%}.checkbox input[type=radio]:after{background:#fff;border:0;border-radius:50%;width:6px;height:6px;transform:scale(0)}.checkbox input[type=radio]:checked:after{transform:scale(1)}.switch{align-items:center;gap:var(--sp-2);cursor:pointer;display:inline-flex;position:relative}.switch input{appearance:none;border-radius:var(--r-full);background:var(--gray-300);cursor:pointer;width:34px;height:20px;transition:background-color var(--dur-base) var(--ease-out);flex-shrink:0;margin:0;position:relative}.switch input:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(14px)}.switch input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:root[data-theme=dark] .switch input:not(:checked){background:var(--gray-700)}.choice{gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast), background-color var(--dur-fast), box-shadow var(--dur-fast);align-items:flex-start;display:flex;position:relative}.choice:hover{border-color:var(--gray-400)}.choice.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.choice__icon{border-radius:var(--r-md);background:var(--surface-sunken);width:32px;height:32px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid}.choice.is-selected .choice__icon{background:var(--accent);color:#fff}.choice:has(input:checked) .choice__icon{background:var(--accent);color:#fff}.choice__title{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.choice__desc{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.avatar{--avatar-size:28px;width:var(--avatar-size);height:var(--avatar-size);background:var(--avatar-1);color:#fff;font-size:calc(var(--avatar-size) * .4);font-weight:var(--fw-semibold);letter-spacing:.01em;-webkit-user-select:none;user-select:none;background-size:cover;border-radius:50%;flex-shrink:0;place-items:center;line-height:1;display:inline-grid;position:relative}.avatar--xs{--avatar-size:20px;font-size:9px}.avatar--sm{--avatar-size:24px}.avatar--md{--avatar-size:32px}.avatar--lg{--avatar-size:40px}.avatar--xl{--avatar-size:64px}.avatar--c1{background:var(--avatar-1)}.avatar--c2{background:var(--avatar-2)}.avatar--c3{background:var(--avatar-3)}.avatar--c4{background:var(--avatar-4)}.avatar--c5{background:var(--avatar-5)}.avatar--c6{background:var(--avatar-6)}.avatar--c7{background:var(--avatar-7)}.avatar--c8{background:var(--avatar-8)}.avatar--more{background:var(--surface-sunken);color:var(--text-muted);font-weight:var(--fw-semibold)}.avatar--ghost{border:1.5px dashed var(--border-input);color:var(--text-subtle);background:0 0}.avatar__status{background:var(--success);width:30%;min-width:8px;height:30%;min-height:8px;box-shadow:0 0 0 2px var(--avatar-ring,var(--surface));border-radius:50%;position:absolute;bottom:-1px;right:-1px}.avatar.is-away .avatar__status{background:var(--gray-400)}.avatar--button{cursor:pointer;transition:box-shadow var(--dur-fast);border:0;padding:0}.avatar--button:hover{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--border-strong)}.avatar-stack{flex-direction:row;align-items:center;display:inline-flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--avatar-ring,var(--surface))}.avatar-stack .avatar+.avatar{margin-left:-6px}.avatar-stack--xs .avatar+.avatar{margin-left:-4px}.avatar-stack--on-dark{--avatar-ring:#1e1e28e6}.label-chip{--chip-bg:var(--label-gray-bg);--chip-fg:var(--label-gray-fg);--chip-solid:var(--label-gray-solid);border-radius:var(--r-xs);background:var(--chip-bg);max-width:100%;min-height:20px;color:var(--chip-fg);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;transition:filter var(--dur-fast), max-width var(--dur-base) var(--ease-out), min-height var(--dur-base), padding var(--dur-base);border:0;align-items:center;gap:4px;padding:1px 8px;line-height:18px;display:inline-flex;overflow:hidden}button.label-chip{cursor:pointer}button.label-chip:hover{filter:brightness(.96)saturate(1.1)}.label-chip--lg{min-height:32px;font-size:var(--fs-md);border-radius:var(--r-sm);padding:6px 12px}.label-chip--dot:before{content:"";background:var(--chip-solid);border-radius:50%;flex-shrink:0;width:8px;height:8px}.label-chip--green{--chip-bg:var(--label-green-bg);--chip-fg:var(--label-green-fg);--chip-solid:var(--label-green-solid)}.label-chip--yellow{--chip-bg:var(--label-yellow-bg);--chip-fg:var(--label-yellow-fg);--chip-solid:var(--label-yellow-solid)}.label-chip--orange{--chip-bg:var(--label-orange-bg);--chip-fg:var(--label-orange-fg);--chip-solid:var(--label-orange-solid)}.label-chip--red{--chip-bg:var(--label-red-bg);--chip-fg:var(--label-red-fg);--chip-solid:var(--label-red-solid)}.label-chip--purple{--chip-bg:var(--label-purple-bg);--chip-fg:var(--label-purple-fg);--chip-solid:var(--label-purple-solid)}.label-chip--blue{--chip-bg:var(--label-blue-bg);--chip-fg:var(--label-blue-fg);--chip-solid:var(--label-blue-solid)}.label-chip--sky{--chip-bg:var(--label-sky-bg);--chip-fg:var(--label-sky-fg);--chip-solid:var(--label-sky-solid)}.label-chip--lime{--chip-bg:var(--label-lime-bg);--chip-fg:var(--label-lime-fg);--chip-solid:var(--label-lime-solid)}.label-chip--pink{--chip-bg:var(--label-pink-bg);--chip-fg:var(--label-pink-fg);--chip-solid:var(--label-pink-solid)}.label-chip--gray{--chip-bg:var(--label-gray-bg);--chip-fg:var(--label-gray-fg);--chip-solid:var(--label-gray-solid)}.label-chip--strip,.labels-collapsed .card__labels .label-chip{border-radius:var(--r-full);background:var(--chip-solid);color:#0000;width:40px;max-width:40px;height:8px;min-height:8px;padding:0;font-size:0}.swatch{border-radius:var(--r-sm);background:var(--sw,var(--label-gray-solid));cursor:pointer;width:100%;height:32px;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast);border:0;position:relative}.swatch:hover{transform:scale(1.05)}.swatch.is-selected{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--accent)}.swatch.is-selected:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;margin:auto;position:absolute;inset:0;transform:rotate(-45deg)translate(1px,-1px)}.swatch--none{background:var(--surface-sunken);border:1px dashed var(--border-input)}.swatch--green{--sw:var(--label-green-solid)}.swatch--yellow{--sw:var(--label-yellow-solid)}.swatch--orange{--sw:var(--label-orange-solid)}.swatch--red{--sw:var(--label-red-solid)}.swatch--purple{--sw:var(--label-purple-solid)}.swatch--blue{--sw:var(--label-blue-solid)}.swatch--sky{--sw:var(--label-sky-solid)}.swatch--lime{--sw:var(--label-lime-solid)}.swatch--pink{--sw:var(--label-pink-solid)}.swatch--gray{--sw:var(--label-gray-solid)}.badge{border-radius:var(--r-full);background:var(--surface-sunken);height:20px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;gap:4px;padding:0 7px;line-height:1;display:inline-flex}.badge--accent{background:var(--accent-soft);color:var(--accent-soft-text)}.badge--solid{background:var(--accent);color:#fff}.badge--success{background:var(--success-soft);color:var(--success-text)}.badge--warning{background:var(--warning-soft);color:var(--warning-text)}.badge--danger{background:var(--danger-soft);color:var(--danger-text)}.badge--info{background:var(--info-soft);color:var(--info-text)}.badge--glass{background:var(--glass-btn);color:#fff}.badge--dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--square{border-radius:var(--r-xs)}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);display:flex}.tabs__tab{height:38px;padding:0 var(--sp-3);color:var(--text-muted);font-size:var(--fs-base);font-weight:var(--fw-medium);border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color var(--dur-fast);background:0 0;border:0;align-items:center;gap:6px;display:inline-flex;position:relative}.tabs__tab:hover{color:var(--text)}.tabs__tab:after{content:"";left:var(--sp-2);right:var(--sp-2);background:var(--accent);height:2px;transition:transform var(--dur-base) var(--ease-out);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;transform:scaleX(0)}.tabs__tab.is-active,.tabs__tab[aria-selected=true]{color:var(--text);font-weight:var(--fw-semibold)}.tabs__tab.is-active:after,.tabs__tab[aria-selected=true]:after{transform:scaleX(1)}.tabs__tab .badge{height:18px}.segmented{border-radius:var(--r-md);background:var(--surface-sunken);gap:2px;padding:3px;display:inline-flex}.segmented__item{border-radius:var(--r-sm);height:28px;color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:background-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.segmented__item:hover{color:var(--text)}.segmented__item.is-active,.segmented__item[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .segmented__item.is-active{background:var(--surface-active)}.progress{--value:0%;border-radius:var(--r-full);background:var(--surface-sunken);height:6px;position:relative;overflow:hidden}.progress__bar{height:100%;width:var(--value);border-radius:inherit;background:var(--accent);transition:width var(--dur-slow) var(--ease-out), background-color var(--dur-base)}.progress--done .progress__bar{background:var(--success)}.progress--warning .progress__bar{background:var(--warning)}.progress--danger .progress__bar{background:var(--danger)}.progress--lg{height:8px}.progress-row{align-items:center;gap:var(--sp-3);display:flex}.progress-row__value{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:34px}.logo{color:var(--text);font-weight:var(--fw-bold);letter-spacing:-.01em;align-items:center;gap:9px;font-size:15px;text-decoration:none;display:inline-flex}.logo:hover{text-decoration:none}.logo__mark{flex-shrink:0;width:26px;height:26px}.logo__text span{color:var(--accent-text)}.logo--lg{gap:11px;font-size:20px}.logo--lg .logo__mark{width:36px;height:36px}.logo--on-dark{color:#fff}.logo--on-dark .logo__text span{color:#c7c9ff}.app{flex-direction:column;min-height:100vh;display:flex}.app__body{flex:1;min-height:0;display:flex}.app__main{min-width:0;padding:var(--sp-8) var(--sp-8) var(--sp-12);flex:1}.app__main--narrow{max-width:1040px}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.page-head__title{align-items:center;gap:var(--sp-3);display:flex}.page-head__sub{color:var(--text-muted);margin-top:4px}.topbar{z-index:var(--z-header);align-items:center;gap:var(--sp-3);height:var(--topbar-h);padding:0 var(--sp-3) 0 var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.topbar__left,.topbar__right{align-items:center;gap:var(--sp-1);display:flex}.topbar__left{gap:var(--sp-3)}.topbar__center{flex:1;justify-content:center;min-width:0;display:flex}.topbar__search{width:100%;max-width:520px;position:relative}.topbar__search .input{background:var(--surface-sunken);border-color:#0000;height:34px}.topbar__search .input:hover{border-color:var(--border-strong)}.topbar__search .input:focus,.topbar__search .input.is-focused{background:var(--surface);border-color:var(--accent)}.topbar__search .kbd{position:absolute;top:7px;right:8px}.ws-switcher{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);height:34px;color:var(--text);font-weight:var(--fw-semibold);font-size:var(--fs-md);transition:background-color var(--dur-fast);background:0 0;border:0;padding:0 8px 0 4px;display:inline-flex}.ws-switcher:hover{background:var(--surface-hover)}.ws-switcher svg.lucide:last-child{color:var(--text-subtle)}.ws-mark{border-radius:var(--r-sm);color:#fff;width:26px;height:26px;font-size:12px;font-weight:var(--fw-bold);background:linear-gradient(135deg,#0f766e,#14b8a6);flex-shrink:0;place-items:center;display:grid}.ws-mark--b{background:linear-gradient(135deg,#c2410c,#f59e0b)}.ws-mark--lg{border-radius:var(--r-md);width:40px;height:40px;font-size:16px}.sidebar{width:var(--sidebar-w);padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border);background:var(--bg-subtle);gap:var(--sp-5);top:var(--topbar-h);height:calc(100vh - var(--topbar-h));flex-direction:column;flex-shrink:0;display:flex;position:sticky;overflow-y:auto}.sidebar__section{flex-direction:column;gap:2px;display:flex}.sidebar__heading{padding:0 var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.sidebar__item{height:34px;padding:0 var(--sp-2);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-base);font-weight:var(--fw-medium);transition:background-color var(--dur-fast), color var(--dur-fast);align-items:center;gap:10px;text-decoration:none;display:flex}.sidebar__item:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.sidebar__item.is-active,.sidebar__item[aria-current=page]{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:var(--fw-semibold)}.sidebar__item .badge{margin-left:auto}.sidebar__board-dot{background:var(--board-ocean);border-radius:4px;flex-shrink:0;width:20px;height:16px}.sidebar__ws{padding:var(--sp-2);border-radius:var(--r-lg);align-items:center;gap:10px;display:flex}.sidebar__ws-name{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.sidebar__ws-plan{font-size:var(--fs-sm);color:var(--text-subtle)}.sidebar__footer{margin-top:auto}.sidebar-usage{padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);gap:var(--sp-2);font-size:var(--fs-sm);flex-direction:column;display:flex}.section{margin-bottom:var(--sp-8)}.section__head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.section__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.section__head svg.lucide{color:var(--text-muted)}.tile-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.board-tile{height:104px;padding:var(--sp-3);border-radius:var(--r-xl);background:var(--board-bg,var(--board-ocean));color:#fff;isolation:isolate;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);flex-direction:column;justify-content:space-between;text-decoration:none;display:flex;position:relative;overflow:hidden}.board-tile:before{content:"";z-index:-1;transition:background-color var(--dur-base);background:linear-gradient(#0000002e,#0000 55%,#0000001f);position:absolute;inset:0}.board-tile:hover{box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-2px)}.board-tile:hover:before{background-color:#00000014}.board-tile:active{transform:translateY(0)}.board-tile__link{color:inherit;text-decoration:none}.board-tile__link:hover{text-decoration:none}.board-tile__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.board-tile__link:focus-visible{outline:none}.board-tile:has(.board-tile__link:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.board-tile__star{z-index:1}.board-tile__title{font-weight:var(--fw-semibold);font-size:var(--fs-base);text-shadow:0 1px 2px #00000040;line-height:1.3}.board-tile__meta{font-size:var(--fs-sm);opacity:.92;justify-content:space-between;align-items:center;display:flex}.board-tile__meta span{align-items:center;gap:4px;display:inline-flex}.board-tile__star{border-radius:var(--r-sm);color:#fff;opacity:0;width:28px;height:28px;transition:opacity var(--dur-fast), transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:8px;right:8px;transform:translate(4px)}.board-tile:hover .board-tile__star,.board-tile__star.is-active,.board-tile__star:focus-visible{opacity:1;transform:none}.board-tile__star:hover{background:#fff3}.board-tile__star.is-active svg{fill:#fcd34d;stroke:#fcd34d}.board-tile--create{background:var(--surface);color:var(--text-muted);border:1.5px dashed var(--border-input);box-shadow:none;font-weight:var(--fw-medium);justify-content:center;align-items:center;gap:6px}.board-tile--create:before{display:none}.board-tile--create:hover{color:var(--accent-text);border-color:var(--accent);background:var(--accent-soft);box-shadow:none}.board-tile--create small{color:var(--text-subtle);font-size:var(--fs-sm);font-weight:var(--fw-regular)}.bg-aurora{--board-bg:var(--board-aurora)}.bg-ocean{--board-bg:var(--board-ocean)}.bg-forest{--board-bg:var(--board-forest)}.bg-sunset{--board-bg:var(--board-sunset)}.bg-peach{--board-bg:var(--board-peach)}.bg-mint{--board-bg:var(--board-mint)}.bg-dusk{--board-bg:var(--board-dusk)}.bg-graphite{--board-bg:var(--board-graphite)}.bg-indigo{--board-bg:var(--board-indigo)}.bg-blue{--board-bg:var(--board-blue)}.bg-teal{--board-bg:var(--board-teal)}.bg-green{--board-bg:var(--board-green)}.bg-orange{--board-bg:var(--board-orange)}.bg-red{--board-bg:var(--board-red)}.bg-purple{--board-bg:var(--board-purple)}.bg-slate{--board-bg:var(--board-slate)}.bg-fill{background:var(--board-bg)}.board-page{background:var(--board-bg,var(--board-aurora));background-attachment:fixed;flex-direction:column;height:100vh;display:flex;overflow:hidden}.board-page .topbar{flex-shrink:0}.board-page__body{flex:1;min-height:0;display:flex;position:relative}.board-page__main{flex-direction:column;flex:1;min-width:0;display:flex}.board-header{align-items:center;gap:var(--sp-2);min-height:52px;padding:var(--sp-2) var(--sp-4);background:var(--board-header-bg);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.3);color:var(--board-header-text);flex-shrink:0;display:flex}.board-header__title{border-radius:var(--r-md);color:#fff;height:34px;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;transition:background-color var(--dur-fast);background:0 0;border:0;padding:0 10px}.board-header__title:hover{background:var(--glass-btn-hover)}.board-header__title-input{border-radius:var(--r-md);width:220px;height:34px;color:var(--gray-900);font-size:var(--fs-xl);font-weight:var(--fw-bold);box-shadow:0 0 0 2px var(--indigo-300);background:#fff;border:0;outline:none;padding:0 9px}.board-header__spacer{flex:1}.board-header__online{font-size:var(--fs-sm);color:#ffffffe0;margin-right:var(--sp-1);align-items:center;gap:6px;display:inline-flex}.board-header__online:before{content:"";background:#4ade80;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #4ade8040}.board-header .avatar-stack{--avatar-ring:#282450e6}.filter-count{border-radius:var(--r-md);height:28px;color:var(--gray-900);font-size:var(--fs-sm);font-weight:var(--fw-semibold);background:#ffffffeb;align-items:center;gap:6px;padding:0 4px 0 10px;display:inline-flex}.filter-count button{color:var(--gray-600);border-radius:var(--r-xs);height:22px;font-size:var(--fs-sm);background:0 0;border:0;padding:0 6px}.filter-count button:hover{background:var(--gray-150);color:var(--gray-900)}.star-btn.is-active svg{fill:#fcd34d;stroke:#fcd34d}.board{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) var(--sp-4);scroll-behavior:smooth;scrollbar-color:#ffffff73 #0000001f;flex:1;display:flex;overflow:auto hidden}.board::-webkit-scrollbar{height:12px}.board::-webkit-scrollbar-track{background:#0000001f;border-radius:6px;margin:0 16px}.board::-webkit-scrollbar-thumb{background:#ffffff73 padding-box padding-box;border:3px solid #0000;border-radius:6px}.list{flex:0 0 var(--list-w);width:var(--list-w);border-radius:var(--r-xl);background:var(--list-bg);max-height:100%;-webkit-backdrop-filter:blur(var(--blur)) saturate(1.4);border:1px solid var(--list-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base), transform var(--dur-base) var(--ease-out), background-color var(--dur-base);flex-direction:column;display:flex;position:relative}.list.is-drop-target{z-index:2;box-shadow:0 0 0 2px var(--accent), var(--shadow-md)}.list--dragging{box-shadow:var(--shadow-drag);transform:rotate(2deg)}.list__header{align-items:center;gap:var(--sp-1);cursor:grab;padding:8px 6px 4px 12px;display:flex}.list__title{min-width:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-xs);flex:1;padding:4px 2px;overflow:hidden}.list__count{font-size:var(--fs-sm);color:var(--text-subtle);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;padding:0 4px}.list__wip{font-size:var(--fs-xs)}.list__cards{gap:var(--sp-2);scrollbar-width:thin;flex-direction:column;min-height:8px;padding:4px 8px;display:flex;position:relative;overflow:hidden auto}.list__footer{gap:4px;padding:4px 8px 8px;display:flex}.list__add{border-radius:var(--r-md);height:34px;color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:left;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.list__add:hover{background:var(--surface-hover);color:var(--text)}:root[data-theme=dark] .list__add:hover{background:#ffffff0f}.list--add{box-shadow:none;-webkit-backdrop-filter:blur(8px);background:#fff3;border-color:#0000}.list--add .list__add{color:#fff;height:44px;font-size:var(--fs-base);padding:0 12px}.list--add:hover{background:#ffffff4d}.list--add .list__add:hover{color:#fff;background:0 0}.card{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);cursor:pointer;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), outline-color var(--dur-fast), opacity var(--dur-base);outline:1px solid #0000;flex-shrink:0;display:block;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-card-hover);outline-color:var(--border-strong)}.card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.card:active{transform:scale(.99)}.card__cover{background:var(--cover,var(--cover-photo-2));background-position:50%;background-size:cover;height:112px}.card__cover--color{height:32px}.card__cover--full{color:#fff;height:auto;font-weight:var(--fw-semibold);padding:14px 12px}.card__body{flex-direction:column;gap:6px;padding:8px 10px 9px 12px;display:flex}.card__labels{flex-wrap:wrap;gap:4px;display:flex}.card__title{font-size:var(--fs-base);font-weight:var(--fw-regular);color:var(--text);overflow-wrap:anywhere;padding-right:18px;line-height:1.38}.card__footer{justify-content:space-between;align-items:flex-end;gap:var(--sp-2);display:flex}.card__footer:empty{display:none}.card__badges{flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;display:flex}.card__members{margin-left:auto}.card__edit{border-radius:var(--r-sm);background:var(--surface);width:28px;height:28px;color:var(--text-muted);box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--dur-fast), transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast);border:0;place-items:center;display:grid;position:absolute;top:6px;right:6px;transform:scale(.9)}.card__cover+.card__body+.card__edit,.card__edit--on-cover{top:8px}.card:hover .card__edit,.card:focus-within .card__edit{opacity:1;transform:none}.card__edit:hover{background:var(--surface-hover);color:var(--text)}.card--done .card__title{color:var(--text-muted)}.card--muted{opacity:.4}.card--hidden{display:none}.card--dragging{box-shadow:var(--shadow-drag);cursor:grabbing;z-index:var(--z-drag);transition:transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) var(--ease-out);outline-color:#0000;transform:rotate(3deg)scale(1.02)}.card--dragging:hover{box-shadow:var(--shadow-drag)}.drag-ghost{z-index:var(--z-drag);pointer-events:none;position:absolute}.card-placeholder{border-radius:var(--r-md);transition:height var(--dur-base) var(--ease-out);background:#10111514;border:1.5px dashed #1011152e;flex-shrink:0}:root[data-theme=dark] .card-placeholder{background:#ffffff0d;border-color:#ffffff29}.card-badge{border-radius:var(--r-xs);height:22px;color:var(--text-subtle);font-size:var(--fs-sm);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:0 2px;display:inline-flex}.card-badge svg.lucide,.card-badge [data-lucide]{width:14px;height:14px}.card-badge--soon,.card-badge--overdue,.card-badge--done,.card-badge--complete{padding:0 6px}.card-badge--soon{background:var(--due-soon-bg);color:var(--due-soon-fg)}.card-badge--overdue{background:var(--due-overdue-bg);color:var(--due-overdue-fg)}.card-badge--done,.card-badge--complete{background:var(--due-done-bg);color:var(--due-done-fg)}.card-badge--watch{color:var(--accent-text)}.composer{gap:var(--sp-2);flex-direction:column;padding:0 8px 8px;display:flex}.composer__input{border-radius:var(--r-md);background:var(--surface);width:100%;min-height:64px;color:var(--text);font-size:var(--fs-base);box-shadow:var(--shadow-card), 0 0 0 2px var(--accent);resize:none;border:0;outline:none;padding:8px 10px;line-height:1.38}.composer__actions{align-items:center;gap:var(--sp-1);display:flex}.composer__actions .icon-btn{margin-left:2px}.composer__extra{margin-left:auto}.list--composer{padding-top:8px}.list--composer .composer__input{height:36px;min-height:36px}.filter-count{display:none}.is-filtering .filter-count{display:inline-flex}.is-filtering .card[data-miss],.is-filtering .card-placeholder,.is-filtering .drag-ghost{display:none}@keyframes fb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fb-modal-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@keyframes fb-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes fb-toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes fb-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fb-sheet-in{0%{transform:translateY(100%)}to{transform:none}}@keyframes fb-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes fb-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.overlay{z-index:var(--z-overlay);padding:48px var(--sp-4);background:var(--overlay-bg);-webkit-backdrop-filter:blur(2px);animation:fb-fade-in var(--dur-base) var(--ease-out);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay--center{align-items:center}.modal{z-index:var(--z-modal);border-radius:var(--r-2xl);background:var(--surface-raised);width:100%;max-width:560px;box-shadow:var(--shadow-xl);animation:fb-modal-in var(--dur-slow) var(--ease-out);transform-origin:50% 30%;position:relative}.modal--sm{max-width:420px}.modal--lg{max-width:720px}.modal--xl{max-width:880px}.modal__header{align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-3);display:flex}.modal__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em;flex:1}.modal__body{padding:var(--sp-2) var(--sp-5) var(--sp-5);gap:var(--sp-5);flex-direction:column;display:flex}.modal__footer{justify-content:flex-end;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);display:flex}.modal__footer--split{justify-content:space-between}.modal__close{position:absolute;top:14px;right:14px}.popover{z-index:var(--z-popover);border-radius:var(--r-xl);background:var(--surface-raised);border:1px solid var(--border);width:304px;box-shadow:var(--shadow-lg);animation:fb-popover-in var(--dur-base) var(--ease-out);transform-origin:0 0;position:absolute}.popover--static{position:relative}.popover--wide{width:360px}.popover__header{border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:44px;padding:0 40px;display:flex;position:relative}.popover__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-muted)}.popover__back,.popover__close{position:absolute;top:8px}.popover__back{left:8px}.popover__close{right:8px}.popover__body{padding:var(--sp-3);gap:var(--sp-3);flex-direction:column;display:flex}.popover__section-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.popover__footer{gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);display:flex}.menu{border-radius:var(--r-xl);background:var(--surface-raised);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lg);animation:fb-popover-in var(--dur-base) var(--ease-out);padding:6px}.menu--flat{box-shadow:none;background:0 0;border:0;padding:0;animation:none}.menu__item{border-radius:var(--r-md);width:100%;min-height:34px;color:var(--text);font-size:var(--fs-base);text-align:left;transition:background-color var(--dur-fast);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.menu__item svg.lucide{color:var(--text-muted)}.menu__item:hover,.menu__item.is-highlighted{background:var(--surface-hover);text-decoration:none}.menu__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.menu__item--danger,.menu__item--danger svg.lucide{color:var(--danger-text)}.menu__item--danger:hover{background:var(--danger-soft)}.menu__item.is-checked:after{content:"✓";color:var(--accent-text);font-weight:var(--fw-bold);margin-left:auto}.menu__item[aria-disabled=true]{color:var(--text-disabled);pointer-events:none}.menu__hint{color:var(--text-subtle);font-size:var(--fs-sm);margin-left:auto}.menu__sep{background:var(--border);height:1px;margin:6px 4px}.menu__label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding:8px 10px 4px}.drawer{z-index:var(--z-drawer);width:var(--drawer-w);background:var(--surface-raised);border-left:1px solid var(--border);box-shadow:var(--shadow-xl);animation:fb-drawer-in var(--dur-slow) var(--ease-out);flex-direction:column;flex-shrink:0;display:flex;position:relative}.drawer[hidden]{display:none}.drawer__header{align-items:center;gap:var(--sp-2);height:52px;padding:0 var(--sp-2) 0 var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.drawer__title{font-size:var(--fs-base);font-weight:var(--fw-semibold);text-align:center;flex:1}.drawer__body{padding:var(--sp-4);gap:var(--sp-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer__footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);gap:var(--sp-2);display:flex}.drawer__group{gap:var(--sp-2);flex-direction:column;display:flex}.drawer__group-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.filter-option{border-radius:var(--r-sm);cursor:pointer;min-height:32px;transition:background-color var(--dur-fast);font-size:var(--fs-base);align-items:center;gap:10px;margin:0 -6px;padding:2px 6px;display:flex}.filter-option:hover{background:var(--surface-hover)}.filter-option .checkbox{flex:1}.filter-option__icon{background:var(--surface-sunken);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.filter-option__icon--danger{background:var(--danger-soft);color:var(--danger-text)}.filter-option__icon--warning{background:var(--warning-soft);color:var(--warning-text)}.filter-option__icon--accent{background:var(--accent-soft);color:var(--accent-soft-text)}.filter-option .label-chip{flex:1;min-height:28px;line-height:26px}.toast-region{right:var(--sp-5);bottom:var(--sp-5);z-index:var(--z-toast);gap:var(--sp-2);flex-direction:column;align-items:flex-end;display:flex;position:fixed}.toast{align-items:center;gap:var(--sp-3);border-radius:var(--r-lg);background:var(--gray-900);color:#f4f4f6;min-width:300px;max-width:420px;box-shadow:var(--shadow-lg);font-size:var(--fs-md);animation:fb-toast-in var(--dur-slow) var(--ease-spring);padding:10px 10px 10px 14px;display:flex}:root[data-theme=dark] .toast{background:#2a2c34}.toast__icon{color:#a7f3c4}.toast--error .toast__icon{color:#fca5a5}.toast__text{flex:1}.toast__action{color:#c7c9ff;font-weight:var(--fw-semibold);font-size:var(--fs-md);border-radius:var(--r-sm);background:0 0;border:0;padding:4px 8px}.toast__action:hover{background:#ffffff1a}.toast .icon-btn{color:#ffffffb3;width:28px;height:28px}.toast .icon-btn:hover{color:#fff;background:#ffffff1a}.tooltip{z-index:var(--z-tooltip);border-radius:var(--r-sm);background:var(--gray-900);color:#fff;font-size:var(--fs-sm);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;animation:fb-fade-in var(--dur-fast);padding:5px 8px;position:absolute}.card-modal{z-index:var(--z-modal);border-radius:var(--r-2xl);background:var(--surface-raised);width:100%;max-width:800px;box-shadow:var(--shadow-xl);animation:fb-modal-in var(--dur-slow) var(--ease-out);position:relative}.card-modal__cover{border-radius:var(--r-2xl) var(--r-2xl) 0 0;background:var(--cover,var(--cover-photo-2));background-size:cover;height:160px;position:relative}.card-modal__cover-actions{gap:var(--sp-2);display:flex;position:absolute;bottom:12px;right:56px}.card-modal__close{z-index:1;color:#fff;background:#00000052;position:absolute;top:12px;right:12px}.card-modal__close:hover{color:#fff;background:#00000080}.card-modal__head{gap:var(--sp-3);padding:var(--sp-5) var(--sp-6) 0;display:flex}.card-modal__head-icon{color:var(--text-muted);margin-top:6px}.card-modal__title{border-radius:var(--r-sm);width:100%;font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.015em;color:var(--text);background:0 0;border:0;margin-left:-6px;padding:2px 6px;line-height:1.3}.card-modal__title:hover{background:var(--surface-hover)}.card-modal__title:focus{background:var(--surface);box-shadow:0 0 0 2px var(--accent);outline:none}.card-modal__in-list{font-size:var(--fs-md);color:var(--text-muted);margin-top:2px}.card-modal__in-list button{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-input);text-decoration-color:var(--border-input);text-underline-offset:3px;font-weight:var(--fw-medium);background:0 0;border:0;padding:0}.card-modal__grid{gap:var(--sp-6);padding:var(--sp-5) var(--sp-6) var(--sp-6);grid-template-columns:minmax(0,1fr) 184px;display:grid}.card-modal__main{gap:var(--sp-6);flex-direction:column;min-width:0;display:flex}.card-modal__side{gap:var(--sp-4);top:var(--sp-4);flex-direction:column;align-self:start;display:flex;position:sticky}.card-modal__side-group{flex-direction:column;gap:6px;display:flex}.card-modal__side-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin-bottom:2px}.side-btn{border-radius:var(--r-md);background:var(--surface-sunken);height:32px;color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:left;transition:background-color var(--dur-fast), color var(--dur-fast);border:0;align-items:center;gap:8px;padding:0 10px;display:flex}.side-btn svg.lucide{color:var(--text-muted)}.side-btn:hover{background:var(--surface-active)}.side-btn.is-active{background:var(--accent-soft);color:var(--accent-soft-text)}.side-btn.is-active svg.lucide{color:var(--accent-soft-text)}.side-btn--danger:hover{background:var(--danger-soft);color:var(--danger-text)}.card-meta{gap:var(--sp-5);flex-wrap:wrap;padding-left:36px;display:flex}.card-meta__group{flex-direction:column;gap:6px;display:flex}.card-meta__title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.card-meta__row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.add-chip{border-radius:var(--r-sm);background:var(--surface-sunken);width:32px;height:32px;color:var(--text-muted);transition:background-color var(--dur-fast);border:0;place-items:center;display:grid}.add-chip:hover{background:var(--surface-active);color:var(--text)}.add-chip--round{border-radius:50%}.date-chip{border-radius:var(--r-sm);background:var(--surface-sunken);height:32px;color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);border:0;align-items:center;gap:8px;padding:0 6px 0 8px;display:inline-flex}.date-chip:hover{background:var(--surface-active)}.date-chip .badge{margin-left:2px}.card-section{gap:var(--sp-3);flex-direction:column;display:flex}.card-section__head{align-items:center;gap:var(--sp-3);min-height:32px;display:flex}.card-section__head>svg.lucide,.card-section__head>[data-lucide]{color:var(--text-muted);width:20px;height:20px}.card-section__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);flex:1}.card-section__body{gap:var(--sp-3);flex-direction:column;padding-left:32px;display:flex}.md{font-size:var(--fs-base);color:var(--text);line-height:1.6}.md>*+*{margin-top:8px}.md h4{font-size:var(--fs-base);margin-top:12px}.md ul{padding-left:20px;list-style:outside}.md li+li{margin-top:2px}.md code{font-family:var(--font-mono);border-radius:var(--r-xs);background:var(--surface-sunken);padding:1px 5px;font-size:12.5px}.md a{text-underline-offset:2px;text-decoration:underline}.md-preview{border-radius:var(--r-md);cursor:text;transition:background-color var(--dur-fast);margin-left:-12px;padding:10px 12px}.md-preview:hover{background:var(--surface-hover)}.md-editor{border:1px solid var(--accent);border-radius:var(--r-md);box-shadow:0 0 0 3px var(--focus-halo);background:var(--surface);overflow:hidden}.md-editor__toolbar{border-bottom:1px solid var(--border);background:var(--bg-subtle);align-items:center;gap:2px;padding:4px;display:flex}.md-editor__toolbar .segmented{margin-left:auto;padding:2px}.md-editor__toolbar .segmented__item{height:24px;font-size:var(--fs-sm)}.md-editor__area{width:100%;min-height:150px;font-family:var(--font-mono);color:var(--text);resize:vertical;background:0 0;border:0;outline:none;padding:10px 12px;font-size:13px;line-height:1.6;display:block}.checklist{flex-direction:column;gap:2px;display:flex}.checklist__progress{align-items:center;gap:var(--sp-3);margin-bottom:4px;display:flex}.checklist__progress .progress{flex:1}.checklist__percent{width:32px;font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.checklist__item{border-radius:var(--r-md);min-height:36px;transition:background-color var(--dur-fast);align-items:center;gap:10px;margin-left:-8px;padding:4px 6px 4px 8px;display:flex}.checklist__item:hover{background:var(--surface-hover)}.checklist__item .checkbox input{width:18px;height:18px}.checklist__text{font-size:var(--fs-base);transition:color var(--dur-base);flex:1}.checklist__item--done .checklist__text{color:var(--text-subtle);text-decoration:line-through;-webkit-text-decoration-color:var(--text-disabled);text-decoration-color:var(--text-disabled)}.checklist__meta{opacity:0;transition:opacity var(--dur-fast);align-items:center;gap:4px;display:flex}.checklist__item:hover .checklist__meta{opacity:1}.checklist__add{align-self:flex-start;margin-top:4px}.checklist__edit{gap:var(--sp-2);flex-direction:column;padding:4px 0 4px 28px;display:flex}.attachments{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(148px,1fr));display:grid}.attachment{flex-direction:column;gap:6px;min-width:0;display:flex}.attachment__thumb{border-radius:var(--r-md);background:var(--thumb,var(--cover-photo-1));border:1px solid var(--border);cursor:zoom-in;height:92px;transition:box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-out);background-size:cover;position:relative;overflow:hidden}.attachment__thumb:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.attachment__thumb--file{background:var(--surface-sunken);cursor:pointer;place-items:center;display:grid}.attachment__ext{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--danger-text);letter-spacing:.04em;flex-direction:column;align-items:center;gap:4px;display:inline-flex}.attachment__cover-flag{position:absolute;top:6px;left:6px}.attachment__name{font-size:var(--fs-md);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment__meta{font-size:var(--fs-sm);color:var(--text-subtle);flex-wrap:wrap;gap:2px 8px;display:flex}.attachment__meta button{color:var(--text-muted);font-size:var(--fs-sm);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.attachment__meta button:hover{color:var(--text)}.dropzone{min-height:96px;padding:var(--sp-4);border:1.5px dashed var(--border-input);border-radius:var(--r-lg);background:var(--bg-subtle);color:var(--text-muted);font-size:var(--fs-md);text-align:center;transition:border-color var(--dur-fast), background-color var(--dur-fast), transform var(--dur-base) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.dropzone svg.lucide{color:var(--text-subtle)}.dropzone__hint{font-size:var(--fs-sm);color:var(--text-subtle)}.dropzone:hover{border-color:var(--gray-400)}.dropzone--active,.dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-text);transform:scale(1.01)}.dropzone--active svg.lucide{color:var(--accent-soft-text);animation:1.2s infinite fb-pulse}.comment{gap:var(--sp-3);display:flex}.comment__main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.comment__meta{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.comment__author{font-weight:var(--fw-semibold)}.comment__time{color:var(--text-subtle);font-size:var(--fs-sm)}.comment__text{border-radius:4px var(--r-lg) var(--r-lg) var(--r-lg);background:var(--surface);border:1px solid var(--border);font-size:var(--fs-base);box-shadow:var(--shadow-xs);padding:8px 12px;line-height:1.5}.comment__actions{gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text-subtle);display:flex}.comment__actions button{color:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.comment__actions button:hover{color:var(--text)}.comment__reaction{border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);height:22px;font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:4px;padding:0 7px;display:inline-flex;text-decoration:none!important}.comment__reaction.is-mine{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-text)}.mention{border-radius:var(--r-xs);background:var(--accent-soft);color:var(--accent-soft-text);font-weight:var(--fw-semibold);padding:0 4px;display:inline-block}.mention--me{background:var(--accent);color:#fff}.comment-composer{gap:var(--sp-3);display:flex}.comment-composer__box{border:1px solid var(--border-input);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);flex:1;position:relative}.comment-composer__box.is-focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-halo)}.comment-composer__input{resize:none;width:100%;min-height:64px;font-size:var(--fs-base);color:var(--text);background:0 0;border:0;outline:none;padding:10px 12px 4px;line-height:1.5;display:block}.comment-composer__bar{align-items:center;gap:2px;padding:4px 6px 6px;display:flex}.comment-composer__bar .btn--primary{margin-left:auto}.mention-list{width:264px;z-index:var(--z-popover);position:absolute;top:34px;left:150px}.activity{gap:var(--sp-4);flex-direction:column;display:flex}.activity__item{gap:var(--sp-3);font-size:var(--fs-md);align-items:flex-start;line-height:1.45;display:flex}.activity__body{flex:1;min-width:0}.activity__text{color:var(--text-muted)}.activity__text b{color:var(--text);font-weight:var(--fw-semibold)}.activity__text q{quotes:"«" "»";color:var(--text);font-weight:var(--fw-medium)}.activity__time{font-size:var(--fs-sm);color:var(--text-subtle);margin-top:2px}.activity__time a{color:inherit;text-underline-offset:2px;text-decoration:underline}.activity__day{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding-top:var(--sp-1)}.activity__chip{border-radius:var(--r-xs);background:var(--surface-sunken);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);align-items:center;gap:4px;padding:0 6px;display:inline-flex}.activity__icon{background:var(--surface-sunken);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.calendar{gap:var(--sp-2);flex-direction:column;display:flex}.calendar__head{justify-content:space-between;align-items:center;display:flex}.calendar__month{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.calendar__grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar__dow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-subtle);text-transform:uppercase;padding:4px 0}.calendar__day{border-radius:var(--r-sm);height:34px;color:var(--text);font-size:var(--fs-md);font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast);background:0 0;border:0}.calendar__day:hover{background:var(--surface-hover)}.calendar__day--out{color:var(--text-disabled)}.calendar__day--weekend{color:var(--text-muted)}.calendar__day--today{font-weight:var(--fw-bold);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent)}.calendar__day--in-range{background:var(--accent-soft);color:var(--accent-soft-text);border-radius:0}.calendar__day--start,.calendar__day--end{background:var(--accent);color:#fff;font-weight:var(--fw-semibold)}.calendar__day--start{border-radius:var(--r-sm) 0 0 var(--r-sm)}.calendar__day--end{border-radius:0 var(--r-sm) var(--r-sm) 0}.calendar__day--start:hover,.calendar__day--end:hover{background:var(--accent-hover)}.date-row{align-items:center;gap:var(--sp-2);display:flex}.date-row .input{flex:1}.empty-state{align-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--r-xl);background:var(--accent-soft);width:56px;height:56px;color:var(--accent-soft-text);margin-bottom:var(--sp-2);place-items:center;display:grid}.empty-state__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text)}.empty-state__text{max-width:360px;font-size:var(--fs-md)}.empty-state .btn{margin-top:var(--sp-2)}.empty-state--compact{padding:var(--sp-4)}.empty-state--compact .empty-state__icon{width:40px;height:40px}.panel{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-xs)}.panel__head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);display:flex}.panel__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);flex:1}.panel__desc{font-size:var(--fs-md);color:var(--text-muted);margin-top:2px}.panel__body{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.panel__body--flush{padding:0}.panel--danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.panel--danger .panel__head{border-bottom-color:color-mix(in srgb, var(--danger) 25%, var(--border))}.panel--danger .panel__title{color:var(--danger-text)}.danger-row{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.danger-row+.danger-row{padding-top:var(--sp-4);border-top:1px solid var(--border)}.danger-row__title{font-weight:var(--fw-semibold)}.danger-row__desc{font-size:var(--fs-md);color:var(--text-muted)}.table-wrap{width:100%;overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-md)}.table th{background:var(--bg-subtle);border-bottom:1px solid var(--border);color:var(--text-subtle);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;text-align:left;white-space:nowrap;padding:10px 16px;position:sticky;top:0}.table th.is-sorted{color:var(--text)}.table th button{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 16px}.table tbody tr{transition:background-color var(--dur-fast)}.table tbody tr:hover{background:var(--bg-subtle)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.is-selected{background:var(--accent-soft)}.table__num{text-align:right;font-variant-numeric:tabular-nums}.table__actions{white-space:nowrap;text-align:right;width:1%}.table__user{align-items:center;gap:10px;min-width:0;display:flex}.table__user-name{font-weight:var(--fw-semibold);color:var(--text)}.table__user-sub{font-size:var(--fs-sm);color:var(--text-subtle)}.table__usage{min-width:128px;font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;display:flex}.table-toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.table-toolbar .input-group{width:280px}.table-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-md);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.status{font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.status:before{content:"";background:var(--gray-400);border-radius:50%;width:8px;height:8px}.status--active:before{background:var(--success)}.status--blocked{color:var(--danger-text)}.status--blocked:before{background:var(--danger)}.status--pending:before{background:var(--warning)}.role-select{width:auto;min-width:150px;height:30px;font-size:var(--fs-md)}.stat-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat-tile{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-xs);flex-direction:column;gap:6px;display:flex}.stat-tile__label{font-size:var(--fs-md);color:var(--text-muted);font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.stat-tile__label svg.lucide{color:var(--text-subtle)}.stat-tile__value{font-size:26px;font-weight:var(--fw-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.stat-tile__value small{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-subtle);letter-spacing:0}.stat-tile__delta{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted);align-items:center;gap:3px;display:inline-flex}.stat-tile__delta--up{color:var(--success-text)}.stat-tile__delta--down{color:var(--danger-text)}.stat-tile__foot{font-size:var(--fs-sm);color:var(--text-subtle);align-items:center;gap:6px;display:flex}.chart{position:relative}.chart svg{width:100%;height:auto;overflow:visible}.chart__grid{stroke:var(--border);stroke-width:1px}.chart__axis-label{fill:var(--text-subtle);font-size:11px;font-family:var(--font);font-variant-numeric:tabular-nums}.chart__line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__area{fill:url(#chartFill)}.chart__area-stop-top{stop-color:var(--accent);stop-opacity:.22}.chart__area-stop-bottom{stop-color:var(--accent);stop-opacity:0}.chart__crosshair{stroke:var(--text-subtle);stroke-width:1px;stroke-dasharray:3 3}.chart__dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart__hit{fill:#0000;cursor:crosshair}.chart__tooltip{border-radius:var(--r-md);background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:var(--fs-sm);pointer-events:none;white-space:nowrap;transition:opacity var(--dur-fast);padding:8px 10px;position:absolute;top:0;transform:translate(-50%,-110%)}.chart__tooltip b{font-size:var(--fs-base);color:var(--text);font-variant-numeric:tabular-nums;display:block}.chart__tooltip span{color:var(--text-subtle)}.admin{min-height:100vh;display:flex}.admin-nav{width:232px;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border);background:var(--surface);gap:var(--sp-5);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.admin-nav__badge{border-radius:var(--r-sm);background:var(--gray-900);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}:root[data-theme=dark] .admin-nav__badge{background:var(--gray-700)}.admin-main{min-width:0;padding:var(--sp-6) var(--sp-8) var(--sp-12);gap:var(--sp-6);flex-direction:column;flex:1;display:flex}.admin-grid-2{gap:var(--sp-4);grid-template-columns:2fr 1fr;display:grid}.plan-card{gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);flex-direction:column;display:flex}.plan-card--accent{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.plan-card__name{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.plan-card__price{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em}.plan-card__price small{font-size:var(--fs-md);color:var(--text-subtle);font-weight:var(--fw-medium)}.plan-card__limits{font-size:var(--fs-md);flex-direction:column;gap:8px;display:flex}.plan-card__limits li{justify-content:space-between;gap:var(--sp-3);display:flex}.plan-card__limits li span:first-child{color:var(--text-muted)}.mailbox{grid-template-columns:340px minmax(0,1fr);min-height:380px;display:grid}.mailbox__list{border-right:1px solid var(--border);overflow-y:auto}.mail-item{border-bottom:1px solid var(--border);cursor:pointer;transition:background-color var(--dur-fast);flex-direction:column;gap:2px;padding:12px 16px 12px 24px;display:flex;position:relative}.mail-item:hover{background:var(--bg-subtle)}.mail-item.is-active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.mail-item--unread:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:18px;left:10px}.mail-item__row{font-size:var(--fs-sm);color:var(--text-subtle);justify-content:space-between;gap:8px;display:flex}.mail-item__to{color:var(--text-muted);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mail-item__subject{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mail-preview{padding:var(--sp-5) var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.mail-preview__meta{font-size:var(--fs-md);grid-template-columns:64px 1fr;gap:4px 12px;display:grid}.mail-preview__meta dt{color:var(--text-subtle)}.mail-preview__meta dd{margin:0}.mail-preview__letter{padding:var(--sp-6);border-radius:var(--r-lg);background:var(--bg-subtle);border:1px solid var(--border);gap:var(--sp-3);max-width:520px;font-size:var(--fs-base);flex-direction:column;display:flex}.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.usage{flex-direction:column;gap:6px;display:flex}.usage__head{font-size:var(--fs-md);justify-content:space-between;display:flex}.usage__label{font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.usage__value{color:var(--text-muted);font-variant-numeric:tabular-nums}.search-layout{gap:var(--sp-8);grid-template-columns:220px minmax(0,1fr);display:grid}.search-filters{gap:var(--sp-5);top:calc(var(--topbar-h) + 24px);flex-direction:column;align-self:start;display:flex;position:sticky}.search-group{margin-bottom:var(--sp-6)}.search-group__head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:flex}.search-group__more{text-transform:none;letter-spacing:0;font-weight:var(--fw-medium);margin-left:auto}.search-result{gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);color:var(--text);transition:background-color var(--dur-fast);align-items:flex-start;text-decoration:none;display:flex}.search-result:hover,.search-result.is-highlighted{background:var(--surface-hover);text-decoration:none}.search-result.is-highlighted{box-shadow:inset 0 0 0 1px var(--border-strong)}.search-result__icon{border-radius:var(--r-md);background:var(--surface-sunken);width:32px;height:32px;color:var(--text-muted);flex-shrink:0;place-items:center;display:grid}.search-result__thumb{border-radius:var(--r-sm);background:var(--board-bg);flex-shrink:0;width:40px;height:32px}.search-result__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.search-result__title{font-weight:var(--fw-medium);font-size:var(--fs-base)}.search-result__snippet{font-size:var(--fs-md);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-result__path{font-size:var(--fs-sm);color:var(--text-subtle);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.search-result__path svg.lucide{width:12px;height:12px}.search-result__side{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.quick-search{z-index:var(--z-dropdown);border-radius:var(--r-xl);background:var(--surface-raised);border:1px solid var(--border);max-height:520px;box-shadow:var(--shadow-xl);animation:fb-popover-in var(--dur-base) var(--ease-out);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.quick-search__section{padding:6px}.quick-search__section+.quick-search__section{border-top:1px solid var(--border)}.quick-search__label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 4px}.quick-search .search-result{gap:10px;padding:8px}.quick-search .search-result__icon{width:28px;height:28px}.quick-search__footer{align-items:center;gap:var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-subtle);background:var(--bg-subtle);border-radius:0 0 var(--r-xl) var(--r-xl);padding:8px 12px;display:flex}.quick-search__footer a{font-weight:var(--fw-medium);margin-left:auto}.task-group{margin-bottom:var(--sp-6)}.task-group__head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);padding:0 var(--sp-1);display:flex}.task-group__title{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.task-group__head--danger .task-group__title,.task-group__head--danger svg.lucide{color:var(--danger-text)}.task-list{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden}.task-row{align-items:center;gap:var(--sp-3);min-height:52px;padding:8px var(--sp-4);border-bottom:1px solid var(--border);transition:background-color var(--dur-fast);cursor:pointer;grid-template-columns:20px minmax(0,1fr) auto auto minmax(96px,auto) 28px;display:grid}.task-row:last-child{border-bottom:0}.task-row:hover{background:var(--bg-subtle)}.task-row__main{flex-direction:column;gap:2px;min-width:0;display:flex}.task-row__title{font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-row__path{font-size:var(--fs-sm);color:var(--text-subtle);align-items:center;gap:6px;display:flex}.task-row__path .sidebar__board-dot{border-radius:2px;width:14px;height:10px}.task-row__labels{gap:4px;display:flex}.task-row__badges{gap:8px;display:flex}.task-row__due{justify-self:end}.task-row--done .task-row__title{color:var(--text-subtle);text-decoration:line-through}.notif-panel{border-radius:var(--r-xl);background:var(--surface-raised);border:1px solid var(--border);width:400px;box-shadow:var(--shadow-xl);animation:fb-popover-in var(--dur-base) var(--ease-out);transform-origin:100% 0;overflow:hidden}.notif-panel__head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) 0 var(--sp-4);display:flex}.notif-panel__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);flex:1}.notif-panel .tabs{padding:0 var(--sp-3)}.notif-panel__list{max-height:560px;overflow-y:auto}.notif-panel__foot{padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.notif{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);cursor:pointer;transition:background-color var(--dur-fast);display:flex;position:relative}.notif:last-child{border-bottom:0}.notif:hover{background:var(--surface-hover)}.notif--unread{background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}.notif--unread:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:22px;left:8px}.notif--unread:hover{background:var(--accent-soft)}.notif__avatar{flex-shrink:0;position:relative}.notif__type{color:#fff;width:18px;height:18px;box-shadow:0 0 0 2px var(--surface-raised);background:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}.notif__type svg.lucide{stroke-width:2.5px;width:10px;height:10px}.notif__type--mention{background:#0f7f74}.notif__type--due{background:#d97706}.notif__type--invite{background:#be185d}.notif__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notif__text{font-size:var(--fs-md);color:var(--text-muted);line-height:1.45}.notif__text b{color:var(--text);font-weight:var(--fw-semibold)}.notif__quote{font-size:var(--fs-md);border-left:2px solid var(--border-strong);color:var(--text);background:var(--surface);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:6px 10px}.notif__ctx{font-size:var(--fs-sm);color:var(--text-subtle);align-items:center;gap:6px;display:flex}.notif__actions{gap:var(--sp-2);margin-top:4px;display:flex}.auth-page{grid-template-columns:minmax(380px,1fr) minmax(0,1.4fr);min-height:100vh;display:grid}.auth-brand{padding:var(--sp-10);background:var(--board-dusk);color:#fff;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-brand__title{font-size:34px;font-weight:var(--fw-bold);letter-spacing:-.025em;max-width:420px;line-height:1.15}.auth-brand__text{margin-top:var(--sp-4);color:#fffc;font-size:var(--fs-lg);max-width:400px}.auth-brand__preview{gap:var(--sp-3);margin:var(--sp-8) 0;display:flex;transform:rotate(-4deg)translate(12px)}.auth-brand__list{border-radius:var(--r-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff29;flex-direction:column;gap:6px;width:200px;padding:8px;display:flex}.auth-brand__list .card{box-shadow:0 6px 16px #00000040}.auth-brand__foot{font-size:var(--fs-sm);color:#ffffffb3}.auth-main{justify-content:center;align-items:center;gap:var(--sp-6);padding:var(--sp-10) var(--sp-8);background:var(--bg);flex-wrap:wrap;display:flex}.auth-card{width:100%;max-width:380px;padding:var(--sp-6);border-radius:var(--r-2xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);gap:var(--sp-5);flex-direction:column;display:flex}.auth-card__title{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.015em}.auth-card__sub{color:var(--text-muted);font-size:var(--fs-md);margin-top:4px}.auth-card .tabs{margin:0 calc(var(--sp-6) * -1);padding:0 var(--sp-6)}.auth-card__foot{text-align:center;font-size:var(--fs-md);color:var(--text-muted)}.auth-divider{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text-subtle);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.password-meter{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.password-meter span{background:var(--surface-sunken);border-radius:2px;height:4px}.password-meter span.is-on{background:var(--success)}.notice{gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--info-soft);color:var(--info-text);font-size:var(--fs-md);line-height:1.45;display:flex}.notice--success{background:var(--success-soft);color:var(--success-text)}.notice--warning{background:var(--warning-soft);color:var(--warning-text)}.notice--danger{background:var(--danger-soft);color:var(--danger-text)}.notice b{font-weight:var(--fw-semibold)}.invite-page{background:var(--board-ocean);flex-direction:column;min-height:100vh;display:flex}.invite-page__top{padding:var(--sp-5) var(--sp-8)}.invite-page__center{justify-content:center;align-items:center;gap:var(--sp-8);padding:var(--sp-6);flex-wrap:wrap;flex:1;display:flex}.invite-card{border-radius:var(--r-2xl);background:var(--surface);width:100%;max-width:440px;box-shadow:var(--shadow-xl);text-align:center;animation:fb-modal-in var(--dur-slow) var(--ease-out);overflow:hidden}.invite-card__hero{background:var(--board-bg,var(--board-aurora));height:112px;position:relative}.invite-card__hero .avatar{box-shadow:0 0 0 4px var(--surface);position:absolute;bottom:-32px;left:50%;transform:translate(-50%)}.invite-card__body{padding:48px var(--sp-8) var(--sp-8);gap:var(--sp-4);flex-direction:column;align-items:center;display:flex}.invite-card__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.35}.invite-card__meta{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.invite-card__actions{gap:var(--sp-2);flex-direction:column;width:100%;display:flex}.invite-card__fine{font-size:var(--fs-sm);color:var(--text-subtle)}.invite-card--expired .invite-card__hero{background:var(--board-graphite);filter:grayscale(.4)}.invite-card__state-icon{background:var(--surface);width:56px;height:56px;color:var(--warning-text);box-shadow:var(--shadow-md);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)}.share-link{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-xl);background:var(--bg-subtle);border:1px solid var(--border);flex-direction:column;display:flex}.share-link__row{align-items:center;gap:var(--sp-2);display:flex}.share-link__url{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--surface);flex:1}.share-link__settings{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.member-row{align-items:center;gap:var(--sp-3);padding:8px 0;display:flex}.member-row+.member-row{border-top:1px solid var(--border)}.member-row__main{flex:1;min-width:0}.member-row__name{font-weight:var(--fw-semibold);font-size:var(--fs-base);align-items:center;gap:6px;display:flex}.member-row__sub{font-size:var(--fs-sm);color:var(--text-subtle)}.member-row--request{border-radius:var(--r-lg);background:var(--warning-soft);margin:0 -12px;padding:10px 12px}.member-row--request+.member-row--request{border-top:0;margin-top:6px}.invite-form{gap:var(--sp-2);display:flex}.invite-form .input-group{flex:1}.email-token{border-radius:var(--r-full);background:var(--accent-soft);height:24px;color:var(--accent-soft-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);align-items:center;gap:4px;padding:0 4px 0 8px;display:inline-flex}.email-token button{color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;display:grid}.email-token button:hover{background:var(--accent-soft-hover)}.token-input{border:1px solid var(--accent);border-radius:var(--r-md);background:var(--surface);min-height:36px;box-shadow:0 0 0 3px var(--focus-halo);flex-wrap:wrap;flex:1;align-items:center;gap:4px;padding:5px 8px;display:flex}.token-input input{min-width:120px;font-size:var(--fs-base);background:0 0;border:0;outline:none;flex:1;height:24px}.board-preview{border-radius:var(--r-xl);background:var(--board-bg);height:140px;transition:background var(--dur-slow);gap:8px;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.board-preview__list{background:#ffffffc7;border-radius:6px;flex-direction:column;align-self:flex-start;gap:4px;width:72px;padding:6px;display:flex}:root[data-theme=dark] .board-preview__list{background:#14151abf}.board-preview__list span{background:var(--surface);border-radius:3px;height:10px;box-shadow:0 1px 1px #00000014}.board-preview__list b{background:var(--text-subtle);opacity:.6;border-radius:3px;width:60%;height:6px;margin-bottom:2px}.board-preview__name{color:#fff;font-weight:var(--fw-semibold);text-shadow:0 1px 2px #0000004d;position:absolute;bottom:12px;left:14px}.bg-picker{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.bg-picker__item{aspect-ratio:16/11;border-radius:var(--r-sm);background:var(--board-bg);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast);border:0;position:relative}.bg-picker__item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.bg-picker__item.is-selected{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--accent)}.bg-picker__item.is-selected:after{content:"";filter:drop-shadow(0 1px 1px #0006);border-bottom:2px solid #fff;border-left:2px solid #fff;width:12px;height:7px;margin:auto;position:absolute;inset:0;transform:rotate(-45deg)translate(1px,-1px)}.bg-picker__item--upload{background:var(--surface-sunken);color:var(--text-muted);border:1px dashed var(--border-input);place-items:center;display:grid}.template-grid{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);display:grid}.template-cols{gap:3px;margin-top:8px;display:flex}.template-cols span{background:var(--border-strong);border-radius:2px;flex:1;height:4px}.choice.is-selected .template-cols span{background:var(--accent);opacity:.5}.choice:has(input:checked) .template-cols span{background:var(--accent);opacity:.5}.toc{max-width:1120px;padding:var(--sp-10) var(--sp-6) var(--sp-12);margin:0 auto}.toc__head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-8);flex-wrap:wrap;display:flex}.toc__grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.toc__item{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);color:var(--text);transition:border-color var(--dur-fast), box-shadow var(--dur-base), transform var(--dur-base) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.toc__item:hover{border-color:var(--accent);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px)}.toc__icon{border-radius:var(--r-md);background:var(--accent-soft);width:36px;height:36px;color:var(--accent-soft-text);place-items:center;display:grid}.toc__title{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.toc__desc{font-size:var(--fs-md);color:var(--text-muted)}.toc__file{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-subtle);margin-top:auto}.palette-row{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.palette-chip{font-size:var(--fs-xs);color:var(--text-muted);flex-direction:column;gap:4px;display:flex}.palette-chip i{border-radius:var(--r-md);background:var(--c);height:40px;box-shadow:inset 0 0 0 1px #0000000f}.phone{background:var(--bg);width:375px;height:812px;box-shadow:0 0 0 10px #15161a, 0 0 0 11px #3a3c44, var(--shadow-xl);border-radius:44px;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.phone__status{height:44px;font-size:15px;font-weight:var(--fw-semibold);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 26px 0 32px;display:flex}.phone__status-icons{align-items:center;gap:6px;display:flex}.phone__notch{z-index:5;background:#000;border-radius:20px;width:120px;height:32px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.phone__home{opacity:.85;z-index:5;background:currentColor;border-radius:3px;width:134px;height:5px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.phone--board{background:var(--board-bg);color:#fff}.m-appbar{flex-shrink:0;align-items:center;gap:4px;height:52px;padding:0 6px;display:flex}.m-appbar__title{min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.m-appbar .icon-btn{width:44px;height:44px}.m-tabs{scrollbar-width:none;scroll-snap-type:x proximity;flex-shrink:0;gap:6px;padding:4px 16px 10px;display:flex;overflow-x:auto}.m-tabs::-webkit-scrollbar{display:none}.m-tab{border-radius:var(--r-full);background:var(--glass-btn);color:#fff;height:36px;font-size:var(--fs-md);font-weight:var(--fw-medium);scroll-snap-align:start;transition:background-color var(--dur-fast), color var(--dur-fast);border:0;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.m-tab span{opacity:.75;font-variant-numeric:tabular-nums}.m-tab.is-active{color:var(--gray-900);font-weight:var(--fw-semibold);background:#fff}.m-board{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;flex:1;gap:10px;min-height:0;padding:0 16px;scroll-padding:0 16px;display:flex;overflow:auto hidden}.m-board::-webkit-scrollbar{display:none}.m-board .list{scroll-snap-align:start;scroll-snap-stop:always;width:auto;max-height:100%;color:var(--text);flex:0 0 calc(100% - 22px);align-self:stretch}.m-board .list__cards{flex:1}.m-board .card__title{font-size:15px}.m-board .list__add{height:44px;font-size:var(--fs-base)}.m-dots{flex-shrink:0;justify-content:center;gap:6px;padding:10px 0 8px;display:flex}.m-dots i{width:6px;height:6px;transition:width var(--dur-base) var(--ease-out);background:#ffffff73;border-radius:3px}.m-dots i.is-active{background:#fff;width:18px}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);height:84px;color:var(--text-muted);flex-shrink:0;padding:6px 4px 26px;display:flex}.bottom-nav__item{min-height:48px;color:inherit;font-size:10.5px;font-weight:var(--fw-medium);border-radius:var(--r-md);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.bottom-nav__item svg.lucide{width:22px;height:22px}.bottom-nav__item.is-active{color:var(--accent-text)}.bottom-nav__item .icon-btn__dot{top:4px;right:calc(50% - 16px);transform:none}.m-fab{background:var(--accent);color:#fff;z-index:4;border:0;border-radius:18px;place-items:center;width:56px;height:56px;display:grid;position:absolute;bottom:100px;right:18px;box-shadow:0 10px 24px -6px #4f46e599}.m-fab svg.lucide{width:24px;height:24px}.m-sheet{background:var(--surface);min-height:0;color:var(--text);animation:fb-sheet-in var(--dur-slow) var(--ease-out);flex-direction:column;flex:1;display:flex}.m-sheet__bar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;height:52px;padding:0 6px;display:flex}.m-sheet__bar .icon-btn{width:44px;height:44px}.m-sheet__list-btn{height:40px;font-size:var(--fs-md);color:var(--text-muted);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.m-sheet__list-btn b{color:var(--text);font-weight:var(--fw-semibold)}.m-sheet__scroll{flex:1;overflow-y:auto}.m-sheet__cover{background:var(--cover,var(--cover-photo-2));height:120px}.m-sheet__content{padding:var(--sp-4);gap:var(--sp-5);flex-direction:column;display:flex}.m-sheet__title{font-size:21px;font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:1.3}.m-actions{margin:0 calc(var(--sp-4) * -1);padding:0 var(--sp-4);scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.m-actions::-webkit-scrollbar{display:none}.m-action{border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--surface);height:40px;color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);flex-shrink:0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.m-action svg.lucide{color:var(--text-muted)}.m-field{align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border);min-height:48px;padding:4px 0;display:flex}.m-field__icon{color:var(--text-muted)}.m-field__label{width:92px;font-size:var(--fs-md);color:var(--text-muted);flex-shrink:0}.m-field__value{font-size:var(--fs-base);flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.m-sheet .checklist__item{min-height:44px}.m-sheet .checklist__item .checkbox input{width:22px;height:22px}.m-composer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:flex-end;gap:8px;padding:8px 12px 30px;display:flex}.m-composer__input{background:var(--surface-sunken);min-height:44px;color:var(--text-subtle);font-size:var(--fs-base);border-radius:22px;flex:1;padding:11px 14px}.m-composer .icon-btn{border-radius:50%;width:44px;height:44px}.m-composer .icon-btn--send{background:var(--accent);color:#fff}@media (width<=1100px){.admin-grid-2,.search-layout{grid-template-columns:1fr}.search-filters{position:static}}@media (width<=900px){.sidebar{display:none}.app__main{padding:var(--sp-5) var(--sp-4) var(--sp-10)}.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.card-modal__grid{grid-template-columns:1fr}.admin-nav{display:none}.admin-main{padding:var(--sp-5) var(--sp-4)}.topbar__center{display:none}.task-row{grid-template-columns:20px minmax(0,1fr) auto}.task-row__labels,.task-row__badges,.task-row>.icon-btn{display:none}.drawer{width:min(100%, var(--drawer-w));position:fixed;top:0;bottom:0;right:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.card--dragging{transform:none}}@media (forced-colors:active){.card,.list,.modal,.popover,.menu,.btn{border:1px solid canvastext}.label-chip--strip,.labels-collapsed .card__labels .label-chip{forced-color-adjust:none}}:root{--font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}.board{gap:0}.list-wrap{flex:0 0 var(--list-w);width:var(--list-w);max-height:100%;margin-right:var(--sp-3);flex-direction:column;display:flex}.list-wrap>.list{flex:0 auto;width:100%;max-height:100%}.board>.list--add,.board>.list--composer{flex:0 0 var(--list-w)}.list__cards{gap:0;min-height:12px;padding-bottom:2px}.list__cards>.card-drag,.list__cards>.composer{margin-bottom:var(--sp-2)}.list__cards.is-over{border-radius:var(--r-md);background:#ffffff0f}.card-drag{outline:none}.card-drag:focus-visible>.card{box-shadow:0 0 0 2px var(--focus-ring)}.list__header{cursor:grab}.list__header:active{cursor:grabbing}.list__title{cursor:text}.list__title-input{min-width:0;font-weight:var(--fw-semibold);flex:1}.card--editing{cursor:default;padding:6px}.card--editing .composer__input{width:100%;min-height:64px}.board-banner{align-items:center;gap:var(--sp-2);margin:0 var(--sp-4) var(--sp-2);border-radius:var(--r-md);color:#fff;font-size:var(--fs-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;padding:8px 12px;display:flex}.board-header__title:disabled{cursor:default;opacity:1}.board-header__title-input{min-width:120px}.topbar--board{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#0a0c1847;border-bottom-color:#ffffff1f}.topbar--board .ws-switcher,.topbar--board .icon-btn{color:#fff}.topbar--board .ws-switcher:hover,.topbar--board .icon-btn:hover{background:#ffffff29}.topbar--board .topbar__search .input{color:#fff;background:#ffffff29;border-color:#0000}.topbar--board .topbar__search .input::placeholder{color:#ffffffbf}.topbar--board .topbar__search>svg,.topbar--board .topbar__search .kbd{color:#fffc}.topbar__mobile-only{display:none}.ws-switcher__name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.notif-panel--dropdown{z-index:var(--z-dropdown);color:var(--text);position:absolute;top:calc(100% + 10px);right:0}.notif{cursor:pointer}.fb-spinner{place-items:center;padding:48px;display:grid}.fb-spinner span{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite fb-spin}@keyframes fb-spin{to{transform:rotate(360deg)}}.board-page>.fb-spinner span{border-color:#fff #ffffff4d #ffffff4d}.card-modal--loading{place-items:center;min-height:240px;padding:32px;display:grid}.card-modal__title{resize:none;font-family:inherit;display:block;overflow:hidden}.card-modal__archived{margin:var(--sp-4) var(--sp-6) 0}.card-modal.is-drop-target{box-shadow:0 0 0 3px var(--accent), var(--shadow-xl)}.card-modal__drop{z-index:5;border-radius:var(--r-2xl);background:color-mix(in srgb, var(--accent) 14%, transparent);border:2px dashed var(--accent);color:var(--accent-text);font-weight:var(--fw-semibold);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.md-placeholder{border-radius:var(--r-md);background:var(--surface-sunken);width:100%;min-height:56px;color:var(--text-muted);text-align:left;font:inherit;cursor:pointer;border:0;padding:10px 12px;display:block}.md-placeholder:hover{background:var(--surface-active)}.md-editor__area{resize:none;overflow:hidden}.checklist__text{cursor:text;flex:1}.checklist__edit{gap:var(--sp-2);flex-direction:column;display:flex}.checklist__edit textarea{resize:vertical;width:100%}button.attachment__thumb{cursor:zoom-in;border:0;width:100%;padding:0;display:block}.attachment__meta a{color:var(--text-muted)}button.dropzone{width:100%;font:inherit;cursor:pointer}.cover-thumb{border-radius:var(--r-sm);cursor:pointer;height:48px;box-shadow:inset 0 0 0 1px var(--border);background-position:50%;background-size:cover;border:0}.cover-thumb.is-selected{box-shadow:0 0 0 2px var(--accent)}.comment__text.md p{margin:0}.comment__text.md p+p{margin-top:6px}.lightbox{z-index:calc(var(--z-toast) - 1);animation:fb-modal-in var(--dur-base) var(--ease-out);background:#08090ee0;place-items:center;padding:56px 64px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--r-md);max-width:100%;max-height:100%;box-shadow:var(--shadow-xl);object-fit:contain}.lightbox__bar{align-items:center;gap:var(--sp-2);color:#fff;font-weight:var(--fw-medium);display:flex;position:absolute;top:12px;left:16px;right:16px}.lightbox__bar>span{flex:1}.lightbox__nav{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#ffffff42}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}.archive-row{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);background:var(--surface-sunken);padding:8px 10px;display:flex}.link-btn{color:var(--accent-text);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.search-page__input{max-width:640px}.search-page__input .input{padding-left:40px}.admin-mobile-nav{margin-bottom:var(--sp-4);gap:6px;display:none;overflow-x:auto}.board-tile--create{font:inherit}.board-tile--create:disabled{opacity:.55;cursor:not-allowed}@media (width<=900px){.admin-mobile-nav{display:flex}.topbar__mobile-only{display:inline-flex}}@media (width<=640px){.topbar{padding:0 var(--sp-2);gap:var(--sp-2)}.topbar .logo__text,.topbar__btn-text,.ws-switcher__name{display:none}.board-header{padding-left:var(--sp-3);padding-right:var(--sp-3);flex-wrap:wrap;row-gap:6px}.board-header .avatar-stack,.board-header__online{display:none}.board{scroll-snap-type:x mandatory;padding-left:12px;padding-right:12px;scroll-padding:0 12px}.list-wrap,.board>.list--add,.board>.list--composer{scroll-snap-align:start;flex-basis:calc(100vw - 40px);width:calc(100vw - 40px)}.card-modal{border-radius:0;min-height:100vh}.overlay{padding:0}.card-modal__cover{border-radius:0}.card-modal__head{padding:var(--sp-4) var(--sp-4) 0}.card-modal__grid{padding-left:var(--sp-4)!important;padding-right:var(--sp-4)!important}.notif-panel--dropdown{top:var(--topbar-h);width:auto;position:fixed;left:8px;right:8px}.lightbox{padding:56px 8px}}.share-buttons{flex-wrap:wrap;gap:6px;display:flex}.share-buttons .btn{text-decoration:none}.plan-compare th,.plan-compare td{text-align:center}.plan-compare th:first-child,.plan-compare td:first-child{text-align:left}.plan-compare .is-current{background:var(--accent-soft)}.plan-compare th .badge{margin-left:6px}.invite-card form,.invite-card .tabs{text-align:left;width:100%}.invite-card .tabs{justify-content:center}
