@font-face{font-family:Instrument Sans;src:url(/assets/InstrumentSans-normal.woff2)format("woff2");font-weight:100 900;font-display:swap}body[data-theme=bain]{--navy:#9e182b;--sky:#f3dadd;--accent:#9e182b}body[data-theme=plain]{--navy:#34445e;--sky:#dbe4f1;--accent:#526a8a}body[data-theme=dab]{--navy:#012169;--sky:#a9c6f0;--accent:#315d98}:root{color:#182033;font-synthesis:none;text-rendering:optimizelegibility;--navy:#012169;--sky:#a9c6f0;--line:#e5e9f0;--muted:#7c8496;--surface:#fff;--accent:#315d98;background:#f3f6fb;font-family:Instrument Sans,Segoe UI,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #85b3eb}.auth{background:radial-gradient(at 50% 0,#e6effd 0,#0000 55%),#f5f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #e8ebf2;border-radius:13px;width:min(100%,430px);padding:38px 40px;box-shadow:0 18px 54px #1c2e4b12}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand-mark{width:30px;height:30px;color:var(--navy);background:#fff;border-radius:8px;place-items:center;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #dfe6f0}.auth-card>.brand-mark{background:var(--navy);color:#fff}.auth h1{letter-spacing:-.045em;margin:35px 0 8px;font-size:26px}.muted{color:var(--muted);margin:0 0 24px;line-height:1.55}.auth label,.modal-body label{color:#515a6d;gap:7px;margin:14px 0;font-size:12px;font-weight:650;display:grid}.auth input,.modal-body input,.modal-body select,.modal-body textarea{color:#1a2233;background:#fff;border:1px solid #dfe3eb;border-radius:6px;width:100%;padding:10px 11px}.auth input{height:42px}.google,.primary,.secondary{border:0;border-radius:6px;padding:10px 14px;font-weight:650}.google{color:#242c3c;background:#fff;border:1px solid #dfe3eb;width:100%;height:42px}.google:before{content:"G";color:#4285f4;margin-right:9px;font-weight:800}.primary{background:var(--navy);color:#fff}.primary:hover{background:#092f78}.primary:disabled,.google:disabled{opacity:.6;cursor:wait}.full{width:100%;margin-top:2px}.divider{color:#969cad;align-items:center;gap:12px;margin:20px 0;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:#e9ecf2;flex:1;height:1px}.auth-message{color:#315d98;min-height:18px;font-size:12px}.fine{color:#8a91a0;border-top:1px solid #edf0f4;margin:16px 0 0;padding-top:15px;font-size:11px;line-height:1.5}.shell{grid-template-columns:245px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;min-height:500px;padding:18px 13px 13px;display:flex;position:sticky;top:0;overflow:auto}.sidebar .brand{padding:3px 8px 22px}.sidebar .brand-mark{color:var(--navy);background:#fff}.switcher-label,.nav-label{letter-spacing:.06em;color:#b9cbe5;padding:0 9px 7px;font-size:10px;display:block}.workspace-select{color:#fff;background:#092f78;border:1px solid #ffffff40;border-radius:6px;width:100%;padding:9px 10px;font-weight:600}.nav-stack{margin-top:17px}.nav-label{padding-top:10px}.nav-link,.tree-link{color:#dbe6f5;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:9px;width:100%;margin:1px 0;padding:8px 9px;font-size:12px;display:flex}.nav-link:hover,.tree-link:hover{color:#fff;background:#ffffff19}.nav-link.active,.tree-link.active{background:var(--sky);color:#092650;font-weight:650}.nav-link span{text-align:center;width:15px}.boards-label{margin-top:13px}.tree{display:grid}.tree-link{padding-left:calc(9px + var(--depth)*15px)}.new-board-link{margin-top:6px}.new-workspace-link{opacity:.8}.sidebar-bottom{border-top:1px solid #ffffff26;margin-top:auto;padding-top:10px}.main{min-width:0;padding:0 42px 50px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;display:flex}.eyebrow{color:#788397;letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:700}.topbar h1{letter-spacing:-.04em;margin:0;font-size:22px;font-weight:700}.user-chip{color:#596174;align-items:center;gap:9px;font-size:12px;display:flex}.avatar{color:#234875;background:#dce7f6;border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;font-weight:700;display:grid}.toolbar{justify-content:space-between;align-items:center;height:67px;display:flex}.view-tabs{align-items:center;gap:18px;height:100%;display:flex}.tab{border:0;border-bottom:2px solid var(--navy);color:#303a4e;background:0 0;height:100%;font-weight:650}.tab span{color:#7f8797;margin-left:5px;font-size:11px}.task-list{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.task-row{border-bottom:1px solid #edf0f4;grid-template-columns:25px minmax(180px,1fr) minmax(110px,180px) minmax(90px,140px) 116px 27px;align-items:center;gap:13px;min-height:59px;padding:0 14px;display:grid}.task-row:last-child{border-bottom:0}.check{color:#fff;background:#fff;border:1.5px solid #c9cfda;border-radius:50%;width:18px;height:18px;padding:0;font-size:11px;line-height:15px}.check.checked{background:#4d9b7b;border-color:#4d9b7b}.task-title{text-align:left;color:#252d3f;background:0 0;border:0;padding:8px 0;font-weight:550}.task-title:hover{color:#26568d}.task-board,.assignee{color:#81899a;font-size:11px}.status-select{color:#687184;background:#f0f3f8;border:0;border-radius:5px;padding:6px;font-size:11px}.icon-button{color:#8a92a1;background:0 0;border:0;border-radius:5px;width:27px;height:27px;font-size:19px}.icon-button:hover{color:#30394a;background:#f0f2f6}.empty{text-align:center;color:#7d8697;max-width:340px;margin:95px auto}.empty-icon{color:#457aaf;background:#fff;border:1px solid #dce5f0;border-radius:50%;place-items:center;width:46px;height:46px;margin:auto;font-size:20px;display:grid}.empty h2{color:#293245;margin:17px 0 6px;font-size:17px}.empty p{margin:0 0 17px;font-size:12px}.loading{color:#667187;place-items:center;min-height:100vh;display:grid}.error-banner{color:#99464a;background:#fff3f3;border:1px solid #f3c4c5;border-radius:6px;margin:17px 0;padding:11px 13px}.hint{color:#7b8495;font-size:12px;line-height:1.5}.modal-form{min-width:min(440px,100vw - 32px);padding:0}.modal-form>header,.modal-form>footer{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:15px 19px;display:flex}.modal-form>header h2{margin:0;font-size:16px}.modal-form>footer{border-top:1px solid #edf0f4;border-bottom:0;justify-content:flex-end;gap:8px}.modal-body{padding:8px 20px 15px}.modal-body label{margin:10px 0 14px}.secondary{color:#50596a;background:#f1f3f6}dialog{border:1px solid #e5e8ef;border-radius:9px;padding:0;box-shadow:0 18px 70px #071b3b30}dialog::backdrop{background:#08172b66}@media (width<=850px){.shell{grid-template-columns:205px minmax(0,1fr)}.main{padding:0 24px 40px}.task-row{grid-template-columns:24px minmax(100px,1fr) minmax(70px,120px) 104px 25px;gap:8px}.task-board{display:none}}@media (width<=620px){.shell{display:block}.sidebar{height:auto;min-height:0;padding:12px;position:relative;overflow:visible}.sidebar .brand{padding-bottom:11px}.switcher-label,.sidebar .nav-stack{display:none}.sidebar-bottom{border:0;padding:0;position:absolute;top:12px;right:12px}.sidebar-bottom .nav-link{width:auto;font-size:0}.main{padding:0 15px 30px}.topbar{height:76px}.topbar h1{font-size:20px}.user-chip span:last-child{display:none}.toolbar{height:61px}.task-row{grid-template-columns:22px minmax(80px,1fr) 92px 25px;gap:6px;padding:0 9px}.assignee{display:none}.status-select{padding:5px 3px;font-size:10px}.auth-card{padding:30px 25px}}.tree-row{align-items:center;display:flex}.tree-row .tree-link{flex:1;min-width:0}.tree-delete{color:#b9cbe5;background:0 0;border:0;border-radius:4px;margin-right:3px}.tree-delete:hover{color:#fff;background:#fff2}.top-actions{align-items:center;gap:22px;display:flex}.theme-picker{color:#727c8f;align-items:center;gap:8px;font-size:11px;display:flex}.theme-picker select{color:#3f485c;background:#fff;border:1px solid #e2e6ed;border-radius:5px;padding:6px;font-size:11px}.members-button{padding:8px 10px;font-size:11px}.modal-intro{color:#687286;margin:0 0 9px;font-size:12px}.roster-list{border:1px solid #e8ebf1;border-radius:6px;max-height:180px;padding:4px 10px;overflow:auto}.roster-row{border-bottom:1px solid #f0f2f5;align-items:center;gap:9px;min-height:39px;font-size:12px;display:flex}.roster-row:last-child{border-bottom:0}.roster-role{color:#7d8695;text-transform:capitalize;margin-left:auto;font-size:10px}.invite-divider{background:#e9ecf2;height:1px;margin:17px 0}.invite-message{color:#99464a;margin-top:8px;font-size:12px}.invite-result{background:#f5f8fc;border-radius:6px;margin-top:12px;padding:12px}.invite-result label{margin-top:0}.invite-result input{font-size:11px}.copy-invite{margin-bottom:6px}.invite-result #copy-message{color:#35765f;margin-left:8px;font-size:11px}:root{--ink:#151b2b;--canvas:#f3f6fb;--line:#e5e9f0;--surface:#fff;--muted:#7c8496;--accent-bg:#e9f1fd}body[data-theme=plain]{--navy:#34445e;--sky:#dbe4f1;--accent:#526a8a;--accent-bg:#edf1f6;--canvas:#f5f6f8}body[data-theme=dab]{--navy:#012169;--sky:#a9c6f0;--accent:#315d98;--accent-bg:#e9f1fd;--canvas:#f3f6fb}body[data-theme=bain]{--navy:#292a2e;--sky:#f1dfe1;--accent:#c90016;--accent-bg:#fbeaec;--canvas:#f6f5f4;--line:#e7e3e2}body[data-theme=dab] .main:before,body[data-theme=bain] .main:before{content:"";background-repeat:no-repeat;border-radius:9px;height:102px;margin:18px 0 0;display:block;box-shadow:0 8px 22px #10234316}body[data-theme=dab] .main:before{background-image:url(/assets/dab-logo-white.png),linear-gradient(90deg,#012169f2 0%,#012169d4 50%,#01216947 100%),url(/assets/duke-chapel-aerial.jpg);background-position:right 22px center,50%,50% 48%;background-size:auto 58px,cover,cover}body[data-theme=bain] .main:before{background-blend-mode:screen,normal;background-color:#292a2e;background-image:url(/assets/logo-bain.svg),linear-gradient(110deg,#292a2e,#48494c);background-position:right 22px center,50%;background-size:150px 34px,cover}body[data-theme=bain] .sidebar{background:linear-gradient(#292a2e,#202125)}body[data-theme=bain] .sidebar .brand-mark{color:#c90016}body[data-theme=bain] .nav-link.active,body[data-theme=bain] .tree-link.active{color:#fff;background:#c90016}body[data-theme=bain] .workspace-select{background:#36373b}body[data-theme=bain] .primary{background:#c90016}body[data-theme=bain] .primary:hover{background:#a90013}body[data-theme=bain] .tab{border-bottom-color:#c90016}body[data-theme=bain] .tab.active{color:#a90013}body[data-theme=bain] .avatar{color:#a90013;background:#f5e5e6}body[data-theme=bain] .check.checked{background:#c90016;border-color:#c90016}body[data-theme=dab] .sidebar{background:linear-gradient(#012169,#031a4e)}body[data-theme=dab] .primary{background:#012169}body[data-theme=dab] .primary:hover{background:#092f78}body[data-theme=dab] .tab{border-bottom-color:#315d98}body[data-theme=dab] .avatar{color:#012169;background:#dce9fb}body[data-theme=plain] .sidebar{background:linear-gradient(#34445e,#29384f)}body[data-theme=plain] .nav-link.active,body[data-theme=plain] .tree-link.active{color:#263950;background:#dbe4f1}.top-actions{flex-wrap:wrap;justify-content:flex-end}.task-list{box-shadow:0 2px 8px #1a2d4a08}.task-row:hover{background:#fbfcfe}.status-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (width<=850px){body[data-theme=dab] .main:before,body[data-theme=bain] .main:before{height:86px;margin-top:13px}}@media (width<=620px){body[data-theme=dab] .main:before,body[data-theme=bain] .main:before{background-position:right 12px center,50%,50% 48%;background-size:auto 43px,cover,cover;border-radius:6px;height:72px;margin:10px 0 0}body[data-theme=bain] .main:before{background-position:right 12px center,50%;background-size:116px 26px,cover}.top-actions{gap:6px}.theme-picker{font-size:10px}.theme-picker select{max-width:98px}.task-row{grid-template-columns:22px minmax(0,1fr) 88px 24px;min-width:0}.task-title{overflow-wrap:anywhere;min-width:0}.task-list{overflow-x:auto}.main{overflow:hidden}}:root{font-family:var(--app-font,"Instrument Sans"),"Segoe UI",Arial,sans-serif}.task-list{background:var(--surface,#fff)}.primary{background:var(--accent,var(--navy))}.primary:hover{filter:brightness(.9)}.tab{border-bottom-color:var(--accent,var(--navy))}.nav-link.active,.tree-link.active{background:var(--accent-bg,var(--sky))}body[data-density=compact] .task-row{min-height:42px}body[data-density=compact] .nav-link,body[data-density=compact] .tree-link{padding-top:5px;padding-bottom:5px}.appearance-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.appearance-grid label{color:#515a6d;gap:7px;margin:9px 0;font-size:12px;font-weight:650;display:grid}.appearance-grid input[type=color]{background:#fff;border:1px solid #dfe3eb;border-radius:6px;width:100%;height:38px;padding:3px}.appearance-grid select{color:#1a2233;background:#fff;border:1px solid #dfe3eb;border-radius:6px;width:100%;padding:9px}.appearance-preview{border:1px solid var(--line);background:var(--surface,#fff);border-radius:7px;margin:8px 0 12px;padding:11px;font-size:12px}.preview-sample{border:1px solid var(--line);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:8px;display:flex}.preview-sample .primary{padding:7px 10px;font-size:11px}.text-button{color:var(--accent);background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.appearance-message{color:#99464a;min-height:16px;margin:7px 0 0;font-size:11px}.customize-button{padding:8px 10px;font-size:11px}@media (width<=620px){.appearance-grid{grid-template-columns:1fr 1fr}.customize-button{padding:7px;font-size:10px}}body[data-banner] .main:before{content:"";background-repeat:no-repeat;background-image:var(--custom-banner-image,none),var(--custom-gradient,none);background-color:var(--custom-banner-color,#34445e);background-position:50%;background-size:cover;border-radius:9px;height:102px;margin:18px 0 0;display:block;box-shadow:0 8px 22px #10234316}body[data-banner=gradient] .main:before{background-image:var(--custom-gradient);background-color:#0000}body[data-banner=image] .main:before{background-image:var(--custom-banner-image,linear-gradient(110deg,#777,#aaa));background-color:#0000}body[data-banner] .main:before{background-image:var(--custom-logo-image,none),var(--custom-banner-image,none),var(--custom-gradient,none)}body[data-banner=solid] .main:before{background-image:var(--custom-logo-image,none);background-color:var(--custom-banner-color,#34445e)}body[data-banner=gradient] .main:before{background-image:var(--custom-logo-image,none),var(--custom-gradient)}body[data-banner=image] .main:before{background-image:var(--custom-logo-image,none),var(--custom-banner-image,linear-gradient(110deg,#777,#aaa))}body[data-banner] .main:before{background-position:right 22px center,50%;background-size:auto 58px,cover}.banner-settings{border:1px solid var(--line);border-radius:7px;margin:12px 0;padding:12px}.banner-settings>strong{font-size:12px}.banner-settings small{color:#788397;font-size:10px;font-weight:400}.banner-settings input[type=file]{width:100%;font-size:11px}.remove-asset{align-items:center;gap:6px!important;margin:5px 12px 0 0!important;font-size:11px!important;display:inline-flex!important}.preview-banner{background-position:50%;background-size:cover;border-radius:5px;height:72px;margin:9px 0;position:relative;overflow:hidden}.preview-banner img{object-fit:contain;max-width:35%;max-height:48px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}@media (width<=620px){body[data-banner] .main:before{background-position:right 12px center,50%;background-size:auto 43px,cover;border-radius:6px;height:72px;margin:10px 0 0}}.dashboard-blocks{gap:16px;padding-bottom:28px;display:grid}.dashboard-item{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;display:grid}.dashboard-reorder{gap:4px;padding-top:4px;display:grid}.dashboard-reorder button{padding:3px 5px;font-size:11px}.dashboard-reorder button:disabled{opacity:.4;cursor:default}.dashboard-block>header{align-items:center;gap:9px;margin:0 0 8px;display:flex}.dashboard-block>header h2{margin:0;font-size:15px}.dashboard-block>header span{color:var(--muted);font-size:11px}.dashboard-boards{flex-wrap:wrap;gap:8px;display:flex}.dashboard-block .empty{margin:18px auto;padding:18px 0}body[data-banner=""] .main:before{display:none}.user-chip{gap:8px}.edit-name-button{white-space:nowrap;padding:6px 8px;font-size:10px}.name-message{color:#99464a;min-height:17px;margin:5px 0 0;font-size:11px}.user-chip>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}@media (width<=620px){.edit-name-button{padding:5px 6px;font-size:9px}.user-chip>span:nth-child(2){display:none}.top-actions{max-width:70%}}.task-main{min-width:0;padding:5px 0}.task-heading{align-items:center;gap:7px;min-width:0;display:flex}.task-main .task-title{overflow-wrap:anywhere;max-width:100%;display:block}.task-edit{color:var(--accent);white-space:nowrap;background:0 0;border:0;padding:3px 5px;font-size:10px}.task-edit:hover{text-decoration:underline}.task-meta{color:#7b8494;align-items:center;gap:8px;margin:0 0 4px;font-size:10px;display:flex}.priority-badge{color:#606a7b;background:#f0f2f6;border-radius:99px;padding:2px 7px;font-weight:650;display:inline-block}.priority-low{color:#527b68;background:#eff5f2}.priority-high{color:#a26120;background:#fff2e6}.task-due.overdue{color:#b5474b;font-weight:650}.task-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.task-fields label{min-width:0}.task-save-error{color:#99464a;min-height:17px;margin:8px 0 0;font-size:12px}@media (width<=620px){.task-fields{grid-template-columns:1fr}.task-meta{flex-wrap:wrap;gap:5px}.task-main{padding:4px 0}.task-title{white-space:normal}.task-edit{opacity:1}}.workspace-progress{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:14px 0 18px;padding:13px 15px}.progress-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-heading>div{align-items:baseline;gap:10px;min-width:0;display:flex}.progress-heading strong{color:#30394a;font-size:12px}.progress-heading span{color:var(--muted);font-size:11px}.progress-customize{white-space:nowrap;padding:6px 9px;font-size:10px}.progress-track{background:#edf0f4;border-radius:999px;width:100%;height:11px;margin:10px 0 8px;display:flex;overflow:hidden}.progress-segment{min-width:2px;height:100%;display:block}.progress-empty{background:#edf0f4;width:100%;height:100%;display:block}.progress-legend{flex-wrap:wrap;gap:6px 15px;display:flex}.progress-legend-item{color:#6e7788;align-items:center;gap:5px;font-size:10px;display:inline-flex}.progress-legend-item i{border-radius:50%;width:8px;height:8px}.progress-legend-item b{color:#485165;font-weight:650}.progress-color-grid{gap:9px;margin:12px 0;display:grid}.progress-color-row{grid-template-columns:minmax(100px,1fr) 38px 105px;align-items:center;gap:10px;display:grid}.progress-color-row label{color:#4e586b;font-size:12px;font-weight:600}.progress-color-row input[type=color]{background:#fff;border:1px solid #dfe3eb;border-radius:5px;width:38px;height:32px;padding:3px}.progress-color-row input[type=text]{color:#30394a;border:1px solid #dfe3eb;border-radius:5px;width:100%;padding:7px 8px;font:12px ui-monospace,Consolas,monospace}.progress-color-row input[type=text]:invalid{border-color:#cf6666}@media (width<=620px){.workspace-progress{margin:11px 0 15px;padding:11px}.progress-heading>div{flex-direction:column;align-items:flex-start;gap:3px}.progress-legend{gap:6px 10px}.progress-color-row{grid-template-columns:minmax(85px,1fr) 35px 92px;gap:7px}}.roster-list:has(.member-label-row){max-height:340px}.member-label-row{padding:9px 0;display:block}.member-summary{align-items:center;gap:9px;min-height:30px;display:flex}.member-summary>span:nth-child(2){min-width:0}.member-labels{color:#7d8695;margin-top:3px;font-size:10px;display:block}.member-label-edit{gap:7px;margin:7px 0 0 38px;display:flex}.member-label-edit input{border:1px solid #dfe3eb;border-radius:5px;flex:1;min-width:0;padding:7px 8px;font-size:11px}.save-member-labels{white-space:nowrap;padding:7px 9px;font-size:10px}
