/* Gestión: shared HR3 proportions and IslaPet palette for every role and section. */
.ip-workspace-body {
  --ip-color-page:#fdfcfe;
  --ip-color-surface:#ffffff;
  --ip-color-surface-subtle:#fdfcfe;
  --ip-color-surface-related:#f0ecf6;
  --ip-color-text:#292238;
  --ip-color-text-muted:#70667e;
  --ip-color-border:#eae5f0;
  --ip-color-border-strong:#d4cadf;
  --ip-color-action:#6d5da7;
  --ip-color-action-hover:#5c4d99;
  --ip-color-action-soft:#eee8f8;
  --ip-color-link:#5c4d99;
  --ip-color-focus:#6d5da7;
  --ip-color-on-action:#fff;
  --ip-purple-300:#b4a3d9;
  --ip-dashboard-mint:#dff6ed;
  --ip-dashboard-mint-ink:#137960;
  --ip-dashboard-rose:#ffedf0;
  --ip-dashboard-rose-ink:#ba405e;
  --ip-dashboard-quick-bg:#f0eafa;
  --ip-dashboard-shadow:0 2px 5px rgb(58 34 89 / .025);
  --ip-workspace-sidebar-bg:var(--ip-color-surface-subtle);
  --ip-workspace-topbar-height:80px;
  --ip-workspace-gutter:20px;
  --ip-workspace-sidebar-width:220px;
  --ip-dashboard-aside-width:306px;
  --ip-dashboard-hero-height:296px;
  --ip-dashboard-header:#faf7fd;
  --ip-panel-radius:14px;
  --ip-card-radius:14px;
  --ip-panel-gap:16px;
  --ip-input-radius:10px;
  --ip-focus-ring:0 0 0 3px rgb(109 93 167 / .18);
  color:var(--ip-color-text);
  background:var(--ip-color-page);
}
[data-theme="dark"] .ip-workspace-body {
  --ip-color-page:var(--ip-ink-950);
  --ip-color-surface:var(--ip-ink-900);
  --ip-color-surface-subtle:var(--ip-ink-850);
  --ip-color-surface-related:var(--ip-ink-875);
  --ip-color-text:var(--ip-ink-100);
  --ip-color-text-muted:var(--ip-ink-300);
  --ip-color-border:var(--ip-ink-700);
  --ip-color-border-strong:var(--ip-ink-600);
  --ip-color-action:var(--ip-purple-200);
  --ip-color-action-hover:color-mix(in srgb,var(--ip-purple-200) 75%,var(--ip-white));
  --ip-color-action-soft:color-mix(in srgb,var(--ip-color-action) 12%,var(--ip-color-surface));
  --ip-color-link:var(--ip-purple-200);
  --ip-color-focus:var(--ip-purple-200);
  --ip-color-on-action:var(--ip-ink-950);
  --ip-purple-300:#b4a3d9;
  --ip-dashboard-mint:#1d403d;
  --ip-dashboard-mint-ink:#8cdebe;
  --ip-dashboard-rose:#472b41;
  --ip-dashboard-rose-ink:#ffafc5;
  --ip-dashboard-quick-bg:var(--ip-ink-850);
  --ip-dashboard-header:var(--ip-ink-900);
  --ip-workspace-sidebar-bg:var(--ip-color-page);
  --ip-dashboard-shadow:0 2px 6px rgb(0 0 0 / .12);
}
.ip-workspace-body .ip-shell__main { padding-top:calc(var(--ip-workspace-topbar-height) + 16px); }
.ip-workspace-body .ip-shell__content { max-width:1560px; }
.ip-workspace-body .ip-workspace-topbar { border:0; gap:16px; background:var(--ip-surface-texture),linear-gradient(90deg,var(--ip-color-page),var(--ip-dashboard-header)); }
@media(min-width:1024px) {
  [data-theme="dark"] .ip-workspace-body .ip-workspace-topbar { background:var(--ip-dashboard-header) var(--ip-surface-texture) repeat; }
}
.ip-workspace-body .ip-workspace-search { flex:0 1 460px; width:min(100%,460px); max-width:460px; height:40px; border-radius:14px; background:var(--ip-color-surface); }
.ip-workspace-body .ip-workspace-search input { font-size:12px; }
.ip-workspace-body .ip-workspace-topbar__actions { margin-left:auto; gap:8px; }
.ip-workspace-header-inner { display:contents; }
.ip-workspace-header-divider { width:1px; height:22px; background:var(--ip-color-border-strong); align-self:center; }
@media(max-width:1023px) { .ip-workspace-header-divider { display:none; } }
.ip-workspace-body .ip-header-icon { border:0; border-radius:50%; background:transparent; }
.ip-workspace-body .ip-workspace-account { border:0; padding-left:8px; }
.ip-workspace-body .ip-workspace-account__identity strong { font-size:13px; font-weight:700; max-width:19ch; }
.ip-workspace-body .ip-shell-sidebar__brand { min-height:80px; padding:16px; }
.ip-workspace-body .ip-shell-sidebar__brand img { width:108px; height:44px; }
.ip-workspace-body .ip-shell-sidebar__scroll { padding:8px 16px; }
.ip-workspace-body .ip-shell-nav__title { font-size:10px; font-weight:500; text-transform:uppercase; color:var(--ip-color-text-muted); margin:0 12px 8px; }
.ip-workspace-body .ip-shell-nav__link { min-height:40px; padding:9px 12px; gap:12px; border-radius:10px; font-size:13px; color:var(--ip-color-text-muted); }
.ip-workspace-body .ip-shell-nav__group { gap:6px; }
.ip-workspace-body .ip-shell-nav__icon .ip-icon { width:19px; height:19px; }
.ip-workspace-body .ip-shell-nav__link.is-active { color:var(--ip-color-action); background:var(--ip-color-action-soft); }
.ip-workspace-body .ip-shell-nav__link.is-active::before { display:none; }
.ip-workspace-body .ip-shell-sidebar__footer { display:flex; padding:16px; }
.ip-dashboard-explore { overflow:hidden; border:1px solid var(--ip-color-border); border-radius:14px; background:var(--ip-dashboard-quick-bg); }
.ip-dashboard-explore > img { display:block; width:100%; height:90px; object-fit:cover; object-position:69% 55%; }
.ip-dashboard-explore > div { padding:12px; }
.ip-workspace-body .ip-dashboard-explore h2 { margin:0; font-size:16px; line-height:1.4; letter-spacing:-.035em; color:var(--ip-color-text); }
.ip-workspace-body .ip-dashboard-explore p { margin:8px 0 12px; font-size:12px; line-height:1.6; color:var(--ip-color-text-muted); }
.ip-dashboard-explore a { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:8px 12px; border-radius:20px; font-size:11px; font-weight:650; color:var(--ip-color-on-action); background:var(--ip-color-action); text-decoration:none; }
.ip-dashboard-explore a:hover { background:var(--ip-color-action-hover); }
.ip-dashboard-explore .ip-icon { width:14px; height:14px; }
.ip-workspace-body .is-collapsed .ip-dashboard-explore { display:none; }
.ip-workspace-body .ip-volunteer-home { --ip-home-kpi-height:104px; grid-template-columns:minmax(0,1fr) var(--ip-dashboard-aside-width); gap:16px; }
.ip-workspace-body .ip-home-main { gap:16px; }
.ip-workspace-body .ip-home-aside { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:0; background:transparent; border:0; border-radius:0; }
.ip-dashboard-hero { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:var(--ip-dashboard-hero-height); padding:24px; isolation:isolate; overflow:hidden; border-radius:16px; background:#ebe5f2; }
.ip-dashboard-hero__photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:65% 51%; }
.ip-dashboard-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgb(245 241 250 / .92),rgb(245 241 250 / .55) 40%,transparent 68%),linear-gradient(270deg,rgb(38 24 54 / .70) 0 22%,transparent 60%); }
.ip-dashboard-hero__side { display:flex; flex:0 0 164px; flex-direction:column; gap:14px; }
.ip-dashboard-wave { display:inline-block; font-size:20px; line-height:1; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social { min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; text-shadow:0 1px 3px rgb(0 0 0 / .25); }
.ip-workspace-body .ip-dashboard-hero .ip-home-social dl > div { gap:2px; border:0; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social dl > div:hover { background:transparent; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social :is(dt,dd,p) { color:#fff; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social dd { font-size:23px; line-height:1.3; font-weight:700; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social dt { font-size:11px; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social dt button:hover { text-decoration:underline; }
.ip-workspace-body .ip-dashboard-hero .ip-home-social dt button:focus-visible::after { outline-color:#fff; }
.ip-dashboard-hero__copy { min-width:0; flex:1; align-self:center; }
.ip-workspace-body .ip-dashboard-hello { display:flex; align-items:center; gap:8px; margin:0 0 10px; max-width:100%; font-size:12px; font-weight:650; color:#292238; }
.ip-dashboard-hello > span:last-child { white-space:nowrap; text-overflow:ellipsis; overflow:hidden; max-width:30ch; }
.ip-dashboard-mini-avatar { display:grid; place-items:center; width:22px; height:22px; flex-shrink:0; border-radius:50%; overflow:hidden; background:#e0d5ee; font-size:10px; }
.ip-dashboard-mini-avatar img { width:100%; height:100%; object-fit:cover; }
.ip-workspace-body .ip-dashboard-hero h2 { margin:0; max-width:17ch; color:#292238; font-size:clamp(25px,2.15vw,34px); line-height:1.15; font-weight:750; letter-spacing:-.045em; }
.ip-workspace-body .ip-dashboard-hero__copy > p:last-child { margin:16px 0 0; max-width:30ch; color:#51435e; font-size:14px; font-weight:500; line-height:1.6; }
.ip-dashboard-progress { display:flex; flex-direction:column; align-items:center; gap:12px; width:100%; padding:16px 12px; border:1px solid rgb(255 255 255 / .9); border-radius:16px; background:rgb(255 255 255 / .96); color:#292238; text-decoration:none; box-shadow:0 4px 18px rgb(41 34 56 / .08); }
.ip-dashboard-progress > strong { font-size:12px; font-weight:700; }
.ip-dashboard-progress__ring { position:relative; display:grid; place-items:center; width:80px; height:80px; border-radius:50%; background:conic-gradient(from -90deg,#6d5da7 0%,#b4a3d9 var(--ip-profile-progress),#ece7f3 0); }
.ip-dashboard-progress__ring::before { content:""; position:absolute; inset:7px; border-radius:50%; background:#fff; }
.ip-dashboard-progress__ring > span { position:relative; font-size:23px; font-weight:750; letter-spacing:-.04em; }
.ip-workspace-body .ip-dashboard-progress > strong,
.ip-workspace-body .ip-dashboard-progress__ring > span { color:#292238; }
.ip-dashboard-progress__link { display:flex; align-items:center; gap:5px; font-size:11px; font-weight:650; color:#5c4d99; }
.ip-dashboard-progress__link .ip-icon { width:13px; height:13px; }
.ip-workspace-body :is(.ip-home-kpi,.ip-home-publications,.ip-dashboard-applications,.ip-home-social,.ip-home-community,.ip-dashboard-statistics,.ip-dashboard-quick) { background:var(--ip-color-surface); border:1px solid var(--ip-color-border); border-radius:14px; box-shadow:var(--ip-dashboard-shadow); }
.ip-workspace-body .ip-home-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ip-workspace-body .ip-home-kpi { position:relative; align-items:center; gap:10px; padding:12px; min-height:104px; }
.ip-workspace-body .ip-home-kpi > span:nth-child(2) { display:flex; flex-direction:column-reverse; gap:4px; }
.ip-workspace-body .ip-home-kpi > .ip-icon { display:none; }
.ip-workspace-body .ip-home-kpi strong { font-size:11px; font-weight:500; color:var(--ip-color-text-muted); }
.ip-workspace-body .ip-home-kpi small { color:var(--ip-color-text); font-size:24px; font-weight:750; letter-spacing:-.04em; line-height:1.2; }
.ip-workspace-body .ip-home-kpi small span { display:none; }
.ip-workspace-body .ip-home-kpi__icon { width:34px; height:34px; flex:0 0 34px; border-radius:12px; }
.ip-workspace-body .ip-home-kpi__icon .ip-icon { width:21px; height:21px; }
.ip-workspace-body .ip-home-kpi:nth-child(2) .ip-home-kpi__icon { background:var(--ip-dashboard-rose); color:var(--ip-dashboard-rose-ink); }
.ip-workspace-body .ip-home-kpi:nth-child(3) .ip-home-kpi__icon { background:var(--ip-dashboard-mint); color:var(--ip-dashboard-mint-ink); }
.ip-workspace-body .ip-home-kpi:nth-child(4) .ip-home-kpi__icon { background:var(--ip-color-action-soft); color:var(--ip-color-action); }
.ip-workspace-body :is(.ip-home-publications,.ip-dashboard-applications,.ip-home-community,.ip-dashboard-statistics,.ip-dashboard-quick) { padding:16px; }
.ip-workspace-body .ip-home-section-head { margin-bottom:12px; min-height:32px; }
.ip-workspace-body .ip-home-section-head h2 { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:750; letter-spacing:-.025em; }
.ip-workspace-body .ip-home-section-head > a { font-weight:600; font-size:11px; min-height:32px; }
.ip-dashboard-section-icon { display:grid; place-items:center; width:32px; height:32px; flex-shrink:0; border-radius:10px; background:var(--ip-color-action-soft); color:var(--ip-color-action); }
.ip-dashboard-section-icon .ip-icon { width:18px; height:18px; }
.ip-workspace-body .ip-home-publication-grid { gap:12px; }
.ip-workspace-body .ip-home-publication { padding:0; background:transparent; border-radius:10px; }
.ip-workspace-body .ip-home-publication__photo { aspect-ratio:1.85; border-radius:10px; }
.ip-workspace-body .ip-home-publication:hover { transform:translateY(-2px); box-shadow:none; }
.ip-workspace-body .ip-home-publication h3 { margin:8px 0 12px; font-size:13px; font-weight:700; line-height:1.45; }
.ip-workspace-body .ip-home-publication__copy { padding:10px 0 0; }
.ip-workspace-body .ip-home-type { border-radius:6px; font-size:10px; }
.ip-workspace-body .ip-home-publication footer > span:last-child { font-weight:600; }
.ip-workspace-body .ip-home-publication footer { font-size:11px; padding-top:8px; }
.ip-workspace-body .ip-dashboard-quick { display:flex; flex-direction:column; min-height:var(--ip-dashboard-hero-height); background:var(--ip-dashboard-quick-bg); }
.ip-dashboard-quick__grid { display:grid; flex:1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ip-dashboard-quick__action { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:8px; min-width:0; min-height:83px; padding:12px; border:1px solid transparent; border-radius:12px; background:var(--ip-color-surface); color:var(--ip-color-text); font:inherit; text-decoration:none; text-align:left; cursor:pointer; }
.ip-dashboard-quick__action > span { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--ip-color-action-soft); color:var(--ip-color-action); }
.ip-dashboard-quick__action .ip-icon { width:20px; height:20px; }
.ip-dashboard-quick__action strong { font-size:11px; font-weight:550; line-height:1.5; }
.ip-dashboard-quick__action:hover { border-color:var(--ip-color-border-strong); box-shadow:var(--ip-dashboard-shadow); }
.ip-dashboard-quick__action.is-locked { color:var(--ip-color-text-muted); }
.ip-dashboard-quick__action.is-locked > span { background:var(--ip-color-surface-related); color:var(--ip-color-text-muted); }
.ip-workspace-body .ip-home-social { min-height:84px; padding:12px; }
.ip-workspace-body .ip-home-social dd { font-size:26px; font-weight:750; }
.ip-workspace-body .ip-home-social dt { font-size:12px; }
.ip-workspace-body .ip-home-community { min-width:0; }
.ip-workspace-body .ip-home-people { gap:0; padding:0; background:transparent; border-radius:0; }
.ip-workspace-body .ip-home-volunteer { padding:12px 0; border-radius:0; background:transparent; }
.ip-workspace-body .ip-home-volunteer + .ip-home-volunteer { border-top:1px solid var(--ip-color-border); }
.ip-workspace-body .ip-home-person strong { font-size:12px; font-weight:650; }
.ip-workspace-body .ip-home-person small { font-size:11px; }
.ip-workspace-body .ip-home-follow { border:1px solid var(--ip-color-border); background:transparent; color:var(--ip-color-action); border-radius:20px; min-height:32px; cursor:pointer; }
.ip-workspace-body .ip-home-follow:hover { background:var(--ip-color-action-soft); }
.ip-workspace-body .ip-home-see-all { margin-top:4px; min-height:32px; font-size:11px; }
.ip-workspace-body .ip-home-chart h3 { font-size:14px; font-weight:750; }
.ip-workspace-body .ip-home-chart__value { margin:12px 0 16px; }
.ip-workspace-body .ip-home-bars { height:116px; }
.ip-workspace-body .ip-application-table-wrap.is-compact { border:0; border-radius:0; padding:0; background:transparent; overflow:hidden; }
.ip-workspace-body .ip-application-table th { padding:8px 12px; font-size:12px; text-transform:none; letter-spacing:0; font-weight:500; background:var(--ip-color-surface-related); }
.ip-workspace-body .ip-application-table td { padding:12px; }
.ip-workspace-body .ip-application-name strong { font-size:13px; font-weight:650; }
.ip-workspace-body .ip-application-avatar { width:34px; height:34px; flex-basis:34px; border-radius:50%; }
.ip-workspace-body .ip-application-identity time { font-size:10px; }
.ip-workspace-body .ip-application-status { border-radius:6px; font-size:10px; }
.ip-workspace-body .ip-application-type { border:0; border-radius:6px; padding:3px 8px; font-size:11px; font-weight:550; }
.ip-workspace-body .ip-home-empty { padding:24px 12px; }
.ip-workspace-body .ip-home-empty h3 { font-size:15px; }
.ip-workspace-body .ip-home-empty p { font-size:12px; }
.ip-dashboard-statistics { scroll-margin-top:100px; }
.ip-dashboard-application-table { width:100%; table-layout:auto; border-collapse:collapse; text-align:left; }
.ip-dashboard-application-table :is(th,td) { border:0; padding:12px 10px; vertical-align:middle; }
.ip-dashboard-application-table th { font-size:12px; font-weight:500; color:var(--ip-color-text-muted); background:color-mix(in srgb,var(--ip-color-action-soft) 30%,var(--ip-color-surface)); white-space:nowrap; }
.ip-dashboard-application-table th:first-child { border-radius:8px 0 0 8px; }
.ip-dashboard-application-table th:last-child { border-radius:0 8px 8px 0; }
.ip-dashboard-application-table td { font-size:13px; }
.ip-dashboard-application-table tbody tr + tr { border-top:1px solid var(--ip-color-border); }
.ip-dashboard-application-subject { width:42%; max-width:0; }
.ip-dashboard-application-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.ip-dashboard-application-identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:550; color:var(--ip-color-text); }
.ip-workspace-body .ip-dashboard-application-table .ip-application-avatar { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%; overflow:hidden; }
.ip-dashboard-application-date { white-space:nowrap; color:var(--ip-color-text-muted); font-variant-numeric:tabular-nums; }
.ip-dashboard-application-table .ip-dashboard-application-date { font-size:12px; }
.ip-dashboard-chip { display:inline-flex; align-items:center; max-width:100%; padding:3px 8px; border-radius:6px; font-size:11px; font-weight:550; line-height:1.45; white-space:nowrap; color:var(--ip-color-action); background:var(--ip-color-action-soft); }
.ip-dashboard-chip[data-kind="ong"],.ip-dashboard-chip[data-state="active"],.ip-dashboard-chip[data-state="confirmed"],.ip-dashboard-chip[data-state="completed"] { color:var(--ip-dashboard-mint-ink); background:var(--ip-dashboard-mint); }
.ip-dashboard-chip[data-kind="adopcion"],.ip-dashboard-chip[data-state="rejected"],.ip-dashboard-chip[data-state="declined"] { color:var(--ip-dashboard-rose-ink); background:var(--ip-dashboard-rose); }
.ip-dashboard-chip[data-kind="eventos"],.ip-dashboard-chip[data-state="pending"],.ip-dashboard-chip[data-state="waiting"] { color:#80571d; background:#fff3d9; }
.ip-dashboard-chip[data-state="withdrawn"],.ip-dashboard-chip[data-state="cancelled"],.ip-dashboard-chip[data-state="expired"] { color:var(--ip-color-text-muted); background:var(--ip-color-surface-related); }
[data-theme="dark"] .ip-dashboard-chip[data-kind="eventos"],[data-theme="dark"] .ip-dashboard-chip[data-state="pending"],[data-theme="dark"] .ip-dashboard-chip[data-state="waiting"] { color:#efd191; background:#403522; }
.ip-dashboard-application-actions { width:36px; }
.ip-dashboard-application-table .ip-dashboard-application-actions { padding:6px 0 6px 4px; }
.ip-dashboard-row-menu { position:relative; width:36px; margin:0; }
.ip-dashboard-row-menu > summary { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; list-style:none; color:var(--ip-color-text-muted); cursor:pointer; }
.ip-dashboard-row-menu > summary::-webkit-details-marker { display:none; }
.ip-dashboard-row-menu > summary .ip-icon { width:18px; height:18px; }
.ip-dashboard-row-menu[open] > summary,.ip-dashboard-row-menu > summary:hover { background:var(--ip-color-action-soft); color:var(--ip-color-action); }
.ip-dashboard-row-menu > summary:focus-visible { outline:2px solid var(--ip-color-focus); outline-offset:2px; }
.ip-dashboard-row-menu__items { position:absolute; right:0; bottom:calc(100% + 4px); z-index:8; display:grid; width:210px; padding:6px; border:1px solid var(--ip-color-border); border-radius:12px; background:var(--ip-color-surface); box-shadow:0 8px 24px rgb(30 20 45 / .13); }
.ip-dashboard-row-menu__items > :is(a,button) { display:flex; align-items:center; gap:10px; min-height:38px; width:100%; padding:9px 10px; border:0; border-radius:8px; font:inherit; font-size:12px; font-weight:500; text-align:left; text-decoration:none; color:var(--ip-color-text); background:transparent; cursor:pointer; }
.ip-dashboard-row-menu__items > :is(a,button):hover { background:var(--ip-color-action-soft); }
.ip-dashboard-row-menu__items .ip-icon { width:16px; height:16px; flex:0 0 16px; color:var(--ip-color-text-muted); }
.ip-dashboard-application-facts { display:grid; gap:16px; margin:0; }
.ip-dashboard-application-facts > div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.ip-dashboard-application-facts dt { color:var(--ip-color-text-muted); }
.ip-dashboard-application-facts dd { margin:0; color:var(--ip-color-text); font-weight:600; }
.ip-dashboard-detail-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:24px; }
@media(min-width:1024px) {
  .ip-workspace-body .ip-workspace-topbar { display:flex; padding-inline:var(--ip-workspace-gutter); }
  .ip-workspace-body .ip-workspace-header-inner { display:grid; grid-template-columns:minmax(0,1fr) var(--ip-dashboard-aside-width); align-items:center; gap:16px; width:100%; max-width:1560px; margin-inline:auto; }
  .ip-workspace-body .ip-workspace-topbar__actions { display:grid; width:100%; grid-template-columns:32px 32px 1px 36px minmax(0,1fr); gap:8px; }
  .ip-workspace-body .ip-workspace-topbar__actions .ip-header-feed { height:36px; }
  .ip-workspace-body .ip-workspace-topbar__actions .ip-header-icon { width:32px; min-width:32px; height:36px; border:0; background:transparent; }
  .ip-workspace-body .ip-workspace-topbar__actions > .ip-workspace-theme-toggle { --ip-button-radius:50%; width:36px; min-width:36px; height:36px; min-height:36px; aspect-ratio:1; border:1px solid var(--ip-color-border); border-radius:50%; background:transparent; }
  .ip-workspace-body .ip-workspace-account { min-width:0; width:100%; margin:0; padding:0 0 0 4px; }
  .ip-workspace-body .ip-workspace-account > summary { width:100%; max-width:none; height:44px; gap:8px; padding:0; }
  .ip-workspace-body .ip-workspace-avatar { width:38px; height:38px; flex:0 0 38px; }
  .ip-workspace-body .ip-workspace-account__identity { flex:1; }
  .ip-workspace-body .ip-workspace-account__identity strong { max-width:none; font-size:12px; }
  .ip-workspace-body .ip-workspace-topbar__context { display:none; }
  .ip-workspace-body .ip-shell-sidebar__toggle { --ip-button-radius:10px; display:grid; place-items:center; width:36px; height:36px; padding:8px; border:1px solid var(--ip-color-border); border-radius:10px; color:var(--ip-color-text-muted); background:var(--ip-color-surface); }
  .ip-workspace-body .ip-shell-sidebar .ip-shell-sidebar__toggle .ip-icon { width:18px; height:18px; transform:none; }
  .ip-workspace-body .ip-shell-sidebar__toggle:hover { color:var(--ip-color-action); background:var(--ip-color-action-soft); }
  .ip-workspace-body .is-collapsed .ip-shell-sidebar__brand { flex-direction:column; justify-content:center; gap:4px; padding:8px; }
  .ip-workspace-body .is-collapsed .ip-shell-sidebar__brand img { width:40px; height:28px; }
  .ip-workspace-body .is-collapsed .ip-shell-sidebar__scroll { padding:8px; }
  .ip-workspace-body .ip-workspace-account__identity small { display:block; margin-top:2px; color:var(--ip-color-text-muted); font-size:10px; }
  .ip-workspace-body .ip-workspace-account > summary > .ip-icon { display:block; width:12px; height:12px; margin-left:0; flex:0 0 12px; color:var(--ip-color-text-muted); }
}
@media(min-width:1600px) { .ip-workspace-body { --ip-dashboard-aside-width:332px; } }
@media(max-width:1200px) and (min-width:1024px) {
  .ip-workspace-body { --ip-workspace-sidebar-width:196px; --ip-workspace-gutter:16px; --ip-dashboard-aside-width:270px; }
  .ip-workspace-body .ip-volunteer-home { grid-template-columns:minmax(0,1fr) 270px; }
  .ip-workspace-body .ip-home-kpi { flex-direction:column; align-items:flex-start; gap:8px; padding:12px; min-height:120px; }
  .ip-workspace-body .ip-home-kpi__icon { width:32px; height:32px; flex-basis:32px; }
  .ip-dashboard-hero__side { flex-basis:140px; }
  .ip-dashboard-progress { padding-inline:8px; }
  .ip-workspace-body .ip-dashboard-hero h2 { font-size:25px; }
  .ip-dashboard-hero { padding:16px; gap:12px; }
}
@media(max-width:1023px) and (min-width:801px) {
  .ip-workspace-body .ip-volunteer-home { grid-template-columns:minmax(0,1fr) 280px; }
  .ip-workspace-body .ip-home-kpi { flex-direction:column; align-items:flex-start; gap:8px; padding:12px; min-height:120px; }
  .ip-workspace-body .ip-home-kpi__icon { width:32px; height:32px; flex-basis:32px; }
  .ip-workspace-body .ip-home-kpi strong { font-size:11px; }
  .ip-dashboard-hero__side { flex-basis:140px; }
}
@media(max-width:800px) {
  .ip-workspace-body .ip-volunteer-home { grid-template-columns:minmax(0,1fr); }
  .ip-workspace-body .ip-home-aside { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .ip-workspace-body .ip-home-social { min-height:96px; }
}
@media(max-width:700px) {
  .ip-workspace-body { --ip-workspace-gutter:16px; --ip-control-target:44px; }
  .ip-workspace-body .ip-workspace-topbar { gap:8px; }
  .ip-workspace-body .ip-workspace-topbar__actions { gap:4px; }
  .ip-workspace-body .ip-workspace-search { max-width:none; height:44px; background:var(--ip-color-surface); }
  .ip-workspace-body .ip-workspace-search input { font-size:16px; }
  .ip-workspace-body .ip-workspace-account { padding:0; }
  .ip-workspace-body .ip-header-icon { border:0; background:transparent; }
  .ip-workspace-body .ip-header-icon::before { display:none; }
  .ip-workspace-body .ip-shell__main { padding-top:calc(var(--ip-workspace-topbar-height) + 8px); }
  .ip-dashboard-hero { display:grid; grid-template-columns:minmax(0,1fr); min-height:0; padding:20px; gap:24px; }
  .ip-dashboard-hero__photo { object-position:64% center; }
  .ip-dashboard-hero::after { background:linear-gradient(90deg,rgb(245 241 250 / .96),rgb(245 241 250 / .65) 40%,transparent 75%),linear-gradient(0deg,rgb(38 24 54 / .8),transparent 70%); }
  .ip-dashboard-hero__copy { max-width:90%; }
  .ip-workspace-body .ip-dashboard-hero h2 { font-size:30px; }
  .ip-workspace-body .ip-dashboard-hero__copy > p:last-child { max-width:26ch; font-size:14px; }
  .ip-dashboard-hero__side { width:100%; gap:16px; }
  .ip-workspace-body .ip-dashboard-hero .ip-home-social { width:164px; align-self:flex-end; }
  .ip-dashboard-progress { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:8px 12px; padding:12px; border-radius:12px; width:100%; justify-self:stretch; }
  .ip-dashboard-progress__ring { grid-column:1; grid-row:1/3; width:52px; height:52px; }
  .ip-dashboard-progress__ring::before { inset:5px; }
  .ip-dashboard-progress__ring > span { font-size:16px; }
  .ip-dashboard-progress > strong { grid-column:2/-1; align-self:end; }
  .ip-dashboard-progress__link { grid-column:2/-1; align-self:start; font-size:12px; }
  .ip-workspace-body .ip-home-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .ip-workspace-body .ip-home-kpi { flex-direction:column; align-items:flex-start; padding:12px 10px; gap:12px; min-height:120px; }
  .ip-workspace-body .ip-home-kpi__icon { width:32px; height:32px; flex-basis:auto; }
  .ip-workspace-body .ip-home-kpi small { font-size:22px; }
  .ip-workspace-body .ip-home-kpi strong { font-size:12px; }
  .ip-workspace-body .ip-home-section-head h2 { font-size:13px; gap:8px; }
  .ip-workspace-body .ip-home-section-head { gap:8px; }
  .ip-workspace-body .ip-home-section-head > a { min-height:44px; font-size:11px; }
  .ip-workspace-body .ip-home-aside { grid-template-columns:minmax(0,1fr); }
  .ip-workspace-body .ip-home-publication-grid { grid-template-columns:repeat(3,minmax(185px,1fr)); }
  .ip-workspace-body .ip-dashboard-quick { grid-row:1; min-height:250px; }
  .ip-workspace-body .ip-home-social { grid-row:2; }
  .ip-dashboard-quick__action { min-height:92px; }
  .ip-dashboard-quick__action strong { font-size:12px; }
  .ip-workspace-body .ip-application-table td { padding:0; }
  .ip-workspace-body .ip-application-table tbody tr { gap:8px; padding:12px 0; }
  .ip-workspace-body .ip-home-follow { min-height:44px; padding-inline:12px; }
  .ip-workspace-body .ip-home-see-all { min-height:44px; }
  .ip-dashboard-application-table,.ip-dashboard-application-table tbody { display:block; }
  .ip-dashboard-application-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ip-dashboard-application-table tbody tr { display:grid; grid-template-columns:auto minmax(0,1fr) auto 36px; align-items:center; gap:10px 8px; padding:14px 0; }
  .ip-dashboard-application-table td { display:block; padding:0; max-width:none; width:auto; }
  .ip-dashboard-application-subject { grid-column:1/4; grid-row:1; }
  .ip-dashboard-application-type { grid-column:1; grid-row:2; }
  .ip-dashboard-application-state { grid-column:2; grid-row:2; }
  .ip-dashboard-application-date { grid-column:3/5; grid-row:2; justify-self:end; }
  .ip-dashboard-application-table .ip-dashboard-application-date { font-size:11px; }
  .ip-dashboard-application-actions { grid-column:4; grid-row:1; }
  .ip-dashboard-application-table .ip-dashboard-application-actions { padding:0; }
  .ip-dashboard-row-menu { width:36px; }
  .ip-dashboard-row-menu > summary { min-height:44px; width:36px; }
  .ip-dashboard-row-menu__items > :is(a,button) { min-height:44px; }
  .ip-dashboard-application-table .ip-dashboard-chip { font-size:10px; padding:3px 6px; }
}
@media(prefers-reduced-motion:no-preference) {
  .ip-workspace-body .ip-home-main > :is(section,.ip-home-kpis),.ip-workspace-body .ip-home-aside > section { animation:ip-dashboard-appear 260ms ease-out both; }
  .ip-workspace-body .ip-home-kpis { animation-delay:35ms; }
  .ip-workspace-body .ip-home-publications { animation-delay:65ms; }
  .ip-workspace-body .ip-dashboard-applications { animation-delay:95ms; }
  .ip-dashboard-progress { transition:box-shadow 180ms ease; }
  .ip-dashboard-progress:hover { box-shadow:0 6px 20px rgb(21 43 74 / .17); }
}
@keyframes ip-dashboard-appear { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) {
  .ip-workspace-body :is(a,button,.ip-home-kpi,.ip-home-publication) { animation:none; transition:none; }
  .ip-workspace-body :is(.ip-home-kpi,.ip-home-publication):hover { transform:none; }
}

/* Type colors follow content semantics, never the card position. */
.ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind] { color:var(--ip-color-action); background:var(--ip-color-action-soft); }
.ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind="ong"] { color:var(--ip-dashboard-mint-ink); background:var(--ip-dashboard-mint); }
.ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind="adopcion"] { color:var(--ip-dashboard-rose-ink); background:var(--ip-dashboard-rose); }
.ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind="eventos"] { color:#80571d; background:#fff3d9; }
.ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind="necesidades"] { color:#a34b16; background:#fff0e2; }
[data-theme="dark"] .ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind="eventos"] { color:#efd191; background:#403522; }
[data-theme="dark"] .ip-workspace-body :is(.ip-home-type,.ip-dashboard-chip,.ip-application-type)[data-kind="necesidades"] { color:#ffc496; background:#483125; }
.ip-volunteer-dashboard-body .ip-shell-sidebar__footer { display:block; }
@media(min-width:701px) { .ip-volunteer-dashboard-body .ip-home-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.ip-workspace-body .ip-ong-home :is(.ip-home-statistics,.ip-home-requests) { padding:16px; border:1px solid var(--ip-color-border); border-radius:14px; background:var(--ip-color-surface); box-shadow:var(--ip-dashboard-shadow); }
.ip-workspace-body .ip-ong-home .ip-home-social { min-height:var(--ip-home-kpi-height); }
.ip-workspace-body :is(.ip-workspace-panel,.ip-profile-card,.ip-collection-dialog,.ip-alert-card,.ip-care-panel) { border-color:var(--ip-color-border); border-radius:14px; }
.ip-workspace-body :is(.ip-workspace-head,.ip-communication-heading) h1 { font-size:24px; font-weight:700; letter-spacing:-.035em; }
.ip-workspace-body :is(.ip-profile-card__head,.ip-managed-form__heading) h2 { font-size:15px; font-weight:650; }
.ip-workspace-body :is(.ip-form-field label,.ip-field-label) { color:var(--ip-color-text); }
.ip-workspace-body :is(.ip-managed-table,.ip-application-table,.ip-care-table) th { font-weight:550; background:color-mix(in srgb,var(--ip-color-action-soft) 30%,var(--ip-color-surface)); }
.ip-workspace-body :is(.ip-button,.ip-text-button) { font-weight:600; }
/* Administration keeps real data and existing actions in the shared two-column layout. */
.ip-admin-home { display:grid; grid-template-columns:minmax(0,1fr) var(--ip-dashboard-aside-width); gap:16px; align-items:start; }
.ip-admin-home__main,.ip-admin-home__aside { display:grid; gap:16px; min-width:0; align-content:start; }
.ip-admin-home .ip-admin-feedback:empty { display:none; }
.ip-workspace-body .ip-admin-welcome { min-height:260px; gap:24px; }
.ip-admin-welcome .ip-dashboard-hero__photo { object-position:65% 48%; }
.ip-admin-welcome::after { background:linear-gradient(90deg,rgb(245 241 250 / .96),rgb(245 241 250 / .65) 42%,rgb(245 241 250 / .1) 80%); }
.ip-workspace-body .ip-admin-welcome h1 { margin:0; color:#292238; font-size:clamp(26px,2.3vw,36px); line-height:1.18; letter-spacing:-.045em; font-weight:750; }
.ip-admin-welcome > .ip-button { align-self:flex-end; flex-shrink:0; }
.ip-admin-home .ip-dashboard-stats { margin:0; gap:12px; }
.ip-admin-home .ip-dashboard-stat { display:grid; grid-template-columns:1fr; align-content:start; gap:10px; min-height:138px; padding:14px; border-radius:14px; box-shadow:var(--ip-dashboard-shadow); }
.ip-admin-home .ip-dashboard-stat > strong { margin:0; font-size:26px; font-weight:750; }
.ip-admin-home .ip-dashboard-stat .ip-admin-stat-label { font-size:11px; color:var(--ip-color-text-muted); }
.ip-admin-home .ip-dashboard-stat .ip-admin-stat-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; color:var(--ip-color-action); background:var(--ip-color-action-soft); }
.ip-admin-home .ip-admin-stat-icon .ip-icon { width:20px; height:20px; }
.ip-admin-home .ip-dashboard-stat:nth-child(2) .ip-admin-stat-icon { color:var(--ip-dashboard-mint-ink); background:var(--ip-dashboard-mint); }
.ip-admin-home .ip-dashboard-stat:nth-child(3) .ip-admin-stat-icon { color:var(--ip-dashboard-rose-ink); background:var(--ip-dashboard-rose); }
.ip-admin-home .ip-dashboard-panel { padding:16px; border-radius:14px; box-shadow:var(--ip-dashboard-shadow); }
.ip-admin-home .ip-dashboard-panel > header { margin-bottom:12px; gap:8px; }
.ip-admin-home .ip-dashboard-panel > header > span { font-size:11px; color:var(--ip-color-text-muted); }
.ip-admin-home .ip-dashboard-panel .ip-dashboard-section-icon { flex:0 0 32px; }
.ip-admin-home .ip-admin-tasks { display:flex; flex-direction:column; min-height:260px; background:var(--ip-dashboard-quick-bg); }
.ip-admin-home .ip-task-list { max-height:300px; overflow-y:auto; }
.ip-admin-home .ip-task-list li { background:var(--ip-color-surface); border-radius:10px; padding:10px; }
.ip-admin-home .ip-admin-tasks form { margin-top:auto; padding-top:12px; }
.ip-admin-home .ip-online-list { margin-top:12px; }
.ip-admin-home .ip-online-person strong { font-size:12px; }
.ip-admin-home .ip-publication-bars { height:190px; }
.ip-admin-home .ip-admin-presence { display:flex; flex-direction:column; min-height:230px; }
.ip-admin-home .ip-presence-grid { margin-top:auto; padding-top:24px; }
@media(max-width:1200px) and (min-width:801px) { .ip-admin-home .ip-dashboard-stats--admin { grid-template-columns:repeat(3,minmax(0,1fr)); } .ip-admin-home .ip-dashboard-stat:last-child { grid-column:auto; } }
@media(max-width:800px) { .ip-admin-home { grid-template-columns:minmax(0,1fr); } .ip-admin-home__aside { grid-template-columns:repeat(2,minmax(0,1fr)); } .ip-admin-home .ip-admin-presence { grid-column:1/-1; } }
@media(max-width:700px) { .ip-admin-home__aside { grid-template-columns:minmax(0,1fr); } .ip-admin-home .ip-admin-welcome { min-height:280px; } .ip-admin-welcome > .ip-button { justify-self:start; } .ip-admin-home .ip-dashboard-stat { min-height:120px; } }
@media(min-width:1024px) {
  .ip-workspace-body .ip-workspace-search { max-width:none; transition:width 220ms cubic-bezier(.2,.7,.2,1),box-shadow 160ms ease; }
  .ip-workspace-body .ip-workspace-search:focus-within { width:min(100%,598px); }
}
@media(prefers-reduced-motion:reduce) { .ip-workspace-body .ip-workspace-search { transition:none; } }
.ip-workspace-body .ip-workspace-search-shade { position:fixed; inset:0; z-index:139; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0!important; background:rgb(18 12 26 / .28); opacity:0; visibility:hidden; pointer-events:none; transition:opacity 240ms ease,visibility 0s 240ms; cursor:default; }
.ip-workspace-body:has(.ip-workspace-search:focus-within) .ip-workspace-topbar { z-index:250; }
.ip-workspace-body .ip-workspace-topbar:has(.ip-workspace-search:focus-within) .ip-workspace-search-shade { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.ip-workspace-body .ip-workspace-search:focus-within { z-index:140; border-color:transparent; outline:0; box-shadow:0 0 32px rgb(236 218 255 / .72),0 8px 32px rgb(28 16 44 / .12); }
.ip-workspace-body .ip-workspace-search { transition:width 240ms cubic-bezier(.2,.7,.2,1),box-shadow 240ms ease,border-color 240ms ease; }
[data-theme="dark"] .ip-workspace-body .ip-workspace-search:focus-within { box-shadow:0 0 30px rgb(174 135 233 / .28),0 8px 32px rgb(0 0 0 / .2); }
.ip-workspace-body .ip-ong-welcome .ip-dashboard-hero__side { align-self:flex-end; }
.ip-workspace-body .ip-ong-welcome .ip-dashboard-hero__photo { object-position:65% 48%; }
.ip-dashboard-application-applicant { max-width:150px; font-size:12px; color:var(--ip-color-text-muted); }
.ip-dashboard-application-applicant > span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ip-dashboard-application-table.is-received .ip-dashboard-application-subject { width:32%; }
@media(max-width:700px) {
  .ip-workspace-body :is(.ip-home-kpis,.ip-admin-home .ip-dashboard-stats--admin) { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:138px; gap:10px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-bottom:5px; scrollbar-width:thin; margin:0; }
  .ip-workspace-body :is(.ip-home-kpi,.ip-admin-home .ip-dashboard-stat) { min-height:92px; height:92px; padding:10px 12px; scroll-snap-align:start; gap:4px; }
  .ip-workspace-body .ip-home-kpi { flex-direction:row; align-items:center; gap:10px; }
  .ip-workspace-body .ip-home-kpi__icon { width:26px; height:26px; flex:0 0 26px; border-radius:9px; }
  .ip-workspace-body .ip-home-kpi__icon .ip-icon { width:17px; height:17px; }
  .ip-workspace-body .ip-home-kpi small { font-size:20px; }
  .ip-workspace-body .ip-home-kpi strong { font-size:10px; }
  .ip-admin-home .ip-dashboard-stat { grid-template-columns:26px 1fr; align-content:center; gap:4px 8px; }
  .ip-admin-home .ip-dashboard-stat .ip-admin-stat-icon { grid-row:1/3; width:26px; height:26px; }
  .ip-admin-home .ip-dashboard-stat > strong { font-size:20px; }
  .ip-admin-home .ip-dashboard-stat .ip-admin-stat-label { grid-column:2; font-size:10px; }
  .ip-admin-home .ip-dashboard-stat:last-child { grid-column:auto; }
  .ip-dashboard-application-table tbody tr { grid-template-columns:minmax(0,1fr) auto 32px; gap:8px; padding:10px 0; }
  .ip-dashboard-application-table .ip-dashboard-application-subject { grid-column:1; grid-row:1; width:auto; }
  .ip-dashboard-application-table .ip-dashboard-application-state { grid-column:2; grid-row:1; }
  .ip-dashboard-application-table .ip-dashboard-application-actions { grid-column:3; grid-row:1; }
  .ip-dashboard-application-table :is(.ip-dashboard-application-type,.ip-dashboard-application-date,.ip-dashboard-application-applicant) { display:none; }
  .ip-dashboard-application-identity { gap:8px; }
  .ip-dashboard-application-identity strong { font-size:12px; }
  .ip-workspace-body .ip-dashboard-application-table .ip-application-avatar { width:28px; height:28px; flex-basis:28px; }
  .ip-dashboard-row-menu,.ip-dashboard-row-menu > summary { width:32px; }
  .ip-workspace-body .ip-ong-welcome { min-height:290px; }
}
@media(prefers-reduced-motion:reduce) { .ip-workspace-body :is(.ip-workspace-search,.ip-workspace-search-shade) { transition:none; } }
@media(max-width:700px) { .ip-dashboard-application-table.is-received .ip-dashboard-application-subject { width:auto; } }
@media(max-width:700px) {
  .ip-workspace-body .ip-dashboard-hero .ip-home-social { width:146px; }
  .ip-workspace-body .ip-dashboard-hero .ip-home-social dd { font-size:13px; font-weight:700; }
  .ip-workspace-body .ip-dashboard-hero .ip-home-social dt { font-size:11px; }
  .ip-workspace-body .ip-ong-welcome { min-height:330px; padding-bottom:14px; }
  .ip-workspace-body .ip-ong-welcome .ip-dashboard-hero__side { align-self:end; margin-top:16px; }
}
@media(min-width:801px) { .ip-workspace-body .ip-ong-home .ip-home-statistics:first-child { min-height:var(--ip-dashboard-hero-height); } }
.ip-home-team { display:grid; }
.ip-home-team-person { display:flex; align-items:center; gap:10px; min-width:0; padding:12px 0; color:var(--ip-color-text); text-decoration:none; }
.ip-home-team-person + .ip-home-team-person { border-top:1px solid var(--ip-color-border); }
.ip-home-team-person > span:nth-child(2) { display:grid; min-width:0; gap:3px; flex:1; }
.ip-home-team-person strong { font-size:12px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ip-home-team-person small { color:var(--ip-color-text-muted); font-size:11px; }
.ip-home-presence { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--ip-color-text-muted); }
.ip-home-presence[data-online="true"] { background:#299a70; }

/* Dark photo panels keep the image, with neutral shading and readable copy.
   Grain lives on the shell background, never over photography or form fields. */
[data-theme="dark"] .ip-dashboard-hero { background:var(--ip-color-surface); }
[data-theme="dark"] .ip-dashboard-hero::after { background:linear-gradient(90deg,rgb(20 20 20 / .94),rgb(20 20 20 / .66) 42%,transparent 76%),linear-gradient(270deg,rgb(20 20 20 / .76) 0 22%,transparent 65%); }
[data-theme="dark"] .ip-workspace-body :is(.ip-dashboard-hello,.ip-dashboard-hero h1,.ip-dashboard-hero h2) { color:var(--ip-color-text); }
[data-theme="dark"] .ip-workspace-body .ip-dashboard-hero__copy > p:last-child { color:var(--ip-gray-200); }
[data-theme="dark"] .ip-dashboard-progress { background:var(--ip-color-surface-glass); border-color:var(--ip-color-border); color:var(--ip-color-text); }
[data-theme="dark"] .ip-workspace-body :is(.ip-dashboard-progress > strong,.ip-dashboard-progress__ring > span) { color:var(--ip-color-text); }
[data-theme="dark"] .ip-dashboard-progress__ring { background:conic-gradient(from -90deg,var(--ip-color-action) 0%,var(--ip-purple-300) var(--ip-profile-progress),var(--ip-color-surface-related) 0); }
[data-theme="dark"] .ip-dashboard-progress__ring::before { background:var(--ip-color-surface); }
[data-theme="dark"] .ip-dashboard-progress__link { color:var(--ip-color-link); }
[data-theme="dark"] .ip-workspace-body :is(.ip-managed-table,.ip-application-table,.ip-care-table) th { background:var(--ip-color-surface-subtle); }
.ip-home-team-empty { color:var(--ip-color-text-muted); font-size:12px; }

/* One continuous, quiet grain across the sidebar; footer inherits the canvas. */
@media(min-width:1024px) {
  [data-theme="dark"] .ip-workspace-body .ip-shell-sidebar { background:var(--ip-workspace-sidebar-bg) var(--ip-surface-texture) repeat; background-blend-mode:var(--ip-surface-texture-blend); }
  [data-theme="dark"] .ip-workspace-body .ip-shell-sidebar__footer { background:transparent; }
}
