@import url("planner-visual-polish.css?v=20260905-2");
.task-workspace-dashboard-v2{width:min(1380px,100%);margin:0 auto}.task-dashboard-grid-v2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;height:min(720px,calc(100vh - 220px));min-height:560px;align-items:stretch}.task-dashboard-grid-v2 .task-view-card{position:relative;min-height:0;display:flex;flex-direction:column;overflow:hidden}.task-dashboard-grid-v2 .task-view-card-1{grid-column:1;grid-row:1/3}.task-dashboard-grid-v2 .task-view-card-2{grid-column:2;grid-row:1}.task-dashboard-grid-v2 .task-view-card-3{grid-column:2;grid-row:2}.task-dashboard-grid-v2 .task-view-list{flex:1;min-height:0;overflow-y:auto;padding:0 14px 8px;scrollbar-gutter:stable}.task-dashboard-grid-v2 .task-view-count{position:absolute;top:17px;right:15px;z-index:2;display:flex;align-items:baseline;gap:5px;padding:0;white-space:nowrap}.task-dashboard-grid-v2 .task-view-card:not(.task-view-card-1) .task-view-count{right:58px}.task-dashboard-grid-v2 .task-view-header{flex:0 0 auto}.task-dashboard-grid-v2 .task-view-header>div:first-child{min-width:0}.task-dashboard-grid-v2 .task-view-card-1 .task-view-header>div:first-child{max-width:calc(100% - 96px)}.task-dashboard-grid-v2 .task-view-card:not(.task-view-card-1) .task-view-header>div:first-child{max-width:calc(100% - 138px)}.task-dashboard-grid-v2 .task-view-header h2{font-size:16px}.task-dashboard-grid-v2 .task-view-header p{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-dashboard-grid-v2 .task-view-count{font-size:11px}.task-dashboard-grid-v2 .task-view-count strong{font-size:20px}.task-dashboard-grid-v2 .task-dashboard-row{grid-template-columns:30px minmax(0,1fr) auto 82px;gap:11px;min-height:60px;padding:9px 0}.task-dashboard-grid-v2 .task-dashboard-titleline{display:flex;align-items:center;gap:8px;min-width:0}.task-dashboard-grid-v2 .task-dashboard-titleline>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:670}.task-dashboard-grid-v2 .task-dashboard-titleline .tags{display:flex;flex:0 0 auto;margin:0;gap:4px;max-width:45%;overflow:hidden}.task-dashboard-grid-v2 .task-dashboard-titleline .tag{font-size:10px;padding:2px 7px;white-space:nowrap}.task-dashboard-grid-v2 .task-dashboard-status .badge{font-size:10px;font-weight:650;padding:4px 8px;border:1px solid transparent}.task-status-badge.planned{color:#6b7280;background:#f1f3f5;border-color:#e5e7eb}.task-status-badge.progress{color:#2f6fda;background:#eaf2ff;border-color:#cfe0ff}.task-status-badge.done{color:#2f8f62;background:#e9f7ef;border-color:#cdebd9}.task-dashboard-grid-v2 .task-dashboard-row time{font-size:10.5px}.task-dashboard-grid-v2 .task-view-empty{min-height:100%;font-size:12px}.task-view-menu-wrap{position:relative}.task-view-menu{position:absolute;right:0;top:36px;z-index:50;width:170px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);box-shadow:var(--shadow-raised)}.task-view-menu button{display:block;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:11px;text-align:left;cursor:pointer}.task-view-menu button:hover{background:var(--surface-2)}.planner-switch:has([data-finance-workspace-view]){min-width:190px}.planner-switch:has([data-finance-workspace-view]) button{min-width:92px}.finance-v4-head .finance-view-switch,.finance-analytics-stable .finance-view-switch{display:none!important}@media(max-width:1100px){.task-dashboard-grid-v2{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:none}.task-dashboard-grid-v2 .task-view-card-1,.task-dashboard-grid-v2 .task-view-card-2,.task-dashboard-grid-v2 .task-view-card-3{grid-column:1;grid-row:auto;min-height:360px;max-height:520px}}@media(max-width:720px){.task-dashboard-grid-v2 .task-view-count{top:18px;font-size:10px}.task-dashboard-grid-v2 .task-view-count strong{font-size:18px}.task-dashboard-grid-v2 .task-view-card-1 .task-view-header>div:first-child{max-width:calc(100% - 82px)}.task-dashboard-grid-v2 .task-view-card:not(.task-view-card-1) .task-view-header>div:first-child{max-width:calc(100% - 124px)}.task-dashboard-grid-v2 .task-dashboard-row{grid-template-columns:28px minmax(0,1fr) auto}.task-dashboard-grid-v2 .task-dashboard-row time{display:none}.task-dashboard-grid-v2 .task-dashboard-titleline .tags{max-width:38%}.task-dashboard-grid-v2 .task-dashboard-status .badge{font-size:9px;padding:3px 6px}}

/* Full task list: reserve explicit space for metadata columns. The legacy auto
   table layout could squeeze the final Duration heading against the right edge
   after the workspace-width changes, even though the row values themselves
   were short. On desktop the list fits without horizontal scrolling; narrower
   viewports keep the existing table-wrap overflow behavior. */
#content:has(#task-search) .table-wrap > table {
  table-layout: fixed;
  min-width: 1120px;
}
#content:has(#task-search) .table-wrap > table :is(th, td):nth-child(1) { width: 52px; }
#content:has(#task-search) .table-wrap > table :is(th, td):nth-child(3) { width: 170px; }
#content:has(#task-search) .table-wrap > table :is(th, td):nth-child(4) { width: 210px; }
#content:has(#task-search) .table-wrap > table :is(th, td):nth-child(5) { width: 126px; }
#content:has(#task-search) .table-wrap > table :is(th, td):nth-child(6) { width: 92px; white-space: nowrap; }
#content:has(#task-search) .table-wrap > table :is(th, td):nth-child(7) {
  width: 112px;
  padding-right: 20px;
  white-space: nowrap;
}

/* align desktop task menus */
@media (min-width: 721px) {
  .task-view-menu {
    width: 184px;
    padding: 6px;
    border-color: color-mix(in srgb, var(--border) 78%, transparent);
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface-solid) 96%, transparent);
    box-shadow:
      0 14px 36px rgb(15 23 42 / 15%),
      0 2px 8px rgb(15 23 42 / 6%),
      inset 0 1px 0 rgb(255 255 255 / 64%);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
  }

  .task-view-menu button {
    min-height: 36px;
    padding: 8px 10px;
    border-radius: 9px;
  }

  .task-view-menu button:hover,
  .task-view-menu button:focus-visible {
    background: color-mix(in srgb, var(--accent) 8%, var(--surface-solid));
    color: var(--text);
    outline: none;
  }
}

