:root{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#202438;background:#fff;font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #202438;--muted: #626a79;--border: #e2e5e9;--soft: #f7f8f9;--link: #5147a5;--accent: #6657d8}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #6657d8;outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.25;letter-spacing:-.025em}h2{font-size:16px;line-height:1.35}h3{font-size:13px;line-height:1.4}p{line-height:1.55}a{color:var(--link)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;flex:0 0 248px;background:#f8f9fa;border-right:1px solid var(--border);padding:24px 14px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}.side-brand{display:flex;align-items:center;gap:10px;padding:0 10px 28px;color:#333d50}.side-brand strong{font-size:15px;letter-spacing:-.01em}.sidebar nav{display:grid;gap:3px}.nav-item{border:0;background:transparent;color:#4f5867;min-height:40px;text-align:left;display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:550}.nav-item:hover{background:#eeeff1;color:var(--ink)}.nav-item.selected{background:#e9e9f4;color:#4d449a;font-weight:650}.side-spacer{flex:1}.side-user{display:flex;align-items:center;gap:10px;padding:16px 4px 0;border-top:1px solid var(--border)}.side-user>div{min-width:0;flex:1}.side-user strong,.side-user div span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user strong{font-size:13px}.side-user div span{color:var(--muted);font-size:12px;margin-top:3px}.main-area{flex:1;min-width:0}.topbar{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;background:#fff}.breadcrumb,.top-actions{display:flex;align-items:center;gap:10px;min-width:0}.breadcrumb{color:#6c7481;font-size:13px}.breadcrumb strong{color:#394150;font-weight:600}.header-user{color:#4c5563;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.page-content{max-width:1520px;margin:auto;padding:32px 32px 24px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 24px}.page-heading p{color:var(--muted);font-size:13px;margin-top:6px}.heading-actions,.row-actions{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:650;white-space:nowrap}.btn.primary{background:#283449;color:#fff}.btn.primary:hover{background:#3a465c}.btn.secondary{background:#fff;border-color:#cfd4dc;color:#384253}.btn.secondary:hover{background:#f5f6f7}.icon-button{border:0;background:transparent;color:#626b79;width:34px;height:34px;padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;flex:0 0 auto}.icon-button:hover{background:#eef0f2;color:#202438}.text-button,.back-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:5px 0;color:var(--link);font-size:13px;font-weight:600;text-align:left}.text-button:hover,.back-link:hover,.table-link:hover{color:#302b6d;text-decoration:underline}.back-link{margin-bottom:18px}.toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.toolbar-count{color:var(--muted);font-size:12px;margin-left:auto;white-space:nowrap}.segmented{display:inline-flex;align-items:center;gap:4px;overflow-x:auto;max-width:100%;border-bottom:1px solid var(--border)}.segmented button{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 10px;color:#626b79;font-size:13px;white-space:nowrap}.segmented button:hover{color:var(--ink);background:#f8f8fa}.segmented button.active{color:#403985;border-bottom-color:var(--accent);font-weight:650}.search-field{display:flex;align-items:center;gap:8px;border:1px solid #cfd5dd;background:#fff;border-radius:6px;padding:0 10px;min-height:38px;color:#727b89}.search-field:focus-within{outline:2px solid #6657d8;outline-offset:2px}.search-field input{border:0;outline:0;background:transparent;width:180px;min-width:0;color:var(--ink);font-size:13px}.search-field input:focus-visible{outline:0}.compact-select{border:1px solid #cfd5dd;background:#fff;color:#394150;min-height:38px;padding:8px 10px;border-radius:6px;font-size:13px;max-width:240px}.overview-summary{display:flex;flex-wrap:wrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:28px}.overview-summary button{display:flex;align-items:baseline;gap:8px;border:0;border-right:1px solid var(--border);background:transparent;padding:14px 24px;color:#586271;font-size:13px;text-align:left}.overview-summary button:first-child{padding-left:0}.overview-summary button:last-child{border-right:0}.overview-summary button:hover{color:var(--link)}.overview-summary strong{color:var(--ink);font-size:19px;font-variant-numeric:tabular-nums}.text-danger,.over{color:#a63e40!important}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.52fr);grid-template-areas:"projects team" "tasks team";align-items:start;column-gap:32px;row-gap:32px}.overview-projects{grid-area:projects}.overview-team{grid-area:team}.overview-tasks{grid-area:tasks}.work-section{min-width:0}.section-heading,.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding-bottom:12px;border-bottom:1px solid var(--border)}.section-heading p{color:var(--muted);font-size:12px;margin-top:4px}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left}th,td{border-bottom:1px solid #e9ebee;text-align:left;padding:12px 14px;vertical-align:middle}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}th{color:#68717f;font-size:12px;font-weight:600;white-space:nowrap}td{color:#4a5361;font-size:13px}td strong{color:#313a49;font-weight:600}.workspace-table table{min-width:740px}.workspace-table th,.workspace-table td{padding-top:13px;padding-bottom:13px}.workspace-table td:first-child{min-width:190px}.overview-table{min-width:500px}.table-link{display:inline-block;max-width:320px;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent;padding:0;color:#343b64;font-size:13px;font-weight:650;text-align:left;white-space:nowrap;vertical-align:middle}.cell-sub{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:4px;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:4px;color:#596273;background:#f0f1f3;font-size:12px;font-weight:600;white-space:nowrap}.badge.active,.badge.done,.badge.completed{color:#23654e;background:#e8f4ec}.badge.progress{color:#5147a5;background:#eeecf8}.badge.blocked{color:#9d3f3e;background:#faeded}.badge.unclassified,.badge.paused{color:#806025;background:#f8f1e3}.badge.open{color:#465b70;background:#edf1f4}.avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#39485a;font-size:11px;font-weight:650;flex:0 0 auto}.avatar.small{width:27px;height:27px;font-size:10px}.person{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:550;white-space:nowrap}.person>span:last-child{overflow:hidden;text-overflow:ellipsis;max-width:240px}.allocation-list{display:grid}.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border-bottom:1px solid #e9ebee;padding:10px 0;min-height:52px}.allocation-row strong{font-size:13px;font-variant-numeric:tabular-nums}.allocation-caption{color:var(--muted);font-size:12px;white-space:nowrap}.empty{padding:28px 0;color:#4c5563}.empty strong{display:block;font-size:13px;font-weight:650}.empty p{color:var(--muted);font-size:13px;margin-top:6px}.empty .btn{margin-top:14px}.team-table table{min-width:740px}.team-table td{vertical-align:top}.team-table td:nth-child(2){width:43%}.assignment-items{display:grid;gap:8px}.assignment-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;border:0;padding:0;background:transparent;color:#38425b;text-align:left}button.assignment-link:hover span{color:var(--link);text-decoration:underline}.assignment-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-link small{grid-column:1;color:var(--muted);font-size:12px}.assignment-link strong{grid-column:2;grid-row:1 / 3;align-self:center;font-size:12px}.assignment-history{margin-top:32px}.assignment-history table{min-width:680px}.project-description{color:#4c5563;margin:-8px 0 24px;max-width:850px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:36px}.project-meta{margin:0}.project-meta>div,.detail-person,.detail-task{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e9ebee;padding:12px 0}.project-meta dt{color:var(--muted);font-size:13px}.project-meta dd{margin:0;text-align:right;font-size:13px}.detail-task>div{display:grid;gap:6px;min-width:0}.detail-task strong{font-size:13px}.detail-subheading{margin-top:24px}.detail-empty{padding:14px 0;font-size:13px}.task-list{border-top:1px solid var(--border)}.task-item{border-bottom:1px solid var(--border)}.task-main{display:grid;grid-template-columns:minmax(180px,1fr) 150px 105px 100px 45px 34px;gap:12px;align-items:center;padding:13px 0}.task-name{display:flex;align-items:flex-start;gap:9px;min-width:0;border:0;background:transparent;padding:0;text-align:left;color:#343b64}.task-name>svg{margin-top:2px;flex:0 0 auto}.task-name[aria-expanded=false]>svg{transform:rotate(-90deg)}.task-name span{min-width:0}.task-name strong,.task-name small{display:block;overflow:hidden;text-overflow:ellipsis}.task-name strong{font-size:13px;font-weight:650}.task-name small{color:var(--muted);font-size:12px;margin-top:4px}.task-name:hover strong{text-decoration:underline}.task-owner,.task-date,.task-pct{color:#555f6d;font-size:13px}.task-pct{text-align:right;font-variant-numeric:tabular-nums}.task-details{margin:0 0 16px 25px;border-top:1px solid #e9ebee;padding-top:14px}.task-details>p{color:#4c5563;margin-bottom:12px}.steps-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:13px}.progress-text{display:flex;gap:10px;color:var(--muted);font-size:12px}.progress-text b{color:#414c5b}.steps-list{display:grid;gap:10px}.step-row,.check-line{display:flex;align-items:center;gap:9px;color:#3f4957;font-size:13px}.step-row input,.check-line input{accent-color:#6657d8;width:16px;height:16px}.done-text{text-decoration:line-through;color:#68717f}.task-detail-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:14px}.block-notice{display:flex;align-items:flex-start;gap:8px;padding:10px;margin-bottom:14px;background:#faeded;color:#8f3b3c;border:1px solid #efd5d5;border-radius:6px;font-size:13px}.danger-text,.delete-link{color:#a63e40!important}.page-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);padding:16px 0 0;margin-top:32px;color:#68717f;font-size:12px}.page-footer span{display:inline-flex;align-items:center;gap:6px}.demo-chip{padding:4px 7px;background:#f1f1f4;color:#515b68;border-radius:4px;font-size:12px;font-weight:600}.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dadce4;background:#f7f7fb;border-radius:6px;padding:10px 12px;color:#50596a;font-size:13px;margin-bottom:20px}.demo-banner span{display:flex;align-items:center;gap:8px}.demo-banner button{border:0;background:none;color:var(--link);font-weight:600;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#20242d73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.modal{width:min(600px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border:1px solid #d9dde3;border-radius:8px;box-shadow:0 2px 8px #00000014}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:18px}.modal-header p{color:var(--muted);font-size:13px;margin-top:5px}.form-body{display:grid;gap:16px;padding:20px}.field{display:grid;gap:6px;color:#394150;font-size:13px;font-weight:600;min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:40px;border:1px solid #bfc7d0;border-radius:6px;background:#fff;color:var(--ink);padding:8px 10px;font-weight:400}.field textarea{resize:vertical}.field small{color:var(--muted);font-weight:400;line-height:1.4}.field input::placeholder,.field textarea::placeholder,.search-field input::placeholder{color:#737c89;opacity:1}.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.day-select{display:flex;flex-wrap:wrap;gap:6px}.day-select button{min-width:38px;min-height:36px;border:1px solid #cfd5dd;border-radius:6px;background:#fff;color:#535d6c;font-size:12px;font-weight:600}.day-select button.chosen{background:#eeecf8;border-color:#a8a0d4;color:#453c92}.warning-box,.info-box,.error-box{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid;border-radius:6px;font-size:13px;line-height:1.5}.warning-box{color:#7e581a;background:#fcf7eb;border-color:#eadbb9}.info-box{color:#455b6a;background:#f3f7f8;border-color:#d8e3e5}.error-box,.error{color:#a23f41}.error-box{background:#faeded;border-color:#efd5d5}.member-info{margin-bottom:20px}.member-info a{font-weight:600}.modal-actions{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.flex-fill{flex:1}.delete-link{display:inline-flex;align-items:center;gap:5px;border:0;background:none;font-size:13px}.toast{position:fixed;bottom:20px;left:20px;z-index:80;background:#283449;color:#fff;border-radius:6px;padding:12px 16px;box-shadow:0 2px 8px #00000014;font-size:13px}.muted{color:var(--muted)}.small-text{font-size:12px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-page,.access-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px}.access-screen{flex-direction:column;text-align:center}.access-screen p{color:var(--muted);max-width:520px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;color:#5147a5}.auth-shell{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#f8f9fa;padding:24px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:8px;padding:32px}.auth-brand{display:flex;align-items:center;gap:9px;color:#354052;margin-bottom:32px}.auth-card h1{font-size:22px}.auth-card>p{color:var(--muted);margin:8px 0 24px;font-size:13px}.google-button,.demo-button{width:100%;min-height:42px;border:1px solid #cfd5dd;border-radius:6px;background:#fff;color:#313c4d;font-weight:600}.google-button:hover,.demo-button:hover{background:#f6f7f8}.google-logo{margin-right:10px;font-weight:750;color:#435fae}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--border);flex:1}.auth-card .auth-footnote{margin:14px 0 0;font-size:12px}.mobile-menu,.side-close,.mobile-scrim{display:none}@media(max-width:1050px){.overview-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.6fr);gap:24px}.task-main{grid-template-columns:minmax(170px,1fr) 120px 90px 90px 40px 34px;gap:8px}}@media(max-width:800px){.sidebar{display:none;position:fixed;left:0;top:0;height:100dvh;width:248px;box-shadow:0 2px 8px #00000014}.sidebar.open{display:flex}.mobile-menu,.side-close{display:inline-flex}.side-close{margin-left:auto}.mobile-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#20242d59;z-index:15}.topbar{padding:0 20px}.page-content{padding:24px 20px}.overview-grid{grid-template-columns:1fr;grid-template-areas:"projects" "tasks" "team"}.detail-grid{grid-template-columns:1fr}.task-main{grid-template-columns:minmax(150px,1fr) 110px 80px 90px 40px 34px}}@media(max-width:600px){.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.heading-actions{flex-wrap:wrap}.toolbar{gap:12px}.toolbar-count{margin-left:0}.overview-summary button{width:50%;padding:12px}.overview-summary button:first-child,.overview-summary button:nth-child(3){padding-left:0}.overview-summary button:nth-child(2){border-right:0}.overview-summary button:nth-child(-n+2){border-bottom:1px solid var(--border)}.task-main{grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px}.task-name{grid-column:1 / 4;grid-row:1}.task-owner{grid-column:1;grid-row:2}.task-owner .person>span:last-child{max-width:85px}.task-date{grid-column:2;grid-row:2;font-size:12px;white-space:nowrap}.task-main .badge{grid-column:3;grid-row:2}.task-pct{grid-column:4;grid-row:2;text-align:right;font-size:12px}.task-main>.icon-button{grid-column:4;grid-row:1}.form-row,.form-row.two{grid-template-columns:1fr}.header-user{display:none}.auth-card{padding:24px}}.mobile-label{display:none}@media(max-width:600px){.team-table table,.projects-table table{min-width:0;display:block}.team-table thead,.projects-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.team-table tbody,.projects-table tbody{display:block}.team-table tr,.projects-table tr{display:grid;gap:6px 12px;border-bottom:1px solid var(--border);padding:14px 0}.team-table tr{grid-template-columns:minmax(0,1fr) auto auto}.team-table td,.projects-table td{display:block;min-width:0!important;border:0;padding:0!important}.team-table td:first-child{grid-column:1;grid-row:1}.team-table td:nth-child(2){grid-column:1 / -1;grid-row:2;width:auto;padding-left:36px!important}.team-table td:nth-child(3){grid-column:2;grid-row:1;padding-top:7px!important}.team-table td:nth-child(4){grid-column:3;grid-row:1}.team-table .cell-sub{margin-left:40px}.team-table .row-actions{gap:2px}.projects-table tr{grid-template-columns:minmax(0,1fr) auto auto}.projects-table td:first-child{grid-column:1;grid-row:1}.projects-table td:nth-child(2){grid-column:1;grid-row:2}.projects-table td:nth-child(3){grid-column:2;grid-row:1}.projects-table td:nth-child(4){grid-column:2;grid-row:2;white-space:nowrap}.projects-table td:nth-child(5){grid-column:2;grid-row:3;white-space:nowrap}.projects-table td:nth-child(6){grid-column:1;grid-row:3}.projects-table td:nth-child(7){grid-column:3;grid-row:1}.projects-table .table-link{max-width:100%}.mobile-label{display:inline;color:var(--muted);font-size:12px}.overview-table,.overview-tasks table{min-width:0;table-layout:fixed}.overview-table th,.overview-table td,.overview-tasks th,.overview-tasks td{padding-left:5px;padding-right:5px}.overview-table th:first-child,.overview-table td:first-child,.overview-tasks th:first-child,.overview-tasks td:first-child{padding-left:0;width:46%}.overview-table th:nth-child(2),.overview-table td:nth-child(2){width:34%}.overview-table th:nth-child(3),.overview-table td:nth-child(3){width:20%}.overview-table th:last-child,.overview-table td:last-child,.overview-tasks th:nth-child(2),.overview-tasks td:nth-child(2),.overview-tasks th:nth-child(4),.overview-tasks td:nth-child(4){display:none}.overview-table .table-link{max-width:100%}.overview-tasks .person>span:last-child{max-width:68px}}@media(max-width:360px){.segmented{flex-wrap:wrap;overflow:visible}.segmented button{padding-left:8px;padding-right:8px}.task-main{grid-template-columns:minmax(0,1fr) auto auto}.task-name{grid-column:1 / 3;grid-row:1}.task-main>.icon-button{grid-column:3;grid-row:1}.task-owner{grid-column:1;grid-row:2}.task-owner .person>span:last-child{max-width:120px}.task-date{grid-column:2 / 4;grid-row:2;text-align:right}.task-main .badge{grid-column:1;grid-row:3;justify-self:start;margin-left:25px}.task-pct{grid-column:2 / 4;grid-row:3}}.nav-item,td,.table-link,.person,.task-name strong,.field input,.field select,.field textarea,.search-field input{font-size:14px}:root{--board-border: #e2e5ef;--board-bg: #f7f8fc;--brand: #5149b8}.main-area{background:var(--board-bg)}.topbar,.sidebar{background:#fff}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.dashboard-heading h1{font-size:26px}.dashboard-heading p{color:#656e80;margin-top:6px;font-size:14px}.period-label{display:flex;align-items:center;gap:8px;color:#4e5870;border:1px solid #dfe3eb;border-radius:7px;padding:9px 12px;background:#fff;font-size:13px;white-space:nowrap}.dashboard-quickline{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-bottom:26px;color:#586276;font-size:13px}.dashboard-quickline>span,.dashboard-quickline>button{display:inline-flex;align-items:center;gap:7px}.dashboard-quickline>button{border:0;background:transparent;padding:0;color:#586276}.dashboard-quickline>button:hover{color:#5149b8;text-decoration:underline}.quick-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.quick-dot.green{background:#299f78}.quick-dot.blue{background:#5b79d8}.quick-dot.amber{background:#d0932f}.quick-sync{margin-left:auto;color:#778194;font-size:12px}.dashboard-section{margin-bottom:30px}.board-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:13px}.board-heading p{margin:5px 0 0 17px;color:#687286;font-size:13px}.section-title{display:flex;align-items:center;gap:9px}.section-title h2{font-size:18px;color:#252b3c}.section-color{display:block;width:7px;height:21px;border-radius:3px}.section-color.violet{background:#7165d8}.section-color.teal{background:#2da487}.board-count{color:#667084;font-size:12px;background:#eaecf3;padding:3px 7px;border-radius:5px}.board-quiet{border:0;background:transparent;color:#5049a4;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px;padding:6px 0;white-space:nowrap}.board-quiet:hover{text-decoration:underline}.staff-board,.client-board{border:1px solid var(--board-border);border-radius:9px;background:#fff;overflow:hidden}.staff-board-head,.staff-board-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(300px,2.6fr) minmax(155px,.8fr);align-items:center}.staff-board-head,.client-board-head{background:#fafbfe;color:#6b7588;font-size:12px;font-weight:600}.staff-board-head>span,.staff-board-row>div{padding:12px 16px;min-width:0}.staff-board-head>span+span,.staff-board-row>div+div{border-left:1px solid #edf0f4}.staff-board-row{min-height:76px;border-top:1px solid #edf0f4}.staff-board-row:hover{background:#fcfcfe}.staff-person .person>span:last-child{max-width:170px}.staff-projects{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.project-chip{display:inline-flex;align-items:center;gap:10px;border:1px solid transparent;border-left:3px solid;border-radius:6px;padding:7px 9px;min-width:145px;max-width:255px;background:#f6f6fa;color:#303a50;text-align:left}.project-chip:hover{border-color:#9d9caf}.chip-text{display:block;min-width:0;flex:1}.chip-text strong,.chip-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-text strong{font-size:12px;font-weight:650}.chip-text small{color:#687286;font-size:11px;margin-top:3px}.chip-percent{text-align:right;white-space:nowrap;font-size:13px;font-weight:700}.chip-percent small{display:block;color:#677182;font-size:11px;font-weight:400;margin-top:3px}.project-chip.violet{background:#f2f0fb;border-left-color:#8170d5}.project-chip.blue{background:#eef4fb;border-left-color:#628ad1}.project-chip.teal{background:#edf8f4;border-left-color:#49a68a}.project-chip.amber{background:#fcf6e9;border-left-color:#d0a04c}.project-chip.rose{background:#fbf0f1;border-left-color:#ce8290}.no-report,.not-reported{color:#858d9b;font-size:13px}.staff-total-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.staff-total-label strong{font-size:16px;color:#273144;font-variant-numeric:tabular-nums}.staff-total-label span{color:#778194;font-size:11px;white-space:nowrap}.workload-track,.client-progress-bar{display:block;height:6px;background:#eceef3;border-radius:4px;overflow:hidden}.workload-track{margin-top:8px}.workload-track>span,.client-progress-bar>span{display:block;height:100%;background:#36a282;border-radius:4px}.workload-track>span.over-limit{background:#d15d63}.board-footnote{color:#788194;font-size:12px;margin:10px 0 0}.client-board-head,.client-group summary{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(120px,.7fr) minmax(230px,1.5fr) 75px;gap:16px;align-items:center;padding:13px 16px}.client-group{border-top:1px solid #edf0f4;border-left:4px solid #8170d5}.client-group.blue{border-left-color:#628ad1}.client-group.teal{border-left-color:#49a68a}.client-group.amber{border-left-color:#d0a04c}.client-group.rose{border-left-color:#ce8290}.client-group summary{cursor:pointer;list-style:none;padding-left:12px;min-height:62px}.client-group summary::-webkit-details-marker{display:none}.client-group summary:hover{background:#fafbfe}.client-group[open] summary .client-name>svg{transform:rotate(90deg)}.client-name{display:flex;align-items:center;gap:9px;min-width:0}.client-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.client-project-count,.client-sow{color:#606c7d;font-size:13px}.client-progress{display:flex;align-items:center;gap:9px;min-width:0}.client-progress-bar{flex:1;min-width:45px}.client-progress strong{font-size:13px}.client-progress small{color:#778194;font-size:12px;white-space:nowrap}.client-projects{border-top:1px solid #edf0f4;background:#fafbfe;padding:0 16px 0 36px}.client-projects button{display:grid;grid-template-columns:minmax(0,1fr) 110px 130px 18px;align-items:center;gap:12px;width:100%;padding:11px 0;text-align:left;background:transparent;border:0;color:#38435a}.client-projects button+button{border-top:1px solid #edf0f4}.client-projects button:hover>span:first-child{color:#5149b8;text-decoration:underline}.client-projects button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.sow-section{margin-top:32px;padding:20px;border:1px solid var(--board-border);border-radius:9px;background:#fff}.sow-section .section-heading p{color:#687286;font-size:13px;margin-top:4px}.upload-button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;background:#fff;border:1px solid #cfd5dd;border-radius:6px;color:#384253;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.upload-button:hover{background:#f5f6f9}.upload-button:focus-within{outline:2px solid #6657d8;outline-offset:2px}.upload-button.disabled{opacity:.65;cursor:default}.upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.sow-link-row,.sow-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf0f4}.sow-link-row>a{font-weight:600;font-size:13px}.sow-row>div{min-width:0;flex:1}.sow-row strong,.sow-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sow-row strong{font-size:13px}.sow-row small{color:#778194;font-size:12px;margin-top:4px}.sow-empty{margin:16px 0;color:#687286;font-size:13px}.sow-limit{color:#778194;font-size:12px;margin-top:12px}@media(max-width:900px){.staff-board-head,.staff-board-row{grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) minmax(135px,.8fr)}.staff-board-head>span,.staff-board-row>div{padding:12px}.client-board-head,.client-group summary{grid-template-columns:minmax(150px,1fr) 100px minmax(170px,1fr) 55px;gap:10px}}@media(max-width:700px){.dashboard-heading{align-items:flex-start;flex-direction:column;gap:12px}.quick-sync{width:100%;margin-left:0}.staff-board-head,.client-board-head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.staff-board-row{grid-template-columns:minmax(0,1fr) 110px;padding:12px;gap:8px 12px}.staff-board-row>div{padding:0;border:0!important}.staff-person{grid-column:1;grid-row:1}.staff-total{grid-column:2;grid-row:1}.staff-projects{grid-column:1 / -1;grid-row:2;padding-left:40px!important}.staff-total-label strong{font-size:14px}.staff-total-label span{font-size:10px}.workload-track{margin-top:5px}.project-chip{min-width:0;width:100%;max-width:none}.board-heading{align-items:flex-start}.board-heading p{margin-left:0}.client-group summary{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:12px}.client-name{grid-column:1}.client-project-count{grid-column:2;grid-row:1}.client-progress{grid-column:1;padding-left:24px}.client-sow{grid-column:2;grid-row:2;text-align:right}.client-projects{padding-left:20px}.client-projects button{grid-template-columns:minmax(0,1fr) auto 16px}.client-projects button>span:nth-of-type(3){display:none}.sow-section{padding:16px}.sow-section .section-heading{align-items:flex-start;flex-wrap:wrap}}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:24px;align-items:start}.dashboard-columns .dashboard-section{min-width:0}.dashboard-columns .staff-board-head,.dashboard-columns .staff-board-row{grid-template-columns:minmax(145px,1fr) minmax(175px,2fr) minmax(105px,.8fr)}.dashboard-columns .staff-board-head>span,.dashboard-columns .staff-board-row>div{padding:11px 12px}.dashboard-columns .staff-person .person>span:last-child{max-width:125px}.staff-person .person{max-width:100%}.dashboard-columns .project-chip{min-width:120px;max-width:220px}.client-group summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.client-name{grid-column:1;grid-row:1}.client-project-count{grid-column:1;grid-row:2;padding-left:24px;font-size:12px}.client-progress{grid-column:1 / -1;grid-row:3;padding-left:24px}.client-sow{grid-column:2;grid-row:1;font-size:12px}.client-projects{padding-left:24px}.client-projects button{grid-template-columns:minmax(0,1fr) auto 16px}.client-projects button>span:nth-of-type(3){display:none}@media(max-width:1050px){.dashboard-columns{grid-template-columns:1fr;gap:0}}@media(max-width:700px){.dashboard-columns .staff-board-head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.dashboard-columns .staff-board-row{grid-template-columns:minmax(0,1fr) 110px;padding:12px}.dashboard-columns .staff-board-row>div{padding:0}.dashboard-columns .project-chip{min-width:0;max-width:none}}.dashboard-jumps{display:none}@media(max-width:700px){.dashboard-jumps{display:flex;gap:8px;margin:-8px 0 22px}.dashboard-jumps button{border:1px solid #d8dbea;border-radius:6px;background:#fff;color:#5049a4;padding:8px 10px;font-size:12px;font-weight:600}.dashboard-columns>.dashboard-section:first-child .board-heading{flex-direction:column;align-items:flex-start;gap:6px}}.more-options,.planning-details{margin-top:22px;border:1px solid var(--board-border);border-radius:8px;background:#fff;padding:14px 16px}.more-options summary,.planning-details summary{cursor:pointer;font-size:13px;font-weight:650;color:#414a60}.more-option-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:12px}.planning-details summary{display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:14px}.planning-details summary::-webkit-details-marker{display:none}.planning-details summary small{color:#687286;font-size:12px}.planning-details>p{color:#687286;font-size:13px;margin-top:8px}.planning-details>.btn{margin-top:14px}.planning-details table{min-width:680px;margin-top:8px}.staff-person .person{width:100%}.staff-person .person>span:last-child,.chip-text strong,.chip-text small,.client-name strong,.client-projects button>span:first-child,.project-table-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35}.staff-person .person>span:last-child{max-width:none}.client-name strong{min-width:0;flex:1}
