.app-bell{position:relative;margin-right:.35rem}.app-bell-btn{position:relative;background:transparent;border:0;width:38px;height:38px;border-radius:50%;color:#5a5a66;font-size:1.35rem;display:grid;place-items:center;cursor:pointer;transition:background .12s}.app-bell-btn:hover{background:#f2f2f5}.app-bell-badge{position:absolute;top:3px;right:3px;background:#dc2626;color:#fff;font-size:.58rem;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:grid;place-items:center;border:2px solid #fff}.app-bell-pop{position:absolute;right:0;top:46px;width:340px;max-height:440px;overflow:auto;background:#fff;border:1px solid #ececf1;border-radius:12px;box-shadow:0 12px 32px #00000029;z-index:1090}.app-bell-head{font-weight:700;font-size:.85rem;padding:.7rem .9rem;border-bottom:1px solid #f0f0f3;color:#2a2a33;position:sticky;top:0;background:#fff}.app-bell-empty{padding:1.6rem .9rem;text-align:center;color:#a0a0aa;font-size:.82rem}.app-bell-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:.6rem .9rem;border-bottom:1px solid #f4f4f7;cursor:pointer}.app-bell-item:hover{background:#faf7f1}.app-bell-item.unread{background:#fff8ec}.app-bell-item.unread:hover{background:#fdf1dc}.app-bell-item .t{font-size:.8rem;font-weight:600;color:#2a2a33}.app-bell-item .b{font-size:.74rem;color:#7a7a86;margin-top:1px}.app-bell-item .a{font-size:.68rem;color:#a8a8b2;margin-top:3px}body{background:var(--main)}.app-navbar{height:60px;background:var(--chrome);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 1.5rem;position:sticky;top:0;z-index:1030}.app-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-decoration:none;line-height:1}.app-brand img{height:28px;width:auto}.app-brand .product{font-family:var(--font-display);font-weight:800;color:var(--ink);letter-spacing:-.3px;font-size:1.5rem}.app-brand .divider{display:none}.app-navbar .spacer{flex:1}.app-user{position:relative}.app-user-btn{display:flex;align-items:center;gap:.55rem;background:none;border:none;cursor:pointer;color:var(--muted)}.app-user-avatar{width:32px;height:32px;border-radius:var(--radius-pill);background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.82rem}.app-user-name{font-weight:600;color:var(--ink)}.app-menu-pop{position:absolute;right:0;top:50px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:220px;padding:.4rem;z-index:1031}.app-menu-pop .head{padding:.5rem .75rem;border-bottom:1px solid var(--line-2);margin-bottom:.3rem}.app-menu-pop .head .nm{font-weight:600;color:var(--ink)}.app-menu-pop .head .em{font-size:.8rem;color:var(--muted)}.app-menu-pop a,.app-menu-pop button{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .75rem;border-radius:var(--radius-md);border:none;background:none;color:var(--ink-2);text-decoration:none;font-size:.92rem}.app-menu-pop a:hover,.app-menu-pop button:hover{background:var(--tint)}.app-burger{background:none;border:0;color:var(--ink-2);font-size:1.5rem;cursor:pointer;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-md);margin-right:.5rem}.app-burger:hover{background:#0000000f}.app-shell{display:flex;align-items:stretch;min-height:100vh}.app-sidebar{flex:0 0 224px;width:224px;background:var(--chrome);border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-side-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem .85rem .65rem}.app-side-head .app-bell-btn{color:#ffffffb8}.app-side-head .app-bell-btn:hover{background:#ffffff14}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--main)}.app-side-foot{border-top:1px solid rgba(255,255,255,.08);padding:.8rem}.app-side-foot .app-user{display:flex;align-items:center;gap:.6rem;margin-bottom:.65rem}.app-side-foot .app-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--neon);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:.8rem;flex:none}.app-side-foot .app-user-meta{min-width:0;display:flex;flex-direction:column}.app-side-foot .app-user-name{color:#fff;font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-side-foot .app-user-email{color:#ffffff80;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-signout{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:.5rem;font-size:.85rem;font-weight:600;cursor:pointer}.app-signout:hover{background:#ffffff1f}.app-side-foot .app-user-bell{margin-left:auto}.app-side-foot .app-bell-btn{color:#ffffffb8;width:34px;height:34px}.app-side-foot .app-bell-btn:hover{background:#ffffff14}.app-side-foot .app-bell-pop{top:auto;bottom:44px;right:0}.app-side-menu{list-style:none;margin:0;padding:.25rem .55rem;flex:1;overflow-y:auto}.app-side-menu>li{margin-bottom:2px}.app-side-link{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;border-radius:var(--radius-md);color:var(--ink-2);text-decoration:none;font-weight:500;font-size:.92rem;cursor:pointer;border:none;background:none;text-align:left;white-space:nowrap;transition:background .15s ease,color .15s ease}.app-side-link:hover{background:#0000000f;color:var(--ink)}.app-side-link.active{background:var(--ink);color:#fff}.app-side-link.parent-active{color:var(--ink);font-weight:600}.app-side-link i.bx{font-size:1.15rem;flex:none}.app-side-link .caret{margin-left:auto;font-size:1rem;transition:transform .15s}.app-side-link .caret.open{transform:rotate(180deg)}.app-subtree{list-style:none;margin:2px 0 4px 1.35rem;padding:0;border-left:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .22s ease}.app-subtree.open{max-height:420px}.app-side-sublink{display:flex;align-items:center;gap:.5rem;margin-left:.4rem;padding:.45rem .7rem;border-radius:var(--radius-md);color:var(--muted);text-decoration:none;font-size:.88rem;white-space:nowrap}.app-side-sublink:hover{background:#0000000f;color:var(--ink)}.app-side-sublink.active{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}.app-side-sublink i.bx{font-size:1rem;flex:none}.s4g-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f126b;display:grid;place-items:center;z-index:2000;padding:1rem}.s4g-modal{background:var(--panel);border-radius:var(--radius-xl);max-width:420px;width:100%;padding:1.75rem;text-align:center;box-shadow:var(--shadow-lg);animation:s4g-pop .12s ease-out}@keyframes s4g-pop{0%{transform:scale(.96);opacity:.4}to{transform:scale(1);opacity:1}}.s4g-modal-icon{font-size:2.75rem;line-height:1;margin-bottom:.5rem}.s4g-modal-title{font-weight:800;color:var(--ink);margin-bottom:.4rem}.s4g-modal-msg{color:var(--ink-2);margin-bottom:1.25rem;word-break:break-word}.s4g-modal-actions{display:flex;gap:.5rem;justify-content:center}.s4g-modal-actions .btn{min-width:100px}.app-content{flex:1;min-width:0;padding:1.75rem;background:var(--main)}.page-title{font-family:var(--font-display);font-weight:800;color:var(--ink);margin-bottom:1.25rem}.app-navbar{border-bottom:1px solid rgba(255,255,255,.1)}.app-brand .product{color:#fff}.app-brand .divider{background:#fff3}.app-burger{color:#ffffffd1}.app-burger:hover{background:#ffffff14}.app-user-btn{color:#ffffffb8}.app-user-name{color:#fff}.app-user-avatar{background:var(--neon);color:var(--ink)}.app-sidebar{border-right:1px solid rgba(255,255,255,.08)}.app-side-link{color:#ffffffb8}.app-side-link:hover{background:#ffffff14;color:#fff}.app-side-link.active{background:var(--neon);color:var(--ink);font-weight:700}.app-side-link.parent-active{color:#fff}.app-subtree{border-left:1px solid rgba(255,255,255,.12)}.app-side-sublink{color:#fff9}.app-side-sublink:hover{background:#ffffff14;color:#fff}.app-side-sublink.active{background:#c3f53c24;color:var(--neon);font-weight:600;box-shadow:none}.page-title{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;color:var(--ink);font-size:1.9rem}.dash-hero{color:#fff;border:1px solid rgba(195,245,60,.22);border-radius:var(--radius-xl);padding:26px 30px;background:radial-gradient(80% 120% at 84% 4%,rgba(195,245,60,.18),transparent 52%),linear-gradient(160deg,#16240f,#0a0d08)}.dash-hero h3{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;margin:0;color:#fff}.dash-pill{display:inline-flex;align-items:center;gap:7px;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:#ffffffd1;padding:5px 13px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.dash-refresh{background:var(--neon);color:var(--ink);border:0;font-family:var(--font-display);letter-spacing:.04em;border-radius:var(--radius-pill);padding:9px 20px}.dash-refresh:hover{background:#b6ef22}.dash-hero-total{text-align:right}.dash-hero-total .n{font-family:var(--font-display);font-size:3rem;font-weight:400;color:var(--neon);line-height:1;letter-spacing:.01em;text-shadow:0 0 32px rgba(195,245,60,.35)}.dash-hero-total .lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff9;margin-top:4px}.stage-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;height:100%;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .14s,box-shadow .14s,border-color .14s}.stage-card:hover{transform:translateY(-4px);border-color:var(--neon-d);box-shadow:0 16px 34px -12px #7fae0066}.stage-card.active{border-color:var(--neon-d);box-shadow:0 0 0 2px var(--neon-d) inset}.stage-icon{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;color:#fff;background:var(--ink);font-size:1.3rem}.stage-num{font-size:.62rem;font-weight:700;letter-spacing:.06em;color:var(--muted);background:var(--tint);padding:3px 9px;border-radius:var(--radius-pill)}.stage-count{font-family:var(--font-display);font-size:3rem;font-weight:400;line-height:.86;margin:.45rem 0 .2rem;color:var(--ink);letter-spacing:.01em}.stage-count.zero{color:var(--faint)}.stage-card:hover .stage-count,.stage-card.active .stage-count{color:var(--neon-d)}.stage-name{font-weight:600;font-size:.92rem;color:var(--ink);line-height:1.25;min-height:2.3em}.stage-owner{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:5px}.stage-foot{border-top:1px solid var(--line-2);margin-top:12px;padding-top:9px;text-align:right}.stage-link{font-size:.8rem;font-weight:600;color:var(--ink)}.fc{--fc-button-bg-color: var(--ink);--fc-button-border-color: var(--ink);--fc-button-hover-bg-color: #000000;--fc-button-hover-border-color: #000000;--fc-button-active-bg-color: #000000;--fc-button-active-border-color: #000000;--fc-today-bg-color: rgba(29, 29, 32, .06);--fc-border-color: #ececef;--fc-now-indicator-color: #c0271e}.fc .fc-button{font-weight:600;text-transform:none;box-shadow:none!important}.fc .fc-toolbar .fc-button-group .fc-button-primary,.fc .fc-button-primary{background-color:var(--ink)!important;border-color:#000!important;color:#fff!important;opacity:1!important}.fc .fc-toolbar .fc-button-group .fc-button-primary:hover,.fc .fc-button-primary:hover{background-color:#000!important;border-color:#000!important;color:#fff!important}.fc .fc-toolbar .fc-button-group .fc-button-primary.fc-button-active,.fc .fc-toolbar .fc-button-group .fc-button-primary:active,.fc .fc-button-primary:not(:disabled).fc-button-active{background-color:#000!important;border-color:#000!important;color:#fff!important;box-shadow:none!important}.fc .fc-button-primary:disabled{background-color:var(--ink)!important;border-color:var(--ink)!important;opacity:.55!important}.fc .fc-today-button{background-color:#fff!important;border-color:var(--ink)!important;color:#000!important}.fc .fc-today-button:hover{background-color:#efeeea!important;color:#000!important}.fc .fc-today-button:disabled{opacity:.7!important}.fc .fc-toolbar-title{font-size:1.15rem;color:var(--ink);font-weight:700}.fc .tk-clickable{cursor:pointer}.fc .fc-event:hover{filter:brightness(.93)}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:#566;text-decoration:none}@media(max-width:600px){.fc .fc-toolbar{flex-direction:column;gap:.5rem}}.tk-board{display:flex;gap:.85rem;overflow-x:auto;padding:2px 2px 1rem;align-items:flex-start}.tk-col{background:#f5f6f8;border:1px solid #eceef1;border-radius:14px;padding:.55rem .55rem .35rem;min-width:282px;width:282px;flex:0 0 auto;transition:background .15s,box-shadow .15s,outline-color .15s}.tk-col.tk-over{background:#efeeea;outline:2px dashed var(--ink);outline-offset:-2px}.tk-col-today{background:#fffaf0;border-color:#f7d9a0}.tk-col-head{display:flex;justify-content:space-between;align-items:center;margin:-.55rem -.55rem .6rem;padding:.5rem .65rem;border-top-left-radius:11px;border-top-right-radius:11px}.tk-col-name{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.82rem;letter-spacing:.01em}.tk-col-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.tk-col-count{background:#fff;border:1px solid #e9e9ee;border-radius:999px;padding:0 .5rem;font-size:.72rem;color:#8a8a96;font-weight:600;min-width:24px;text-align:center}.tk-today-pill{background:var(--ink);color:#fff;font-size:.62rem;font-weight:700;padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.tk-card{background:#fff;border:1px solid #ecedf1;border-radius:11px;padding:.6rem .7rem;margin-bottom:.5rem;box-shadow:0 1px 1px #1018280a;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.tk-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1018281f;border-color:#e2d4b8}.tk-card:active{cursor:grabbing}.tk-dragging{opacity:.45;transform:rotate(1.5deg)}.tk-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem}.tk-pill{font-size:.64rem;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.tk-due{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;color:#64748b;background:#f1f5f9;padding:1px 7px;border-radius:999px;white-space:nowrap}.tk-due.tk-overdue{color:#b91c1c;background:#fde8e8}.tk-title{font-weight:600;font-size:.85rem;color:#2a2a33;line-height:1.3;word-break:break-word}.tk-project{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:#1f9e8d;background:#e7f5f2;padding:2px 8px;border-radius:6px;margin-top:.45rem;max-width:100%}.tk-project i{font-size:.85rem}.tk-progress{height:4px;background:#eef0f3;border-radius:999px;margin-top:.5rem;overflow:hidden}.tk-progress-fill{height:100%;background:var(--ink);border-radius:999px;transition:width .2s}.tk-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;gap:.5rem;min-height:22px}.tk-meta{display:flex;gap:.65rem;font-size:.72rem;color:#94959f;align-items:center}.tk-meta i{font-size:.9rem;vertical-align:-2px}.tk-avatars{display:flex}.tk-avatar{width:24px;height:24px;border-radius:50%;color:#fff;font-size:.6rem;display:grid;place-items:center;font-weight:700;border:2px solid #fff;margin-left:-7px;box-shadow:0 0 0 .5px #0000000a}.tk-avatar:first-child{margin-left:0}.tk-avatar-more{background:#cbd0d8!important;color:#4b5563}.tk-add{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:500;color:#97989f;cursor:pointer;padding:.4rem .45rem;border-radius:8px;transition:background .12s,color .12s}.tk-add:hover{color:var(--ink);background:#fff}.tk-day-empty{font-size:.72rem;color:#c4c5cd;text-align:center;padding:.65rem 0;border:1.5px dashed #e6e7ec;border-radius:9px;margin-bottom:.5rem}.tk-seg{display:inline-flex;background:#f0f1f4;border-radius:9px;padding:3px;gap:2px}.tk-seg button{border:0;background:transparent;font-size:.8rem;font-weight:600;color:#6b6c78;padding:.3rem .8rem;border-radius:7px;display:inline-flex;align-items:center;gap:5px;transition:all .12s}.tk-seg button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #1018281f}.tk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1080;padding:1rem}.tk-modal{background:#fff;border-radius:16px;width:100%;max-width:620px;max-height:92vh;overflow:auto;box-shadow:0 24px 60px #0000004d}
