:root{--ink:#1c2535;--muted:#8490a3;--line:#edf0f5;--canvas:#f7f8fb;--surface:#fff;--purple:#7357d8;--purple-light:#eee9fc;--blue:#3785d6;--green:#1e9c80;--orange:#ef9659;--shadow:0 10px 35px rgba(40,54,85,.055);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}svg{display:inline-block;vertical-align:middle;flex:none}input,textarea,select{outline:none}input:focus,textarea:focus,select:focus{border-color:#9e90e8!important;box-shadow:0 0 0 3px rgba(115,87,216,.10)}.hidden{display:none!important}.muted{color:var(--muted)}.subtle{color:#aab3c0}.tiny{font-size:11px}.small{font-size:12px}.medium{font-size:13px}.bold{font-weight:700}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boot{min-height:100vh;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;color:var(--muted)}.brand-mark{height:43px;width:43px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#8d79ed,#6651cf);color:white;font-size:26px;letter-spacing:-3px;font-weight:800}.brand-mark span{color:#e9ceff}
.auth-screen{display:grid;min-height:100vh;grid-template-columns:1fr 1fr;background:#fff}.auth-art{background:#171e34;color:#fff;padding:54px 8%;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-art:before{content:"";height:560px;width:560px;border:1px solid rgba(255,255,255,.1);border-radius:50%;position:absolute;top:22%;left:20%;box-shadow:0 0 0 65px rgba(255,255,255,.02),0 0 0 150px rgba(255,255,255,.018)}.auth-art:after{content:"";background:radial-gradient(circle,#7761ee55,transparent 60%);width:740px;height:740px;position:absolute;bottom:-390px;right:-400px}.auth-brand{font-size:20px;font-weight:760;display:flex;align-items:center;gap:14px;z-index:1}.auth-brand .brand-mark{width:35px;height:35px;font-size:21px}.art-copy{z-index:1;margin:auto 0}.art-kicker{font-size:12px;letter-spacing:2.2px;color:#a798ff;font-weight:750;margin-bottom:22px}.art-copy h1{font-size:clamp(44px,5.1vw,74px);line-height:1.06;letter-spacing:-3.6px;margin:0 0 23px;font-weight:800}.art-copy h1 em{color:#a998ff;font-style:normal}.art-copy p{color:#b4bdd1;max-width:410px;font-size:16px;line-height:1.8}.mock-activity{max-width:410px;background:#ffffff12;border:1px solid #ffffff24;border-radius:18px;padding:20px;margin-top:38px;backdrop-filter:blur(10px)}.mock-activity .row-sm{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#d5d7e9}.mock-activity .progress-track{margin:14px 0 12px;background:#ffffff24}.auth-bottom{font-size:12px;color:#858ea7;z-index:1}.auth-panel{display:flex;align-items:center;justify-content:center;padding:55px 8%}.auth-box{width:min(420px,100%)}.auth-box .eyebrow{color:var(--purple);font-weight:750;font-size:12px;letter-spacing:1.5px}.auth-box h2{font-size:35px;letter-spacing:-1.2px;margin:16px 0 10px}.auth-box .lead{color:#8c96a8;line-height:1.65;margin-bottom:30px;font-size:14px}.form-label{display:block;font-size:12px;font-weight:750;margin:18px 0 8px;color:#4e5a6b}.input{width:100%;border:1px solid #e6eaf1;border-radius:10px;padding:12px 14px;background:white;color:var(--ink);font-size:13px;min-height:44px}.input::placeholder{color:#b2b9c6}.primary-btn,.neutral-btn,.outline-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:13px;white-space:nowrap;transition:transform .15s,background .15s,box-shadow .15s}.primary-btn{background:var(--purple);color:#fff}.primary-btn:hover{background:#6344d0;box-shadow:0 6px 16px #7357d82b}.neutral-btn{background:#f0f2f7;color:#536074}.neutral-btn:hover{background:#e5e9f1}.outline-btn{border-color:#e7ebf1;background:white;color:#526071}.outline-btn:hover{background:#fafaff;border-color:#cfc5f5}.danger-btn{border-color:#f8dadd;background:#fff0f1;color:#c95869}.full{width:100%}.auth-switch{margin-top:24px;font-size:13px;color:#8894a5;text-align:center}.text-link{padding:0;border:0;background:none;color:var(--purple);font-weight:750}.error-note{background:#fff0f0;color:#bf5163;border-radius:9px;padding:11px;font-size:12px;margin:12px 0}
.app{display:flex;min-height:100vh;background:var(--canvas)}.sidebar{width:250px;flex:none;background:#171d2e;color:#b6c0d5;display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.sidebar-top{height:82px;padding:23px 22px 16px;display:flex;align-items:center;gap:11px;color:#fff;font-size:17px;font-weight:750;letter-spacing:-.4px}.sidebar-top .brand-mark{height:34px;width:34px;border-radius:10px;font-size:21px}.nav-group{padding:14px 12px 10px}.nav-heading{padding:13px 14px 12px;font-size:10px;letter-spacing:1.5px;font-weight:800;color:#697992;display:flex;align-items:center;justify-content:space-between}.side-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;font-size:13px;font-weight:560;color:#a4b0c5;margin:3px 0;transition:all .12s;width:100%;border:0;background:none;text-align:left}.side-link:hover{background:#ffffff0d;color:#e8ebf5}.side-link.active{background:#7361dc23;color:#ded6ff}.side-link.active svg{color:#a995ff}.side-link .side-count{margin-left:auto;background:#2f364c;color:#aeb9cb;padding:3px 7px;border-radius:6px;font-size:10px}.project-link{font-size:12px;padding:9px 12px}.project-dot{width:9px;height:9px;border-radius:3px;flex:none}.sidebar-scroll{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3e4657 transparent}.sidebar-bottom{border-top:1px solid #2b3446;padding:16px 12px}.sidebar-bottom .side-link{color:#a8b4c7}.sidebar-user{display:flex;align-items:center;gap:10px;padding:14px 9px 6px;color:#f2f3f8}.sidebar-user .name{font-size:12px;font-weight:700}.sidebar-user .mail{font-size:10px;color:#7f8ba2;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;justify-content:center;align-items:center;flex:none;border-radius:50%;height:33px;width:33px;background:#e6ddfa;color:#684aca;font-weight:750;font-size:11px;text-transform:uppercase}.avatar.dark{background:#373956;color:#d2c5ff}.avatar.green{background:#d6f3e9;color:#168f6b}.avatar.orange{background:#ffe9da;color:#ba6428}.avatar.blue{background:#e2f0fd;color:#3178ad}.main{flex:1;min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid #edf0f3;display:flex;align-items:center;justify-content:space-between;padding:0 43px;gap:20px;position:sticky;top:0;z-index:4}.breadcrumbs{display:flex;gap:11px;align-items:center;font-size:12px;color:#a2abb9;font-weight:620}.breadcrumbs strong{color:#273249;font-size:13px}.search-wrap{position:relative;max-width:340px;flex:1;margin-left:auto}.search-wrap input{background:#f6f8fb;border:1px solid transparent;border-radius:9px;height:40px;width:100%;padding:0 15px 0 39px;font-size:12px}.search-wrap svg{position:absolute;left:14px;top:12px;color:#8e9aaa}.top-actions{display:flex;align-items:center;gap:16px}.icon-btn{height:37px;width:37px;border:1px solid #e9edf2;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:white;color:#8792a4}.icon-btn:hover{color:var(--purple);background:#f6f3ff}.connection{display:flex;align-items:center;gap:6px;color:#8c99ab;font-size:11px;font-weight:650}.live-dot{height:6px;width:6px;border-radius:50%;background:#3ac397}.live-dot.off{background:#e9a04b}.content{padding:35px 43px 70px;max-width:1660px;margin:auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}.page-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;font-weight:780;color:var(--purple);margin-bottom:10px}.page-title{font-size:29px;letter-spacing:-1.2px;font-weight:800;margin:0}.page-sub{font-size:13px;color:#8995a6;margin:10px 0 0;line-height:1.5}.h-actions{display:flex;align-items:center;gap:9px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid #eef0f5;padding:23px;border-radius:15px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7b8799;font-size:12px;font-weight:670}.stat-icon{width:37px;height:37px;border-radius:11px;background:#f1edfe;color:#7756df;display:flex;justify-content:center;align-items:center}.stat-card:nth-child(2) .stat-icon{background:#ebf2ff;color:#4886e2}.stat-card:nth-child(3) .stat-icon{background:#e8f8f1;color:#24a07c}.stat-card:nth-child(4) .stat-icon{background:#fff2e9;color:#e99148}.stat-num{font-size:31px;font-weight:820;letter-spacing:-1px;margin:12px 0 7px}.stat-foot{font-size:11px;color:#9aa6b4}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:31px 0 16px}.section-head h3{font-size:16px;letter-spacing:-.4px;margin:0}.section-link{font-size:12px;color:var(--purple);font-weight:770;border:0;background:none}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{border:1px solid #e9edf3;border-radius:15px;padding:23px;background:white;box-shadow:var(--shadow);cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}.project-card:hover{transform:translateY(-3px);box-shadow:0 13px 33px #1c26420e;border-color:#c9c1eb}.project-card-top{display:flex;align-items:center;justify-content:space-between}.project-icon{height:44px;width:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:800}.menu-dots{letter-spacing:2px;font-weight:900;color:#b8bfca}.project-card h4{font-size:15px;margin:21px 0 6px;letter-spacing:-.2px}.project-card p{font-size:12px;line-height:1.65;color:#909aab;margin:0;min-height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-progress-label{display:flex;justify-content:space-between;font-size:11px;margin:20px 0 9px;color:#9ba5b3}.project-progress-label strong{color:#425067}.progress-track{width:100%;height:6px;border-radius:99px;background:#f0f1f6;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:#8c76e8}.project-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f1f2f6;margin-top:20px;padding-top:15px;font-size:11px;color:#9ca7b6}.avatars{display:flex;align-items:center;padding-left:5px}.avatars .avatar{height:26px;width:26px;border:2px solid #fff;margin-left:-6px;font-size:9px}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px}.panel{background:white;border:1px solid #ebeff4;border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.panel-head{padding:21px 22px;border-bottom:1px solid #eff1f5;display:flex;justify-content:space-between;align-items:center}.panel-head h3{font-size:14px;margin:0;letter-spacing:-.3px}.task-line{display:flex;align-items:center;gap:12px;padding:15px 22px;border-bottom:1px solid #f2f3f7;cursor:pointer}.task-line:hover{background:#fbfaff}.task-line:last-child{border-bottom:0}.task-check{height:19px;width:19px;border-radius:6px;border:1.7px solid #cbd3de;display:flex;align-items:center;justify-content:center;color:#fff;background:white;flex:none}.task-check.done{border-color:var(--green);background:var(--green)}.task-detail{flex:1;min-width:0}.task-detail .task-name{font-size:12px;font-weight:660;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-detail .task-meta{color:#a1acbb;font-size:11px}.task-trailing{display:flex;gap:10px;align-items:center;font-size:11px;color:#8b97a9}.pill{font-size:10px;border-radius:6px;padding:5px 7px;font-weight:750;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}.pill.high,.pill.urgent{color:#d86b52;background:#fff0e9}.pill.medium{color:#a47c20;background:#fff6d8}.pill.low{color:#589d88;background:#e9f8ef}.pill.done{color:#1b9b7e;background:#e6f8f0}.pill.progress{color:#477dda;background:#e8f0ff}.pill.review{color:#9b72d3;background:#f2eaff}.pill.todo{color:#7a899e;background:#edf0f5}.activity-row{padding:17px 21px;display:flex;gap:11px;border-bottom:1px solid #f2f4f7}.activity-row:last-child{border:0}.activity-row strong{font-size:12px}.activity-row p{font-size:12px;color:#7b899b;line-height:1.5;margin:4px 0}.activity-row time{font-size:10px;color:#a4afbe}.empty{padding:48px 24px;text-align:center;color:#a4afbd;font-size:13px}.empty svg{color:#bac1d1;margin-bottom:14px}.empty h4{font-size:15px;color:#49576b;margin:0 0 9px}.empty p{margin:0 auto 15px;max-width:340px;line-height:1.6}.project-hero{background:#242b42;color:#fff;border-radius:17px;padding:30px;position:relative;overflow:hidden;min-height:174px;display:flex;justify-content:space-between;align-items:center}.project-hero:after{content:"";position:absolute;right:-70px;top:-180px;border:50px solid #ffffff0d;border-radius:50%;width:410px;height:410px;pointer-events:none}.project-hero .page-eyebrow{color:#b6a7ff}.project-hero h1{font-size:29px;letter-spacing:-1px;margin:0}.project-hero p{font-size:13px;color:#bcc4d3;max-width:630px;line-height:1.6;margin:11px 0 0}.hero-side{position:relative;z-index:2;display:flex;align-items:end;flex-direction:column;gap:10px}.hero-side .avatars .avatar{border-color:#242b42}.project-tabs{display:flex;gap:5px;align-items:center;margin:23px 0 24px;border-bottom:1px solid #e8ecf2;overflow-x:auto}.tab{padding:13px 17px;color:#8b96a9;background:none;border:0;border-bottom:2px solid transparent;font-size:12px;font-weight:720;white-space:nowrap}.tab.active{color:var(--purple);border-bottom-color:var(--purple)}.tab:hover{color:#6653c5}.project-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.9fr);gap:20px}.composer{background:white;border:1px solid #ebeff4;border-radius:15px;padding:19px;margin-bottom:18px}.composer-top{display:flex;align-items:center;gap:12px}.composer-placeholder{flex:1;text-align:left;border:1px solid #eef0f5;border-radius:10px;background:#f9fafc;padding:14px;color:#9aa4b5;font-size:12px}.feed-card{background:white;border:1px solid #ecedf3;border-radius:14px;margin-bottom:15px;padding:22px}.feed-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.feed-author{display:flex;gap:11px;align-items:center}.feed-author .who{font-size:12px;font-weight:760}.feed-author time{font-size:10px;color:#9ca6b5;display:block;margin-top:4px}.feed-body{font-size:13px;line-height:1.75;color:#566175;white-space:pre-wrap;word-break:break-word;margin:18px 0}.comment-area{border-top:1px solid #eff1f4;padding-top:14px;margin-top:18px}.comment{display:flex;gap:9px;margin:12px 0}.comment .avatar{width:27px;height:27px;font-size:9px}.comment-content{font-size:12px;line-height:1.6}.comment-content strong{font-size:11px;margin-right:7px}.comment-content time{font-size:10px;color:#acb4be}.comment-content p{margin:5px 0;white-space:pre-wrap;color:#6f7a8d}.comment-entry{display:flex;gap:9px;align-items:center;margin-top:14px}.comment-entry input{flex:1;min-width:0}.comment-entry button{flex:none}.info-card{background:white;border:1px solid #ebeff4;border-radius:15px;padding:20px;margin-bottom:16px}.info-card h4{font-size:12px;margin:0 0 15px}.info-row{display:flex;justify-content:space-between;font-size:12px;color:#929eaf;padding:10px 0;border-bottom:1px solid #f2f3f6}.info-row:last-child{border:none}.info-row strong{font-size:12px;color:#364358;font-weight:750}.task-toolbar{display:flex;gap:9px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.task-toolbar .input{width:auto;min-width:155px}.task-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:13px;align-items:start;overflow-x:auto}.board-col{background:#f0f2f7;border-radius:13px;padding:12px;min-height:340px}.board-title{display:flex;justify-content:space-between;align-items:center;padding:9px 7px 15px;font-size:11px;color:#606d81;font-weight:800}.board-title .counter{color:#9ea9bb;background:#e7eaf1;padding:3px 7px;border-radius:6px}.board-card{background:white;border:1px solid #eaedf3;border-radius:11px;padding:15px 14px;margin-bottom:10px;cursor:pointer;transition:border-color .1s,box-shadow .1s}.board-card:hover{border-color:#bcb0ed;box-shadow:0 4px 14px #36235911}.board-card h4{font-size:12px;font-weight:700;line-height:1.5;margin:0 0 16px}.board-card .board-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:#a4adbb;font-size:11px}.board-card .avatar{width:24px;height:24px;font-size:9px}.filters{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.filter-btn{border:1px solid #e7ebf1;background:white;color:#728096;border-radius:8px;padding:9px 12px;font-weight:650;font-size:12px}.filter-btn.selected{color:#6848cd;background:#f1edff;border-color:#ddd2fa}.list-table{width:100%;border-collapse:collapse;text-align:left}.list-table th{background:#fbfcfd;border-bottom:1px solid #ebeff4;padding:14px 20px;text-transform:uppercase;font-size:10px;color:#a1acb9;letter-spacing:.8px}.list-table td{border-bottom:1px solid #f0f2f5;padding:15px 20px;font-size:12px;color:#66748a}.list-table tr:last-child td{border:0}.list-table tbody tr{cursor:pointer}.list-table tbody tr:hover{background:#fbfaff}.list-table td strong{color:#344155;font-weight:680}.resource-item,.person-item{padding:17px 21px;border-bottom:1px solid #f0f2f6;display:flex;gap:13px;align-items:center}.resource-item:last-child,.person-item:last-child{border:0}.file-icon{width:40px;height:40px;border-radius:10px;background:#f0edfb;color:#8460d4;display:flex;align-items:center;justify-content:center}.resource-item h4,.person-item h4{font-size:12px;margin:0 0 5px}.resource-item p,.person-item p{font-size:11px;color:#9ba6b4;margin:0}.resource-item .push,.person-item .push{margin-left:auto}.role-badge{background:#f1f2f7;border-radius:6px;padding:6px 8px;font-size:10px;color:#6d7889;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#e9edf3;gap:1px;border:1px solid #e9edf3;border-radius:12px;overflow:hidden}.calendar-day{min-height:115px;padding:13px;background:#fff}.calendar-day.dim{background:#fbfcfe}.calendar-day .date-num{font-size:11px;color:#8995a8;font-weight:700}.calendar-day.today .date-num{background:var(--purple);color:white;display:inline-flex;height:25px;width:25px;align-items:center;justify-content:center;border-radius:7px}.calendar-weekday{background:#f9fafc;padding:14px 8px;text-align:center;color:#7b8799;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:750}.calendar-event{font-size:10px;padding:5px 7px;border-radius:5px;background:#f0eafe;color:#7051c7;margin-top:5px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event:hover{background:#e5dafb}.invite-code{display:flex;gap:12px;align-items:center;background:#f6f4ff;color:#6244b9;padding:14px 16px;border-radius:10px;margin:14px 0}.invite-code code{font-size:21px;font-weight:850;letter-spacing:4px;flex:1}.hint{font-size:11px;color:#98a4b2;line-height:1.65}.modal-shade{position:fixed;inset:0;z-index:15;background:#131a29a8;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}.modal{width:min(510px,100%);max-height:min(88vh,850px);overflow:auto;background:#fff;border-radius:18px;padding:27px;box-shadow:0 25px 80px #0003}.modal.wide{width:min(700px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:10px}.modal-head h3{font-size:21px;letter-spacing:-.6px;margin:0 0 6px}.modal-head p{font-size:12px;color:#93a0b0;margin:0;line-height:1.6}.modal .close{border:0;background:#f6f7fa;border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#8794a6}.modal textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:26px}.modal select{appearance:auto}.detail-overview{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.detail-meta{padding:18px 0;border-top:1px solid #eef0f4;border-bottom:1px solid #eef0f4;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.detail-meta .key{display:block;color:#97a3b3;font-size:11px;margin-bottom:7px}.detail-meta .value{font-size:12px;font-weight:720}.detail-desc{color:#56667a;white-space:pre-wrap;line-height:1.7;font-size:13px;min-height:38px}.detail-chat{margin-top:25px;border-top:1px solid #edf0f3;padding-top:19px}.detail-chat h4{margin:0 0 15px;font-size:13px}.detail-chat .comment-entry{margin-top:16px}#toast{position:fixed;right:25px;bottom:24px;z-index:30;display:flex;flex-direction:column;gap:7px}#toast .notice{background:#26334a;color:white;border-radius:10px;padding:12px 17px;box-shadow:0 10px 30px #1115;font-size:12px;min-width:180px;max-width:360px}.notice.error{background:#ba4e61}.mobile-menu{display:none}.split{display:flex;align-items:center;justify-content:space-between;gap:10px}.separate{height:1px;background:#e9edf3;margin:15px 0}.text-action{border:0;padding:0;background:none;color:var(--purple);font-size:12px;font-weight:720}.file-drop{border:1.5px dashed #d8d2ea;background:#faf8ff;border-radius:12px;padding:23px;text-align:center;cursor:pointer;color:#7561bc}.file-drop input{display:none}.file-drop p{font-size:12px;color:#9299aa;margin:7px 0 0}.centered{margin:auto;text-align:center}.nowrap{white-space:nowrap}
@media(max-width:1220px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-layout{grid-template-columns:1.5fr 1fr}.task-board{grid-template-columns:repeat(4,230px)}.content{padding:32px 28px 65px}.topbar{padding:0 28px}}
@media(max-width:880px){.sidebar{position:fixed;z-index:9;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-menu{display:flex}.topbar{height:70px}.search-wrap{max-width:270px}.auth-screen{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{min-height:100vh}.project-layout,.two-col{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:80px}.hero-side{display:none}}
@media(max-width:580px){.content{padding:23px 16px 50px}.topbar{padding:0 16px;gap:10px}.search-wrap{display:none}.connection{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-title{font-size:25px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:14px}.stat-num{font-size:25px}.stat-top{font-size:10px}.stat-icon{width:30px;height:30px}.project-grid{grid-template-columns:1fr}.project-hero{padding:23px}.project-hero h1{font-size:23px}.form-row{grid-template-columns:1fr}.modal{padding:20px}.calendar-day{min-height:70px;padding:5px}.calendar-weekday{padding:10px 0;font-size:9px}.calendar-event{font-size:9px;padding:3px}.task-trailing .pill{display:none}}
/* v0.2.0 — communication, release-review and project intelligence surfaces */
.project-tabs{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.project-tabs .tab{flex:none}
.feed-card.pinned-post{border-color:#c9bff3;box-shadow:0 8px 24px rgba(114,89,215,.07)}
.pin-label{display:inline-flex;margin-left:8px;border-radius:6px;padding:3px 6px;background:#eeeafd;color:#6854bb}
.post-title{margin:12px 0 0;font-size:17px;letter-spacing:-.4px;color:#263349}
.feed-body{overflow-wrap:anywhere;white-space:normal}
.feed-body a{color:#7255d9;text-decoration:underline;text-underline-offset:3px}
.release-panel{margin:12px 0;padding:15px;border-radius:12px;border:1px solid #e8e8f7;background:#fafaff}
.release-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.release-link{margin-top:12px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:#7357d8;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.release-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.release-actions .outline-btn{padding:8px 12px;font-size:11px}
.post-files{margin:12px 0;display:grid;gap:6px}
.post-file{display:flex;align-items:center;gap:8px;color:#48546d;font-size:12px;padding:11px 12px;border:1px solid #e8ebf2;border-radius:9px;background:#fbfcfe;overflow-wrap:anywhere;min-width:0}
.post-file:hover{border-color:#b7aaf0;background:#f9f7ff}.post-file .tiny{margin-left:auto}
.latest-build{border-top:1px solid #edf0f4;margin-top:15px;padding-top:14px;display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:12px}.latest-build strong{width:100%;color:#737f94}.latest-build>span:nth-child(2){font-weight:750}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 20px}
.dashboard-stats .info-card{margin:0}.dashboard-stats .info-card p{margin:0}.dash-number{font-size:30px;font-weight:800;letter-spacing:-1px;margin-top:12px}
.dash-progress{background:#e9e8f5;border-radius:30px;overflow:hidden;height:12px;margin:18px 0 8px}.dash-progress>div{height:100%;background:linear-gradient(90deg,#7862e6,#4c9cdf);border-radius:30px}.dash-progress.slim{height:7px;margin:6px 0 16px}
.bar-line{font-size:12px;color:#596478;margin-top:16px}.summary-line{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid #edf0f4;font-size:12px}.summary-line strong{font-size:13px}.summary-line span{color:#738093;line-height:1.5}.summary-line small{font-size:10px;color:#9da7b6}
.notification-row{display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%;border:0;border-bottom:1px solid #edf0f4;background:#fff;padding:17px 16px;font-size:12px;color:#586477}
.notification-row:hover{background:#f8f7ff}.notification-row.unread{background:#f8f7ff}.notification-row .notif-dot{height:7px;width:7px;border-radius:50%;background:#e0e4ed;flex:none;margin-top:6px}.notification-row.unread .notif-dot{background:#7357d8}.notification-row p{margin:6px 0;color:#677387;line-height:1.5}.notification-row small{font-size:10px;color:#a6afbc}
.search-hit{width:100%;display:grid;gap:6px;padding:15px 20px;background:#fff;border:0;border-bottom:1px solid #e9edf2;text-align:left;font-size:12px}.search-hit:hover{background:#f8f7ff}.search-hit strong{font-size:13px;color:#273449}.search-hit span{color:#718094}.search-hit small{font-size:11px;color:#9180c5}
@media(max-width:1100px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.dashboard-stats{gap:9px}.dashboard-stats .info-card{padding:14px}.dash-number{font-size:25px}.release-actions .outline-btn{flex:1}.project-tabs{margin-bottom:12px}}
/* v0.3.0: discussions, reviews, digest and narrow-screen layouts */
[hidden]{display:none!important}
a{color:var(--purple)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #a799ea;outline-offset:3px}
.thread-page{max-width:1020px;margin:auto}.thread-page .feed-card{padding:27px}
.post-title a{color:inherit;text-decoration:none}.post-title a:hover{text-decoration:underline}
.post-controls,.thread-toolbar,.post-footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.thread-toolbar{justify-content:space-between;margin:0 0 16px}.post-footer{border-top:1px solid var(--line);padding-top:14px;margin-top:17px;justify-content:space-between;font-size:12px}
.post-footer a{font-weight:650}.reference-links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0;font-size:12px}.reference-links a{display:flex;gap:5px;align-items:center;padding:8px 10px;background:#f3f0fb;border-radius:8px}
.attachment-line{display:flex;gap:8px;align-items:center;min-width:0}.attachment-line .post-file{flex:1;min-width:0}.post-file>span:first-of-type{overflow-wrap:anywhere}.attachment-picker{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px dashed #d2c8ee;padding:12px;border-radius:9px;font-size:12px;color:#7053ba;margin-top:10px}.attachment-picker input{max-width:100%;font-size:12px}
.review-checklist{display:grid;gap:8px;margin:16px 0}.review-check{display:flex;align-items:flex-start;gap:10px;padding:10px;background:white;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.review-check input{width:18px;height:18px;accent-color:var(--purple);margin:0;flex:none}
.issue-card{padding:14px;border:1px solid #eadfda;background:#fffaf6;border-radius:9px;margin:10px 0;font-size:12px}.issue-card.resolved{border-color:#d8e9df;background:#f5fcf8}.issue-card strong,.issue-card p{overflow-wrap:anywhere}.issue-card p{white-space:pre-wrap;line-height:1.6}.issue-card small{font-size:10px;color:#788397}.issue-card>.text-action{display:block;margin-top:11px}
.digest{border:1px solid #ddd7ef;border-radius:15px;background:#f5f2fc;padding:23px;margin:24px 0}.digest h3{font-size:17px;margin:0}.digest-counts{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0;font-size:12px;color:#6e6585}.digest-counts strong{color:#453666;font-size:16px;margin-right:4px}.digest-item{display:block;border-top:1px solid #e5dff2;padding:11px 0;font-size:12px;color:#5c526f;line-height:1.6;overflow-wrap:anywhere}.digest-item small{display:block;color:#80748f}.search-hit{text-decoration:none;overflow-wrap:anywhere}.list-table{min-width:580px}.panel:has(.list-table){overflow-x:auto}.task-board{max-width:100%}.project-layout>*,.two-col>*,.content{min-width:0}.search-wrap{min-width:120px}.comment-content{min-width:0;overflow-wrap:anywhere}.resource-item p,.person-item p{overflow-wrap:anywhere}.resource-item .icon-btn,.person-item .icon-btn{flex:none}
@media(max-width:880px){.sidebar.open{box-shadow:0 0 0 100vmax #131a2955}.sidebar.open .sidebar-top{cursor:pointer}.h-actions{flex-wrap:wrap}.project-layout,.two-col{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:580px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:12px 16px}.topbar .breadcrumbs{flex:1}.topbar .top-actions>.avatar{display:none}.topbar .search-wrap{display:block;order:5;width:100%;max-width:none}.topbar .search-wrap input{width:100%}.composer{padding:13px}.composer-top{gap:7px}.composer-placeholder{padding:10px;min-width:0}.composer-top>.avatar{display:none}.composer-top>.primary-btn{padding:10px}.feed-card,.thread-page .feed-card{padding:16px}.feed-head{align-items:flex-start;gap:8px}.feed-author{gap:8px;min-width:0}.feed-author .avatar{flex:none}.feed-author .who{line-height:1.7}.post-controls{flex:none;gap:4px}.post-controls .icon-btn{height:32px;width:32px}.release-panel{padding:12px}.digest{padding:17px}.digest .split{align-items:flex-start}.digest-counts{gap:12px}.modal-shade{padding:10px;align-items:center}.modal{max-height:94dvh}.comment-entry .avatar{display:none}.resource-item,.person-item{padding:14px 12px;gap:8px}.hero-side{display:none}.calendar-grid{overflow-x:auto}.project-hero p,.project-hero h1,.page-title{overflow-wrap:anywhere}.split{flex-wrap:wrap}.detail-meta{grid-template-columns:1fr}.auth-panel{padding:32px 22px}.auth-box{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v0.3.1: remembered desktop rail and a dismissible mobile drawer */
.sidebar{transition:width .18s ease}
.sidebar-top{padding:0 16px;gap:10px;flex-shrink:0;white-space:nowrap}
.sidebar-top .brand-mark{flex:none}
.sidebar-brand{display:flex;gap:4px;font-size:16px;white-space:nowrap}
.sidebar-brand>span{font-weight:450;color:#949eb5}
.sidebar-close{display:none;flex:none;margin-left:auto;height:29px;width:29px;background:#252c40;border-color:#373e50;color:#b9c4d5}
.sidebar-empty{padding:10px 15px;display:block}
.sidebar .nav-label{min-width:0}
.side-link{position:relative}
.side-link>svg{flex:none}
.sidebar .project-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;color:#fff;font-size:11px;font-weight:750;font-style:normal}
.nav-heading>.text-action{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:26px;border-radius:6px}
.nav-heading>.text-action:hover{background:#ffffff0d;color:#d6caff}
.sidebar-account{min-width:0}
.sidebar-logout{margin-left:auto;flex:none;background:#252c40;border-color:#373e50;color:#b9c4d5}
.navigation-toggle{display:inline-flex;flex:none}
.sidebar-shade{position:fixed;inset:0;z-index:8;border:0;background:#131a2955;cursor:pointer}
@media(min-width:881px){
  .sidebar.collapsed{width:80px}
  .sidebar.collapsed .sidebar-top{justify-content:center;padding:0}
  .sidebar.collapsed .sidebar-brand,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-account{display:none}
  .sidebar.collapsed .nav-group{padding:10px 12px}
  .sidebar.collapsed .nav-group+.nav-group{border-top:1px solid #2b3446}
  .sidebar.collapsed .nav-heading{justify-content:center;padding:0;min-height:0}
  .sidebar.collapsed .nav-heading>.text-action{width:40px;height:30px;margin:0 0 5px}
  .sidebar.collapsed .side-link{justify-content:center;min-height:44px;padding:11px 8px;gap:0}
  .sidebar.collapsed .side-count{position:absolute;right:1px;top:0;min-width:17px;padding:2px 4px;font-size:9px;line-height:12px;text-align:center;box-shadow:0 0 0 2px #171d2e}
  .sidebar.collapsed .sidebar-bottom{padding:10px 12px}
  .sidebar.collapsed .sidebar-user{flex-direction:column;padding:12px 0 2px;gap:12px}
  .sidebar.collapsed .sidebar-logout{margin:0}
}
@media(max-width:880px){
  .sidebar{width:250px;max-width:calc(100vw - 48px);height:100dvh;transition:transform .18s ease}
  .sidebar.open{box-shadow:8px 0 30px #10172833}
  .sidebar.open .sidebar-top{cursor:default}
  .sidebar-close{display:inline-flex}
}

/* v0.4.0: account access and shared channel invitation URLs */
.sidebar-profile{padding:0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%}
.sidebar-profile:hover .avatar{box-shadow:0 0 0 3px #a995ff55}
.account-summary{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:14px}
.account-summary p{margin:4px 0 0;overflow-wrap:anywhere}
.account-help{padding:13px 15px;background:#f7f5fc;border-radius:9px;margin-top:22px}
.join-notice{padding:12px 14px;background:#f3efff;color:#6a51b6;border-radius:9px;font-size:12px;line-height:1.6;margin-bottom:22px}
#channel-invite,#workspace-address{font-size:12px}
@media(max-width:580px){[data-form="change-password"] .form-actions{flex-direction:column-reverse;align-items:stretch}[data-form="change-password"] .form-actions>button{width:100%;justify-content:center}}

/* Everyday channel communication */
.quick-composer fieldset{padding:0;margin:0;border:0;min-width:0}
.quick-composer .composer-top{padding-bottom:12px}
.quick-composer .composer-top label{display:flex;flex-direction:column;gap:2px}
.quick-composer .composer-top .hint{margin:0}
.quick-message{resize:vertical;min-height:88px;margin:0;line-height:1.6}
.quick-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.quick-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.quick-attach{position:relative;cursor:pointer;overflow:hidden}
.quick-attach input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.quick-attach:focus-within{outline:2px solid var(--purple,#7360E6);outline-offset:3px}
.quick-hint{margin:12px 0 0;font-size:11px}
.quick-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.quick-file{display:flex;align-items:center;gap:5px;max-width:100%;padding:2px 4px 2px 9px;background:#f1effb;border-radius:7px;color:#554388;font-size:12px}
.quick-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.quick-file .icon-btn{width:26px;height:26px}
.feed-replies{border-top:1px solid var(--line,#e9eaf0);padding-top:14px;margin-top:2px}
.feed-replies .comment{margin-bottom:12px}
.feed-replies .comment-entry{margin-top:10px}
.comment-content a,.feed-body a{overflow-wrap:anywhere}
@media(max-width:600px){.quick-actions{align-items:flex-end}.quick-tools{align-items:flex-start;flex-direction:column;gap:10px}.quick-actions>.primary-btn{flex-shrink:0}.quick-hint{line-height:1.6}.quick-file>span{max-width:170px}}
