@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Sora:wght@400;500;600;700&display=swap";.lp{--lp-ink: #102d2b;--lp-ink-soft: #1c3a38;--lp-mist: #e8f2ef;--lp-foam: #f4faf7;--lp-sea: #1a6b63;--lp-sea-deep: #0f4f49;--lp-amber: #d97706;--lp-amber-hot: #b45309;--lp-text: #243836;--lp-muted: #5a736f;--lp-line: rgba(16, 45, 43, .12);--lp-font: "Sora", "Segoe UI", sans-serif;--lp-display: "Fraunces", Georgia, serif;background:var(--lp-foam);color:var(--lp-text);font-family:var(--lp-font);min-height:100vh;overflow-x:hidden}.lp-shell{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.lp-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--lp-foam) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--lp-line)}.lp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4rem}.lp-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--lp-ink);font-weight:700;letter-spacing:-.02em}.lp-brand img{width:2rem;height:2rem;border-radius:.55rem}.lp-nav{display:none;gap:1.35rem;font-size:.875rem;font-weight:500}.lp-nav a{color:var(--lp-muted);text-decoration:none;transition:color .2s ease}.lp-nav a:hover{color:var(--lp-sea)}@media (min-width: 860px){.lp-nav{display:flex}}.lp-header-actions{display:flex;align-items:center;gap:.45rem}.lp-lang{display:none;gap:.15rem;padding:.15rem;border:1px solid var(--lp-line);border-radius:.5rem;background:#ffffffb3}.lp-lang button{border:none;background:transparent;padding:.3rem .55rem;border-radius:.35rem;cursor:pointer;font:inherit;font-size:.72rem;font-weight:600;color:var(--lp-muted)}.lp-lang button.active{background:var(--lp-ink);color:#fff}@media (min-width: 640px){.lp-lang{display:inline-flex}}.lp-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:.55rem;font-size:.875rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;white-space:nowrap;cursor:pointer}.lp-btn:hover{transform:translateY(-1px)}.lp-btn-ghost{display:none;color:var(--lp-ink);border-color:var(--lp-line);background:transparent}.lp-btn-ghost:hover{background:#fff}.lp-btn-solid{display:none;background:var(--lp-amber);color:#fff;border-color:var(--lp-amber)}.lp-btn-solid:hover{background:var(--lp-amber-hot);border-color:var(--lp-amber-hot)}.lp-btn-line{color:#fff;border-color:#ffffff73;background:transparent}.lp-btn-line:hover{background:#ffffff1a}.lp-btn-lg{padding:.9rem 1.35rem;font-size:.95rem}@media (min-width: 640px){.lp-header-actions .lp-btn-ghost,.lp-header-actions .lp-btn-solid{display:inline-flex}}.lp-menu-btn{display:inline-flex;padding:.4rem;border:none;border-radius:.45rem;background:transparent;color:var(--lp-ink);cursor:pointer}@media (min-width: 860px){.lp-menu-btn{display:none}}.lp-mobile{display:none;border-top:1px solid var(--lp-line);padding:.75rem 0 1rem}.lp-mobile.open{display:block}.lp-lang-mobile{display:inline-flex;margin-bottom:.75rem}.lp-mobile-nav{display:flex;flex-direction:column;gap:.35rem}.lp-mobile-nav a{color:var(--lp-text);text-decoration:none;padding:.45rem 0;font-weight:500}.lp-mobile-nav .lp-btn{display:inline-flex;margin-top:.35rem}.lp-hero{position:relative;min-height:min(92vh,760px);display:grid;align-items:end;color:#f5fffb;overflow:hidden}.lp-hero-banner{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 70% 20%,rgba(26,107,99,.55),transparent 55%),radial-gradient(ellipse 50% 40% at 15% 80%,rgba(217,119,6,.22),transparent 50%),linear-gradient(145deg,#0a2422,#123936 42%,#0d2e2b)}.lp-hero-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 85%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 85%);animation:lp-grid-drift 28s linear infinite}@keyframes lp-grid-drift{0%{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}.lp-hero-banner-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:5rem 4% 8rem;pointer-events:none}.lp-board{display:flex;gap:.85rem;transform:perspective(900px) rotateY(-12deg) rotateX(6deg) translate(4%);opacity:.92;animation:lp-board-in 1.1s cubic-bezier(.22,1,.36,1) both}@keyframes lp-board-in{0%{opacity:0;transform:perspective(900px) rotateY(-18deg) rotateX(10deg) translate(12%) translateY(24px)}to{opacity:.92;transform:perspective(900px) rotateY(-12deg) rotateX(6deg) translate(4%) translateY(0)}}.lp-board-col{width:clamp(5.5rem,12vw,8.5rem);display:flex;flex-direction:column;gap:.55rem}.lp-board-label{height:.45rem;width:42%;border-radius:999px;background:#ffffff47}.lp-card{border-radius:.55rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:3.2rem;animation:lp-card-float 5.5s ease-in-out infinite}.lp-card-a{height:4.2rem;animation-delay:0s}.lp-card-b{height:3.1rem;animation-delay:.4s}.lp-card-c{height:3.6rem;animation-delay:.8s}.lp-card-d{height:5rem;animation-delay:.2s;background:#d9770647}.lp-card-e{height:3.4rem;animation-delay:.7s}.lp-card-f{height:3rem;animation-delay:.1s}.lp-card-g{height:4.4rem;animation-delay:.55s;background:#e8f2ef2e}.lp-card-h{height:3.2rem;animation-delay:.95s}@keyframes lp-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (max-width: 720px){.lp-hero-banner-grid{justify-content:center;padding:4.5rem 1rem 12rem;opacity:.55}.lp-board{transform:perspective(900px) rotateY(-6deg) rotateX(4deg) scale(.92)}}.lp-hero-copy{position:relative;z-index:2;padding:5.5rem 0 4.5rem;max-width:36rem;margin-left:max(1rem,calc((100% - min(1120px,calc(100% - 2rem)))/2));margin-right:auto;animation:lp-copy-in .9s cubic-bezier(.22,1,.36,1) .15s both}@keyframes lp-copy-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.lp-hero-brand{margin:0 0 .85rem;font-family:var(--lp-display);font-size:clamp(2.75rem,8vw,4.75rem);font-weight:700;line-height:.95;letter-spacing:-.03em;color:#fff}.lp-hero h1{margin:0;font-family:var(--lp-display);font-size:clamp(1.45rem,3.4vw,2.15rem);font-weight:500;line-height:1.25;letter-spacing:-.02em;color:#f5fffbeb;max-width:18ch}.lp-hero-lead{margin:1.1rem 0 0;font-size:1.02rem;line-height:1.55;color:#e8f2efd1;max-width:34ch}.lp-hero-ctas{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.65rem}.lp-hero-ctas .lp-btn-solid,.lp-hero-ctas .lp-btn-line{display:inline-flex}.lp-section{padding:4.5rem 0}.lp-section-tint{background:var(--lp-mist);border-block:1px solid var(--lp-line)}.lp-section-head{max-width:34rem;margin-bottom:2.5rem}.lp-section-head h2{margin:0;font-family:var(--lp-display);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;letter-spacing:-.02em;color:var(--lp-ink)}.lp-section-head p{margin:.7rem 0 0;color:var(--lp-muted);line-height:1.55}.lp-features{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem 2rem}@media (min-width: 700px){.lp-features{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1000px){.lp-features{grid-template-columns:repeat(3,1fr)}}.lp-features h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--lp-ink)}.lp-features p{margin:.45rem 0 0;font-size:.92rem;line-height:1.55;color:var(--lp-muted)}.lp-features li{padding-top:1rem;border-top:2px solid var(--lp-sea)}.lp-steps{list-style:none;margin:0;padding:0;display:grid;gap:2rem}@media (min-width: 800px){.lp-steps{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.lp-step-num{display:inline-block;font-family:var(--lp-display);font-size:2rem;font-weight:700;color:var(--lp-sea);line-height:1;margin-bottom:.65rem}.lp-steps h3{margin:0;font-size:1.1rem;color:var(--lp-ink)}.lp-steps p{margin:.45rem 0 0;font-size:.92rem;line-height:1.55;color:var(--lp-muted)}.lp-pricing{display:grid;gap:1.25rem}@media (min-width: 760px){.lp-pricing{grid-template-columns:1fr 1.15fr;align-items:stretch}}.lp-price{padding:1.75rem 1.5rem;border:1px solid var(--lp-line);border-radius:.85rem;background:#fff}.lp-price-paid{background:var(--lp-ink);color:#e8f2ef;border-color:var(--lp-ink)}.lp-price h3{margin:0;font-family:var(--lp-display);font-size:1.55rem}.lp-price-lead{margin:.45rem 0 1.25rem;font-size:.9rem;color:var(--lp-muted);line-height:1.45}.lp-price-paid .lp-price-lead{color:#e8f2efb8}.lp-price ul{list-style:none;margin:0 0 1.35rem;padding:0;display:grid;gap:.45rem;font-size:.95rem;font-weight:500}.lp-price ul li:before{content:"– ";color:var(--lp-sea)}.lp-price dl{margin:0;display:grid;gap:.85rem}.lp-price dl div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem}.lp-price dl dt{color:#e8f2efb8}.lp-price dl dd{margin:0;font-weight:600}.lp-price dl span{font-weight:400;opacity:.7;font-size:.8rem}.lp-cta{padding:4rem 0;background:linear-gradient(120deg,var(--lp-sea-deep),var(--lp-sea));color:#fff;text-align:center}.lp-cta h2{margin:0;font-family:var(--lp-display);font-size:clamp(1.55rem,3vw,2rem)}.lp-cta p{margin:.75rem auto 0;max-width:32rem;color:#ffffffd1}.lp-cta .lp-btn{margin-top:1.5rem;display:inline-flex}.lp-cta .lp-btn-solid{background:#fff;color:var(--lp-sea-deep);border-color:#fff}.lp-cta .lp-btn-solid:hover{background:var(--lp-mist)}.lp-footer{background:#0a1c1b;color:#e8f2efbf;padding:2.75rem 0;font-size:.875rem}.lp-footer-inner{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 720px){.lp-footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start}}.lp-footer-brand strong{color:#fff;font-size:1.05rem}.lp-footer-brand p{margin:.35rem 0 0;font-size:.8rem;color:#e8f2ef8c}.lp-footer-by a{color:#fff;text-decoration:none}.lp-footer-by a:hover{text-decoration:underline}.lp-footer-qr{margin-top:1rem;max-width:7rem}.lp-footer-qr .lp-share-qr,.lp-footer-qr .business-share-qr{position:static}.lp-footer-links{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:center;max-width:28rem}.lp-footer-links a{color:#e8f2efbf;text-decoration:none}.lp-footer-links a:hover{color:#fff}.lp-footer-copy{width:100%;font-size:.75rem;color:#e8f2ef66}@media (prefers-reduced-motion: reduce){.lp-hero-banner:after,.lp-board,.lp-card,.lp-hero-copy{animation:none!important}}.business-share-qr{display:block;pointer-events:auto}.business-share-qr-thumb{display:block;line-height:0;padding:.2rem;border:1px solid rgba(16,45,43,.14);border-radius:.5rem;background:#fffffff2;cursor:pointer;touch-action:manipulation;transition:transform .15s ease,border-color .15s ease}.business-share-qr-thumb:hover{border-color:#1a6b63}.business-share-qr-thumb:active{transform:scale(.96)}.business-share-qr-thumb:focus-visible{outline:2px solid #1a6b63;outline-offset:2px}.business-share-qr-thumb>img{display:block;width:36px;height:36px;border-radius:.25rem;pointer-events:none}@media (min-width: 640px){.business-share-qr-thumb{padding:.25rem;border-radius:.6rem}.business-share-qr-thumb>img{width:44px;height:44px}}.business-share-qr-canvas-wrap{position:relative;line-height:0}.business-share-qr-logo-badge{position:absolute;left:50%;top:50%;width:18%;height:18%;transform:translate(-50%,-50%);border-radius:18%;background:#fff;padding:2%;box-sizing:border-box;pointer-events:none;display:flex;align-items:center;justify-content:center}.business-share-qr-logo-badge img{width:100%;height:100%;display:block;border-radius:14%}.business-share-qr-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem}.business-share-qr-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0a1c1b8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.business-share-qr-modal-panel{position:relative;z-index:1;background:#fff;border-radius:.85rem;padding:1.5rem;max-width:100%}.business-share-qr-modal-close{position:absolute;top:.35rem;right:.45rem;border:none;background:transparent;font-size:1.35rem;line-height:1;cursor:pointer;color:#5a736f;padding:.35rem .5rem}.business-share-qr-modal-close:hover{color:#102d2b}.business-share-qr-modal-canvas img{display:block;max-width:100%;height:auto}body.business-share-qr-modal-open{overflow:hidden}.landing-hero-qr{position:absolute;top:.75rem;right:.75rem;z-index:30}@media (min-width: 640px){.landing-hero-qr{top:1.5rem;right:1.5rem}}.landing-legal-header{height:auto;min-height:4rem;padding:.5rem 0}.landing-legal-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.landing-legal-main{padding:2.5rem 0 3.5rem;background:linear-gradient(180deg,var(--lp-primary-50) 0%,#fff 12rem)}.landing-legal-nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1.75rem;font-size:.875rem}.landing-legal-nav a{color:var(--lp-slate-600);text-decoration:none;padding-bottom:.15rem;border-bottom:2px solid transparent}.landing-legal-nav a:hover{color:var(--lp-primary-600)}.landing-legal-nav a.active{color:var(--lp-primary-700);font-weight:600;border-bottom-color:var(--lp-primary-600)}.landing-legal-article{max-width:42rem;background:#fff;border:1px solid var(--lp-primary-100);border-radius:1rem;padding:2rem 1.5rem;box-shadow:0 4px 24px #2563eb0f}@media (min-width: 640px){.landing-legal-article{padding:2.5rem 2.25rem}}.landing-legal-article h1{font-size:clamp(1.5rem,3vw,1.875rem);font-weight:800;color:var(--lp-slate-900);margin:0}.landing-legal-updated{margin:.5rem 0 1.75rem;font-size:.8125rem;color:var(--lp-slate-500)}.landing-legal-article section{margin-top:1.5rem}.landing-legal-article section h2{font-size:1rem;font-weight:700;color:var(--lp-primary-700);margin:0 0 .5rem}.landing-legal-article section p{margin:0 0 .65rem;line-height:1.65;color:var(--lp-slate-700)}.landing-legal-article section p:last-child{margin-bottom:0}@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family: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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-soft: #eff6ff;--gradient: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);--bg: #f6f7fb;--surface: #ffffff;--border: #e8eaf2;--text: #16182d;--muted: #767c97;--danger: #f43f5e;--warning: #f59e0b;--success: #10b981;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(22, 24, 45, .05), 0 1px 6px rgba(22, 24, 45, .04);--shadow-md: 0 4px 14px rgba(22, 24, 45, .08);--shadow-lg: 0 18px 50px rgba(22, 24, 45, .22);--ring: 0 0 0 3px rgba(37, 99, 235, .22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter Variable,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0 0 .5rem;letter-spacing:-.02em}h2{font-size:1.45rem;font-weight:700}h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.6rem}.muted{color:var(--muted)}.center{text-align:center}.overdue{color:var(--danger);font-weight:600}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d3d7e5;border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#b6bcd2}.layout{display:flex;min-height:100vh}.sidebar{width:232px;background:linear-gradient(180deg,#0b1428,#0f2247 55%,#123362);color:#dbeafe;display:flex;flex-direction:column;padding:1.4rem .9rem 1.1rem;position:sticky;top:0;height:100vh;flex-shrink:0;transition:width .2s ease}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.25rem;margin-bottom:.35rem}.sidebar .logo{color:#fff;font-size:1.35rem;font-weight:800;padding:0 .35rem .85rem;display:flex;align-items:center;gap:.55rem;margin:0;min-width:0}.sidebar-collapse-btn{color:#9cbcf0!important;padding:.25rem .45rem!important;min-width:auto;line-height:1;flex-shrink:0}.logo-img{width:32px;height:32px;border-radius:9px;object-fit:cover;box-shadow:0 4px 12px #38bdf859;flex-shrink:0}.sidebar nav{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto}.sidebar nav a{color:#9cbcf0;text-decoration:none;padding:.62rem .8rem;border-radius:var(--radius-sm);font-weight:500;transition:background .15s,color .15s,transform .15s;display:flex;align-items:center;gap:.65rem;white-space:nowrap}.nav-icon{width:1.25rem;text-align:center;flex-shrink:0;font-size:.95rem;line-height:1}.sidebar nav a:hover{background:#ffffff12;color:#fff;transform:translate(2px)}.sidebar nav a.active{background:var(--gradient);color:#fff;font-weight:600;box-shadow:0 6px 16px #2563eb73}.sidebar-footer{padding:.85rem .6rem 0;border-top:1px solid rgba(255,255,255,.09)}.user-chip{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.user-chip strong{color:#fff;font-size:.86rem;display:block}.role-badge{font-size:.72rem;color:#7ea8e3}.sidebar .btn-ghost{color:#9cbcf0;width:100%;text-align:left;padding-left:.6rem}.sidebar .btn-ghost:hover{background:#ffffff12;color:#fff}.sidebar-logout{display:flex!important;align-items:center;gap:.65rem}.layout.sidebar-collapsed .sidebar{width:72px;padding-left:.55rem;padding-right:.55rem}.layout.sidebar-collapsed .logo-text,.layout.sidebar-collapsed .org-name-text,.layout.sidebar-collapsed .nav-label,.layout.sidebar-collapsed .user-chip-text{display:none}.layout.sidebar-collapsed .sidebar .logo{justify-content:center;padding:0 0 .6rem}.layout.sidebar-collapsed .sidebar-top{flex-direction:column;align-items:center}.layout.sidebar-collapsed .sidebar nav a{justify-content:center;padding:.7rem .35rem;transform:none}.layout.sidebar-collapsed .sidebar nav a:hover{transform:none}.layout.sidebar-collapsed .org-name{justify-content:center;padding:.35rem}.layout.sidebar-collapsed .user-chip{justify-content:center}.layout.sidebar-collapsed .sidebar-logout{justify-content:center;padding-left:.35rem!important}.topbar-views{display:flex;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0}.topbar-view-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-size:.82rem;font-weight:600;border:1px solid transparent}.topbar-view-link:hover{background:var(--surface);color:var(--text);border-color:var(--border)}.topbar-view-link.active{background:#2563eb1a;color:var(--primary);border-color:#2563eb40}@media (max-width: 960px){.topbar-view-label{display:none}.topbar-view-link{padding:.45rem .55rem;font-size:1rem}}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.content{flex:1;padding:1.6rem 2.2rem 2.5rem;min-width:0;animation:fadeUp .25s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem}.page-loader{padding:4rem;text-align:center;color:var(--muted)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0;letter-spacing:.02em;box-shadow:inset 0 -2px 4px #0000001f}.avatar-img{object-fit:cover;box-shadow:none;background:var(--surface, #fff)}.user-chip-btn{border:none;background:transparent;padding:0;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.user-chip-btn:hover .user-chip-text strong{text-decoration:underline}.profile-avatar-modal{max-width:420px}.profile-avatar-box .avatar{width:72px!important;height:72px!important;font-size:1.4rem!important}.assignee-cell{display:inline-flex;align-items:center;gap:.45rem}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.52rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.86rem;font-weight:500;font-family:inherit;transition:background .15s,box-shadow .15s,transform .1s,border-color .15s}.btn:hover{background:#f4f5fa;border-color:#d8dcec}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient);border:none;color:#fff;font-weight:600;box-shadow:0 4px 14px #2563eb66}.btn-primary:hover{background:var(--gradient);filter:brightness(1.08);box-shadow:0 6px 18px #2563eb80}.btn-ghost{background:transparent;border-color:transparent;color:inherit}.btn-ghost:hover{background:#16182d0d;border-color:transparent}.btn-danger{color:var(--danger);border-color:#ffd9e0}.btn-danger:hover{background:#fff1f4;border-color:#ffc1cd}.btn-small{padding:.22rem .55rem;font-size:.78rem;border-radius:7px}.btn-icon{padding:.22rem .38rem;font-size:.9rem;line-height:1;min-width:1.65rem}.btn-notes-has{background:#dcfce7;border-color:#86efac;color:#15803d;font-weight:600}.btn-notes-has:hover{background:#bbf7d0;border-color:#4ade80;color:#166534}.btn-comments-has{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.btn-comments-has:hover{background:#bfdbfe;border-color:#60a5fa;color:#1e40af}.btn-close-task{background:#dcfce7;border-color:#86efac;color:#15803d;font-weight:700}.btn-close-task:hover{background:#bbf7d0;border-color:#4ade80;color:#166534}.btn-expand{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--muted)}.btn-expand:hover{color:var(--primary)}label{display:flex;flex-direction:column;gap:.3rem;font-weight:500;font-size:.84rem}input,select,textarea{font:inherit;font-size:.88rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#cfd4e8}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}input[type=range]{padding:0;accent-color:var(--primary)}input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px}.form-row{display:flex;gap:.75rem}.form-row label{flex:1}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(800px 500px at 15% 10%,rgba(56,189,248,.3),transparent 60%),radial-gradient(700px 500px at 90% 85%,rgba(37,99,235,.45),transparent 55%),linear-gradient(160deg,#0a1124,#0f2247 60%,#15407c)}.login-card{background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2.4rem 2.2rem;border-radius:18px;width:360px;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-lg);animation:fadeUp .35s ease both}.login-card .logo{font-size:1.7rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:0;display:flex;align-items:center;gap:.6rem}.auth-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.turnstile-wrap{margin:.35rem 0 .75rem;min-height:65px}.login-card{position:relative}.login-card .btn-primary{padding:.7rem;font-size:.95rem;margin-top:.3rem}.password-gen-label{display:flex;flex-direction:column;gap:.35rem}.password-gen-row{display:flex;align-items:stretch;gap:.4rem}.password-gen-row input{flex:1;min-width:0}.password-gen-btn{flex:0 0 auto;width:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8dcec;border-radius:var(--radius-sm);background:#f4f6fb;color:var(--primary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.password-gen-btn:hover{background:#e8eefc;border-color:var(--primary)}.password-gen-copied{font-size:.78rem;color:#0f766e;font-weight:600}.alert{padding:.65rem .95rem;border-radius:var(--radius-sm);margin-bottom:.8rem;font-size:.86rem}.alert-error{background:#fff1f4;color:#be123c;border:1px solid #ffd9e0;cursor:pointer}.alert-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .6rem;border-radius:999px;font-size:.74rem;font-weight:600;background:#eef0f7;color:#4b5072;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.65}.badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.85rem}.status-todo{background:#eef0f7;color:#4b5072}.status-in_progress{background:#e3edff;color:#2455d6}.status-done{background:#dcf8ec;color:#0c8a5c}.status-blocked{background:#ffe6eb;color:#d6244a}.priority-low{background:#f1f3f9;color:#767c97}.priority-normal{background:#e3edff;color:#2455d6}.priority-high{background:#fff1d8;color:#b45309}.priority-critical{background:#ffe6eb;color:#d6244a}.project-active{background:#dcf8ec;color:#0c8a5c}.project-on_hold{background:#fff1d8;color:#b45309}.project-archived{background:#f1f3f9;color:#767c97}.project-done{background:#e3edff;color:#2455d6}.topbar{display:flex;align-items:center;gap:.75rem;padding:.65rem 2.2rem;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.global-search{position:relative;flex:1;max-width:540px}.global-search input{width:100%;border-radius:999px;padding-left:2.3rem;background:#f1f3f9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23767c97' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat .9rem center;border-color:transparent}.global-search input:focus{background-color:var(--surface)}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:440px;overflow-y:auto;z-index:40;animation:fadeUp .18s ease both}.search-section-title{padding:.6rem .85rem .25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.search-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.5rem .85rem;cursor:pointer;font:inherit;font-size:.85rem;border-radius:0}.search-item:hover{background:var(--primary-soft)}.search-empty{padding:1.2rem}.notif-bell{position:relative}.bell-button{position:relative;font-size:1.05rem;border-radius:50%;width:38px;height:38px;padding:0}.bell-badge{position:absolute;top:0;right:0;background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;border-radius:999px;padding:1px 5px;border:2px solid var(--surface)}.notif-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:370px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:40;overflow:hidden;animation:fadeUp .18s ease both}.notif-header{display:flex;justify-content:space-between;align-items:center;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.notif-list{list-style:none;margin:0;padding:0;max-height:380px;overflow-y:auto}.notif-list li{display:flex;gap:.6rem;padding:.6rem .9rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s}.notif-list li:last-child{border-bottom:none}.notif-list li:hover{background:#f4f5fa}.notif-list li.unread{background:var(--primary-soft)}.notif-list li.unread:hover{background:#dbeafe}.notif-icon{font-size:1rem}.notif-subject{font-size:.83rem;font-weight:500;display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.notif-open-hint{font-size:.72rem;font-weight:600;color:var(--primary);opacity:.85}.notif-list li.notif-clickable:hover .notif-open-hint{text-decoration:underline}.notif-meta{display:flex;flex-wrap:wrap;gap:.35rem .6rem;font-size:.75rem;margin-top:.15rem}.notif-priority{font-weight:600}.notif-list li.notif-item-bug.unread{border-left:3px solid #f59e0b}.notif-list li.notif-item-urgent.unread{border-left:3px solid #ef4444;background:#fef2f2}.notif-list li.notif-item-urgent.unread:hover{background:#fee2e2}.notif-toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:9000;display:flex;flex-direction:column;gap:.55rem;max-width:min(360px,calc(100vw - 2rem));pointer-events:none}.notif-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.55rem;width:100%;padding:.75rem .85rem;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow-md);text-align:left;cursor:pointer;transition:transform .12s}.notif-toast:hover{transform:translateY(-2px)}.notif-toast-task{border-left:4px solid #3b82f6}.notif-toast-bug{border-left:4px solid #f59e0b}.notif-toast-urgent{background:#fef2f2;border-color:#fecaca}.notif-toast-urgent.notif-toast-bug{border-left-color:#ef4444}.notif-toast-icon{font-size:1.2rem;line-height:1;flex-shrink:0}.notif-toast-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.notif-toast-meta{display:flex;gap:.4rem;align-items:center;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--muted)}.notif-toast-priority{padding:.05rem .35rem;border-radius:4px}.notif-toast-priority.priority-high{background:#fee2e2;color:#b91c1c}.notif-toast-priority.priority-critical{background:#ef4444;color:#fff}.notif-toast-subject{font-size:.88rem;font-weight:600;color:var(--text)}.notif-toast-project{font-size:.75rem}.notif-toast-close{color:var(--muted);padding:0 .15rem;font-size:.85rem;flex-shrink:0}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.1rem}.filters input[type=search]{flex:1;min-width:170px}.filters select{min-width:130px}.checkbox-inline{display:flex;flex-direction:row;align-items:center;gap:.45rem;font-weight:500;cursor:pointer}.checkbox-inline input{width:1rem;height:1rem;margin:0;flex-shrink:0}.task-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.task-table th{text-align:left;padding:.7rem .85rem;background:#fafbfe;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);transition:color .15s}.task-table th:hover{color:var(--primary)}.task-table td{padding:.62rem .85rem;border-bottom:1px solid var(--border)}.task-table tbody tr{transition:background .12s}.task-table tbody tr:last-child td{border-bottom:none}.task-table tbody tr:hover,.subtask-row{background:#fafbfe}.subtask-indent{color:var(--muted);margin-right:.4rem}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;margin-right:.2rem;padding:0;border:none;background:transparent;color:var(--muted);cursor:grab;font-size:.95rem;line-height:1;vertical-align:middle}.drag-handle:active{cursor:grabbing}.task-title-wrap{display:inline;border-radius:4px;transition:background .12s,box-shadow .12s}.task-nest-target .task-title-link,.task-title-wrap.task-nest-target{background:#dbeafe;box-shadow:inset 0 0 0 2px #3b82f6;border-radius:4px}.task-root-target td{background:#ecfdf5!important;box-shadow:inset 0 0 0 2px #10b981}.task-dnd-hint{margin:0 0 .75rem;font-size:.86rem}.task-drag-overlay{background:#fff;box-shadow:var(--shadow-md);border-radius:8px;opacity:.95;pointer-events:none}[data-theme=dark] .task-nest-target .task-title-link,[data-theme=dark] .task-title-wrap.task-nest-target{background:#1e3a5f;box-shadow:inset 0 0 0 2px #60a5fa}[data-theme=dark] .task-root-target td{background:#0c2b1e!important;box-shadow:inset 0 0 0 2px #34d399}[data-theme=dark] .task-drag-overlay{background:#1a1f2c}.inactive-row{opacity:.5}.task-title-link{background:none;border:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer;padding:0;transition:color .12s}.task-title-link:hover{color:var(--primary)}.status-select{border-radius:999px;font-size:.76rem;font-weight:600;padding:.22rem .5rem;border:1px solid transparent;cursor:pointer}.progress-cell{display:flex;align-items:center;gap:.55rem;min-width:120px;font-size:.78rem;font-weight:600;color:var(--muted)}.progress-bar{flex:1;height:7px;background:#ebedf5;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient);border-radius:999px;transition:width .35s ease}.row-actions{display:flex;gap:.3rem;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1110278c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:10050;padding:1rem;animation:backdropIn .18s ease both}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:16px;padding:1.7rem;width:580px;max-width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-lg);animation:modalIn .22s cubic-bezier(.21,1.02,.73,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.modal h3{font-size:1.15rem;font-weight:700}.modal-wide{width:740px}.modal-task-form{width:min(920px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:start}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--border)}.tabs button{background:none;border:none;padding:.55rem 1rem;cursor:pointer;font:inherit;font-size:.86rem;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.description{white-space:pre-wrap;background:#fafbfe;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .9rem}.subtask-list,.attachment-list,.comment-list,.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem;font-size:.86rem}.comment-list li{background:#fafbfe;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem}.comment-list-chat{flex:1 1 auto;min-height:280px;max-height:none;overflow-y:auto;margin-bottom:.35rem}.comment-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem;margin-bottom:.15rem}.comment-list p{margin:.2rem 0 0}.comment-form{display:flex;gap:.5rem;margin-top:.6rem;align-items:flex-end;flex-shrink:0}.comment-form input,.comment-form textarea{flex:1}.comment-form textarea{min-height:80px;resize:vertical}.modal-comments{width:min(960px,calc(100vw - 2rem));max-width:none;height:min(88vh,820px);max-height:88vh;overflow:hidden}.modal-comments .task-comments-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:.5rem}.modal-comments .comment-form textarea{min-height:120px}.history-list li{padding:.3rem 0;border-bottom:1px dashed var(--border)}.history-list li:last-child{border-bottom:none}.dependency-list{list-style:none;padding:.55rem 0 0;margin:0;display:flex;flex-direction:column;gap:.35rem;max-height:180px;overflow-y:auto}details summary{cursor:pointer}.bug-icon{margin-right:.35rem}tr.bug-row td:first-child{box-shadow:inset 3px 0 0 var(--danger)}tr.bug-row{background:#fff8f9}tr.bug-row:hover{background:#fff1f4!important}tr.bug-row .task-title-link{color:#be123c}tr.bug-row .task-title-link:hover{color:var(--danger)}.kanban-card.bug-card{border-left:3px solid var(--danger);background:#fffafb}.badge-bug{background:#ffe6eb;color:#d6244a}.type-switch{display:flex;gap:.5rem}.type-option{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-weight:600;cursor:pointer;color:var(--muted);transition:border-color .15s,background .15s,color .15s}.type-option.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.type-option-bug.active{border-color:var(--danger);background:#fff1f4;color:#be123c}.version-chip{display:inline-block;margin-left:.4rem;padding:1px 8px;border-radius:5px;font-size:.69rem;font-weight:700;background:#e9f4ff;color:#0b66c2;border:1px solid #c8e2fa;white-space:nowrap}.badge-version{background:#e9f4ff;color:#0b66c2}.version-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}.resource-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.85rem}.tech-note-hint{margin:0 0 .85rem;font-size:.84rem}.tech-note-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.85rem}.tech-note-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .9rem;background:var(--surface)}.tech-note-item-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.45rem}.tech-note-body{font-size:.88rem}.tech-note-body pre{overflow-x:auto}.tech-note-form{margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem}.tech-section-title{margin:1.25rem 0 .35rem;font-size:.95rem}.tech-section-title:first-of-type{margin-top:0}.members-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.88rem}.members-table th,.members-table td{padding:.45rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.members-table select{min-width:10rem}.members-email{display:block;font-size:.78rem}.members-add{align-items:flex-end;margin-bottom:1rem;gap:.75rem}.role-legend{list-style:none;padding:0;margin:0 0 1rem;font-size:.8rem;display:flex;flex-direction:column;gap:.25rem}.team-tabs{display:flex;gap:.35rem;margin-bottom:1rem;flex-wrap:wrap}.team-panel{margin-bottom:1rem}.team-group-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem;margin-bottom:.85rem;background:var(--surface)}.team-group-members{border:none;margin:.5rem 0 0;padding:0}.team-group-members legend{font-size:.78rem;padding:0}.team-user-chips{display:flex;flex-wrap:wrap;gap:.35rem}.team-user-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.78rem;cursor:pointer;-webkit-user-select:none;user-select:none}.team-user-chip-on{background:#dbeafe;border-color:#93c5fd}.team-user-chip-disabled{opacity:.45;cursor:not-allowed}.team-user-chip input{margin:0}[data-theme=dark] .team-user-chip-on{background:#1e3a5f;border-color:#3b82f6}.resource-item{display:flex;gap:.85rem;align-items:flex-start;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.resource-thumb{flex-shrink:0;width:72px;height:72px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f4f5fa;border:1px solid var(--border)}.resource-thumb img{width:100%;height:100%;object-fit:cover}.resource-thumb-file{font-size:1.75rem}.resource-body{flex:1;min-width:0}.resource-item-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.resource-meta{font-size:.78rem;margin:.25rem 0 .5rem}.resource-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}[data-theme=dark] .resource-thumb{background:#1e2330}.version-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .9rem;background:#fafbfe;display:flex;flex-direction:column;gap:.4rem}.version-item-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.version-item-head .row-actions{margin-left:auto}.version-name{font-size:.95rem}.version-form{display:flex;flex-direction:column;gap:.7rem;border-top:1px solid var(--border);padding-top:.9rem}.version-planned{background:#f1f3f9;color:#767c97}.version-in_progress{background:#e3edff;color:#2455d6}.version-released{background:#dcf8ec;color:#0c8a5c}.tag-chips{display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:.4rem;vertical-align:middle}section .tag-chips{margin-left:0}.tag-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.69rem;font-weight:700;color:#fff;border:none;letter-spacing:.02em}.tag-toggle{cursor:pointer;font:inherit;font-size:.76rem;padding:4px 11px;transition:transform .1s,opacity .15s}.tag-toggle:hover:not(:disabled){transform:scale(1.06)}.tag-toggle.inactive{background:#eef0f7;color:var(--muted)}.tag-toggle:disabled{cursor:default}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.1rem}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.55rem;transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}.project-card-sortable{touch-action:manipulation}.project-drag-handle{position:absolute;top:.45rem;right:.45rem;z-index:2;border:none;background:#ffffffb3;color:var(--muted);border-radius:6px;cursor:grab;padding:.15rem .35rem;line-height:1;font-size:.95rem}.project-drag-handle:active{cursor:grabbing}[data-theme=dark] .project-drag-handle{background:#00000059}.project-card-overlay{box-shadow:var(--shadow-md);opacity:.95;width:280px}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--project-accent, var(--gradient));opacity:.85;transition:opacity .18s}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.project-card-clickable{cursor:pointer}.project-card:hover:before{opacity:1}.project-card h3{font-size:1.02rem;font-weight:700}.project-card-header{display:flex;justify-content:space-between;align-items:start;gap:.5rem;padding-right:1.6rem}.project-card-title-row{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1}.project-card-title-row h3{margin:0;min-width:0}.project-card-title-actions{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.project-card-edit{flex-shrink:0}.color-picker-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem}.color-swatch{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.color-swatch-none{background:var(--surface);border-color:var(--border);color:var(--muted);font-size:.75rem}.color-input-native{width:36px;height:28px;padding:0;border:none;background:transparent;cursor:pointer}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem;margin-bottom:1.4rem}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.15rem;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card:after{content:"";position:absolute;right:-22px;top:-22px;width:84px;height:84px;border-radius:50%;background:var(--primary-soft)}.kpi-warning:after{background:#fff1d8}.kpi-danger:after{background:#ffe6eb}.kpi-value{font-size:2rem;font-weight:800;letter-spacing:-.03em;position:relative;z-index:1}.kpi-label{color:var(--muted);font-size:.82rem;font-weight:500;position:relative;z-index:1}.kpi-warning .kpi-value{color:var(--warning)}.kpi-danger .kpi-value{color:var(--danger)}.kpi-card-link{text-decoration:none;color:inherit;cursor:pointer}.kpi-link-hint{font-size:.72rem;font-weight:600;color:var(--primary);position:relative;z-index:1;opacity:0;transition:opacity .15s}.kpi-card-link:hover .kpi-link-hint{opacity:1}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.1rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow-sm)}.chart-card h4{margin:0 0 .75rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.chart-wrap{position:relative;width:100%}.chart-wrap-doughnut{max-height:280px;max-width:300px;margin:0 auto}.chart-wrap-bar{max-height:320px}.app-toast-stack{position:fixed;bottom:1.25rem;left:1.25rem;z-index:10040;display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,calc(100vw - 2rem))}.app-toast{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem .85rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:.9rem}.app-toast-success{border-left:4px solid var(--success, #10b981)}.app-toast-error{border-left:4px solid var(--danger)}.app-toast-info{border-left:4px solid var(--primary)}.app-toast-msg{flex:1}.app-toast-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;line-height:1}.modal-sm{max-width:420px}.dialog-message{margin:0 0 1rem;line-height:1.5}.modal-header-actions{display:flex;align-items:center;gap:.35rem}.calendar-hint{margin:-.5rem 0 1rem;font-size:.88rem}.time-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem}.filter-inline{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem}.filter-field{display:flex;flex-direction:column;gap:.3rem;margin:0}.filter-field-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);line-height:1}.filter-field select,.filter-field input[type=date]{min-width:11rem;height:2.35rem}.calendar-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow-sm)}.rbc-toolbar{margin-bottom:1rem;gap:.5rem}.rbc-toolbar button{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .85rem;font-family:inherit;font-size:.84rem;color:var(--text);transition:background .15s}.rbc-toolbar button:hover{background:#f4f5fa}.rbc-toolbar button.rbc-active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:none}.rbc-toolbar-label{font-weight:700;font-size:1.05rem;text-transform:capitalize}.rbc-header{padding:.5rem 0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-color:var(--border)!important}.rbc-month-view,.rbc-time-view,.rbc-agenda-view{border-color:var(--border)!important;border-radius:var(--radius-sm)}.rbc-day-bg,.rbc-month-row,.rbc-date-cell{border-color:var(--border)!important}.rbc-off-range-bg{background:#fafbfe}.rbc-today{background:var(--primary-soft)}.rbc-event{border-radius:6px;font-size:.76rem;font-weight:600;padding:2px 6px}.rbc-date-cell{font-size:.8rem;padding-right:6px}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;align-items:start}.kanban-column{background:#eef0f7;border-radius:var(--radius);padding:.65rem;min-height:220px;transition:background .15s,outline .15s;outline:2px dashed transparent}.kanban-column.drop-target{background:var(--primary-soft);outline-color:var(--primary)}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem;padding:.1rem .25rem}.kanban-column-header .muted{background:#16182d12;border-radius:999px;padding:.05rem .5rem;font-size:.74rem;font-weight:600}.kanban-cards{display:flex;flex-direction:column;gap:.55rem}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;box-shadow:var(--shadow-sm);cursor:grab;display:flex;flex-direction:column;gap:.45rem;transition:transform .15s ease,box-shadow .15s ease}.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kanban-card.dragging{box-shadow:var(--shadow-lg);transform:rotate(2.5deg) scale(1.03);cursor:grabbing}.kanban-card-title{font-weight:600;font-size:.86rem;line-height:1.35}.kanban-card-project{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:var(--primary-soft);border-radius:5px;padding:2px 7px;align-self:flex-start}.bug-card .kanban-card-project{color:#be123c;background:#ffe6eb}.kanban-card-meta,.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.76rem}.kanban-card-footer{color:var(--muted)}.gantt{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.gantt-labels{flex:0 0 230px;border-right:1px solid var(--border);display:flex;flex-direction:column}.gantt-header-cell{height:28px;border-bottom:1px solid var(--border);background:#fafbfe}.gantt-label{background:none;border:none;border-bottom:1px solid var(--border);text-align:left;padding:0 .75rem;font:inherit;font-size:.83rem;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s,background .12s}.gantt-label:hover{color:var(--primary);background:#fafbfe}.gantt-scroll{flex:1;overflow-x:auto}.gantt-grid{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent 25px,#f4f5fa 25px,#f4f5fa 26px)}.gantt-week-line{position:absolute;top:0;bottom:0;border-left:1px solid #dde1ee}.gantt-week-label{position:absolute;top:7px;left:4px;font-size:.66rem;font-weight:600;color:var(--muted);white-space:nowrap}.gantt-today{position:absolute;top:0;bottom:0;border-left:2px solid var(--danger);z-index:2}.gantt-bar{position:absolute;height:20px;border-radius:6px;cursor:grab;z-index:3;overflow:visible;box-shadow:0 2px 6px #16182d2e;transition:filter .12s;display:flex;align-items:stretch}.gantt-bar-dragging{cursor:grabbing;filter:brightness(1.08);z-index:5}.gantt-bar:hover{filter:brightness(1.1)}.gantt-bar-progress{height:100%;background:#ffffff61;flex:1;pointer-events:none}.gantt-bar-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:2}.gantt-bar-handle-left{left:0;border-radius:6px 0 0 6px}.gantt-bar-handle-right{right:0;border-radius:0 6px 6px 0}.gantt-bar-handle:hover{background:#ffffff59}.gantt-arrows{position:absolute;top:0;left:0;pointer-events:none;z-index:4}.gantt-arrow path{stroke:#565d80;stroke-width:1.5}.gantt-arrow polygon{fill:#565d80}.work-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.work-section.work-danger{border-left:4px solid var(--danger)}.work-section.work-warning{border-left:4px solid var(--warning)}.work-muted{opacity:.7}.work-section-title{font-size:.95rem;font-weight:700;margin-bottom:.6rem}.work-count{background:#eef0f7;border-radius:999px;padding:.05rem .55rem;font-size:.75rem;color:var(--muted);vertical-align:middle}.work-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.work-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .4rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.work-item:last-child{border-bottom:none}.work-item .task-title-link{font-size:.88rem}.work-project{font-size:.78rem;margin-left:auto}.work-item .status-select{margin-left:.3rem}.activity-day{margin-bottom:1.4rem}.activity-day-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem}.activity-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.activity-item{display:flex;gap:.8rem;padding:.6rem .9rem;border-bottom:1px solid var(--border);font-size:.86rem;align-items:baseline}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#fafbfe}.activity-time{flex:0 0 38px;font-variant-numeric:tabular-nums}.activity-diff{display:block;color:var(--muted);font-size:.8rem;margin-top:.15rem}.mention{color:var(--primary);font-weight:600;background:var(--primary-soft);border-radius:5px;padding:0 .25rem}.mention-wrap{position:relative;flex:1;display:flex}.mention-wrap input,.mention-wrap textarea{width:100%}.mention-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;list-style:none;margin:0;padding:.3rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:20;min-width:220px}.mention-dropdown button{display:block;width:100%;text-align:left;background:none;border:none;padding:.4rem .6rem;border-radius:6px;cursor:pointer;font:inherit;color:var(--text)}.mention-dropdown button:hover{background:var(--primary-soft);color:var(--primary)}.login-log{margin-bottom:1.2rem}.login-log h4{margin-top:.4rem}.theme-toggle{font-size:1.05rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.9rem}.page-loader{display:grid;place-items:center;min-height:40vh;color:var(--muted);font-size:.95rem}:root[data-theme=dark]{color-scheme:dark;--primary: #5b8cff;--primary-dark: #3f6fe8;--primary-soft: #1c2a4d;--bg: #0e1118;--surface: #161a24;--border: #262b3a;--text: #e6e9f5;--muted: #8d93b0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 6px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .6);--ring: 0 0 0 3px rgba(91, 140, 255, .3)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#323950}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#424b68}[data-theme=dark] .btn:hover{background:#1e2330;border-color:#343b50}[data-theme=dark] .btn-ghost:hover{background:#ffffff12}[data-theme=dark] .btn-danger{border-color:#4d2330}[data-theme=dark] .btn-danger:hover{background:#2c151d;border-color:#61293a}[data-theme=dark] .btn-notes-has{background:#14532d;border-color:#166534;color:#86efac}[data-theme=dark] .btn-notes-has:hover{background:#166534;border-color:#22c55e;color:#bbf7d0}[data-theme=dark] .btn-comments-has{background:#1e3a5f;border-color:#2563eb;color:#93c5fd}[data-theme=dark] .btn-comments-has:hover{background:#1e40af;border-color:#3b82f6;color:#bfdbfe}[data-theme=dark] .btn-close-task{background:#14532d;border-color:#166534;color:#86efac}[data-theme=dark] .btn-close-task:hover{background:#166534;border-color:#22c55e;color:#bbf7d0}[data-theme=dark] input:hover,[data-theme=dark] select:hover,[data-theme=dark] textarea:hover{border-color:#3a425c}[data-theme=dark] .topbar{background:#0e1118d9}[data-theme=dark] .global-search input{background-color:#1c212e}[data-theme=dark] .global-search input:focus{background-color:var(--surface)}[data-theme=dark] .notif-list li:hover{background:#1c212e}[data-theme=dark] .notif-list li.unread{background:var(--primary-soft)}[data-theme=dark] .notif-list li.unread:hover{background:#233459}[data-theme=dark] .notif-list li.notif-item-urgent.unread{background:#3f1d1d}[data-theme=dark] .notif-list li.notif-item-urgent.unread:hover{background:#4c2020}[data-theme=dark] .notif-toast{background:#1a1f2c}[data-theme=dark] .notif-toast-urgent{background:#3f1d1d;border-color:#7f1d1d}[data-theme=dark] .task-table th,[data-theme=dark] .task-table tbody tr:hover{background:#1a1f2c}[data-theme=dark] .subtask-row{background:#131722}[data-theme=dark] .description,[data-theme=dark] .version-item,[data-theme=dark] .activity-item:hover{background:#1a1f2c}[data-theme=dark] .alert-error{background:#2c151d;color:#ff8aa3;border-color:#4d2330}[data-theme=dark] .login-card{background:#161a24f2}[data-theme=dark] .work-count{background:#262b3a;color:var(--muted)}[data-theme=dark] .tag-toggle.inactive{background:#262b3a}[data-theme=dark] .badge,[data-theme=dark] .status-todo{background:#262b3a;color:#aab1cc}[data-theme=dark] .status-in_progress{background:#1c2a4d;color:#84a9ff}[data-theme=dark] .status-done{background:#11342a;color:#44d39d}[data-theme=dark] .status-blocked{background:#3b1722;color:#ff7d99}[data-theme=dark] .priority-low{background:#1f2433;color:#8d93b0}[data-theme=dark] .priority-normal{background:#1c2a4d;color:#84a9ff}[data-theme=dark] .priority-high{background:#3a2a10;color:#f3b259}[data-theme=dark] .priority-critical{background:#3b1722;color:#ff7d99}[data-theme=dark] .project-active{background:#11342a;color:#44d39d}[data-theme=dark] .project-on_hold{background:#3a2a10;color:#f3b259}[data-theme=dark] .project-archived{background:#1f2433;color:#8d93b0}[data-theme=dark] .project-done{background:#1c2a4d;color:#84a9ff}[data-theme=dark] .version-planned{background:#1f2433;color:#8d93b0}[data-theme=dark] .version-in_progress{background:#1c2a4d;color:#84a9ff}[data-theme=dark] .version-released{background:#11342a;color:#44d39d}[data-theme=dark] .badge-bug{background:#3b1722;color:#ff7d99}[data-theme=dark] .badge-version,[data-theme=dark] .version-chip{background:#14283d;color:#6db4f5;border-color:#1f3c5c}[data-theme=dark] tr.bug-row{background:#1d141a}[data-theme=dark] tr.bug-row:hover{background:#271a21!important}[data-theme=dark] tr.bug-row .task-title-link{color:#ff8aa3}[data-theme=dark] .kanban-card.bug-card{background:#1d141a}[data-theme=dark] .bug-card .kanban-card-project{color:#ff8aa3;background:#3b1722}[data-theme=dark] .type-option-bug.active{background:#2c151d;color:#ff8aa3}[data-theme=dark] .kanban-column{background:#131722}[data-theme=dark] .kpi-warning:after{background:#3a2a10}[data-theme=dark] .kpi-danger:after{background:#3b1722}[data-theme=dark] .gantt-header-cell,[data-theme=dark] .gantt-label:hover{background:#1a1f2c}[data-theme=dark] .gantt-grid{background:repeating-linear-gradient(to right,transparent 0,transparent 25px,#1c212e 25px,#1c212e 26px)}[data-theme=dark] .gantt-week-line{border-left-color:#2c3245}[data-theme=dark] .gantt-arrow path{stroke:#707897}[data-theme=dark] .gantt-arrow polygon{fill:#707897}[data-theme=dark] .rbc-calendar{color:var(--text)}[data-theme=dark] .rbc-month-view,[data-theme=dark] .rbc-time-view,[data-theme=dark] .rbc-header,[data-theme=dark] .rbc-day-bg,[data-theme=dark] .rbc-month-row,[data-theme=dark] .rbc-agenda-view table,[data-theme=dark] .rbc-agenda-view table tbody>tr>td{border-color:var(--border)}[data-theme=dark] .rbc-off-range-bg{background:#131722}[data-theme=dark] .rbc-today{background:var(--primary-soft)}[data-theme=dark] .rbc-toolbar button{color:var(--text);border-color:var(--border)}[data-theme=dark] .rbc-toolbar button:hover{background:#1e2330}.alert-success{background:#ecfdf3;color:#047857;border:1px solid #bbf2d4;cursor:pointer}.markdown{font-size:.92rem;line-height:1.55}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{margin:.7em 0 .35em;line-height:1.25}.markdown h1{font-size:1.15rem}.markdown h2{font-size:1.05rem}.markdown h3{font-size:.97rem}.markdown p,.markdown ul,.markdown ol{margin:.45em 0}.markdown ul,.markdown ol{padding-left:1.35rem}.markdown code{background:var(--primary-soft);padding:.1em .35em;border-radius:4px;font-size:.85em}.markdown pre{background:#16182d;color:#e6e9f5;padding:.7rem .9rem;border-radius:var(--radius-sm);overflow-x:auto}.markdown pre code{background:none;padding:0;color:inherit}.markdown blockquote{border-left:3px solid var(--primary);margin:.5em 0;padding:.15em .9em;color:var(--muted)}.markdown table{border-collapse:collapse;margin:.5em 0}.markdown th,.markdown td{border:1px solid var(--border);padding:.3rem .6rem}.markdown img{max-width:100%;border-radius:var(--radius-sm)}.markdown a{color:var(--primary)}.checklist{list-style:none;padding:0;margin:.4rem 0}.checklist li{display:flex;align-items:center;justify-content:space-between;padding:.25rem .3rem;border-radius:6px}.checklist li:hover{background:var(--primary-soft)}.checklist li.done span{text-decoration:line-through;color:var(--muted)}.checklist-progress,.time-progress{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin:.35rem 0 .55rem}.checklist-progress>div{height:100%;background:var(--ok, #16a34a);border-radius:3px;transition:width .25s}.time-progress>div{height:100%;background:var(--primary);border-radius:3px;transition:width .25s}.time-progress.over>div{background:#dc2626}.checklist-form,.time-form{display:flex;gap:.45rem;margin-top:.45rem;flex-wrap:wrap}.checklist-form input{flex:1;min-width:160px}.time-form input[type=number]{width:95px}.time-form input:not([type]){flex:1;min-width:140px}.time-list{list-style:none;padding:0;margin:.3rem 0}.time-list li{padding:.22rem 0;font-size:.9rem}.dropzone{margin-top:.6rem;padding:1.1rem;text-align:center;border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:.88rem;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.attachment-previews{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.55rem}.attachment-previews img{width:110px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);transition:transform .15s,box-shadow .15s}.attachment-previews a:hover img{transform:scale(1.04);box-shadow:var(--shadow-md)}.badge-recurrence{background:#ede9fe;color:#6d28d9}.badge-template{background:#fef3c7;color:#b45309}.project-card-template{border-style:dashed}.notes-editor{width:100%;font-family:SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.5}.saved-filters{display:inline-flex;align-items:center;gap:.25rem}.trash-section{margin-top:1.4rem}.trash-section h3{margin-bottom:.6rem}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d12208c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1100;display:flex;justify-content:center;align-items:flex-start;padding-top:14vh}.cmdk{width:min(620px,92vw);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border)}.cmdk input{width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:.95rem 1.1rem;font-size:1rem;background:transparent}.cmdk input:focus{box-shadow:none}.cmdk-list{list-style:none;margin:0;padding:.35rem;max-height:46vh;overflow-y:auto}.cmdk-list li{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.92rem}.cmdk-list li.active{background:var(--primary-soft)}.cmdk-icon{width:1.4rem;text-align:center;flex:none}.cmdk-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-hint{color:var(--muted);font-size:.8rem;flex:none}.cmdk-empty{color:var(--muted);cursor:default}.cmdk-footer{padding:.5rem 1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem}.cmdk-footer kbd{background:var(--primary-soft);border-radius:4px;padding:.05rem .35rem;font-size:.75rem}.platform-chip{display:inline-block;padding:.1rem .5rem;margin-left:.4rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:600;vertical-align:middle;white-space:nowrap}.badge.platform-chip{margin-left:0}.department-chip{display:inline-block;padding:.1rem .5rem;margin-left:.4rem;border-radius:999px;color:#fff;font-size:.72rem;font-weight:600;vertical-align:middle;white-space:nowrap}.badge.department-chip{margin-left:0}.dept-chips{display:flex;flex-wrap:wrap;gap:.25rem}.form-departments{margin-bottom:.9rem}.form-departments-label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.25rem}.form-departments-hint{margin:0 0 .4rem;font-size:.78rem}.tag-chip.tag-toggle{cursor:pointer;border:2px solid transparent;opacity:.55;background:var(--border)!important;color:var(--text)}.tag-chip.tag-toggle.active{opacity:1;color:#fff;border-color:transparent}.form-tags{margin-bottom:.9rem}.form-tags-label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.form-tags .tag-chips{align-items:center}.tag-create{display:inline-flex;align-items:center;gap:.35rem}.tag-create input{width:140px;padding:.25rem .55rem;font-size:.8rem;border-radius:999px}.project-version{display:flex;align-items:center;gap:.45rem;margin:.1rem 0 .45rem}.project-version .version-chip{margin-left:0}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:1.4rem;box-shadow:var(--shadow-sm)}.settings-section h3{margin:0 0 .25rem}.settings-section>.muted{margin:0 0 .8rem;font-size:.86rem}.referential-list{list-style:none;padding:0;margin:0 0 .8rem}.referential-list li{display:flex;align-items:center;gap:.6rem;padding:.4rem .3rem;border-bottom:1px solid var(--border)}.referential-list li:last-child{border-bottom:0}.referential-actions{margin-left:auto;display:flex;gap:.35rem}.referential-name{flex:1;max-width:260px}.referential-form{display:flex;gap:.5rem;align-items:center}.referential-form input:not([type=color]){flex:1;max-width:280px}.referential-form input[type=color],.referential-list input[type=color]{width:42px;height:34px;padding:2px;cursor:pointer}.org-name-form{display:flex;gap:.5rem;align-items:center;max-width:480px}.org-name-form input{flex:1}.role-profile-list li{flex-direction:column;align-items:stretch;gap:.35rem}.role-profile-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.role-code{font-size:.78rem;color:var(--muted);background:var(--surface-2);padding:.1rem .4rem;border-radius:4px}.role-system-badge{font-size:.72rem;padding:.1rem .45rem}.role-perm-list{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.25rem}.role-perm-label{display:flex;align-items:center;gap:.45rem;font-size:.9rem;cursor:pointer}.role-profile-edit,.role-profile-add{display:flex;flex-direction:column;gap:.45rem;width:100%}.role-profile-desc,.role-profile-desc-read{margin:0;font-size:.86rem}.role-perm-summary{margin:0;font-size:.82rem}.role-profile-actions{display:flex;gap:.4rem;margin-top:.25rem}.role-profile-list .referential-actions{margin-left:0;margin-top:.25rem}[data-theme=dark] .alert-success{background:#0c2b1e;color:#4ade80;border-color:#14532d}[data-theme=dark] .badge-recurrence{background:#2e1f57;color:#c4b5fd}[data-theme=dark] .badge-template{background:#3a2c10;color:#fcd34d}[data-theme=dark] .markdown code{background:#1c2a4d}[data-theme=dark] .markdown pre{background:#0b0d14}[data-theme=dark] .checklist li:hover{background:#1c212e}[data-theme=dark] .dropzone:hover,[data-theme=dark] .dropzone.over{background:#1c2a4d}.nav-toggle,.sidebar-backdrop{display:none}@media (max-width: 960px){.nav-toggle{display:inline-flex;flex-shrink:0}.layout{flex-direction:row}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:1200;width:min(280px,88vw);transform:translate(-105%);transition:transform .22s ease;box-shadow:none}.layout.nav-open .sidebar{transform:translate(0);box-shadow:4px 0 24px #0000002e}.layout.sidebar-collapsed .sidebar{width:min(280px,88vw)}.layout.sidebar-collapsed .logo-text,.layout.sidebar-collapsed .org-name-text,.layout.sidebar-collapsed .nav-label,.layout.sidebar-collapsed .user-chip-text{display:initial}.layout.sidebar-collapsed .sidebar .logo{justify-content:flex-start;padding:0 .35rem .85rem}.layout.sidebar-collapsed .sidebar-top{flex-direction:row;align-items:flex-start}.layout.sidebar-collapsed .sidebar nav a{justify-content:flex-start;padding:.62rem .8rem}.layout.sidebar-collapsed .org-name{justify-content:flex-start;padding:.35rem .55rem}.layout.sidebar-collapsed .sidebar-collapse-btn{display:none}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1190;border:none;background:#0f122373;opacity:0;pointer-events:none;transition:opacity .22s}.layout.nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.main-area{width:100%;min-width:0}.content{padding:1rem}.topbar{padding:.6rem .75rem;gap:.35rem;flex-wrap:wrap}.global-search{min-width:0;flex:1 1 140px}.page-header{flex-direction:column;align-items:stretch}.form-row{flex-direction:column}.kanban-board{grid-template-columns:1fr}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}.table-scroll .task-table{min-width:880px}.time-report-grid{grid-template-columns:1fr}}@media (max-width: 800px){.kanban-board{grid-template-columns:1fr}}.kanban-swimlane{margin-bottom:1.25rem}.kanban-swimlane-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem;font-size:.95rem}.kanban-column.kanban-wip-full{outline:2px dashed rgba(244,63,94,.35)}.kanban-wip-hit{color:var(--danger);font-weight:600}.kanban-config-table .input-narrow{max-width:5rem}.automation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.automation-item{padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.automation-off{opacity:.55}.automation-toggle{display:flex;align-items:center;gap:.55rem;cursor:pointer}.automation-meta{margin:.35rem 0 0 1.6rem;font-size:.85rem}.tech-docs-intro{margin:-.5rem 0 1rem;max-width:52rem}.tech-docs-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;align-items:center}.tech-docs-toolbar .input{flex:1 1 180px;min-width:140px}.tech-docs-panels{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1rem;align-items:start}.tech-docs-list{display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 220px);overflow-y:auto}.tech-doc-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .85rem;background:var(--surface);cursor:pointer;transition:border-color .12s,box-shadow .12s}.tech-doc-card:hover,.tech-doc-card.active{border-color:var(--primary);box-shadow:var(--shadow-sm)}.tech-doc-card-title{font-weight:600;margin-bottom:.35rem}.tech-doc-card-meta{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.8rem}.tech-doc-card-author{font-size:.75rem;margin-top:.35rem}.tech-doc-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;min-height:320px;max-height:calc(100vh - 220px);overflow-y:auto}.tech-doc-detail-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.tech-doc-detail-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.tech-doc-detail-actions{display:flex;gap:.35rem}.tech-doc-content{border-top:1px solid var(--border);padding-top:1rem}.tech-doc-sharing{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;margin:.75rem 0 1rem}.tech-doc-sharing legend{font-weight:600;font-size:.85rem;padding:0 .35rem}.radio-card{display:flex;flex-direction:row;align-items:center;gap:.55rem;margin:.5rem 0;cursor:pointer;font-weight:500}.radio-card input[type=radio]{width:1rem;height:1rem;margin:0;padding:0;flex-shrink:0;accent-color:var(--primary)}.tech-doc-share-options{margin-top:.75rem;display:flex;flex-direction:column;gap:.65rem}.tech-doc-user-chips{display:flex;flex-wrap:wrap;gap:.5rem 1rem;max-height:120px;overflow-y:auto;margin-top:.35rem}.badge-muted{background:var(--border);color:var(--muted)}@media (max-width: 960px){.tech-docs-panels{grid-template-columns:1fr}.tech-docs-list,.tech-doc-detail{max-height:none}}@media (max-width: 800px){.layout:not(.nav-open){flex-direction:row}}.auth-links{margin-top:1.1rem;text-align:center;font-size:.88rem;color:var(--text-muted, #767c97)}.auth-links a{color:var(--primary, #2563eb);text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.auth-links-sep{margin:0 .5rem;color:var(--text-muted, #767c97)}.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.65rem 1rem;margin-bottom:1rem;border-radius:var(--radius-sm);background:#eff6ff;border:1px solid #bfdbfe;font-size:.88rem}.subscription-banner a{font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap}.subscription-banner a:hover{text-decoration:underline}.subscription-banner-urgent{background:#fffbeb;border-color:#fcd34d}.subscription-banner-expired{background:#fef2f2;border-color:#fecaca}[data-theme=dark] .subscription-banner{background:#2563eb1f;border-color:#60a5fa59}[data-theme=dark] .subscription-banner-urgent{background:#f59e0b1f;border-color:#fbbf2459}[data-theme=dark] .subscription-banner-expired{background:#dc26261f;border-color:#f8717159}.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;align-items:start}.billing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.3rem}.billing-card h3{margin:0 0 .75rem;font-size:.95rem}.billing-badge{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.82rem;font-weight:700}.billing-badge-trialing{background:#dbeafe;color:#1d4ed8}.billing-badge-free{background:#e0e7ff;color:#4338ca}.billing-badge-active{background:#dcfce7;color:#15803d}.billing-badge-expired{background:#fee2e2;color:#b91c1c}.billing-badge-past_due{background:#ffedd5;color:#c2410c}.billing-badge-exempt{background:#f3e8ff;color:#7e22ce}.alert-success{background:#ecfdf5;border:1px solid #6ee7b7;color:#047857;padding:.65rem .9rem;border-radius:var(--radius-sm);margin-bottom:1rem}[data-theme=dark] .alert-success{background:#10b9811f;border-color:#34d39959;color:#6ee7b7}.billing-highlight{font-size:1.4rem;font-weight:700;margin:.4rem 0}.billing-price{font-size:2rem;font-weight:800;margin:0 0 .8rem}.billing-price span{font-size:.95rem;font-weight:500;color:var(--muted)}.billing-breakdown{list-style:none;padding:0;margin:0 0 .6rem}.billing-breakdown li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--border);font-size:.88rem}.billing-breakdown li:last-child{border-bottom:none}.billing-formula{font-size:.82rem;margin:0}.billing-cta{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem}.org-name{margin:0 0 .9rem;padding:.35rem .55rem;font-size:.8rem;font-weight:600;color:#c7d7f5;background:#ffffff12;border-radius:8px;display:flex;align-items:center;gap:.45rem;min-width:0}.org-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.org-icon-img{width:22px;height:22px;border-radius:6px;object-fit:cover;flex-shrink:0}.org-icon-emoji{font-size:1rem;line-height:1;flex-shrink:0}.org-icon-fallback{width:22px;height:22px;border-radius:6px;background:#ffffff26;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.org-brand-row{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.org-logo-box{width:64px;height:64px;border-radius:14px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.org-logo-preview{width:100%;height:100%;object-fit:cover}.org-logo-placeholder{font-size:1.6rem;font-weight:700;color:var(--muted)}.org-logo-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.org-icon-label{display:block;margin-bottom:.85rem;font-size:.86rem;font-weight:600}.org-icon-presets{margin-top:.4rem}.org-icon-pick{width:34px;height:34px;border-radius:8px;border:2px solid var(--border);background:var(--surface);cursor:pointer;font-size:1.1rem;line-height:1}.org-icon-pick.selected{border-color:var(--primary)}.org-icon-custom{width:8rem;padding:.35rem .5rem;border-radius:8px;border:1px solid var(--border)}.invite-link-banner{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.invite-link{font-size:.8rem;word-break:break-all;background:#0000000d;padding:.1rem .35rem;border-radius:4px}[data-theme=dark] .invite-link{background:#ffffff14}.invitations-section{margin-top:1.6rem}.invitations-section h4{margin-bottom:.6rem}.project-group-row{cursor:pointer;-webkit-user-select:none;user-select:none;background:#eef2fb}.project-group-row:hover{background:#e3e9f8}.project-group-row.project-group-colored:hover{filter:brightness(.97)}.project-group-row td{padding:.55rem .85rem;border-top:2px solid #d7defc;font-size:.92rem}.project-group-row.project-group-colored td{border-top-color:color-mix(in srgb,var(--project-group-accent, #d7defc) 45%,#d7defc)}.project-group-name{font-weight:700;color:#1e3a8a;margin-left:.35rem}.project-group-meta{margin-left:.7rem;font-size:.8rem;color:#767c97;font-weight:500}.badge-main{background:#fef3c7;color:#b45309;border:1px solid #fcd34d;font-size:.72rem;margin-right:.3rem;padding:.05rem .35rem}.main-task-row td{background:#fffbeb}.main-task-row:hover td{background:#fef3c7!important}.inline-select,.inline-date{font:inherit;font-size:.8rem;padding:.2rem .35rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);max-width:9.5rem}.inline-date{max-width:8.5rem}.th-cols-picker{width:2.5rem;text-align:right;position:relative}.cols-picker{position:relative;display:inline-flex;justify-content:flex-end}.cols-picker-btn{font-size:1.05rem;line-height:1;padding:.2rem .4rem}.cols-picker-menu{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;min-width:200px;padding:.65rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:.35rem}.cols-picker-title{margin:0 0 .25rem;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cols-picker-item{display:flex;flex-direction:row;align-items:center;gap:.45rem;font-size:.86rem;font-weight:500;cursor:pointer;margin:0}.cols-picker-item input{width:.95rem;height:.95rem;margin:0}[data-theme=dark] .project-group-row{background:#1a2236}[data-theme=dark] .project-group-row:hover{background:#1f2a44}[data-theme=dark] .project-group-row td{border-top-color:#2c3a5e}[data-theme=dark] .project-group-name{color:#93b4f8}[data-theme=dark] .main-task-row td{background:#2a2410}[data-theme=dark] .main-task-row:hover td{background:#3a3216!important}[data-theme=dark] .badge-main{background:#422006;color:#fcd34d;border-color:#854d0e}
