/* Fixed home modes: compact clinical operations workspace, scoped to the home root. */
.hw3 {
    --hw3-surface: var(--theme-neutral-surface, #ffffff);
    --hw3-soft: var(--theme-neutral-surface-soft, #f7f9fb);
    --hw3-canvas: var(--bg-body, #f4f6f8);
    --hw3-text: var(--theme-neutral-text, #263547);
    --hw3-muted: var(--theme-neutral-text-secondary, #667687);
    --hw3-border: var(--theme-neutral-border, #e2e8ee);
    --hw3-accent: #4358d7;
    --hw3-accent-soft: #edf0ff;
    --hw3-accent-alt: #069eb2;
    --hw3-header-start: #162848;
    --hw3-header-end: #243c75;
    --hw3-chart-blue: #4b66e9;
    --hw3-chart-teal: #089b8c;
    --hw3-chart-violet: #9360db;
    --hw3-chart-slate: #8294ad;
    --hw3-glow: rgba(103, 132, 227, 0.06);
    --hw3-glass: var(--hw3-surface);
    --hw3-edge: rgba(255, 255, 255, 0.92);
    --hw3-shadow: 0 3px 12px rgba(40, 59, 101, 0.035), 0 1px 2px rgba(40, 59, 101, 0.025);
    --hw3-shadow-lift: 0 8px 25px rgba(40, 59, 101, 0.08);
    --hw3-success: var(--theme-success-text, #24775e);
    --hw3-success-soft: var(--theme-success-bg, #edf7f2);
    --hw3-warning: var(--theme-warning-text, #936522);
    --hw3-warning-soft: var(--theme-warning-bg, #fbf5e9);
    --hw3-danger: var(--theme-danger-text, #af4d43);
    --hw3-danger-soft: var(--theme-danger-bg, #fbefed);
    --hw3-radius: 12px;
    min-width: 0;
    color: var(--hw3-text);
    font-family: inherit;
    font-size: 13px;
    line-height: 1.6;
}

/* The legacy home stylesheet has ID-scoped light-only overrides. */
#page-home #homeWorkspaceRoot.hw3 {
    width: 100%;
    min-width: 0;
    max-width: 1920px;
    /* The app shell offsets the home page beneath its fixed topbar. */
    padding: calc(var(--app-topbar-height, 8px) + 6px) 20px 24px;
    margin: 0 auto;
    box-sizing: border-box;
    background: var(--hw3-canvas) !important;
    background-image: radial-gradient(ellipse at 85% 0%, var(--hw3-glow), transparent 38%) !important;
    color: var(--hw3-text) !important;
}

#page-home #homeWorkspaceRoot.hw3 :is(h1, strong, p, span, em, label) {
    color: inherit !important;
}

.hw3 *,
.hw3 *::before,
.hw3 *::after { box-sizing: border-box; }

.hw3 [hidden] { display: none !important; }
/* Home icons use local SVG paths, independent of external icon fonts. */
.hw3 .hw3-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-style: normal; line-height: 1; vertical-align: -0.125em; }
.hw3 .hw3-icon > svg { display: block; flex: 0 0 auto; width: 1em; height: 1em; overflow: visible; }
.hw3 .hw3-icon::before, .hw3 .hw3-icon::after { content: none !important; display: none !important; }
.hw3 :is(button, input, select, textarea) { font: inherit; }
.hw3 :is(button, a, input, select) { -webkit-tap-highlight-color: transparent; }
.hw3 button { cursor: pointer; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.hw3 button:disabled { cursor: not-allowed; opacity: 0.55; }
.hw3 a { color: var(--hw3-accent); text-decoration: none; }
.hw3 a:hover { text-decoration: underline; }
.hw3 :is(button, a, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--theme-focus-ring, #81afd8);
    outline-offset: 3px;
}
.hw3 :is(h1, h2, h3, p) { margin: 0; }
.hw3 :is(h2, h3) { font-size: 14px; line-height: 1.45; font-weight: 650; }
.hw3 :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.hw3 :is(.hw3-shell, .hw3-main, .hw3-aside, .hw3-panel, .hw3-panel-body) { min-width: 0; }

.hw3 .hw3-shell[data-mode="project"] {
    --hw3-accent: #087e81;
    --hw3-accent-soft: #e5f6f3;
    --hw3-accent-alt: #5670d4;
    --hw3-header-start: #10323e;
    --hw3-header-end: #125e68;
}
.hw3 .hw3-shell[data-mode="management"] {
    --hw3-accent: #7650bd;
    --hw3-accent-soft: #f2ecfc;
    --hw3-accent-alt: #178eaa;
    --hw3-header-start: #252442;
    --hw3-header-end: #51427e;
}
html[data-theme="dark"] .hw3 {
    --hw3-accent: #a5b8ff;
    --hw3-accent-soft: #222d49;
    --hw3-accent-alt: #64d6ca;
    --hw3-chart-blue: #96adf9;
    --hw3-chart-teal: #69cabc;
    --hw3-chart-violet: #baa0e1;
    --hw3-chart-slate: #99afc9;
    --hw3-glow: rgba(66, 90, 156, 0.14);
    --hw3-glass: rgba(19, 30, 48, 0.92);
    --hw3-edge: rgba(188, 209, 241, 0.09);
    --hw3-shadow: 0 5px 20px rgba(0, 0, 0, 0.16), 0 1px 3px rgba(0, 0, 0, 0.08);
    --hw3-shadow-lift: 0 8px 25px rgba(0, 0, 0, 0.25);
}
html[data-theme="dark"] .hw3 .hw3-shell[data-mode="project"] { --hw3-accent: #79d2c4; --hw3-accent-soft: #183a35; --hw3-accent-alt: #a5b8ff; }
html[data-theme="dark"] .hw3 .hw3-shell[data-mode="management"] { --hw3-accent: #b3c1f2; --hw3-accent-soft: #29324b; --hw3-accent-alt: #6fd4da; }

.hw3 .hw3-head {
    position: relative;
    isolation: isolate;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-bottom: 12px;
    min-height: 136px;
    padding: 20px;
    border: 1px solid color-mix(in srgb, var(--hw3-accent) 34%, var(--hw3-header-start));
    border-radius: 14px;
    background: linear-gradient(115deg, var(--hw3-header-start), var(--hw3-header-end));
    color: #f4f8ff;
    box-shadow: 0 5px 18px rgba(20, 40, 80, 0.12);
    overflow: hidden;
}
.hw3 .hw3-head::after {
    /* Decorative image stays behind accessible text and controls. */
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(90deg, rgba(4, 16, 32, 0.5), rgba(4, 16, 32, 0.1) 38%, transparent 58%, rgba(4, 16, 32, 0.08) 74%, rgba(4, 16, 32, 0.8)), url("../assets/home-hero-biotech-3d.webp");
    background-position: center, center 48%;
    background-size: cover;
    background-repeat: no-repeat;
}
.hw3 .hw3-head > * { position: relative; z-index: 1; }
.hw3 .hw3-head-copy { min-width: 0; flex: 1 1 300px; }
.hw3 .hw3-title { font-size: 22px; line-height: 1.35; letter-spacing: -0.5px; font-weight: 700; }
.hw3 .hw3-subtitle { margin-top: 4px; font-size: 12px; color: #c4d5ee; }
.hw3 :is(.hw3-head-actions, .hw3-actions, .hw3-item-actions) {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.hw3 .hw3-head-actions { justify-content: flex-end; padding-top: 3px; }
.hw3 .hw3-head-actions .hw3-source { margin-top: 0; padding: 5px 9px; border-radius: 20px; background: var(--hw3-glass); border: 1px solid var(--hw3-border); }
.hw3 .hw3-head-actions #workspaceDataStatusLabel { display: inline-flex; align-items: center; gap: 6px; }
.hw3 #workspaceDataStatusLabel::before { content: ""; width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.hw3 #workspaceDataStatusLabel[data-state="loaded"] { background: var(--hw3-success-soft); border-color: color-mix(in srgb, var(--hw3-success) 16%, var(--hw3-border)); }
.hw3 #workspaceDataStatusLabel[data-state="partial"] { background: var(--hw3-warning-soft); border-color: color-mix(in srgb, var(--hw3-warning) 16%, var(--hw3-border)); }
.hw3 #workspaceDataStatusLabel[data-state="blocked"] { background: var(--hw3-danger-soft); border-color: color-mix(in srgb, var(--hw3-danger) 16%, var(--hw3-border)); }
.hw3 .hw3-kicker { margin-bottom: 5px; color: var(--hw3-muted); font-size: 11px; font-weight: 550; letter-spacing: 0.5px; }

.hw3 .hw3-modebar {
    display: flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 5px;
    gap: 4px;
    background: var(--hw3-glass);
    border: 1px solid var(--hw3-border);
    border-radius: 12px;
    margin-bottom: 13px;
    box-shadow: var(--hw3-shadow);
}
.hw3 .hw3-mode-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    min-height: 37px;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 8px 17px;
    background: transparent;
    color: var(--hw3-muted);
    font-size: 13px;
    font-weight: 550;
    white-space: nowrap;
}
.hw3 .hw3-mode-button:hover { background: var(--hw3-soft); color: var(--hw3-text); }
.hw3 .hw3-mode-button:is(.active, [aria-selected="true"], [aria-pressed="true"]) {
    color: #fff;
    background: var(--hw3-accent);
    border-color: var(--hw3-accent);
    box-shadow: 0 3px 8px color-mix(in srgb, var(--hw3-accent) 20%, transparent);
}
html[data-theme="dark"] .hw3 .hw3-mode-button[aria-pressed="true"] { color: #102030; }
.hw3 .hw3-mode-button[aria-disabled="true"] { color: var(--hw3-muted); border-style: dashed; border-color: var(--hw3-border); }
.hw3 .hw3-mode-note { font-size: 10px; font-weight: 400; opacity: 0.9; }
.hw3 .hw3-mode-status { font-size: 11px; color: var(--hw3-muted); padding-inline: 8px; }
.hw3 .hw3-mode-status:empty { display: none; }
.hw3 .hw3-mode-button[data-home-mode-state="loading"] { border-style: dashed; }
.hw3 .hw3-shell > [data-home-capabilities-state] { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px; padding: 8px 12px; margin: 0 0 12px; border: 1px solid var(--hw3-border); border-radius: 8px; background: var(--hw3-surface); }
.hw3 :is(.hw3-primary, .hw3-secondary, .hw3-link) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid var(--hw3-border);
    font-size: 12px;
    font-weight: 550;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
}
.hw3 .hw3-primary { background: var(--hw3-accent); color: #fff; border-color: var(--hw3-accent); }
.hw3 .hw3-secondary { background: var(--hw3-surface); color: var(--hw3-text); }
.hw3 .hw3-link { color: var(--hw3-accent); background: transparent; border-color: transparent; padding: 4px 0; min-height: 28px; }
.hw3 .hw3-primary:hover { filter: brightness(0.94); text-decoration: none; }
.hw3 .hw3-secondary:hover { background: var(--hw3-soft); border-color: var(--hw3-accent); text-decoration: none; }
html[data-theme="dark"] .hw3 .hw3-primary { color: #102030; }

.hw3 .hw3-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    border: 0;
    background: transparent;
    margin-bottom: 14px;
}
.hw3 .hw3-metric {
    --hw3-metric-ink: #4358d7;
    --hw3-metric-tint: color-mix(in srgb, var(--hw3-metric-ink) 8%, var(--hw3-surface));
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    min-height: 105px;
    padding: 12px 15px 12px 18px;
    gap: 3px;
    border: 1px solid color-mix(in srgb, var(--hw3-metric-ink) 6%, var(--hw3-border));
    border-radius: 11px;
    background: radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--hw3-metric-ink) 12%, transparent), transparent 68%), linear-gradient(115deg, var(--hw3-surface), var(--hw3-metric-tint));
    box-shadow: var(--hw3-shadow);
    text-align: left;
    color: var(--hw3-text);
}
.hw3 .hw3-metric::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 0 3px 3px 0; background: var(--hw3-metric-ink); }
.hw3 .hw3-metric[data-tone="teal"] { --hw3-metric-ink: #078876; }
.hw3 .hw3-metric[data-tone="violet"] { --hw3-metric-ink: #8353c5; }
.hw3 .hw3-metric[data-tone="amber"] { --hw3-metric-ink: #b77710; }
.hw3 .hw3-metric[data-tone="cyan"] { --hw3-metric-ink: #0a8caa; }
.hw3 .hw3-metric[data-tone="rose"] { --hw3-metric-ink: #c44864; }
html[data-theme="dark"] .hw3 .hw3-metric { --hw3-metric-ink: #a5b8ff; }
html[data-theme="dark"] .hw3 .hw3-metric[data-tone="teal"] { --hw3-metric-ink: #6bd4bb; }
html[data-theme="dark"] .hw3 .hw3-metric[data-tone="violet"] { --hw3-metric-ink: #c0a0ef; }
html[data-theme="dark"] .hw3 .hw3-metric[data-tone="amber"] { --hw3-metric-ink: #e9ba6c; }
html[data-theme="dark"] .hw3 .hw3-metric[data-tone="cyan"] { --hw3-metric-ink: #7acde4; }
html[data-theme="dark"] .hw3 .hw3-metric[data-tone="rose"] { --hw3-metric-ink: #f29cae; }
.hw3 .hw3-metrics:has(> .hw3-metric:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hw3 .hw3-metrics:has(> .hw3-metric:nth-child(3):last-child),
.hw3 .hw3-metrics:has(> .hw3-metric:nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hw3 .hw3-metrics:has(> .hw3-metric:nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hw3 button.hw3-metric:hover { border-color: color-mix(in srgb, var(--hw3-accent) 38%, var(--hw3-border)); box-shadow: var(--hw3-shadow-lift); }
.hw3 .hw3-metric-top { display: flex; justify-content: space-between; align-items: center; width: 100%; min-width: 0; gap: 8px; }
.hw3 .hw3-metric-icon { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border: 1px solid color-mix(in srgb, var(--hw3-metric-ink) 18%, var(--hw3-border)); border-radius: 9px; background: linear-gradient(145deg, color-mix(in srgb, var(--hw3-metric-ink) 18%, var(--hw3-surface)), color-mix(in srgb, var(--hw3-metric-ink) 8%, var(--hw3-surface))); box-shadow: inset 0 1px 0 var(--hw3-edge); color: var(--hw3-metric-ink); font-size: 13px; }
.hw3 .hw3-label { font-size: 12px; font-weight: 500; color: var(--hw3-muted); }
.hw3 .hw3-value { max-width: 100%; font-size: 26px; font-weight: 650; line-height: 1.25; letter-spacing: -0.3px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hw3 .hw3-metric[data-state="unknown"] .hw3-value { font-size: 18px; line-height: 1.4; letter-spacing: 0; }
.hw3 .hw3-value small { font-size: 11px; font-weight: 450; color: var(--hw3-muted); margin-left: 4px; letter-spacing: 0; }
.hw3 .hw3-help { font-size: 11px; line-height: 1.5; color: var(--hw3-muted); }
.hw3 .hw3-metric .hw3-help { margin-top: 2px; }

.hw3 .hw3-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 14px; align-items: start; }
.hw3 .hw3-shell[data-mode="project"] .hw3-layout { grid-template-columns: minmax(0, 1fr) 270px; }
.hw3 :is(.hw3-main, .hw3-aside) { display: flex; flex-direction: column; gap: 14px; }
.hw3 .hw3-personal-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; }
.hw3 .hw3-personal-main > :is([data-panel="tasks"], [data-panel="approvals"]) { display: flex; flex-direction: column; }
.hw3 .hw3-personal-main > :is([data-panel="tasks"], [data-panel="approvals"]) > .hw3-panel-body { display: flex; flex-direction: column; flex: 1; }
.hw3 .hw3-personal-main .hw3-empty { flex: 1; min-height: 132px; }
.hw3 .hw3-personal-main > [data-panel="projects"] { grid-column: 1 / -1; }
.hw3 .hw3-project-context { display: flex; align-items: center; gap: 12px; padding: 10px 13px; margin-bottom: 12px; border: 1px solid var(--hw3-border); border-radius: 10px; background: var(--hw3-surface); }
.hw3 .hw3-project-context-label { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; overflow-wrap: anywhere; }
.hw3 .hw3-project-context-label .hw3-source { margin: 0; }
.hw3 .hw3-project-chooser { position: relative; flex: 0 0 auto; }
.hw3 .hw3-project-chooser > summary { cursor: pointer; list-style: none; white-space: nowrap; }
.hw3 .hw3-project-chooser > summary::-webkit-details-marker { display: none; }
.hw3 .hw3-project-chooser > summary::after { content: '▾'; margin-left: 6px; }
.hw3 .hw3-project-options { position: absolute; z-index: 5; right: 0; top: calc(100% + 6px); width: min(340px, 80vw); max-height: 320px; overflow-y: auto; padding: 6px; border: 1px solid var(--hw3-border); border-radius: 10px; background: var(--hw3-surface); box-shadow: var(--hw3-shadow); }
.hw3 .hw3-project-option { display: flex; flex-direction: column; gap: 4px; width: 100%; padding: 10px; border: 0; border-radius: 6px; background: transparent; color: var(--hw3-text); text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.hw3 .hw3-project-option small { color: var(--hw3-muted); }
.hw3 .hw3-project-option:hover, .hw3 .hw3-project-option[aria-pressed="true"] { background: var(--hw3-accent-soft); }
.hw3 .hw3-project-chooser :is(summary, button):focus-visible { outline: 2px solid var(--hw3-accent); outline-offset: 2px; }
.hw3 .hw3-project-context > .hw3-link { flex: 0 0 auto; }
.hw3 .hw3-project-charts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
.hw3 .hw3-project-charts:empty { display: none; }
.hw3 [data-panel="portfolio"] .hw3-table :is(th, td) { padding-top: 7px; padding-bottom: 7px; }
.hw3 [data-panel="portfolio"] .hw3-table td:first-child > :is(.hw3-link, .hw3-source) { display: inline; }
.hw3 [data-panel="portfolio"] .hw3-table td:first-child > .hw3-source { margin-left: 8px; white-space: nowrap; }
.hw3 .hw3-aside .hw3-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hw3 .hw3-aside .hw3-metric { min-height: 110px; padding: 12px 10px; gap: 6px; border-radius: 12px; }
.hw3 .hw3-aside .hw3-metric-top { gap: 5px; }
.hw3 .hw3-aside .hw3-metric-icon { width: 24px; height: 24px; font-size: 11px; border-radius: 7px; }
.hw3 .hw3-aside .hw3-label { font-size: 11px; }
.hw3 .hw3-aside .hw3-value { font-size: 20px; overflow-wrap: anywhere; }
.hw3 .hw3-panel { --hw3-panel-ink: var(--hw3-accent); background: var(--hw3-glass); border: 1px solid var(--hw3-border); border-top-color: var(--hw3-edge); border-radius: var(--hw3-radius); box-shadow: var(--hw3-shadow); }
.hw3 .hw3-panel:is([data-panel="tasks"], [data-panel="progress"]) { --hw3-panel-ink: var(--hw3-chart-blue); }
.hw3 .hw3-panel:is([data-panel="projects"], [data-panel="portfolio"], [data-panel="enrollment"]) { --hw3-panel-ink: var(--hw3-chart-teal); }
.hw3 .hw3-panel:is([data-panel="budget"], [data-panel="entries"]) { --hw3-panel-ink: var(--hw3-chart-violet); }
.hw3 .hw3-panel:is([data-panel="approvals"], [data-panel="exceptions"]) { --hw3-panel-ink: var(--hw3-warning); }
.hw3 .hw3-panel:is([data-panel="updates"], [data-panel="centers"]) { --hw3-panel-ink: var(--hw3-accent-alt); }
.hw3 .hw3-panel[data-highlight="true"] { border-color: color-mix(in srgb, var(--hw3-panel-ink) 18%, var(--hw3-border)); }
.hw3 .hw3-panel[data-highlight="true"] > .hw3-panel-header { background: linear-gradient(100deg, color-mix(in srgb, var(--hw3-panel-ink) 12%, var(--hw3-surface)), var(--hw3-surface) 90%); box-shadow: inset 3px 0 0 var(--hw3-panel-ink); }
.hw3 #workspaceGrid > .hw3-panel + .hw3-layout { margin-top: 14px; }
.hw3 .hw3-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    flex-wrap: wrap;
    padding: 11px 14px;
    background: linear-gradient(100deg, color-mix(in srgb, var(--hw3-panel-ink) 7%, var(--hw3-surface)), var(--hw3-surface) 85%);
    border-bottom: 1px solid var(--hw3-border);
    border-radius: var(--hw3-radius) var(--hw3-radius) 0 0;
}
.hw3 .hw3-panel-header > div { min-width: 0; }
.hw3 .hw3-panel-header h2 { display: flex; align-items: center; gap: 8px; font-weight: 650; }
.hw3 .hw3-panel-header h2 > i { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: linear-gradient(145deg, color-mix(in srgb, var(--hw3-panel-ink) 18%, var(--hw3-surface)), color-mix(in srgb, var(--hw3-panel-ink) 8%, var(--hw3-surface))); color: var(--hw3-panel-ink); box-shadow: inset 0 1px 0 var(--hw3-edge); font-size: 12px; }
.hw3 .hw3-panel-body { padding: 12px 14px; }
.hw3 .hw3-panel-body > .hw3-metrics { margin-top: 12px; margin-bottom: 12px; }
.hw3 .hw3-panel-body:has(> .hw3-table-wrap:only-child) { padding: 0; }
.hw3 .hw3-panel-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px 12px; padding: 10px 18px; border-top: 1px solid var(--hw3-border); }
.hw3 :is(.hw3-warning, .hw3-source) { font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.hw3 .hw3-source { color: var(--hw3-muted); margin-top: 11px; }
.hw3 .hw3-panel-body > .hw3-source:first-child { margin-top: 0; margin-bottom: 10px; }
.hw3 #workspaceSaveStatus:empty { display: none; }
.hw3 .hw3-warning { color: var(--hw3-warning); background: var(--hw3-warning-soft); padding: 10px 13px; border: 1px solid color-mix(in srgb, var(--hw3-warning) 15%, transparent); border-radius: 9px; }
.hw3 .hw3-shell > .hw3-warning { margin-bottom: 15px; }

.hw3 .hw3-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    border-radius: 0 0 var(--hw3-radius) var(--hw3-radius);
}
.hw3 .hw3-table { width: 100%; border-collapse: collapse; font-size: 12px; line-height: 1.55; text-align: left; }
.hw3 .hw3-table :is(th, td) { padding: 9px 11px; vertical-align: middle; border-bottom: 1px solid var(--hw3-border); }
.hw3 .hw3-table :is(th, td):first-child { padding-left: 18px; }
.hw3 .hw3-table :is(th, td):last-child { padding-right: 18px; }
.hw3 .hw3-table th { font-size: 11px; font-weight: 550; color: var(--hw3-muted); background: color-mix(in srgb, var(--hw3-soft) 88%, var(--hw3-accent-soft)); white-space: nowrap; }
.hw3 .hw3-table tbody tr:last-child td { border-bottom: 0; }
.hw3 .hw3-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--hw3-soft) 55%, var(--hw3-surface)); }
.hw3 .hw3-table tbody tr:hover { background: var(--hw3-accent-soft); }
.hw3 .hw3-table td { color: var(--hw3-text); }
.hw3 .hw3-table td strong { display: block; font-size: 12px; font-weight: 600; }
.hw3 .hw3-table td .hw3-help { display: block; font-size: 11px; margin-top: 3px; }
.hw3 .hw3-table :is(.hw3-number, [data-type="number"]) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hw3 .hw3-table .hw3-link { font-size: 12px; }
.hw3 .hw3-table .hw3-project-name { min-width: 142px; max-width: 260px; overflow-wrap: anywhere; }
.hw3 .hw3-tag {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 2px 7px;
    background: var(--hw3-soft);
    color: var(--hw3-muted);
    border: 1px solid var(--hw3-border);
    border-radius: 6px;
    font-size: 11px;
    line-height: 1.6;
    font-weight: 450;
    white-space: nowrap;
}
.hw3 .hw3-tag[data-tone="success"] { color: var(--hw3-success); background: var(--hw3-success-soft); border-color: transparent; }
.hw3 .hw3-tag[data-tone="warning"] { color: var(--hw3-warning); background: var(--hw3-warning-soft); border-color: transparent; }
.hw3 .hw3-tag[data-tone="danger"] { color: var(--hw3-danger); background: var(--hw3-danger-soft); border-color: transparent; }
.hw3 .hw3-tag[data-tone="info"] { color: var(--hw3-accent); background: var(--hw3-accent-soft); border-color: transparent; }
.hw3 .hw3-tag[data-tone="unknown"] { color: var(--hw3-muted); background: transparent; border-style: dashed; }

.hw3 .hw3-list { min-width: 0; }
.hw3 .hw3-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--hw3-border); }
.hw3 .hw3-item:first-child { padding-top: 2px; }
.hw3 .hw3-item:last-child { border-bottom: 0; padding-bottom: 2px; }
.hw3 .hw3-item > :first-child { min-width: 0; }
.hw3 .hw3-item-title { display: block; color: var(--hw3-text); font-size: 13px; font-weight: 550; line-height: 1.55; overflow-wrap: anywhere; }
.hw3 .hw3-item-meta { display: flex; flex-wrap: wrap; gap: 3px 9px; margin-top: 5px; font-size: 11px; color: var(--hw3-muted); }
.hw3 .hw3-item-desc { color: var(--hw3-muted); font-size: 12px; margin-top: 5px; overflow-wrap: anywhere; }
.hw3 .hw3-item-actions { flex: 0 0 auto; justify-content: flex-end; padding-top: 1px; }
.hw3 .hw3-aside .hw3-item { gap: 10px; }
.hw3 .hw3-aside .hw3-item-actions { align-self: flex-start; }
.hw3 .hw3-task-list .hw3-item { align-items: flex-start; }
.hw3 .hw3-personal-main .hw3-task-list { max-height: 210px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-right: 5px; }
.hw3 .hw3-task-copy { flex: 1; min-width: 0; }
.hw3 .hw3-task-list .hw3-tag { flex: 0 0 auto; margin-top: 2px; }
.hw3 .hw3-task-dot { width: 7px; height: 7px; margin-top: 7px; border: 2px solid var(--hw3-accent); border-radius: 50%; flex: 0 0 auto; }
.hw3 .hw3-task-dot[data-tone="warning"] { border-color: var(--hw3-warning); }
.hw3 .hw3-task-dot[data-tone="success"] { border-color: var(--hw3-success); }
.hw3 .hw3-task-dot[data-tone="unknown"] { border-color: var(--hw3-muted); }
.hw3 .hw3-task-mix { padding: 10px 12px; margin-bottom: 12px; border: 1px solid var(--hw3-border); border-radius: 9px; background: var(--hw3-soft); }
.hw3 .hw3-task-mix-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; }
.hw3 .hw3-task-mix-head > strong { font-size: 12px; }
.hw3 .hw3-task-mix-track { display: flex; width: 100%; height: 8px; gap: 2px; overflow: hidden; border-radius: 4px; background: var(--hw3-border); margin: 9px 0; }
.hw3 [data-task-state="pending"] { --hw3-task-color: #d7a04c; }
.hw3 [data-task-state="in_progress"] { --hw3-task-color: var(--hw3-chart-blue); }
.hw3 [data-task-state="completed"] { --hw3-task-color: var(--hw3-chart-teal); }
.hw3 [data-task-state="other"] { --hw3-task-color: var(--hw3-chart-slate); }
.hw3 .hw3-task-mix-track > span { display: block; background: var(--hw3-task-color); }
.hw3 .hw3-task-mix-legend { display: flex; gap: 5px 12px; flex-wrap: wrap; font-size: 11px; }
.hw3 .hw3-task-mix-legend > span { display: inline-flex; align-items: center; gap: 4px; }
.hw3 .hw3-task-mix-legend i { width: 6px; height: 6px; border-radius: 2px; background: var(--hw3-task-color); }
.hw3 .hw3-task-mix > .hw3-source { margin-top: 5px; font-size: 10px; }
/* Reuse the established minimal-home icon shortcuts inside the fixed home. */
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts {
    --mh-text: var(--hw3-text);
    --mh-muted: var(--hw3-muted);
    --mh-line: var(--hw3-border);
    --mh-surface: var(--hw3-surface);
    --mh-soft: var(--hw3-soft);
    --mh-accent: var(--hw3-accent);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 0;
    width: 100%;
    min-width: 0;
}
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut { flex-direction: column; align-items: flex-start; gap: 7px; min-height: 89px; padding: 10px; border: 1px solid color-mix(in srgb, var(--entry-ink, var(--hw3-accent)) 6%, var(--hw3-border)); border-radius: 9px; background: linear-gradient(125deg, var(--hw3-surface), color-mix(in srgb, var(--entry-soft, var(--hw3-accent-soft)) 65%, var(--hw3-surface))); color: var(--mh-text); }
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut > i { width: 34px; height: 34px; border-radius: 10px; font-size: 15px; background: var(--entry-soft); color: var(--entry-ink); }
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut > span:first-of-type { width: 100%; gap: 4px; }
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut strong { font-size: 12px; line-height: 1.4; white-space: nowrap; color: var(--mh-text) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut small { font-size: 10px; line-height: 1.5; color: var(--mh-muted); }
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut > span:last-child { display: none; }
#page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut:hover { background: var(--mh-surface); border-color: var(--mh-line); transform: translateY(-2px); }
/* Legacy entry colors are light tints; compose their accent over the dark surface. */
html[data-theme="dark"] #page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut {
    --entry-soft: color-mix(in srgb, var(--entry-ink, var(--hw3-accent)) 16%, var(--hw3-surface));
}
html[data-theme="dark"] #page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut > i { background: var(--hw3-accent-soft); color: var(--hw3-accent); }
.hw3 .hw3-projectcards { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
.hw3 .hw3-projectcard { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; padding: 12px; border: 1px solid color-mix(in srgb, var(--hw3-accent) 8%, var(--hw3-border)); border-radius: 9px; background: linear-gradient(140deg, var(--hw3-surface), var(--hw3-soft)); color: var(--hw3-text); text-align: left; }
.hw3 .hw3-projectcard-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; }
.hw3 .hw3-projectcard-top .hw3-item-meta { margin-top: 0; }
.hw3 .hw3-project-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; border-block: 1px solid var(--hw3-border); margin: 3px 0; padding: 8px 0; gap: 8px; }
.hw3 .hw3-project-stats > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.hw3 .hw3-project-stats > span + span { border-left: 1px solid var(--hw3-border); padding-left: 8px; }
.hw3 .hw3-project-stats small { color: var(--hw3-muted); font-size: 10px; }
.hw3 .hw3-project-stats strong { font-size: 14px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hw3 button.hw3-projectcard:hover { border-color: var(--hw3-accent); box-shadow: var(--hw3-shadow-lift); }
.hw3 .hw3-projectcard[data-active="true"] { border-color: var(--hw3-accent); background: var(--hw3-accent-soft); box-shadow: inset 3px 0 0 var(--hw3-accent); }
.hw3 .hw3-projectcard .hw3-item-title { margin-bottom: 5px; }
.hw3 .hw3-projectcard .hw3-help { margin-top: 3px; }
.hw3 .hw3-projectcard .hw3-source { margin-top: 4px; }
.hw3 .hw3-table td > .hw3-source { display: block; margin-top: 2px; }
.hw3 .hw3-progress { display: flex; align-items: center; gap: 9px; min-width: 90px; font-size: 11px; font-variant-numeric: tabular-nums; }
.hw3 .hw3-progress-track { flex: 1; min-width: 45px; height: 5px; overflow: hidden; background: var(--hw3-border); border-radius: 3px; }
.hw3 .hw3-progress-track > span { display: block; max-width: 100%; height: 100%; background: var(--hw3-accent); border-radius: inherit; }
.hw3 .hw3-progress > :last-child { flex: 0 0 auto; white-space: nowrap; }
.hw3 .hw3-milestone { position: relative; padding: 0 0 15px 16px; margin-left: 3px; border-left: 1px solid var(--hw3-border); }
.hw3 .hw3-milestone::before { content: ""; position: absolute; left: -4px; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--hw3-accent); }
.hw3 .hw3-milestone:last-child { padding-bottom: 0; }
.hw3 .hw3-bar { display: grid; grid-template-columns: minmax(60px, 0.5fr) minmax(0, 1fr) auto; align-items: center; gap: 12px; font-size: 12px; margin: 14px 0; }
.hw3 .hw3-bar-track { height: 7px; background: var(--hw3-border); border-radius: 3px; overflow: hidden; }
.hw3 .hw3-bar-track > span { display: block; height: 100%; max-width: 100%; background: var(--hw3-accent); border-radius: inherit; }
.hw3 .hw3-bar-value { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hw3 :is(.hw3-empty, .hw3-loading, .hw3-denied) { padding: 26px 18px; text-align: center; color: var(--hw3-muted); font-size: 12px; }
.hw3 :is(.hw3-empty, .hw3-loading, .hw3-denied) > i { display: block; font-size: 21px; margin-bottom: 10px; opacity: 0.65; }
.hw3 :is(.hw3-empty, .hw3-denied) strong { display: block; margin-bottom: 4px; color: var(--hw3-text); font-size: 13px; font-weight: 550; }
.hw3 .hw3-loading { min-height: 130px; display: grid; place-content: center; }


/* Quiet status cards preserve the distinction between empty and unavailable data. */
.hw3 .hw3-state.hw3-empty {
    --hw3-state-ink: #4b6ac4;
    --hw3-state-glow: #159ba6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 0;
    min-height: 112px;
    padding: 20px 18px;
    border: 1px solid color-mix(in srgb, var(--hw3-state-ink) 10%, var(--hw3-border));
    border-radius: 10px;
    background: radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--hw3-state-glow) 10%, transparent), transparent 72%), linear-gradient(135deg, var(--hw3-surface), color-mix(in srgb, var(--hw3-state-ink) 5%, var(--hw3-surface)));
    box-shadow: inset 0 1px 0 var(--hw3-edge), 0 3px 10px color-mix(in srgb, var(--hw3-state-ink) 4%, transparent);
    text-align: left;
}
.hw3 .hw3-state[data-state="denied"] { --hw3-state-ink: #956819; --hw3-state-glow: #d29a2d; }
.hw3 .hw3-state[data-state="loading"] { --hw3-state-ink: #4d6cdb; --hw3-state-glow: #2a9fc7; }
.hw3 .hw3-state[data-state="unavailable"] { --hw3-state-ink: #86658d; --hw3-state-glow: #bb789a; }
.hw3 .hw3-state[data-state="info"] { --hw3-state-ink: #657b99; --hw3-state-glow: #8796b4; }
html[data-theme="dark"] .hw3 .hw3-state { --hw3-state-ink: #9bc3ee; --hw3-state-glow: #6dbed1; }
html[data-theme="dark"] .hw3 .hw3-state[data-state="denied"] { --hw3-state-ink: #e5b66c; --hw3-state-glow: #d7ab62; }
html[data-theme="dark"] .hw3 .hw3-state[data-state="loading"] { --hw3-state-ink: #a5b8ff; --hw3-state-glow: #77bfe1; }
html[data-theme="dark"] .hw3 .hw3-state[data-state="unavailable"] { --hw3-state-ink: #c7addb; --hw3-state-glow: #dba4c0; }
html[data-theme="dark"] .hw3 .hw3-state[data-state="info"] { --hw3-state-ink: #adc0d5; --hw3-state-glow: #92b1ca; }
.hw3 .hw3-state-icon { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid color-mix(in srgb, var(--hw3-state-ink) 18%, var(--hw3-border)); border-radius: 14px; background: linear-gradient(145deg, color-mix(in srgb, var(--hw3-state-ink) 17%, var(--hw3-surface)), color-mix(in srgb, var(--hw3-state-glow) 8%, var(--hw3-surface))); box-shadow: inset 0 1px 0 var(--hw3-edge), 0 3px 7px color-mix(in srgb, var(--hw3-state-ink) 8%, transparent); }
.hw3 .hw3-state-icon svg { display: block; width: 24px; height: 24px; }
.hw3 .hw3-state-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; max-width: 44ch; }
.hw3 .hw3-state-title { display: block; margin: 0; font-size: 14px; font-weight: 650; line-height: 1.5; }
.hw3 .hw3-state-message { display: block; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.hw3 .hw3-aside .hw3-state { justify-content: flex-start; gap: 10px; padding: 16px 12px; }
.hw3 .hw3-aside .hw3-state-icon { width: 36px; height: 36px; border-radius: 11px; }
.hw3 .hw3-aside .hw3-state-icon svg { width: 21px; height: 21px; }

/* Gauges visualize existing budget, enrollment and task values only. */
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) {
    display: grid;
    grid-template-columns: 154px minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
    min-width: 0;
    margin: 10px 0;
}
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) > .hw3-metrics { margin: 0; gap: 9px; }
.hw3 :is(.hw3-budget-display, .hw3-tasks-display) > .hw3-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) .hw3-metric { min-height: 89px; padding: 10px 11px; gap: 3px; box-shadow: none; }
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) .hw3-label { font-size: 11px; }
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) .hw3-metric-icon { width: 24px; height: 24px; font-size: 11px; border-radius: 7px; }
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) .hw3-value { font-size: 22px; }
.hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) .hw3-metric[data-state="unknown"] .hw3-value { font-size: 17px; }
.hw3 .hw3-instrument {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    padding: 13px 10px;
    border: 1px solid color-mix(in srgb, var(--hw3-accent) 8%, var(--hw3-border));
    border-radius: 10px;
    background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--hw3-accent-soft) 55%, var(--hw3-surface)), var(--hw3-surface) 90%);
    box-shadow: inset 0 1px 0 var(--hw3-edge), inset 0 -2px 5px color-mix(in srgb, var(--hw3-accent) 3%, transparent);
    text-align: center;
}
.hw3 .hw3-instrument-visual { position: relative; width: 132px; max-width: 100%; min-width: 0; flex: 0 0 auto; }
.hw3 .hw3-instrument-visual > .hw3-instrument-value { position: absolute; inset: 50% 0 auto; transform: translateY(-50%); font-size: 25px; text-align: center; }
.hw3 .hw3-instrument-copy { min-width: 0; max-width: 100%; }
.hw3 .hw3-instrument-value { display: block; font-size: 30px; font-weight: 650; line-height: 1.25; letter-spacing: -0.4px; font-variant-numeric: tabular-nums; color: var(--hw3-accent); }
.hw3 .hw3-instrument-note { margin-top: 5px; font-size: 12px; font-weight: 550; color: var(--hw3-text); }
.hw3 .hw3-instrument-scale { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 3px 8px; margin-top: 6px; font-size: 11px; line-height: 1.5; color: var(--hw3-muted); }
.hw3 :is(.hw3-gauge-svg, .hw3-ring-svg) { display: block; width: 100%; height: auto; overflow: visible; }
.hw3 .hw3-ring-svg { width: 128px; max-width: 100%; margin: 0 auto; }
.hw3 :is(.hw3-gauge-track, .hw3-ring-track) { fill: none; stroke: color-mix(in srgb, var(--hw3-border) 78%, var(--hw3-accent-soft)); stroke-width: 13; stroke-linecap: round; }
.hw3 :is(.hw3-gauge-progress, .hw3-ring-progress) { fill: none; stroke: var(--hw3-accent); stroke-width: 10; stroke-linecap: round; filter: drop-shadow(0 1px 0 var(--hw3-edge)); }
.hw3 .hw3-gauge-track { stroke-width: 15; }
.hw3 .hw3-gauge-progress { stroke-width: 12; }
.hw3 :is(.hw3-gauge-bezel, .hw3-gauge-inner-rail, .hw3-ring-bezel, .hw3-ring-inner-rail) { fill: none; stroke: color-mix(in srgb, var(--hw3-accent) 24%, var(--hw3-border)); stroke-width: 1; }
.hw3 .hw3-gauge-bezel { stroke-width: 1.2; }
.hw3 :is(.hw3-gauge-tick, .hw3-instrument-tick) { stroke: var(--hw3-muted); stroke-width: 1; opacity: 0.55; }
.hw3 .hw3-gauge-tick[data-major="true"] { stroke: var(--hw3-text); stroke-width: 1.7; opacity: 0.8; }
.hw3 .hw3-ring-tick { stroke: var(--hw3-muted); stroke-width: 0.9; opacity: 0.48; }
.hw3 .hw3-ring-tick[data-major="true"] { stroke-width: 1.5; opacity: 0.75; }
.hw3 .hw3-gauge-tick-label { fill: var(--hw3-muted); font-size: 10px; font-family: inherit; font-weight: 550; }
.hw3 :is(.hw3-gauge-needle, .hw3-instrument-needle) { stroke: var(--hw3-text); stroke-width: 1.9; stroke-linecap: round; }
.hw3 .hw3-gauge-hub { fill: var(--hw3-accent); stroke: var(--hw3-surface); stroke-width: 2.8; filter: drop-shadow(0 1px 1px color-mix(in srgb, var(--hw3-text) 20%, transparent)); }
.hw3 .hw3-gauge-hub-center { fill: var(--hw3-surface); }
.hw3 .hw3-instrument[data-state="unknown"] .hw3-instrument-value { font-size: 22px; color: var(--hw3-text); letter-spacing: 0; }
.hw3 .hw3-instrument[data-state="unknown"] :is(.hw3-gauge-svg, .hw3-ring-svg) { opacity: 0.8; }
.hw3 .hw3-aside .hw3-budget-display { grid-template-columns: minmax(0, 1fr); gap: 11px; }
.hw3 .hw3-aside .hw3-instrument { flex-direction: row; gap: 9px; padding: 13px 10px; text-align: left; }
.hw3 .hw3-aside .hw3-instrument-visual { width: 114px; }
.hw3 .hw3-aside .hw3-instrument-value { font-size: 25px; }
.hw3 .hw3-aside .hw3-instrument-scale { justify-content: flex-start; font-size: 10px; }
.hw3 .hw3-aside .hw3-budget-display .hw3-value { font-size: 20px; }

/* Comparative charts stay inside their existing business panels. */
.hw3 :is(.hw3-period-chart, .hw3-budget-structure, .hw3-participant-structure, .hw3-milestone-chart) {
    position: relative;
    min-width: 0;
    margin: 10px 0;
    padding: 11px 13px;
    border: 1px solid color-mix(in srgb, var(--hw3-accent) 5%, var(--hw3-border));
    border-radius: 10px;
    background: linear-gradient(135deg, var(--hw3-surface), color-mix(in srgb, var(--hw3-accent-soft) 15%, var(--hw3-soft)));
    box-shadow: inset 0 1px 0 var(--hw3-edge);
}
.hw3 .hw3-financial-overview { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 14px; align-items: stretch; }
.hw3 .hw3-financial-overview > .hw3-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.hw3 .hw3-financial-overview .hw3-value { font-size: 22px; }
.hw3 .hw3-financial-overview .hw3-metric:has([data-home-icon="arrow-right-arrow-left"]) .hw3-value { font-size: 15px; font-weight: 600; line-height: 1.6; letter-spacing: 0; word-break: keep-all; text-wrap: balance; }
.hw3 .hw3-financial-overview > .hw3-metrics:only-child { grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.hw3 .hw3-financial-overview > .hw3-period-chart { margin: 0; }
.hw3 .hw3-chart-head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; margin-bottom: 10px; }
.hw3 .hw3-chart-title { font-size: 12px; font-weight: 650; line-height: 1.5; color: var(--hw3-text); }
.hw3 .hw3-chart-meta { font-size: 11px; line-height: 1.55; color: var(--hw3-muted); }
.hw3 .hw3-chart-legend { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 7px 16px; margin-top: 10px; font-size: 11px; line-height: 1.6; color: var(--hw3-muted); }
.hw3 .hw3-legend-item { --hw3-series: var(--hw3-chart-blue); display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.hw3 .hw3-legend-item::before { content: ""; display: block; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 2px; background: var(--hw3-series); }
.hw3 .hw3-legend-item[data-series="target"]::before { width: 2px; height: 10px; border-radius: 0; background: var(--hw3-text); }
.hw3 .hw3-legend-item[data-series="pending"]::before { background: var(--hw3-border); border: 1px solid color-mix(in srgb, var(--hw3-muted) 20%, var(--hw3-border)); }
.hw3 .hw3-chart-unavailable { display: block; min-width: 0; margin: 10px 0 0; padding: 11px 13px; border: 1px dashed var(--hw3-border); border-radius: 9px; background: var(--hw3-soft); font-size: 12px; line-height: 1.65; color: var(--hw3-muted); overflow-wrap: anywhere; }
.hw3 .hw3-state.hw3-chart-unavailable { justify-content: flex-start; min-height: 80px; padding: 13px; gap: 11px; border-style: solid; }
.hw3 .hw3-state.hw3-chart-unavailable .hw3-state-icon { width: 36px; height: 36px; border-radius: 11px; }
.hw3 .hw3-state.hw3-chart-unavailable .hw3-state-icon svg { width: 21px; height: 21px; }
.hw3 :is(.hw3-chart-bar, .hw3-chart-segment, .hw3-chart-hit, .hw3-legend-item) { --hw3-series: var(--hw3-chart-blue); }
.hw3 :is(.hw3-chart-bar, .hw3-chart-segment, .hw3-chart-hit, .hw3-legend-item):is([data-series="collected"], [data-series="remaining"], [data-series="remain"], [data-series="followup"], [data-series="actual"]) { --hw3-series: var(--hw3-chart-teal); }
.hw3 :is(.hw3-chart-bar, .hw3-chart-segment, .hw3-chart-hit, .hw3-legend-item)[data-series="paid"] { --hw3-series: var(--hw3-chart-violet); }
.hw3 :is(.hw3-chart-segment, .hw3-chart-hit, .hw3-legend-item)[data-series="dropped"] { --hw3-series: var(--hw3-chart-slate); }
.hw3 :is(.hw3-chart-segment, .hw3-chart-hit, .hw3-legend-item)[data-series="overrun"] { --hw3-series: var(--hw3-danger); }
.hw3 :is(.hw3-chart-segment, .hw3-chart-hit, .hw3-legend-item)[data-series="pending"] { --hw3-series: var(--hw3-border); }

/* Responsive SVG coordinates, paired with accessible HTML interactions. */
.hw3 .hw3-svg-plot { position: relative; width: 100%; min-width: 0; max-width: 100%; }
.hw3 .hw3-chart-svg { display: block; width: 100%; height: auto; overflow: visible; font-family: inherit; font-variant-numeric: tabular-nums; shape-rendering: geometricPrecision; }
.hw3 .hw3-chart-svg :is(line, path) { vector-effect: non-scaling-stroke; }
.hw3 .hw3-chart-grid { stroke: var(--hw3-border); stroke-width: 0.8; stroke-dasharray: 3 4; }
.hw3 .hw3-chart-grid[data-zero="true"] { stroke: color-mix(in srgb, var(--hw3-muted) 53%, var(--hw3-border)); stroke-width: 1; stroke-dasharray: none; }
.hw3 .hw3-chart-axis { stroke: color-mix(in srgb, var(--hw3-muted) 45%, var(--hw3-border)); stroke-width: 1; }
.hw3 .hw3-chart-tick { fill: var(--hw3-muted); font-size: 12px; font-weight: 450; }
.hw3 .hw3-chart-unit { fill: var(--hw3-muted); font-size: 11px; font-weight: 550; }
.hw3 .hw3-chart-category { fill: var(--hw3-text); font-size: 12px; font-weight: 500; }
.hw3 .hw3-chart-value { fill: var(--hw3-text); font-size: 13px; font-weight: 650; }
.hw3 :is(.hw3-chart-bar, .hw3-chart-segment):not([fill]) { fill: var(--hw3-series); }
.hw3 .hw3-chart-bar { stroke: color-mix(in srgb, var(--hw3-series) 80%, var(--hw3-surface)); stroke-width: 0.65; paint-order: stroke fill; }
.hw3 .hw3-chart-segment { stroke: var(--hw3-surface); stroke-width: 0.75; paint-order: stroke fill; }
.hw3 .hw3-chart-segment[data-series="pending"] { stroke: var(--hw3-border); }
.hw3 .hw3-chart-segment-label { fill: #ffffff; font-size: 12px; font-weight: 600; pointer-events: none; }
.hw3 .hw3-chart-segment-label[data-series="pending"] { fill: var(--hw3-text); }
html[data-theme="dark"] .hw3 .hw3-chart-segment-label { fill: #102530; }
html[data-theme="dark"] .hw3 .hw3-chart-segment-label[data-series="pending"] { fill: var(--hw3-text); }
.hw3 .hw3-chart-target { stroke: var(--hw3-text); stroke-width: 2.4; stroke-linecap: butt; }
.hw3 .hw3-chart-hit { position: absolute; display: block; margin: 0; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--hw3-text); cursor: pointer; overflow: visible; }
.hw3 .hw3-chart-hit:hover { background: color-mix(in srgb, var(--hw3-series) 8%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hw3-series) 35%, transparent); }
.hw3 .hw3-chart-hit:focus-visible { outline: 2px solid var(--hw3-series); outline-offset: 3px; }
.hw3 .hw3-chart-tooltip { display: none; position: absolute; z-index: 80; left: 50%; bottom: calc(100% + 9px); transform: translateX(-50%); width: max-content; max-width: min(230px, calc(100vw - 48px)); padding: 9px 11px; border: 1px solid var(--hw3-border); border-radius: 9px; background: var(--hw3-surface); color: var(--hw3-text); box-shadow: 0 5px 20px color-mix(in srgb, var(--hw3-text) 12%, transparent); font-size: 12px; line-height: 1.6; font-weight: 500; text-align: left; white-space: normal; overflow-wrap: anywhere; pointer-events: none; }
.hw3 .hw3-chart-hit:is(:hover, :focus-within) > .hw3-chart-tooltip { display: block; }
.hw3 .hw3-chart-hit[data-tooltip-align="start"] > .hw3-chart-tooltip { left: 0; transform: none; }
.hw3 .hw3-chart-hit[data-tooltip-align="end"] > .hw3-chart-tooltip { left: auto; right: 0; transform: none; }
.hw3 .hw3-bullet { width: 190px; max-width: 100%; min-width: 170px; font-size: 11px; }
.hw3 .hw3-bullet-caption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 7px; margin-top: 4px; font-size: 11px; color: var(--hw3-muted); font-variant-numeric: tabular-nums; }
.hw3 .hw3-aside :is(.hw3-budget-structure, .hw3-participant-structure) { padding: 12px; }
.hw3 .hw3-aside .hw3-chart-legend { gap: 6px 10px; }

.hw3 .hw3-settings-backdrop {
    position: fixed;
    z-index: 10050;
    inset: 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 70px 24px 24px;
    background: var(--theme-overlay-bg, rgba(15, 23, 42, 0.42));
    backdrop-filter: blur(3px);
    overflow-y: auto;
}
.hw3 .hw3-settings {
    width: min(460px, 100%);
    max-height: calc(100dvh - 94px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--hw3-border);
    border-radius: 18px;
    background: var(--hw3-surface);
    box-shadow: var(--theme-shadow, 0 18px 60px rgba(15, 23, 42, 0.2));
}
.hw3 .hw3-settings-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 22px 16px; border-bottom: 1px solid var(--hw3-border); background: linear-gradient(110deg, var(--hw3-surface), var(--hw3-accent-soft)); flex-shrink: 0; }
.hw3 .hw3-settings-header h2 { font-size: 16px; }
.hw3 .hw3-settings-body { padding: 18px 20px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.hw3 .hw3-settings-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--hw3-border); background: var(--hw3-soft); flex-shrink: 0; }
.hw3 .hw3-settings-close { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 5px; background: transparent; color: var(--hw3-muted); font-size: 17px; }
.hw3 .hw3-settings-close:hover { background: var(--hw3-soft); color: var(--hw3-text); }
.hw3 .hw3-field { display: block; min-width: 0; margin: 0 0 20px; padding: 0; border: 0; }
.hw3 .hw3-field:last-child { margin-bottom: 0; }
.hw3 label.hw3-field { font-size: 13px; font-weight: 550; }
.hw3 label.hw3-field > :is(input, select, textarea) { display: block; margin-top: 8px; font-weight: 400; }
.hw3 .hw3-field > :is(label, legend) { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 550; }
.hw3 .hw3-field > .hw3-help { display: block; margin-top: 6px; }
.hw3 .hw3-field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; min-width: 0; min-height: 40px; padding: 9px 11px; background: var(--theme-input-bg, var(--hw3-surface)); color: var(--hw3-text); border: 1px solid var(--theme-input-border, #cbd5e1); border-radius: 9px; box-shadow: inset 0 1px 2px color-mix(in srgb, var(--hw3-text) 4%, transparent); transition: border-color 150ms ease, box-shadow 150ms ease; }
.hw3 .hw3-field :is(input, select, textarea):focus { border-color: var(--hw3-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--hw3-accent) 13%, transparent); }
.hw3 .hw3-field select[multiple] { min-height: 148px; }
.hw3 .hw3-field-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0 0 20px; padding: 0; border: 0; }
.hw3 .hw3-field-options > legend { display: block; margin-bottom: 8px; padding: 0; font-size: 13px; font-weight: 550; }
.hw3 .hw3-field-options > :is(.hw3-help, .hw3-empty) { grid-column: 1 / -1; }
.hw3 .hw3-check { display: flex; align-items: flex-start; gap: 8px; padding: 10px; min-width: 0; font-size: 12px; line-height: 1.5; border: 1px solid var(--hw3-border); border-radius: 9px; cursor: pointer; background: var(--hw3-surface); }
.hw3 .hw3-check:hover { border-color: color-mix(in srgb, var(--hw3-accent) 45%, var(--hw3-border)); }
.hw3 .hw3-check input { flex: 0 0 auto; width: 15px; height: 15px; margin: 2px 0 0; accent-color: var(--hw3-accent); }
.hw3 .hw3-check:has(input:checked) { background: var(--hw3-accent-soft); border-color: var(--hw3-accent); }
.hw3 .hw3-check > span { min-width: 0; overflow-wrap: anywhere; }
.hw3 .hw3-check small { display: block; color: var(--hw3-muted); font-size: 11px; margin-top: 2px; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-picker { display: grid; gap: 12px; min-width: 0; margin: 0 0 20px; padding: 0; border: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-picker > legend { margin-bottom: 8px; padding: 0; font-size: 13px; font-weight: 550; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-search { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-search > .hw3-field { margin-bottom: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-search > .hw3-field:has(> input[type="search"]) { grid-column: 1 / -1; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-search .hw3-field > :is(input, select) { margin-top: 6px; font-size: 12px; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-search :is(input, select):focus { border-color: var(--hw3-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--hw3-accent) 18%, transparent); }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-selection { display: grid; gap: 6px; min-width: 0; padding-bottom: 12px; border-bottom: 1px solid var(--hw3-border); }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-projects { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-projects:empty { display: none; }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-project { display: inline-flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; min-height: 30px; padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--hw3-accent) 28%, var(--hw3-border)); border-radius: 6px; background: var(--hw3-accent-soft); color: var(--hw3-text); font-size: 12px; line-height: 1.4; text-align: left; }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-project:hover { border-color: var(--hw3-accent); }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-project > span { min-width: 0; overflow-wrap: anywhere; }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-project small { display: block; min-width: 0; color: var(--hw3-muted); font-size: 10px; overflow-wrap: anywhere; }
#page-home #homeWorkspaceRoot.hw3 .hw3-selected-project > i { flex: 0 0 auto; color: var(--hw3-muted); font-size: 10px; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-results { display: grid; gap: 8px; min-width: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-pager { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-pager > span { flex: 1; min-width: 0; font-size: 11px; text-align: center; overflow-wrap: anywhere; }
#page-home #homeWorkspaceRoot.hw3 .hw3-project-pager > .hw3-secondary { flex: 0 0 auto; min-height: 31px; padding: 5px 9px; }
.hw3 #hw3SettingsError:empty { display: none; }

/* Semantic colors must win over the legacy forced span/p/strong colors. */
#page-home #homeWorkspaceRoot.hw3 :is(.hw3-label, .hw3-help, .hw3-state-message, .hw3-subtitle, .hw3-kicker, .hw3-source, .hw3-empty, .hw3-loading, .hw3-denied, .hw3-item-meta, .hw3-item-desc, .hw3-instrument-scale, .hw3-chart-meta, .hw3-chart-legend, .hw3-bullet-caption, .hw3-chart-unavailable) { color: var(--hw3-muted) !important; }
#page-home #homeWorkspaceRoot.hw3 :is(.hw3-title, .hw3-value, .hw3-state-title, .hw3-item-title, .hw3-instrument-note, .hw3-chart-title, .hw3-chart-tooltip) { color: var(--hw3-text) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-legend-item strong { color: var(--hw3-text) !important; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
#page-home #homeWorkspaceRoot.hw3 .hw3-metric-icon { color: var(--hw3-metric-ink) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-state-icon { color: var(--hw3-state-ink) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-instrument-value { color: var(--hw3-accent) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-head .hw3-title { color: #f4f8ff !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-head :is(.hw3-subtitle, .hw3-kicker) { color: #c4d5ee !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-head .hw3-secondary { background: rgba(255, 255, 255, 0.11); border-color: rgba(214, 232, 255, 0.28); color: #f4f8ff; }
#page-home #homeWorkspaceRoot.hw3 .hw3-head .hw3-secondary:hover { background: rgba(255, 255, 255, 0.2); }
#page-home #homeWorkspaceRoot.hw3 .hw3-instrument[data-state="unknown"] .hw3-instrument-value { color: var(--hw3-text) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-warning { color: var(--hw3-warning) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-tag { color: var(--hw3-muted) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-tag[data-tone="success"] { color: var(--hw3-success) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-tag[data-tone="warning"] { color: var(--hw3-warning) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-tag[data-tone="danger"] { color: var(--hw3-danger) !important; }
#page-home #homeWorkspaceRoot.hw3 .hw3-tag[data-tone="info"] { color: var(--hw3-accent) !important; }
#page-home #homeWorkspaceRoot.hw3 #workspaceDataStatusLabel { color: var(--theme-info-text, #405cc4) !important; }
#page-home #homeWorkspaceRoot.hw3 #workspaceDataStatusLabel[data-state="loaded"] { color: var(--hw3-success) !important; }
#page-home #homeWorkspaceRoot.hw3 #workspaceDataStatusLabel[data-state="partial"] { color: var(--hw3-warning) !important; }
#page-home #homeWorkspaceRoot.hw3 #workspaceDataStatusLabel[data-state="blocked"] { color: var(--hw3-danger) !important; }

@media (min-width: 1500px) {
    #page-home #homeWorkspaceRoot.hw3 { padding-right: 24px; padding-left: 24px; }
    .hw3 .hw3-layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 16px; }
    .hw3 .hw3-shell[data-mode="project"] .hw3-layout { grid-template-columns: minmax(0, 1fr) 290px; }
    .hw3 .hw3-project-charts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hw3 .hw3-project-charts > :only-child { grid-column: 1 / -1; }
    .hw3 .hw3-project-charts .hw3-enrollment-display { grid-template-columns: minmax(0, 1fr); }
    .hw3 .hw3-project-charts .hw3-enrollment-display .hw3-instrument { flex-direction: row; justify-content: flex-start; gap: 14px; padding: 10px 14px; text-align: left; }
    .hw3 .hw3-project-charts .hw3-enrollment-display .hw3-instrument-visual { width: 102px; }
    .hw3 .hw3-project-charts .hw3-enrollment-display .hw3-instrument-scale { justify-content: flex-start; }
}
@media (max-width: 1280px) {
    .hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .hw3 .hw3-instrument { flex-direction: row; justify-content: flex-start; gap: 19px; padding: 15px 19px; text-align: left; }
    .hw3 .hw3-instrument-visual { width: 126px; }
    .hw3 .hw3-instrument-value { font-size: 28px; }
    .hw3 .hw3-instrument-scale { justify-content: flex-start; }
    .hw3 .hw3-aside .hw3-instrument { gap: 9px; padding: 13px 10px; }
}
@media (max-width: 1180px) {
    #page-home #homeWorkspaceRoot.hw3 { padding-right: 18px; padding-left: 18px; }
    .hw3 .hw3-layout,
    .hw3 .hw3-shell[data-mode="project"] .hw3-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 12px; }
    .hw3 .hw3-metric { padding-right: 15px; padding-left: 15px; }
    .hw3 .hw3-table { font-size: 11px; }
    .hw3 .hw3-table :is(th, td) { padding-right: 9px; padding-left: 9px; }
}
@media (max-width: 1000px) {
    .hw3 .hw3-layout,
    .hw3 .hw3-shell[data-mode="project"] .hw3-layout { grid-template-columns: minmax(0, 1fr); }
    .hw3 .hw3-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
    .hw3 .hw3-aside > :only-child { grid-column: 1 / -1; }
    .hw3 .hw3-metrics:has(> .hw3-metric:nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    #page-home #homeWorkspaceRoot.hw3 { padding: calc(var(--app-topbar-height, 8px) + 6px) 12px 20px; }
    .hw3 .hw3-head { gap: 10px; margin-bottom: 12px; padding: 15px; border-radius: 12px; }
    .hw3 .hw3-head::after { background-image: linear-gradient(90deg, rgba(4, 16, 32, 0.88), rgba(4, 16, 32, 0.66) 45%, rgba(4, 16, 32, 0.18)), url("../assets/home-hero-biotech-3d.webp"); background-position: center, 67% center; }
    .hw3 .hw3-head-copy { flex-basis: 100%; }
    .hw3 .hw3-title { font-size: 22px; }
    .hw3 .hw3-head-actions { width: 100%; justify-content: flex-start; padding-top: 0; }
    .hw3 .hw3-modebar { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; padding: 4px; margin-bottom: 12px; }
    .hw3 .hw3-mode-button { flex-wrap: wrap; padding: 8px 4px; gap: 3px; min-width: 0; font-size: 12px; }
    .hw3 .hw3-mode-note { width: 100%; line-height: 1.1; }
    .hw3 .hw3-mode-status { grid-column: 1 / -1; text-align: center; }
    .hw3 .hw3-mode-button i { font-size: 11px; }
    .hw3 .hw3-metrics,
    .hw3 .hw3-metrics:has(> .hw3-metric:nth-child(3):last-child),
    .hw3 .hw3-metrics:has(> .hw3-metric:nth-child(5):last-child),
    .hw3 .hw3-metrics:has(> .hw3-metric:nth-child(6):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; gap: 9px; }
    .hw3 .hw3-metric { min-height: 103px; padding: 11px 12px; }
    .hw3 .hw3-metric-icon { width: 27px; height: 27px; font-size: 12px; }
    .hw3 .hw3-metrics:has(> .hw3-metric:nth-child(3):last-child) > .hw3-metric:last-child,
    .hw3 .hw3-metrics:has(> .hw3-metric:nth-child(5):last-child) > .hw3-metric:last-child { grid-column: 1 / -1; }
    .hw3 .hw3-value { font-size: 24px; }
    .hw3 :is(.hw3-main, .hw3-aside) { display: flex; align-items: stretch; gap: 15px; }
    .hw3 .hw3-aside > .hw3-panel { width: 100%; align-self: stretch; }
    .hw3 .hw3-personal-main { display: flex; }
    .hw3 .hw3-personal-main .hw3-task-list { max-height: 260px; }
    .hw3 .hw3-project-context { flex-wrap: wrap; gap: 7px 10px; }
    .hw3 .hw3-project-context-label { flex: 1; }
    .hw3 .hw3-project-context > .hw3-link { order: 1; }
    .hw3 .hw3-financial-overview { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .hw3 .hw3-panel-header { padding: 14px 14px 11px; gap: 8px; }
    .hw3 .hw3-panel-body { padding: 13px 14px; }
    .hw3 .hw3-state.hw3-empty { min-height: 104px; padding: 16px 14px; gap: 12px; }
    .hw3 .hw3-state-icon { width: 40px; height: 40px; border-radius: 12px; }
    .hw3 .hw3-state.hw3-chart-unavailable { min-height: 80px; padding: 12px; }
    .hw3 .hw3-panel-footer { padding-right: 14px; padding-left: 14px; }
    .hw3 .hw3-projectcards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) { gap: 11px; }
    .hw3 .hw3-instrument { padding: 15px 13px; gap: 15px; }
    .hw3 .hw3-instrument-visual { width: 110px; }
    .hw3 .hw3-instrument-value { font-size: 28px; }
    .hw3 .hw3-instrument-scale { font-size: 11px; }
    .hw3 .hw3-aside .hw3-instrument-visual { width: 110px; }
    .hw3 :is(.hw3-budget-display, .hw3-enrollment-display, .hw3-tasks-display) .hw3-metric { min-height: 101px; }
    .hw3 :is(.hw3-period-chart, .hw3-budget-structure, .hw3-participant-structure, .hw3-milestone-chart) { padding: 12px; }
    .hw3 .hw3-chart-category { font-size: 11px; }
    .hw3 .hw3-chart-value { font-size: 12px; }
    .hw3 .hw3-chart-tooltip { font-size: 11px; max-width: min(215px, calc(100vw - 48px)); }
    .hw3 .hw3-chart-legend { gap: 7px 12px; }
    .hw3 .hw3-table { min-width: 620px; font-size: 12px; }
    .hw3 .hw3-item { gap: 10px; }
    .hw3 .hw3-item-actions { flex-wrap: wrap; max-width: 88px; }
    .hw3 .hw3-item-actions .hw3-secondary { min-height: 31px; padding: 5px 8px; }
    .hw3 .hw3-settings-backdrop { align-items: flex-end; padding: 14px; }
    .hw3 .hw3-settings { width: 100%; max-height: calc(100dvh - 28px); }
    .hw3 .hw3-settings-header { padding: 16px 16px 12px; }
    .hw3 .hw3-settings-body { padding: 16px; }
    .hw3 .hw3-settings-footer { padding: 12px 16px; }
    .hw3 .hw3-field-options { grid-template-columns: minmax(0, 1fr); }
    #page-home #homeWorkspaceRoot.hw3 .hw3-project-options { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
    #page-home #homeWorkspaceRoot.hw3 { padding-right: 10px; padding-left: 10px; }
    .hw3 .hw3-mode-button { font-size: 11px; }
    .hw3 .hw3-mode-button i { display: none; }
    .hw3 .hw3-metric { padding: 13px 11px; }
    .hw3 .hw3-value { font-size: 22px; }
    .hw3 .hw3-instrument-visual { width: 96px; }
    .hw3 .hw3-instrument-value { font-size: 26px; }
    .hw3 .hw3-metric-top { gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
    .hw3 *, .hw3 *::before, .hw3 *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    #page-home #homeWorkspaceRoot.hw3 .hw3-entry-shortcuts .minimal-home-shortcut:hover { transform: none; }
}
