/* Role-first work center — phase 3 */
#homeWorkspace { display: grid; gap: 18px; }
.dashboard-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  gap: 28px;
  overflow: hidden;
  padding: 28px 30px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 125%, rgba(61,178,149,.24), transparent 22rem),
    linear-gradient(120deg, var(--ds-brand-950), var(--ds-brand-700));
  color: #fff;
  box-shadow: 0 18px 44px rgba(13,51,43,.15);
}
.dashboard-hero::after { content:""; position:absolute; left:34%; top:-120px; width:270px; height:270px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); pointer-events:none; }
.dashboard-hero > div { position:relative; z-index:1; }
.dashboard-hero > div > small { color:#9ed3c6; font-size:10px; font-weight:700; }
.dashboard-hero h1 { margin:6px 0 4px; color:#fff !important; font-size:clamp(26px,3vw,38px); }
.dashboard-hero p { max-width:680px; margin:0; color:#c9e2dc; font-size:12px; line-height:1.8; }
.dashboard-health { display:inline-flex; align-items:center; gap:8px; margin-top:18px; padding:8px 11px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.08); }
.dashboard-health span { width:8px; height:8px; border-radius:50%; background:#6de0b5; box-shadow:0 0 0 5px rgba(109,224,181,.12); }
.dashboard-hero.attention .dashboard-health span { background:#ffc76b; box-shadow:0 0 0 5px rgba(255,199,107,.13); }
.dashboard-health b { font-size:10px; }
.dashboard-hero aside { position:relative; z-index:1; display:grid; align-content:center; padding:17px; border:1px solid rgba(255,255,255,.14); border-radius:17px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.dashboard-hero aside > span { display:grid; place-items:center; width:37px; height:37px; margin-bottom:11px; border-radius:11px; background:rgba(255,255,255,.12); color:#ffd18a; }
.dashboard-hero aside small { color:#9bc9be; font-size:8px; }
.dashboard-hero aside b { margin:4px 0 13px; font-size:13px; }
.dashboard-hero aside button { width:max-content; min-height:34px; padding:6px 10px; border:1px solid rgba(255,255,255,.17); border-radius:9px; background:rgba(255,255,255,.08); color:#fff; font:700 9px inherit; }
.dashboard-hero aside button:hover { background:rgba(255,255,255,.15); }

.dashboard-priorities,
.dashboard-projects,
.dashboard-activity,
.dashboard-finance { border:1px solid var(--ds-line); border-radius:18px; background:#fff; box-shadow:var(--ds-shadow-1); }
.dashboard-priorities { padding:18px; }
.dashboard-priorities > header,
.dashboard-projects > header,
.dashboard-activity > header,
.dashboard-finance > header { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.dashboard-priorities header small,
.dashboard-projects header small,
.dashboard-activity header small,
.dashboard-finance header small { color:var(--ds-brand-600); font-size:8px; font-weight:800; }
.dashboard-priorities h2,
.dashboard-projects h2,
.dashboard-activity h2,
.dashboard-finance h2 { margin:3px 0 0; font-size:17px; }
.dashboard-priorities > header > span { padding:5px 8px; border-radius:999px; background:var(--ds-brand-50); color:var(--ds-brand-700); font-size:8px; font-weight:800; }
.dashboard-priorities > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; }
.dashboard-action { position:relative; display:grid; grid-template-columns:43px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:2px 11px; min-height:100px; padding:13px; border:1px solid var(--ds-line); border-radius:14px; background:#fbfdfc; color:var(--ds-ink-800); text-align:right; box-shadow:none; }
.dashboard-action:hover { transform:translateY(-2px); border-color:var(--ds-brand-200); box-shadow:var(--ds-shadow-2); }
.dashboard-action > span { grid-row:1/3; display:grid; place-items:center; width:43px; height:43px; border-radius:12px; background:var(--ds-brand-100); color:var(--ds-brand-700); font-size:18px; }
.dashboard-action > div { display:grid; align-self:center; min-width:0; }
.dashboard-action small { color:var(--ds-ink-500); font-size:7px; }
.dashboard-action b { margin:2px 0; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-action em { color:var(--ds-ink-500); font-size:8px; font-style:normal; }
.dashboard-action strong { align-self:center; color:var(--ds-brand-800); font-size:26px; }
.dashboard-action > i { grid-column:3; color:var(--ds-brand-600); font-size:7px; font-style:normal; }
.dashboard-action.violet > span { background:var(--ds-violet-100); color:var(--ds-violet-700); }
.dashboard-action.amber > span { background:var(--ds-gold-100); color:var(--ds-gold-700); }
.dashboard-action.important { border-color:#e4ce9f; background:#fffcf5; }
.dashboard-action.important::after { content:""; position:absolute; inset-inline-start:0; top:13px; bottom:13px; width:3px; border-radius:3px; background:var(--ds-gold-500); }

.dashboard-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr); gap:14px; align-items:start; }
.dashboard-projects,
.dashboard-activity { overflow:hidden; }
.dashboard-projects > header,
.dashboard-activity > header,
.dashboard-finance > header { padding:17px 18px; border-bottom:1px solid var(--ds-line-soft); }
.dashboard-projects header button,
.dashboard-activity header button,
.dashboard-finance header button { min-height:34px; padding:6px 10px; border:1px solid var(--ds-line); border-radius:9px; background:#fff; color:var(--ds-brand-700); font:700 8px inherit; }
.dashboard-projects > div { display:grid; gap:9px; padding:12px; }
.dashboard-project { overflow:hidden; border:1px solid var(--ds-line); border-radius:14px; background:#fff; }
.dashboard-project.needs-attention { border-color:#ecd4a3; }
.dashboard-project > header { display:flex; justify-content:space-between; gap:12px; padding:12px 13px 7px; }
.dashboard-project > header small { color:var(--ds-ink-500); font-size:7px; }
.dashboard-project h3 { margin:2px 0 0; font-size:12px; }
.dashboard-project > header > span { align-self:start; padding:4px 7px; border-radius:999px; background:var(--ds-brand-50); color:var(--ds-brand-700); font-size:7px; font-weight:800; }
.dashboard-project.needs-attention > header > span { background:var(--ds-gold-100); color:var(--ds-gold-700); }
.dashboard-project-progress { display:grid; grid-template-columns:1fr 42px; align-items:center; gap:8px; padding:0 13px 9px; }
.dashboard-project-progress > div { height:5px; overflow:hidden; border-radius:999px; background:#edf1ef; }
.dashboard-project-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--ds-brand-600),#3bb292); }
.dashboard-project-progress b { color:var(--ds-brand-700); font-size:9px; text-align:left; }
.dashboard-project > section { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--ds-line-soft); background:var(--ds-surface-soft); }
.dashboard-project > section span { display:grid; padding:8px 13px; }
.dashboard-project > section span + span { border-inline-start:1px solid var(--ds-line-soft); }
.dashboard-project > section small { color:var(--ds-ink-500); font-size:7px; }
.dashboard-project > section b { margin-top:2px; overflow:hidden; color:var(--ds-ink-800); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-project > footer { display:flex; align-items:center; gap:6px; padding:9px 12px; }
.dashboard-project > footer span { padding:4px 6px; border-radius:7px; background:#fff6e6; color:#956119; font-size:7px; }
.dashboard-project > footer button { margin-inline-start:auto; min-height:31px; padding:5px 9px; border:0; border-radius:8px; background:var(--ds-brand-50); color:var(--ds-brand-700); font:800 8px inherit; }

.dashboard-activity-list { display:grid; }
.dashboard-activity-list article { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; padding:11px 14px; border-bottom:1px solid var(--ds-line-soft); }
.dashboard-activity-list article:last-child { border-bottom:0; }
.dashboard-activity-list article > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:var(--ds-brand-50); color:var(--ds-brand-700); font-weight:900; }
.dashboard-activity-list article > div { display:grid; min-width:0; }
.dashboard-activity-list b { font-size:9px; }
.dashboard-activity-list small { margin-top:2px; overflow:hidden; color:var(--ds-ink-500); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-activity-list time { color:var(--ds-ink-500); font-size:7px; white-space:nowrap; }

.dashboard-finance { overflow:hidden; }
.dashboard-finance > div { display:grid; grid-template-columns:repeat(4,1fr); }
.dashboard-finance article { display:grid; padding:15px 18px; border-inline-start:1px solid var(--ds-line-soft); }
.dashboard-finance article:first-child { border-inline-start:0; }
.dashboard-finance article small { color:var(--ds-ink-500); font-size:8px; }
.dashboard-finance article b { margin:5px 0 2px; color:var(--ds-ink-950); font-size:15px; }
.dashboard-finance article em { color:var(--ds-brand-600); font-size:7px; font-style:normal; }
.dashboard-finance article.warning { background:#fffbf3; }
.dashboard-finance article.warning em { color:var(--ds-gold-700); }
.dashboard-empty { display:grid; place-items:center; min-height:180px; padding:24px; color:var(--ds-ink-500); text-align:center; }
.dashboard-empty span { font-size:25px; }
.dashboard-empty b { margin-top:7px; color:var(--ds-ink-800); }
.dashboard-empty small { margin-top:3px; }
.dashboard-empty.compact { min-height:150px; }

@media (max-width:1050px) {
  .dashboard-hero { grid-template-columns:minmax(0,1fr) 230px; }
  .dashboard-priorities > div { grid-template-columns:1fr; }
  .dashboard-action { min-height:86px; }
  .dashboard-layout { grid-template-columns:1fr; }
  .dashboard-finance > div { grid-template-columns:1fr 1fr; }
  .dashboard-finance article:nth-child(3) { border-top:1px solid var(--ds-line-soft); border-inline-start:0; }
  .dashboard-finance article:nth-child(4) { border-top:1px solid var(--ds-line-soft); }
}

@media (max-width:780px) {
  #homeWorkspace { gap:12px; }
  .dashboard-hero { grid-template-columns:1fr; gap:15px; padding:21px 18px; border-radius:19px; }
  .dashboard-hero aside { grid-template-columns:38px 1fr auto; grid-template-rows:auto auto; column-gap:10px; padding:12px; }
  .dashboard-hero aside > span { grid-row:1/3; margin:0; }
  .dashboard-hero aside small { align-self:end; }
  .dashboard-hero aside b { align-self:start; margin:2px 0 0; }
  .dashboard-hero aside button { grid-row:1/3; grid-column:3; align-self:center; }
  .dashboard-priorities { padding:14px; }
  .dashboard-action { grid-template-columns:42px minmax(0,1fr) auto; }
  .dashboard-project > section { grid-template-columns:1fr; }
  .dashboard-project > section span + span { border-top:1px solid var(--ds-line-soft); border-inline-start:0; }
}

@media (max-width:520px) {
  .dashboard-hero p { font-size:10px; }
  .dashboard-health { max-width:100%; }
  .dashboard-health b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dashboard-priorities > header { align-items:flex-start; }
  .dashboard-action strong { font-size:22px; }
  .dashboard-finance > div { grid-template-columns:1fr; }
  .dashboard-finance article,
  .dashboard-finance article:nth-child(3) { border-top:1px solid var(--ds-line-soft); border-inline-start:0; }
  .dashboard-finance article:first-child { border-top:0; }
}
