:root{--ink: #0f172a;--ink-soft: #475569;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--surface: #ffffff;--surface-2: #f5f7fb;--surface-3: #eef2f8;--sidebar-bg: #f3f6fb;--accent: #5b4cdb;--accent-soft: #ece9ff;--accent-deep: #4338ca;--navy: #121a3a;--navy-2: #1b2758;--success: #0f9f6e;--success-soft: #e6f7f0;--warning: #d97706;--warning-soft: #fff4e5;--danger: #dc2626;--danger-soft: #fee2e2;--urgent: #db2777;--radius: 14px;--radius-sm: 10px;--shadow: 0 10px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 60px rgba(15, 23, 42, .18);--font: "DM Sans", system-ui, sans-serif;--display: "Instrument Sans", "DM Sans", system-ui, sans-serif;--logo-font: "Syne", "Instrument Sans", system-ui, sans-serif;--sidebar: 268px;--panel-bg: #ffffff;--topbar-bg: rgba(245, 247, 251, .85);--page-glow-a: #dfe6ff;--page-glow-b: #e8f4ff;--nav-hover: #e8edf5;--nav-active-soft: #e8edf5;--search-bg: #ffffff;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--dur-fast: .14s;--dur: .22s;--dur-enter: .48s;color:var(--ink);font-family:var(--font);line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html[data-theme=dark]{--ink: #f1f3f5;--ink-soft: #c5c8d0;--muted: #9aa3ad;--line: #2a2e33;--line-strong: #3a4048;--surface: #141618;--surface-2: #0b0c0e;--surface-3: #1c1f23;--sidebar-bg: #0f1012;--accent: #8b7cf7;--accent-soft: #221f33;--accent-deep: #c4b5fd;--success: #34d399;--success-soft: #0f2e24;--warning: #fbbf24;--warning-soft: #3a2a0c;--danger: #f87171;--danger-soft: #3f1d24;--urgent: #f472b6;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6);--panel-bg: #141618;--topbar-bg: rgba(11, 12, 14, .92);--page-glow-a: #121416;--page-glow-b: #0e0f11;--nav-hover: #1a1d22;--nav-active-soft: #1f2228;--search-bg: #1a1d22}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;overflow:hidden}.boot-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-weight:650;letter-spacing:.02em}body{margin:0;background:radial-gradient(1200px 500px at 10% -10%,var(--page-glow-a) 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,var(--page-glow-b) 0%,transparent 50%),var(--surface-2);background-attachment:fixed;color:var(--ink);transition:background .28s var(--ease-soft, ease)}html[data-wallpaper=default] body{background:radial-gradient(1200px 500px at 10% -10%,var(--page-glow-a) 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,var(--page-glow-b) 0%,transparent 50%),var(--surface-2);background-attachment:fixed}html[data-wallpaper=dots] body{background-color:var(--surface-2);background-image:radial-gradient(circle,color-mix(in srgb,var(--ink) 14%,transparent) 1px,transparent 1.5px),radial-gradient(1200px 500px at 10% -10%,var(--page-glow-a) 0%,transparent 55%);background-size:14px 14px,auto;background-attachment:fixed,fixed}html[data-wallpaper=grid] body{background-color:var(--surface-2);background-image:linear-gradient(color-mix(in srgb,var(--ink) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 8%,transparent) 1px,transparent 1px),radial-gradient(900px 400px at 100% 0%,var(--page-glow-b) 0%,transparent 50%);background-size:24px 24px,24px 24px,auto;background-attachment:fixed,fixed,fixed}html[data-wallpaper=diagonal] body{background-color:var(--surface-2);background-image:repeating-linear-gradient(-32deg,transparent,transparent 10px,color-mix(in srgb,var(--ink) 7%,transparent) 10px,color-mix(in srgb,var(--ink) 7%,transparent) 11px),radial-gradient(1000px 420px at 0% 0%,var(--page-glow-a) 0%,transparent 55%);background-attachment:fixed,fixed}html[data-wallpaper=grain] body{background-color:var(--surface-2);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E"),radial-gradient(1100px 480px at 80% -10%,var(--page-glow-b) 0%,transparent 55%),var(--surface-2);background-size:180px 180px,auto,auto;background-blend-mode:soft-light,normal,normal;background-attachment:fixed,fixed,fixed}html[data-wallpaper=waves] body{background-color:var(--surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='40' viewBox='0 0 120 40'%3E%3Cpath d='M0 20c20 0 20-12 40-12s20 12 40 12 20-12 40-12' fill='none' stroke='%2394a3b8' stroke-opacity='0.35' stroke-width='1'/%3E%3C/svg%3E"),radial-gradient(900px 400px at 10% 0%,var(--page-glow-a) 0%,transparent 55%);background-size:120px 40px,auto;background-attachment:fixed,fixed}html[data-wallpaper=mesh] body{background:radial-gradient(at 20% 20%,color-mix(in srgb,var(--accent) 22%,transparent) 0%,transparent 45%),radial-gradient(at 80% 10%,color-mix(in srgb,#22d3ee 18%,transparent) 0%,transparent 42%),radial-gradient(at 50% 80%,color-mix(in srgb,#f472b6 14%,transparent) 0%,transparent 48%),var(--surface-2);background-attachment:fixed}html[data-wallpaper=linen] body{background-color:var(--surface-2);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,color-mix(in srgb,var(--ink) 5%,transparent) 2px,color-mix(in srgb,var(--ink) 5%,transparent) 3px),repeating-linear-gradient(90deg,transparent,transparent 2px,color-mix(in srgb,var(--ink) 5%,transparent) 2px,color-mix(in srgb,var(--ink) 5%,transparent) 3px),radial-gradient(1000px 420px at 100% 0%,var(--page-glow-b) 0%,transparent 50%);background-attachment:fixed,fixed,fixed}html[data-wallpaper=topo] body{background-color:var(--surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Ccircle cx='80' cy='80' r='24' fill='none' stroke='%2394a3b8' stroke-opacity='0.28'/%3E%3Ccircle cx='80' cy='80' r='44' fill='none' stroke='%2394a3b8' stroke-opacity='0.22'/%3E%3Ccircle cx='80' cy='80' r='64' fill='none' stroke='%2394a3b8' stroke-opacity='0.16'/%3E%3C/svg%3E"),radial-gradient(1100px 500px at 0% -10%,var(--page-glow-a) 0%,transparent 55%);background-size:160px 160px,auto;background-attachment:fixed,fixed}html[data-wallpaper=aurora] body{background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent 42%,color-mix(in srgb,#34d399 16%,transparent) 68%,transparent),radial-gradient(900px 500px at 90% 10%,color-mix(in srgb,#38bdf8 20%,transparent),transparent 55%),var(--surface-2);background-attachment:fixed}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;margin:0}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}code{font-size:.92em;background:var(--surface-3);padding:.1em .35em;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--muted)}.muted.tiny{font-size:.78rem;margin-top:.35rem}.danger-text{color:var(--danger);font-weight:600}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:var(--muted)}.btn{--btn-rise: 0px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:14px;min-height:42px;padding:.7rem 1.2rem;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:700;letter-spacing:.015em;line-height:1.1;white-space:nowrap;transform:translateY(var(--btn-rise));transition:transform .18s var(--ease-out),background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,filter .18s ease}.btn:hover{--btn-rise: -2px}.btn:active{--btn-rise: 0px}.btn.primary{--btn-top: #7b95ff;--btn-mid: #4560f0;--btn-bot: #2c3fd0;position:relative;isolation:isolate;overflow:hidden;color:#fff;border-color:#d2deff6b;background:radial-gradient(140% 120% at 18% -10%,rgba(255,255,255,.48) 0%,transparent 46%),radial-gradient(90% 80% at 100% 100%,rgba(56,189,248,.22) 0%,transparent 55%),linear-gradient(180deg,var(--btn-top) 0%,var(--btn-mid) 52%,var(--btn-bot) 100%);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #14206e47,0 1px 2px #0f172a0f,0 10px 18px -6px #2d46dca6,0 22px 40px -16px #2d46dc73;text-shadow:0 1px 1px rgba(20,32,90,.28)}.btn.primary>*{position:relative;z-index:1}.btn.primary:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 38%);pointer-events:none}.btn.primary:after{content:"";position:absolute;top:-40%;left:-35%;width:45%;height:180%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.08) 35%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.08) 65%,transparent 100%);transform:translate(-30%) rotate(18deg);transition:transform .65s var(--ease-out);pointer-events:none}.btn.primary:hover{--btn-top: #8ca4ff;--btn-mid: #5470ff;--btn-bot: #364adf;border-color:#e6ecff8c;box-shadow:inset 0 1px #ffffffa6,inset 0 -2px #14206e38,0 2px 4px #0f172a14,0 14px 24px -6px #2d46dcb8,0 28px 48px -14px #2d46dc80;filter:saturate(1.08) brightness(1.03)}.btn.primary:hover:after{transform:translate(280%) rotate(18deg)}.btn.primary:active{filter:none;box-shadow:inset 0 1px #ffffff47,inset 0 3px 8px #14205a47,0 4px 12px #2d46dc59}.btn.primary:focus-visible{outline:none;box-shadow:inset 0 1px #ffffff8c,0 0 0 3px color-mix(in srgb,#6b86ff 34%,transparent),0 10px 18px -6px #2d46dca6}.btn.outline{border-color:var(--line-strong);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);box-shadow:0 1px 2px #0f172a0a}.btn.outline:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line-strong));background:var(--surface);box-shadow:0 6px 16px #0f172a14}.btn.ghost{background:transparent;color:var(--ink-soft)}.btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.btn.danger-ghost{background:transparent;color:var(--danger);border-color:transparent}.btn.danger-ghost:hover{background:var(--danger-soft);border-color:transparent}.btn.danger{position:relative;overflow:hidden;color:#fff;border-color:#ffffff38;background:radial-gradient(120% 100% at 20% 0%,rgba(255,255,255,.28) 0%,transparent 45%),linear-gradient(180deg,#ff6b6b,#ef4444 48%,#dc2626);box-shadow:inset 0 1px #ffffff59,0 10px 20px -6px #dc26268c}.btn.danger:hover{box-shadow:inset 0 1px #ffffff6b,0 14px 26px -6px #dc26269e}.btn.sm{min-height:34px;padding:.4rem .85rem;font-size:.85rem;border-radius:11px}.btn.block{width:100%}.btn.icon{width:40px;height:40px;padding:0;position:relative;border-color:var(--line)}.btn.icon .dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:1.5px solid #fff}.notif-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;border:1.5px solid var(--surface);font-size:.62rem;font-weight:800;line-height:13px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:-.02em}.linkish{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0;text-decoration:none}.auth-card{width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:1.75rem 1.6rem 1.4rem;animation:rise var(--dur-enter) var(--ease-out) both}.auth-card h1{font-size:1.55rem;margin:.15rem 0 .45rem}.auth-form{display:grid;gap:.85rem;margin-top:1rem}.auth-form label{display:grid;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;background:var(--surface-2);color:var(--ink);outline:none}.auth-form input:focus{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);background:var(--surface)}.auth-check{display:flex!important;align-items:flex-start;gap:.55rem;grid-template-columns:none!important;font-weight:600;color:var(--ink)}.auth-check input{width:auto;margin-top:.2rem}.auth-footer{margin-top:1rem;text-align:center;color:var(--muted);font-size:.9rem}.auth-footer a,.auth-footer.in-pane a{color:var(--accent);font-weight:650}.auth-footer.in-pane{margin-top:.85rem}.login-page{height:100%;min-height:100%;overflow:auto;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:var(--surface);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6)}.login-card.animate-in-soft>.login-hero{animation:card-enter var(--dur-enter) var(--ease-out) both;animation-delay:0ms}.login-card.animate-in-soft>.login-form-pane{animation:card-enter var(--dur-enter) var(--ease-out) both;animation-delay:90ms}.login-hero{position:relative;background:radial-gradient(420px 240px at 15% 15%,rgba(99,130,255,.35),transparent 65%),linear-gradient(160deg,#0e1633,#182456 55%,#243a88);color:#eef2ff;padding:2.75rem;overflow:hidden}.login-hero-inner{position:relative;z-index:1;max-width:26rem}.login-kicker{margin:1rem 0 .5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;color:#a9b8ff}.login-hero h1{font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.1;margin-bottom:.9rem}.login-lede{color:#c5ceef;margin-bottom:1.5rem}.login-hero ul{margin:0;padding:0;list-style:none;display:grid;gap:.7rem}.login-hero li{display:flex;gap:.65rem;align-items:flex-start;color:#d7def8;font-size:.95rem}.login-hero li:before{content:"";width:8px;height:8px;margin-top:.45rem;border-radius:50%;background:#8ea2ff;flex-shrink:0}.login-orb{position:absolute;width:280px;height:280px;right:-80px;bottom:-90px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(143,168,255,.45),transparent 70%);animation:float 8s ease-in-out infinite}.login-form-pane{padding:2.5rem 2.25rem;display:grid;align-items:center;background:linear-gradient(180deg,#fff,#fbfcff)}.login-form{display:grid;gap:.9rem}.login-form h2{font-size:1.55rem}.login-form label,.modal-body label,.filter-bar label{display:grid;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.login-form input,.modal-body input,.modal-body select,.modal-body textarea,.filter-bar input,.filter-bar select,.member-filter select,.comment-form textarea,.status-select,.search-field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;background:#fff;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}select,.modal-body select,.filter-bar select,.member-filter select,.status-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.4rem;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:12px 8px}.login-form input:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.filter-bar input:focus,.filter-bar select:focus,.comment-form textarea:focus,.status-select:focus,.search-field input:focus{border-color:#9aabf5;box-shadow:0 0 0 3px #2f4bdb26}.login-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.checkbox{display:flex!important;align-items:center;gap:.45rem;font-weight:500!important;color:var(--ink-soft)}.checkbox input{width:auto}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:.55rem .75rem;font-size:.88rem;margin:0}.form-success{color:var(--success);background:var(--success-soft);border-radius:8px;padding:.55rem .75rem;font-size:.88rem;margin:0}.password-form,.announcement-form{display:grid;gap:1rem;margin-top:1rem;max-width:520px}.settings-field{display:grid;gap:.45rem;margin:0}.settings-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.82rem;font-weight:650;color:var(--ink-soft)}.settings-field-label em{font-style:normal;font-weight:500;font-size:.75rem;color:var(--muted)}.settings-field-shell{display:flex;align-items:center;gap:.55rem;min-height:48px;padding:0 .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.settings-field-shell-area{align-items:stretch;min-height:0;padding:.75rem .85rem}.settings-field-shell:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.settings-field-shell input,.settings-field-shell textarea{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;padding:.85rem 0;resize:vertical}.settings-field-shell textarea{min-height:6rem;line-height:1.45;padding:0}.settings-field-shell input::placeholder,.settings-field-shell textarea::placeholder{color:var(--muted);opacity:.75}.announcement-form .btn{justify-self:start;margin-top:.15rem}html[data-theme=dark] .settings-field-shell{background:var(--surface-3);border-color:var(--line)}html[data-theme=dark] .settings-field-shell:focus-within{background:var(--surface)}.password-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.password-field{display:grid;gap:.45rem;margin:0}.password-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.82rem;font-weight:650;color:var(--ink-soft)}.password-field-label em{font-style:normal;font-weight:500;font-size:.75rem;color:var(--muted)}.password-field-shell{display:flex;align-items:center;gap:.55rem;min-height:48px;padding:0 .55rem 0 .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.password-field-shell:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.password-field-icon{display:inline-grid;place-items:center;color:var(--muted);flex-shrink:0}.password-field-shell input{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;padding:.85rem 0;letter-spacing:.04em}.password-field-shell input::placeholder{color:var(--muted);letter-spacing:.18em;opacity:.7}.password-visibility{display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.password-visibility:hover{background:var(--surface-3);color:var(--ink)}.password-form .btn{justify-self:start;margin-top:.15rem}.account-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}@media(max-width:700px){.password-form-grid{grid-template-columns:1fr}}html[data-theme=dark] .password-field-shell{background:var(--surface-3);border-color:var(--line)}html[data-theme=dark] .password-field-shell:focus-within{background:var(--surface)}html[data-theme=dark] .btn.primary{--btn-top: #8ea4ff;--btn-mid: #6b7fff;--btn-bot: #4f5ff0;border-color:#becdff47}.divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;color:var(--muted);font-size:.8rem}.divider:before,.divider:after{content:"";height:1px;background:var(--line)}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.brand-logo{display:inline-grid;place-items:center;flex-shrink:0;border-radius:11px;background:var(--accent);color:#fff;font-family:var(--logo-font);font-weight:800;letter-spacing:-.06em;line-height:1;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent);-webkit-user-select:none;user-select:none}.login-brand-logo{border-radius:14px;box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 40%,transparent);margin-bottom:.35rem}.auth-brand-logo{margin-bottom:.65rem;border-radius:12px}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--accent);color:#fff;box-shadow:0 8px 16px #5b4cdb47}.brand-mark.brand-t{font-family:var(--display);font-weight:700;font-size:1.05rem}.brand-mark.lg{width:48px;height:48px;border-radius:14px;background:linear-gradient(180deg,#7a6cf0,var(--accent))}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;height:100vh;overflow:hidden}.sidebar-layer{height:100%;min-height:0;overflow:hidden}.sidebar{height:100%;display:flex;flex-direction:column;padding:1.15rem .85rem 1rem;background:var(--sidebar-bg);border-right:1px solid var(--line);overflow:hidden;min-height:0}.sidebar-brand{display:flex;gap:.65rem;align-items:center;padding:.35rem .55rem 1.15rem}.sidebar-brand-home{display:inline-flex;align-items:center;gap:.65rem;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:10px}.sidebar-brand-home:hover strong{color:var(--accent)}.sidebar-brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-brand strong,.sidebar-brand-home strong{font-family:var(--display);font-size:1.12rem;letter-spacing:-.02em}.pro-badge{margin-left:.15rem;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0f766e;background:color-mix(in srgb,#14b8a6 18%,var(--surface-2, #e8edf5));border-radius:999px;padding:.18rem .45rem}.pro-badge.free{color:#64748b;background:#e8edf5}.plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:.85rem 0 1rem}.plan-summary>div{display:grid;gap:.25rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.plan-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.plan-paid{color:#0f766e}.plan-free{color:var(--ink-soft)}.plan-actions{display:flex;flex-wrap:wrap;gap:.65rem}@media(max-width:720px){.plan-summary{grid-template-columns:1fr}}.nav-label{margin:1rem .7rem .45rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}.nav-label-row{display:flex;align-items:center;justify-content:space-between;padding-right:.45rem}.nav-label-row .nav-label{margin-bottom:.35rem}.nav-plus{border:0;background:transparent;color:#94a3b8;font-size:1.15rem;line-height:1;cursor:pointer;width:28px;height:28px;border-radius:8px}.nav-plus:hover{background:var(--nav-hover);color:var(--ink)}.sidebar-nav{display:grid;gap:.15rem;flex:1;align-content:start;overflow-y:auto;min-height:0;padding-right:.15rem;content-visibility:auto;contain:layout style}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.68rem .8rem;border-radius:12px;color:var(--ink-soft);font-weight:600;font-size:.92rem;contain:layout paint;transition:color .08s linear}.nav-item:hover{background:var(--nav-hover);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--accent-deep)}.nav-item.active.solid{background:var(--accent);color:#fff}.nav-item.active.soft{background:var(--nav-active-soft);color:var(--ink)}.nav-item.project-link{font-weight:550;color:var(--ink-soft)}.project-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nav-badge{margin-left:auto;font-style:normal;min-width:1.4rem;height:1.35rem;padding:0 .35rem;border-radius:999px;display:inline-grid;place-items:center;font-size:.72rem;font-weight:700}.nav-badge.cool{background:#dbe7ff;color:#2f4bdb}.nav-badge.danger{background:#ffe4e6;color:#e11d48}.nav-badge.on-solid{background:#fff;color:#0f172a}.nav-badge.muted-badge{background:#e8edf5;color:#64748b}.sidebar-footer{display:grid;gap:.55rem;padding-top:.85rem;margin-top:.75rem;border-top:1px solid var(--line);flex-shrink:0}.sidebar-user{display:flex;gap:.65rem;align-items:center;padding:.25rem .35rem}.sidebar-user strong{display:block;font-size:.9rem}.sidebar-user p{font-size:.75rem;color:var(--muted)}.main-column{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1.4rem;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.7rem}.global-search{position:relative;width:min(420px,52vw)}.search-field{display:flex;align-items:center;gap:.5rem;width:100%;background:var(--search-bg);border:1px solid var(--line);border-radius:12px;padding:0 .85rem;color:var(--muted);transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.search-field:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.search-field input{border:0;padding:.7rem 0;box-shadow:none!important}.search-clear{border:0;background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer;line-height:1;padding:.2rem}.search-panel{position:absolute;top:calc(100% + .45rem);left:0;right:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);max-height:min(70vh,420px);overflow:auto;padding:.55rem;animation:rise .18s ease both}.search-group-label{margin:.35rem .45rem .25rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.search-hit{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.55rem;row-gap:.05rem;align-items:center;padding:.55rem .6rem;border-radius:10px}.search-hit:hover{background:var(--surface-2)}.search-hit .mono,.search-hit .project-dot,.search-hit .avatar{grid-row:1 / span 2}.search-hit strong{font-size:.9rem}.search-hit em{grid-column:2;font-style:normal;font-size:.75rem;color:var(--muted)}.search-empty{padding:.85rem;color:var(--muted);font-size:.9rem;margin:0}.page-header-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.view-toggle{display:inline-flex;padding:.2rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:.15rem}.view-toggle button{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;border-radius:9px;padding:.45rem .85rem;font-weight:650;font-size:.85rem;color:var(--ink-soft);cursor:pointer}.view-toggle button svg{flex-shrink:0;opacity:.9}.view-toggle button.active{background:var(--accent);color:#fff}.task-list-panel{overflow:auto}.page{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.5rem 2.5rem;animation:rise var(--dur-enter) var(--ease-out) both}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.page-header h1{font-size:clamp(1.55rem,2.4vw,1.9rem)}.page-header .muted{margin-top:.25rem}.avatar{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0}.avatar-img{object-fit:cover;display:block;background:var(--surface-3)}.profile-photo-row{display:flex;align-items:center;gap:1rem;margin-top:.85rem;flex-wrap:wrap}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow);contain:layout paint}.stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.stat-card-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;flex-shrink:0;background:var(--surface-2);color:var(--ink-soft)}.stat-card.tone-neutral .stat-card-icon{background:var(--surface-3);color:var(--ink-soft)}.stat-card.tone-danger .stat-card-icon{background:var(--danger-soft);color:var(--danger)}.stat-card.tone-accent .stat-card-icon{background:var(--accent-soft);color:var(--accent)}.stat-card.tone-success .stat-card-icon{background:var(--success-soft);color:var(--success)}.stagger-enter{animation:rise var(--dur-enter) var(--ease-out) both;animation-delay:var(--enter-delay, 0ms)}.stat-card p{color:var(--muted);font-size:.85rem;font-weight:600;margin:0}.stat-card strong{display:block;margin-top:.45rem;font-size:1.7rem;font-family:var(--display)}.stat-card.tone-danger strong{color:var(--danger)}.stat-card.tone-accent strong{color:var(--accent)}.stat-card.tone-success strong{color:var(--success)}.login-password-shell{display:flex;align-items:center;gap:.25rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding-right:.35rem;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.login-password-shell:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.login-form .login-password-shell input{flex:1;min-width:0;border:0!important;box-shadow:none!important;background:transparent!important;outline:none}.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:.9rem;overflow-x:auto;padding-bottom:.5rem;contain:layout}.kanban-col{background:#ffffff8c;border:1px solid var(--line);border-radius:var(--radius);min-height:420px;display:flex;flex-direction:column;contain:layout style;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.kanban-col.is-dropping{border-style:dashed}.kanban-col.drop-active{border-color:var(--accent);background:#5b4cdb0f;box-shadow:inset 0 0 0 1px #5b4cdb33}.kanban-col-head{display:flex;justify-content:space-between;align-items:center;padding:.85rem .9rem .55rem}.kanban-col-head h3{font-size:.92rem}.kanban-col-head span{background:var(--surface-3);color:var(--ink-soft);font-size:.75rem;font-weight:700;border-radius:999px;padding:.15rem .5rem}.kanban-col-body{display:grid;gap:.7rem;padding:.5rem .7rem .9rem;align-content:start;flex:1}.empty-col{color:var(--muted);font-size:.85rem;text-align:center;padding:1.5rem .5rem}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.85rem;display:grid;gap:.55rem;box-shadow:0 4px 14px #0f172a0a;cursor:grab;-webkit-user-select:none;user-select:none;contain:layout paint;transform:translateZ(0);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) ease,opacity var(--dur-fast) ease,border-color var(--dur-fast) ease}.task-card.card-enter{animation:card-enter var(--dur-enter) var(--ease-out) both;animation-delay:var(--enter-delay, 0ms)}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.task-card:active{cursor:grabbing}.task-card.dragging{opacity:.4;transform:scale(.985);box-shadow:none;transition:none;will-change:transform,opacity}.task-card.overdue{border-color:#fecaca}.task-card-top{display:flex;gap:.45rem;align-items:center}.drag-hint{color:#94a3b8;font-size:.7rem;letter-spacing:-.08em;line-height:1;flex-shrink:0}.task-card-top .task-key{margin-right:auto}.task-key{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}.task-title{font-weight:650;font-size:.95rem;line-height:1.3}.task-title:hover{color:var(--accent)}.due-remaining-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem;line-height:1.2}.due-date-text{font-size:.82rem;color:var(--ink-soft)}.due-remaining{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:.12rem .5rem;white-space:nowrap}.due-remaining.tone-overdue{color:var(--danger);background:var(--danger-soft)}.due-remaining.tone-today{color:#b45309;background:var(--warning-soft)}.due-remaining.tone-soon{color:#c2410c;background:color-mix(in srgb,#fb923c 22%,var(--surface))}.due-remaining.tone-ok{color:var(--success);background:var(--success-soft)}.due-remaining.tone-done{color:var(--muted);background:var(--surface-2)}.field-block{display:grid;gap:.45rem}.field-block-label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.rich-editor{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.rich-editor:focus-within{border-color:#9aabf5;box-shadow:0 0 0 3px #2f4bdb26}.rich-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .55rem;padding:.55rem .75rem;border-bottom:1px solid var(--line);background:#eef2f7}.rich-editor-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#475569;cursor:pointer;padding:0;transition:background .12s ease,color .12s ease}.rich-editor-btn:hover{background:#0f172a0f;color:#0f172a}.rich-editor-btn.is-active{background:#dbe4f0;color:#0f172a}.rich-editor-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.rich-editor-surface{min-height:120px;max-height:260px;overflow:auto;padding:.75rem .9rem;color:var(--ink);font-size:.92rem;font-weight:500;line-height:1.55;outline:none}.rich-editor-surface.is-empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-editor-surface ul,.rich-text ul{margin:.35rem 0 .35rem 1.15rem;padding:0;list-style:disc}.rich-editor-surface ol,.rich-text ol{margin:.35rem 0 .35rem 1.15rem;padding:0;list-style:decimal}.rich-editor-surface li,.rich-text li{margin:.15rem 0}.rich-editor-surface p,.rich-text p{margin:.35rem 0}.rich-editor-surface p:first-child,.rich-text p:first-child{margin-top:0}.rich-editor-surface a,.rich-text a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.rich-editor-surface code,.rich-text code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:.05rem .35rem}.rich-editor-surface pre,.rich-text pre{margin:.5rem 0;padding:.7rem .8rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);overflow:auto}.rich-editor-surface pre code,.rich-text pre code{border:0;background:transparent;padding:0}.rich-editor-surface table,.rich-text table{width:100%;border-collapse:collapse;margin:.55rem 0;font-size:.88rem}.rich-editor-surface th,.rich-editor-surface td,.rich-text th,.rich-text td{border:1px solid var(--line);padding:.4rem .55rem;text-align:left;vertical-align:top}.rich-editor-surface th,.rich-text th{background:var(--surface-2);font-weight:700;color:var(--ink)}.rich-text{color:var(--ink-soft);font-size:.95rem;line-height:1.55;word-break:break-word}.rich-text strong,.rich-text b{color:var(--ink);font-weight:700}.tag-chip-picks{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip-pick{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:650;cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease}.tag-chip-pick:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--ink)}.tag-chip-pick.selected{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent-deep)}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.tag{font-size:.72rem;font-weight:650;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:.18rem .5rem}.progress-row{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted);font-weight:600}.progress-track{flex:1;height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6b84f5,var(--accent));transform-origin:left center;transition:width .55s var(--ease-out)}.task-card-foot{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.task-meta{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--muted);min-width:0}.task-meta .due-remaining-wrap{min-width:0}.task-card .due-date-text{font-size:.72rem}.status-select{width:auto;padding:.35rem 2rem .35rem .55rem;font-size:.72rem;border-radius:8px;background-position:right .55rem center}.status-select.lg{padding:.55rem 2.25rem .55rem .75rem;font-size:.85rem;background-position:right .75rem center}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.01em}.priority-low{background:#eef2f7;color:#475569}.priority-medium{background:var(--warning-soft);color:#b45309}.priority-high{background:#ffe4e6;color:#be123c}.priority-urgent{background:#fce7f3;color:var(--urgent)}.status-todo{background:#eef2f7;color:#475569}.status-in_progress{background:var(--accent-soft);color:var(--accent-deep)}.status-in_review{background:var(--warning-soft);color:#b45309}.status-done{background:var(--success-soft);color:#047857}.filter-bar{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:.65rem;margin-bottom:1rem;padding:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.filter-bar-5{grid-template-columns:1.3fr repeat(4,minmax(0,1fr))}.member-filter{margin-bottom:1rem}.member-filter.is-hidden,.member-filter[hidden]{display:none!important;margin:0}.member-filter label{display:grid;gap:.4rem;max-width:320px;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.role-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .65rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.role-pill.admin,.role-pill.inline.admin{background:var(--accent-soft);color:var(--accent-deep)}.role-pill.user,.role-pill.inline.user{background:var(--surface-3);color:var(--ink-soft)}.role-pill.inline{padding:.12rem .45rem;vertical-align:middle}.permission-note{margin:0 0 1rem;padding:.7rem .9rem;border-radius:10px;background:#fff8eb;color:#92400e;font-size:.88rem;border:1px solid #fde68a}.panel-head-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem}.panel-head-row h2{margin:0}.demo-accounts{margin-top:.35rem}.demo-account-row{display:flex;flex-wrap:wrap;gap:.45rem}.demo-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.3rem .55rem .3rem .3rem;cursor:pointer;font-size:.78rem;font-weight:600}.demo-chip.selected{border-color:#9aabf5;background:var(--accent-soft)}.demo-chip em{display:block;font-style:normal;font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem;align-items:stretch}.member-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem;display:flex;flex-direction:column;gap:.75rem;min-height:420px;height:100%}.member-card-head{display:flex;gap:.75rem;align-items:flex-start}.member-card-title{flex:1;min-width:0;padding-right:.25rem}.member-card-head h2{font-size:1.05rem}.member-card-head p{color:var(--muted);font-size:.82rem;margin-top:.15rem}.card-overflow-menu{position:relative;flex-shrink:0;margin-left:auto}.card-overflow-trigger{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.card-overflow-trigger:hover,.card-overflow-trigger[aria-expanded=true]{background:var(--surface-2);color:var(--ink)}.card-overflow-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:12;min-width:148px;padding:.35rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lg)}.card-overflow-item{display:block;width:100%;border:0;border-radius:8px;background:transparent;padding:.55rem .7rem;text-align:left;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;color:var(--ink)}.card-overflow-item:hover{background:var(--surface-2)}.card-overflow-item.danger-text:hover{background:var(--danger-soft)}.member-stat-row{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.82rem;color:var(--ink-soft)}.member-task-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;flex:1;min-height:160px;max-height:220px;overflow:auto}.member-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:auto}.member-board-btn{margin-top:auto;width:100%;height:36px;min-height:36px;box-sizing:border-box}.member-task-list a{display:grid;gap:.15rem}.member-task-list strong{font-size:.9rem}.member-task-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.3rem;font-size:.75rem;color:var(--muted)}.project-actions{display:flex;flex-wrap:wrap;gap:.45rem}.project-desc{color:var(--muted);font-size:.88rem}.color-picks{display:flex;flex-wrap:wrap;gap:.45rem}.color-pick{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer}.color-pick.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.password-with-action{display:flex;gap:.45rem;align-items:center}.password-with-action input{flex:1;min-width:0}.share-creds{display:grid;gap:.75rem;margin:.85rem 0 1rem}.share-cred-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.share-cred-row>div{display:grid;gap:.2rem;min-width:0}.share-cred-row strong{word-break:break-all}.perm-list{margin:.5rem 0 1rem;padding-left:1.1rem;color:var(--ink-soft);display:grid;gap:.35rem}.settings-panel h3{margin-top:.5rem;font-size:.95rem}.directory-layout{display:grid;grid-template-columns:1fr 280px;gap:1rem;align-items:start}.table-panel,.stats-panel,.panel,.project-card,.settings-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.table-panel{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th,.data-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2)}.table-link{font-weight:650}.table-link:hover{color:var(--accent)}.data-table tbody tr.table-row-clickable{cursor:pointer}.data-table tbody tr.table-row-clickable:hover td{background:color-mix(in srgb,var(--accent) 6%,transparent)}.data-table tbody tr.table-row-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-sub{font-size:.78rem;color:var(--muted);margin-top:.15rem}.assignee-cell{display:inline-flex;align-items:center;gap:.45rem}.empty-row{text-align:center;color:var(--muted);padding:2rem!important}.stats-panel{padding:1.1rem;position:sticky;top:84px}.stats-panel h3,.stats-panel h4{font-size:.98rem}.stats-panel h4{margin:1.1rem 0 .5rem}.donut-wrap{display:grid;place-items:center;margin:.75rem 0}.donut{position:relative;width:140px;height:140px}.donut-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.donut-label strong{font-size:1.35rem;font-family:var(--display)}.donut-label span{font-size:.75rem;color:var(--muted)}.legend{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.legend li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft)}.legend i{width:9px;height:9px;border-radius:50%}.legend b{margin-left:auto}.burndown{display:block;margin-top:.25rem}.back-link{display:inline-block;margin-bottom:.85rem;color:var(--muted);font-weight:600;font-size:.9rem}.back-link:hover{color:var(--accent)}.detail-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.1rem}.detail-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.55rem}.detail-header h1{font-size:clamp(1.5rem,2.5vw,1.95rem);max-width:40rem}.detail-actions{display:flex;gap:.55rem;align-items:center}.detail-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:1rem;align-items:start}.detail-main{display:grid;gap:1rem}.panel{padding:1.15rem 1.2rem}.panel h2{font-size:1.05rem;margin-bottom:.65rem}.req-list{margin:.85rem 0 0;padding-left:1.1rem;display:grid;gap:.45rem;color:var(--ink-soft)}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem}.file-tile-wrap{position:relative}.file-tile-remove{position:absolute;top:6px;right:6px;z-index:2;width:26px;height:26px;border:0;border-radius:8px;background:#0f172ab8;color:#fff;cursor:pointer;font-size:1rem;line-height:1;display:inline-grid;place-items:center}.file-tile-remove:hover{background:var(--danger)}.file-tile{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem;display:grid;gap:.3rem;background:var(--surface-2);text-align:left;cursor:pointer;color:inherit;font:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.file-tile:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow);transform:translateY(-1px)}.file-tile strong{font-size:.85rem;word-break:break-word}.file-tile span{font-size:.75rem;color:var(--muted)}.file-tile-thumb{width:100%;height:88px;object-fit:cover;border-radius:8px;background:var(--surface-3)}.file-tile-kind{display:inline-grid;place-items:center;width:100%;height:52px;border-radius:8px;font-size:.78rem;font-weight:800;letter-spacing:.06em;color:var(--ink-soft);background:var(--surface-3)}.file-tile.type-image{background:linear-gradient(160deg,#eef2ff,#f8fafc)}.file-tile.type-pdf{background:linear-gradient(160deg,#fff1f2,#f8fafc)}.file-tile.type-pdf .file-tile-kind{color:#be123c;background:#ffe4e6}.file-tile.type-doc .file-tile-kind{color:#1d4ed8;background:#dbeafe}.attachment-viewer{width:min(920px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column}.attachment-viewer-actions{display:flex;align-items:center;gap:.4rem}.attachment-viewer-body{padding:.5rem 1.25rem 1.25rem;min-height:220px;max-height:min(72vh,720px);overflow:auto}.attachment-viewer-image{display:block;max-width:100%;max-height:min(68vh,680px);margin:0 auto;border-radius:12px;object-fit:contain;background:var(--surface-2)}.attachment-viewer-frame{width:100%;height:min(68vh,680px);border:1px solid var(--line);border-radius:12px;background:#fff}.attachment-viewer-doc{display:grid;gap:.85rem;justify-items:start;padding:1.5rem .25rem;color:var(--ink-soft)}.comment-list{display:grid;gap:.95rem;margin-bottom:1rem}.comment{display:grid;grid-template-columns:auto 1fr;gap:.7rem}.comment header{display:flex;gap:.55rem;align-items:baseline;margin-bottom:.2rem}.comment header span{color:var(--muted);font-size:.78rem}.comment p{color:var(--ink-soft)}.comment-form{display:grid;gap:.65rem}.meta-panel h3{margin-bottom:.85rem}.meta-panel dl{margin:0 0 1rem;display:grid;gap:.75rem}.meta-panel dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.2rem}.meta-panel dd{margin:0;font-weight:600}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade var(--dur) ease both}.confirm-root{z-index:2000;align-items:center;justify-content:center}.modal{width:min(620px,100%);background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);animation:rise var(--dur-enter) var(--ease-out) both;max-height:min(92vh,860px);overflow:auto}.modal-head{display:flex;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem .5rem}.modal-body{display:grid;gap:.85rem;padding:.5rem 1.25rem 1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.priority-level{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.priority-level-option{display:flex;align-items:center;gap:.45rem;margin:0;padding:.55rem .65rem;border-radius:10px;background:#eef2f7;border:1px solid transparent;cursor:pointer;color:#0f172a;font-weight:650;font-size:.88rem;transition:background .15s ease,border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.priority-level-option input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.priority-level-radio{width:16px;height:16px;border-radius:50%;border:1.7px solid #94a3b8;background:transparent;flex-shrink:0;position:relative;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.priority-level-radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:transparent;transition:background .15s ease}.priority-level-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.priority-level-label{line-height:1.1;white-space:nowrap}.priority-level-option.priority-urgent .priority-level-dot{background:#b91c1c}.priority-level-option.priority-high .priority-level-dot{background:#38bdf8}.priority-level-option.priority-medium .priority-level-dot{background:#4f46e5}.priority-level-option.priority-low .priority-level-dot{background:#a5b4fc}.priority-level-option.selected.priority-urgent{background:#fde8ec;color:#9f1239}.priority-level-option.selected.priority-urgent .priority-level-radio{border-color:#e11d48}.priority-level-option.selected.priority-urgent .priority-level-radio:after{background:#e11d48}.priority-level-option.selected.priority-high{background:#e0f2fe;color:#0369a1}.priority-level-option.selected.priority-high .priority-level-radio{border-color:#0ea5e9}.priority-level-option.selected.priority-high .priority-level-radio:after{background:#0ea5e9}.priority-level-option.selected.priority-medium{background:#e0e7ff;color:#3730a3}.priority-level-option.selected.priority-medium .priority-level-radio{border-color:#4f46e5}.priority-level-option.selected.priority-medium .priority-level-radio:after{background:#4f46e5}.priority-level-option.selected.priority-low{background:#eef2ff;color:#4338ca}.priority-level-option.selected.priority-low .priority-level-radio{border-color:#818cf8}.priority-level-option.selected.priority-low .priority-level-radio:after{background:#818cf8}.upload-zone{border:1.5px dashed var(--line-strong);border-radius:12px;padding:1rem;background:var(--surface-2);text-align:center}.upload-zone p{color:var(--muted);font-size:.85rem;margin-top:.25rem}.attachment-dropzone{margin:.75rem 0 1rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.attachment-dropzone strong{display:block;font-size:.92rem;color:var(--ink)}.attachment-dropzone:hover,.attachment-dropzone.is-dragging{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.attachment-dropzone.is-dragging{border-style:solid}.attachment-dropzone.is-uploading{opacity:.7;pointer-events:none}.attachment-dropzone:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.25rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}.project-card{position:relative;padding:1.15rem;display:grid;gap:.55rem}.project-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.project-swatch{width:36px;height:8px;border-radius:999px;margin-top:.45rem}.project-nav-row{display:flex;align-items:flex-start;gap:.15rem;min-width:0;border-radius:10px}.project-nav-row .project-link{flex:1 1 0;min-width:0;align-items:flex-start;gap:.65rem}.project-nav-row .project-link .project-dot{margin-top:.35rem}.project-nav-name{min-width:0;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.3;word-break:break-word;overflow-wrap:anywhere}.project-pin-btn{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;margin-top:.2rem;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;opacity:.7;transition:opacity var(--dur-fast) ease,background var(--dur-fast) ease,color var(--dur-fast) ease}.project-nav-row:hover .project-pin-btn,.project-pin-btn.on,.project-pin-btn:focus-visible{opacity:1}.project-pin-btn:hover{background:var(--surface-3);color:var(--ink)}.project-pin-btn.on{color:var(--accent)}@media(hover:none){.project-pin-btn{opacity:.65}}.project-card p{color:var(--muted);margin-bottom:.35rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.settings-credit{margin:1.35rem 0 0;text-align:center;color:var(--muted);font-size:.88rem;display:flex;align-items:center;justify-content:center;gap:.3rem}.login-credit{margin-top:1.15rem}.settings-credit-heart{display:inline-flex;color:#e11d48;transform:translateY(1px)}.settings-panel{padding:1.25rem;max-width:none;height:100%;display:flex;flex-direction:column}.settings-panel .plan-summary{grid-template-columns:1fr}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}.settings-dl{margin:.85rem 0 1rem;display:grid;gap:.75rem}.settings-dl dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.settings-dl dd{margin:.15rem 0 0;font-weight:650}.sidebar-backdrop,.mobile-only{display:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.row-enter{animation:rise .36s var(--ease-out) both;animation-delay:var(--enter-delay, 0ms)}.animate-in>*{animation:card-enter var(--dur-enter) var(--ease-out) both}.animate-in-soft>*{animation:rise var(--dur-enter) var(--ease-out) both}.animate-in-rows>tr{animation:rise .36s var(--ease-out) both}.animate-in>*:nth-child(1),.animate-in-soft>*:nth-child(1),.animate-in-rows>tr:nth-child(1){animation-delay:0ms}.animate-in>*:nth-child(2),.animate-in-soft>*:nth-child(2),.animate-in-rows>tr:nth-child(2){animation-delay:45ms}.animate-in>*:nth-child(3),.animate-in-soft>*:nth-child(3),.animate-in-rows>tr:nth-child(3){animation-delay:90ms}.animate-in>*:nth-child(4),.animate-in-soft>*:nth-child(4),.animate-in-rows>tr:nth-child(4){animation-delay:135ms}.animate-in>*:nth-child(5),.animate-in-soft>*:nth-child(5),.animate-in-rows>tr:nth-child(5){animation-delay:.18s}.animate-in>*:nth-child(6),.animate-in-soft>*:nth-child(6),.animate-in-rows>tr:nth-child(6){animation-delay:225ms}.animate-in>*:nth-child(7),.animate-in-soft>*:nth-child(7),.animate-in-rows>tr:nth-child(7){animation-delay:.27s}.animate-in>*:nth-child(8),.animate-in-soft>*:nth-child(8),.animate-in-rows>tr:nth-child(8){animation-delay:315ms}.animate-in>*:nth-child(9),.animate-in-soft>*:nth-child(9),.animate-in-rows>tr:nth-child(9){animation-delay:.36s}.animate-in>*:nth-child(10),.animate-in-soft>*:nth-child(10),.animate-in-rows>tr:nth-child(10){animation-delay:405ms}.animate-in>*:nth-child(11),.animate-in-soft>*:nth-child(11),.animate-in-rows>tr:nth-child(11){animation-delay:.45s}.animate-in>*:nth-child(12),.animate-in-soft>*:nth-child(12),.animate-in-rows>tr:nth-child(12){animation-delay:495ms}.animate-in>*:nth-child(13),.animate-in-soft>*:nth-child(13),.animate-in-rows>tr:nth-child(13){animation-delay:.54s}.animate-in>*:nth-child(14),.animate-in-soft>*:nth-child(14),.animate-in-rows>tr:nth-child(14){animation-delay:585ms}.animate-in>*:nth-child(15),.animate-in-soft>*:nth-child(15),.animate-in-rows>tr:nth-child(15){animation-delay:.63s}.animate-in>*:nth-child(n+16),.animate-in-soft>*:nth-child(n+16),.animate-in-rows>tr:nth-child(n+16){animation-delay:675ms}.error-boundary{min-height:100vh;display:grid;place-content:center;gap:.75rem;padding:2rem;text-align:center}.error-boundary h1{font-size:1.5rem}.error-boundary .btn{justify-self:center;margin-top:.5rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.task-card:hover,.btn:hover{transform:none;--btn-rise: 0px}.btn.primary:hover:after{transform:translate(-30%) rotate(18deg)}}@media(max-width:1100px){.directory-layout,.detail-grid{grid-template-columns:1fr}.stats-panel{position:static}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar-layer{position:fixed;inset:0 auto 0 0;z-index:40;width:min(280px,86vw);transform:translate(-105%);transition:transform .22s ease}.sidebar-layer.open{transform:translate(0)}.sidebar-layer .sidebar{height:100%;box-shadow:var(--shadow-lg)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#0f172a66}.mobile-only{display:inline-flex}.desktop-only{display:none!important}.topbar{gap:.55rem;padding:.7rem .85rem}.topbar-left,.topbar-right{gap:.45rem;min-width:0}.topbar-left{flex:1}.global-search{flex:1;width:auto;min-width:0;max-width:none}.search-field{width:100%}.search-field input{min-width:0}.page{padding:1rem .9rem 2rem}.page-header{flex-direction:column;align-items:stretch;gap:.85rem}.page-header-actions{width:100%;flex-direction:column;align-items:stretch}.page-header-actions .btn,.page-header-actions .view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.members-grid,.project-grid{grid-template-columns:minmax(0,1fr)}.member-card{min-height:0}.login-card{grid-template-columns:1fr}.login-hero{min-height:220px;padding:1.75rem}.filter-bar,.filter-bar-5{grid-template-columns:1fr}.form-row,.priority-level{grid-template-columns:1fr 1fr}.kanban{grid-auto-flow:column;grid-auto-columns:calc(100vw - 2.25rem);grid-template-columns:none;-webkit-overflow-scrolling:touch}.modal-root{padding:.65rem;align-items:flex-end}.confirm-root{align-items:center;justify-content:center}.modal{width:100%;max-height:min(92vh,860px);border-radius:16px 16px 12px 12px}.detail-header,.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .btn{width:100%}.file-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.data-table{min-width:560px}}@media(max-width:560px){.page{padding:.85rem .75rem 1.75rem}.page-header h1,.detail-header h1{font-size:1.35rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.stat-card{padding:.8rem .75rem}.form-row{grid-template-columns:1fr}.priority-level{grid-template-columns:1fr 1fr}.login-form-pane{padding:1.5rem 1.2rem 1.75rem}.modal-head,.modal-body{padding-left:1rem;padding-right:1rem}.member-filter label{width:100%}}@media(max-width:380px){.topbar{padding:.6rem .65rem}.stat-grid{grid-template-columns:1fr}.priority-level{gap:.4rem}.priority-level-option{padding:.5rem .55rem;font-size:.8rem}.btn{min-height:40px;padding:.65rem .95rem}}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.55rem;width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:600;text-align:left}.select-trigger:hover{border-color:var(--line-strong)}.select-trigger:focus-visible{outline:none;border-color:#9aabf5;box-shadow:0 0 0 3px #5b4cdb26}.select-trigger.status-select{width:auto;min-width:7.5rem;padding:.35rem .65rem;font-size:.72rem;border-radius:8px}.select-trigger.status-select.lg{min-width:9rem;padding:.55rem .75rem;font-size:.85rem}.select-trigger svg{flex-shrink:0;color:var(--muted)}.select-menu{position:fixed;z-index:1400;max-height:280px;overflow:auto;padding:.35rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);animation:rise .12s ease both}.select-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.55rem .7rem;border-radius:8px;color:var(--ink);font-weight:600;cursor:pointer}.select-option:hover{background:var(--surface-3)}.select-option.selected{background:var(--accent-soft);color:var(--accent-deep)}.card-status-wrap{position:relative;z-index:2}.notif-root{position:relative}.notif-panel{position:absolute;right:0;top:calc(100% + .45rem);width:min(360px,86vw);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:50;overflow:hidden;animation:rise .16s ease both}.notif-panel-head{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.notif-empty{margin:0;padding:1.25rem 1rem;color:var(--muted);font-size:.9rem}.notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto}.notif-list li a,.notif-list li .notif-item-btn{display:grid;gap:.2rem;width:100%;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.notif-list li:last-child a,.notif-list li:last-child .notif-item-btn{border-bottom:0}.notif-list li.unread a,.notif-list li.unread .notif-item-btn{background:var(--accent-soft)}.notif-list strong{font-size:.9rem}.notif-list span{font-size:.84rem;color:var(--ink-soft)}.notif-list em{font-style:normal;font-size:.72rem;color:var(--muted)}.profile-menu{position:relative}.profile-trigger{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.25rem .55rem .25rem .25rem;cursor:pointer;color:var(--ink)}.profile-trigger .avatar{width:32px;height:32px;font-size:.72rem}.profile-meta{display:grid;text-align:left;line-height:1.15;padding-right:.15rem}.profile-meta strong{font-size:.82rem}.profile-meta em{font-style:normal;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.profile-panel{position:absolute;right:0;top:calc(100% + .45rem);width:240px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:50;padding:.45rem;animation:rise .16s ease both}.profile-panel-head{display:flex;gap:.65rem;align-items:center;padding:.55rem .55rem .75rem;border-bottom:1px solid var(--line);margin-bottom:.35rem}.profile-panel-head .avatar{width:36px;height:36px;font-size:.75rem}.profile-panel-head strong{display:block;font-size:.9rem}.profile-panel-head p{font-size:.75rem;color:var(--muted)}.profile-item{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.65rem .7rem;border-radius:10px;font-weight:600;color:var(--ink);cursor:pointer}.profile-item:hover{background:var(--surface-3)}.confirm-modal{width:min(420px,100%);margin:auto}.nav-empty{margin:.25rem .8rem;font-size:.78rem;color:var(--muted)}.form-row .span-2{grid-column:1 / -1}.select-trigger .placeholder{color:var(--muted);font-weight:500}.select-option.multi{display:flex;align-items:center;gap:.55rem}.select-option .check{width:1rem;height:1rem;border-radius:4px;border:1px solid var(--line-strong);display:inline-grid;place-items:center;font-size:.7rem;color:transparent;flex-shrink:0}.select-option .check.on{background:var(--accent);border-color:var(--accent);color:#fff}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-.35rem}.avatar-stack .avatar:first-child{margin-left:0}.avatar-more{margin-left:.25rem;font-size:.72rem;font-weight:700;color:var(--muted)}.assignee-list{display:grid;gap:.4rem}.subtask-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.subtask-row{display:flex;justify-content:flex-start;gap:.65rem;align-items:center;padding:.65rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:grab;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,box-shadow var(--dur-fast) ease,opacity var(--dur-fast) ease}.subtask-row:active{cursor:grabbing}.subtask-row.is-dragging{opacity:.55}.subtask-row.is-drop-target{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.subtask-row.is-done{background:color-mix(in srgb,var(--success-soft) 70%,var(--surface-2))}.subtask-drag{flex-shrink:0;width:1rem;color:var(--muted);letter-spacing:-.12em;font-size:.85rem;line-height:1;-webkit-user-select:none;user-select:none}.subtask-radio{flex-shrink:0;width:1.15rem;height:1.15rem;border:2px solid var(--line-strong);border-radius:999px;background:var(--surface);padding:0;cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.subtask-radio:hover{border-color:var(--accent)}.subtask-radio:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.subtask-radio.checked{border-color:var(--success);background:radial-gradient(circle at center,var(--success) 0 42%,transparent 44%),var(--surface)}.subtask-main{display:grid;gap:.1rem;min-width:0;flex:1}.subtask-main strong{font-size:.9rem}.subtask-row.is-done .subtask-main strong{text-decoration:line-through;color:var(--ink-soft)}.subtask-hint{margin:.75rem 0 0}.confirm-message{margin:0 0 .5rem;color:var(--ink-soft)}.settings-hint{margin:.35rem 0 .9rem}.theme-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.wallpaper-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.wallpaper-pick{display:grid;gap:.3rem;justify-items:start;text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:.75rem;cursor:pointer;color:var(--ink)}.wallpaper-pick.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.wallpaper-pick strong{font-size:.88rem}.wallpaper-pick span:last-child{font-size:.72rem;color:var(--muted)}.wallpaper-swatch{width:100%;height:52px;border-radius:10px;border:1px solid var(--line);background:var(--surface-3)}.wallpaper-swatch-default{background:radial-gradient(80px 40px at 20% 20%,#c7d2fe,transparent 70%),radial-gradient(70px 36px at 90% 10%,#bae6fd,transparent 65%),#f1f5f9}.wallpaper-swatch-dots{background-color:#f1f5f9;background-image:radial-gradient(circle,#94a3b8 1px,transparent 1.5px);background-size:10px 10px}.wallpaper-swatch-grid{background-color:#f1f5f9;background-image:linear-gradient(rgba(100,116,139,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(100,116,139,.25) 1px,transparent 1px);background-size:12px 12px}.wallpaper-swatch-diagonal{background:repeating-linear-gradient(-32deg,#f1f5f9,#f1f5f9 6px,#e2e8f0 6px,#e2e8f0 7px)}.wallpaper-swatch-grain{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E"),#e2e8f0;background-size:80px 80px,auto}.wallpaper-swatch-waves{background-color:#f1f5f9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='20' viewBox='0 0 60 20'%3E%3Cpath d='M0 10c10 0 10-6 20-6s10 6 20 6 10-6 20-6' fill='none' stroke='%2394a3b8' stroke-width='1'/%3E%3C/svg%3E");background-size:60px 20px}.wallpaper-swatch-mesh{background:radial-gradient(at 20% 30%,rgba(91,76,219,.35),transparent 50%),radial-gradient(at 80% 20%,rgba(34,211,238,.3),transparent 45%),radial-gradient(at 60% 80%,rgba(244,114,182,.25),transparent 50%),#f1f5f9}.wallpaper-swatch-linen{background-color:#f1f5f9;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(100,116,139,.18) 2px,rgba(100,116,139,.18) 3px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(100,116,139,.18) 2px,rgba(100,116,139,.18) 3px)}.wallpaper-swatch-topo{background-color:#f1f5f9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='12' fill='none' stroke='%2394a3b8'/%3E%3Ccircle cx='40' cy='40' r='22' fill='none' stroke='%2394a3b8'/%3E%3Ccircle cx='40' cy='40' r='32' fill='none' stroke='%23cbd5e1'/%3E%3C/svg%3E");background-size:80px 80px}.wallpaper-swatch-aurora{background:linear-gradient(115deg,rgba(91,76,219,.35),transparent 45%,rgba(52,211,153,.3) 70%,transparent),radial-gradient(circle at 90% 20%,rgba(56,189,248,.35),transparent 50%),#eef2ff}html[data-theme=dark] .wallpaper-pick{background:var(--surface-3);border-color:var(--line)}html[data-theme=dark] .wallpaper-pick.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}html[data-theme=dark] .wallpaper-swatch{border-color:var(--line-strong)}html[data-theme=dark] .wallpaper-swatch-default{background:radial-gradient(80px 40px at 20% 20%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%),radial-gradient(70px 36px at 90% 10%,rgba(56,189,248,.22),transparent 65%),#141618}html[data-theme=dark] .wallpaper-swatch-dots{background-color:#121416;background-image:radial-gradient(circle,rgba(148,163,184,.45) 1px,transparent 1.5px);background-size:10px 10px}html[data-theme=dark] .wallpaper-swatch-grid{background-color:#121416;background-image:linear-gradient(rgba(148,163,184,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.22) 1px,transparent 1px);background-size:12px 12px}html[data-theme=dark] .wallpaper-swatch-diagonal{background:repeating-linear-gradient(-32deg,#121416,#121416 6px,#1c1f23 6px,#1c1f23 7px)}html[data-theme=dark] .wallpaper-swatch-grain{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E"),#1a1d22;background-size:80px 80px,auto;background-blend-mode:soft-light,normal}html[data-theme=dark] .wallpaper-swatch-waves{background-color:#121416;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='20' viewBox='0 0 60 20'%3E%3Cpath d='M0 10c10 0 10-6 20-6s10 6 20 6 10-6 20-6' fill='none' stroke='%2394a3b8' stroke-opacity='0.55' stroke-width='1'/%3E%3C/svg%3E");background-size:60px 20px}html[data-theme=dark] .wallpaper-swatch-mesh{background:radial-gradient(at 20% 30%,rgba(139,124,247,.4),transparent 50%),radial-gradient(at 80% 20%,rgba(34,211,238,.28),transparent 45%),radial-gradient(at 60% 80%,rgba(244,114,182,.22),transparent 50%),#141618}html[data-theme=dark] .wallpaper-swatch-linen{background-color:#121416;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(148,163,184,.2) 2px,rgba(148,163,184,.2) 3px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(148,163,184,.2) 2px,rgba(148,163,184,.2) 3px)}html[data-theme=dark] .wallpaper-swatch-topo{background-color:#121416;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='12' fill='none' stroke='%2394a3b8' stroke-opacity='0.55'/%3E%3Ccircle cx='40' cy='40' r='22' fill='none' stroke='%2394a3b8' stroke-opacity='0.4'/%3E%3Ccircle cx='40' cy='40' r='32' fill='none' stroke='%2394a3b8' stroke-opacity='0.28'/%3E%3C/svg%3E");background-size:80px 80px}html[data-theme=dark] .wallpaper-swatch-aurora{background:linear-gradient(115deg,rgba(139,124,247,.4),transparent 45%,rgba(52,211,153,.28) 70%,transparent),radial-gradient(circle at 90% 20%,rgba(56,189,248,.32),transparent 50%),#141618}.theme-pick{display:grid;gap:.35rem;justify-items:start;text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:.85rem;cursor:pointer;color:var(--ink)}.theme-pick.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.theme-pick strong{font-size:.92rem}.theme-pick span{font-size:.75rem;color:var(--muted)}.theme-preview{width:100%;height:44px;border-radius:10px;overflow:hidden;border:1px solid var(--line);display:flex}.theme-preview.light .full{flex:1;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.theme-preview.dark .full{flex:1;background:linear-gradient(135deg,#0f172a,#1e293b)}.theme-preview.system .half{flex:1}.theme-preview.system .half.light{background:#f1f5f9}.theme-preview.system .half.dark{background:#0f172a}html[data-theme=dark] .search-panel,html[data-theme=dark] .login-form-pane,html[data-theme=dark] .login-card,html[data-theme=dark] .modal,html[data-theme=dark] .view-toggle,html[data-theme=dark] .table-panel,html[data-theme=dark] .stats-panel,html[data-theme=dark] .panel,html[data-theme=dark] .stat-card,html[data-theme=dark] .task-card,html[data-theme=dark] .filter-bar,html[data-theme=dark] .kanban-col,html[data-theme=dark] .member-card{background:var(--surface)}html[data-theme=dark] .login-form input,html[data-theme=dark] .modal-body input,html[data-theme=dark] .modal-body textarea,html[data-theme=dark] .filter-bar input,html[data-theme=dark] .comment-form textarea,html[data-theme=dark] .search-field input{background:transparent;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .rich-editor{background:var(--surface-2);border-color:var(--line)}html[data-theme=dark] .rich-editor-toolbar{background:#1a1f27}html[data-theme=dark] .rich-editor-btn{color:#94a3b8}html[data-theme=dark] .rich-editor-btn:hover{background:#94a3b81f;color:#e2e8f0}html[data-theme=dark] .rich-editor-btn.is-active{background:#2a3340;color:#e2e8f0}html[data-theme=dark] .rich-editor-surface{color:var(--ink)}html[data-theme=dark] .search-field{background:var(--search-bg);border-color:var(--line)}html[data-theme=dark] .search-hit:hover,html[data-theme=dark] .profile-item:hover,html[data-theme=dark] .nav-item:hover{background:var(--nav-hover)}html[data-theme=dark] .nav-item.active:not(.solid){background:var(--accent-soft);color:var(--accent-deep)}html[data-theme=dark] .nav-item.active.soft{background:var(--nav-active-soft);color:var(--ink)}html[data-theme=dark] .nav-badge.cool{background:#24304a;color:#a5b4fc}html[data-theme=dark] .nav-badge.muted-badge,html[data-theme=dark] .pro-badge{background:#23272d;color:#9aa3ad}html[data-theme=dark] .data-table th{background:var(--surface-3)}html[data-theme=dark] .nav-label{color:#7d8691}html[data-theme=dark] .priority-level-option{background:var(--surface-3);color:var(--ink)}html[data-theme=dark] .priority-level-radio{border-color:#64748b}html[data-theme=dark] .priority-level-option.selected.priority-urgent{background:color-mix(in srgb,#e11d48 22%,var(--surface-2));color:#fda4af}html[data-theme=dark] .priority-level-option.selected.priority-high{background:color-mix(in srgb,#0ea5e9 22%,var(--surface-2));color:#7dd3fc}html[data-theme=dark] .priority-level-option.selected.priority-medium{background:color-mix(in srgb,#6366f1 22%,var(--surface-2));color:#a5b4fc}html[data-theme=dark] .priority-level-option.selected.priority-low{background:color-mix(in srgb,#818cf8 18%,var(--surface-2));color:#c7d2fe}html[data-theme=dark] .color-pick.selected{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}html[data-theme=dark] .tag-chip-pick{background:var(--surface-2);border-color:var(--line);color:var(--ink-soft)}html[data-theme=dark] .tag-chip-pick.selected{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2));border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--accent-deep)}@media(max-width:700px){.theme-picks,.wallpaper-picks{grid-template-columns:1fr}}@media(max-width:900px){.topbar-right{flex-shrink:0}.profile-menu{width:36px;height:36px;flex-shrink:0}.profile-trigger{width:36px;height:36px;min-width:36px;padding:0;gap:0;border:0;border-radius:50%;justify-content:center;align-items:center;overflow:hidden;flex-shrink:0;background:transparent}.profile-trigger .avatar,.profile-trigger .avatar-img{width:36px!important;height:36px!important;min-width:36px;border-radius:50%;object-fit:cover;display:block}.notif-root{position:static}.notif-panel{position:fixed;top:3.75rem;left:.75rem;right:.75rem;width:auto;max-width:none;z-index:60}.profile-panel{position:fixed;top:3.75rem;right:.75rem;left:auto;width:min(280px,calc(100vw - 1.5rem));z-index:60}.kanban{gap:.75rem;margin-inline:0;padding-bottom:.75rem}.kanban-col{min-width:0;max-width:100%;width:100%}.kanban-col-body{min-width:0;width:100%;padding:.45rem .55rem .75rem;box-sizing:border-box}.task-card{min-width:0;max-width:100%;width:100%;box-sizing:border-box;overflow:hidden;padding:.7rem}.task-card-foot{display:grid;grid-template-columns:1fr;gap:.45rem;align-items:stretch}.task-meta{min-width:0;max-width:100%;flex-wrap:wrap}.task-meta .due-remaining-wrap{min-width:0;overflow:hidden}.due-remaining{max-width:100%;overflow:hidden;text-overflow:ellipsis}.card-status-wrap{min-width:0;width:100%}.select-trigger.status-select{width:100%;min-width:0}.tag-row{max-width:100%}.tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}}.comment-input-wrap{position:relative}.comment-mention{font-weight:30000;background-color:red;background:var(--surface-3);border-radius:89px;padding:0 4px}.comment-editor{min-height:4.5rem;padding:.75rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.comment-editor:focus{outline:2px solid var(--line-strong)}.comment-editor:empty:before{content:attr(data-placeholder);color:var(--muted)}.comment-editor .comment-mention{color:#000;font-weight:900}.comment-mention{color:var(--ink);font-weight:900;background:var(--surface-3);border-radius:4px;padding:0 4px}.comment-editor{width:100%;min-height:5.5rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;background:var(--panel-bg);color:var(--ink);outline:none;white-space:pre-wrap;overflow-wrap:anywhere;transition:border-color .15s ease,box-shadow .15s ease}.comment-editor:focus{border-color:#9aabf5;box-shadow:0 0 0 3px #2f4bdb26}.comment-editor:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.comment-mention{color:var(--ink);font-weight:900;background:#fff;border-radius:4px;padding:0 4px}.comment-editor .comment-plain{color:var(--ink);font-weight:400;background:transparent}.mention-suggestions{position:absolute;z-index:10;left:0;bottom:calc(100% + 6px);display:grid;min-width:200px;max-height:220px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);box-shadow:0 8px 24px #00000024}.mention-suggestions button{padding:8px 10px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.mention-suggestions button:hover{background:var(--surface-3)}.notification-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:5000;display:grid;grid-template-columns:1fr auto;align-items:start;gap:.75rem;width:min(360px,calc(100vw - 2rem));padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);pointer-events:auto;animation:notification-toast-life 4.2s ease both}.notification-toast-link{display:grid;gap:.3rem;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer;font:inherit}.notification-toast-link>span:last-child{color:var(--ink-soft);font-size:.88rem}.notification-toast-label{color:var(--accent-deep);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.notification-toast-close{border:0;background:transparent;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer}@keyframes notification-toast-life{0%{opacity:0;transform:translate3d(24px,10px,0)}8%{opacity:1;transform:translateZ(0)}88%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(12px,0,0)}}@media(prefers-reduced-motion:reduce){.notification-toast{animation-duration:3.8s}}.kanban,.kanban-col,.kanban-col-body{min-width:0}.kanban-col-body{grid-template-columns:minmax(0,1fr)}.task-card{display:grid!important;grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%;width:100%;box-sizing:border-box;overflow:hidden}.task-card>*,.task-card-top,.tag-row,.progress-row,.task-card-foot,.task-meta,.card-status-wrap{min-width:0;max-width:100%}.tag-row{display:flex;flex-wrap:wrap;width:100%}.tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}.progress-track{min-width:0}.task-card-foot{display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;align-items:stretch}.task-meta{display:flex;flex-wrap:wrap}.card-status-wrap,.select-trigger.status-select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.detail-actions .btn.primary{min-width:8rem;white-space:nowrap;flex-shrink:0}.detail-actions .btn.danger{padding-left:1.45rem;padding-right:1.45rem;min-width:6.5rem;white-space:nowrap;flex-shrink:0}.comment p strong.comment-mention{color:#000;background:#fff;font-weight:900;border-radius:4px;padding:0 4px}
