:root {
    --bg: #eef2f5;
    --surface: #ffffff;
    --surface-strong: #f7f9fb;
    --text: #1e2933;
    --muted: #66727f;
    --accent: #0f766e;
    --accent-soft: #e5f0ef;
    --line: rgba(30, 41, 51, 0.14);
    --shadow: none;
    --radius: 8px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
    background: var(--bg);
}

a {
    color: inherit;
}

.shell {
    width: min(1840px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 1.25rem 0 2rem;
}

.masthead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
}

.brand-lockup {
    display: flex;
    align-items: center;
    min-width: 0;
}

.brand-mark {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-size: clamp(1.7rem, 2.6vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #153247;
}

.eyebrow,
.kicker {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    color: var(--muted);
}

.subtle {
    margin: 0.25rem 0 0;
    color: var(--muted);
}

.masthead h1,
.hero h2,
.panel h2,
.panel h3 {
    margin: 0.2rem 0 0;
}

.nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    justify-content: flex-end;
}

.nav a,
.nav-button {
    text-decoration: none;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    background: var(--surface-strong);
    border: 1px solid var(--line);
}

.nav-form {
    margin: 0;
}

.nav-button {
    width: auto;
    color: inherit;
    cursor: pointer;
}

.nav-meta {
    color: var(--muted);
    font-size: 0.92rem;
    white-space: nowrap;
    margin-right: 0.3rem;
}

.content {
    display: grid;
    gap: 0.75rem;
}

.panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1rem;
}

.hero {
    display: grid;
    gap: 1rem;
}

.stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.5rem;
    margin: 0;
}

.stats div {
    padding: 0.7rem 0.8rem;
    border-radius: 6px;
    background: var(--surface-strong);
    border: 1px solid rgba(30, 41, 51, 0.08);
}

.stats dt {
    color: var(--muted);
    font-size: 0.85rem;
}

.stats dd {
    margin: 0.2rem 0 0;
    font-size: 1rem;
    font-weight: 700;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.75rem;
}

.split-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.narrow {
    max-width: 520px;
}

.stack,
.filters {
    display: grid;
    gap: 0.75rem;
}

label span {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.88rem;
    color: var(--muted);
}

input,
textarea,
select,
button {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.7rem 0.8rem;
    font: inherit;
    background: #fff;
}

button {
    background: var(--accent);
    color: #fff;
    border: none;
    cursor: pointer;
}

.notice {
    padding: 0.85rem 0.95rem;
    border-radius: 6px;
    border: 1px solid var(--line);
}

.notice-success {
    background: rgba(203, 233, 230, 0.75);
}

.notice-error {
    background: rgba(196, 68, 44, 0.1);
    border-color: rgba(196, 68, 44, 0.25);
}

.notice ul {
    margin: 0.65rem 0 0;
}

.panel-header,
.project-card-header,
.form-actions,
.inline-actions,
.detail-header,
.detail-actions {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.75rem;
}

.stat-pill {
    min-width: 90px;
    padding: 0.7rem 0.8rem;
    border-radius: 6px;
    background: var(--surface-strong);
    text-align: right;
    border: 1px solid rgba(30, 41, 51, 0.08);
}

.stat-pill span {
    display: block;
    font-size: 1rem;
    font-weight: 700;
}

.stat-pill small {
    color: var(--muted);
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.toggle-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.65rem 0.75rem;
}

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.checkbox-row input {
    width: auto;
    margin: 0;
}

.checkbox-row span {
    margin: 0;
}

.secondary-link,
.secondary-button,
.danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 100px;
    text-decoration: none;
    padding: 0.65rem 0.8rem;
    border-radius: 6px;
}

.secondary-link,
.secondary-button {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--line);
    color: var(--text);
}

.danger-button {
    background: #a63c2f;
    color: #fff;
}

.project-list {
    display: grid;
    gap: 0.75rem;
}

.project-card-listing {
    padding: 0.95rem 1rem;
}

.project-card-listing .project-card-body,
.project-card-listing .project-card-main,
.project-card-listing .project-card-side {
    display: grid;
    gap: 0.7rem;
}

.project-card-listing .project-card-main p {
    margin: 0;
}

.project-title-link {
    color: var(--text);
    text-decoration: none;
}

.project-title-link:hover,
.project-title-link:focus-visible {
    color: #0f766e;
    text-decoration: underline;
}

.project-card-listing .project-card-side {
    align-content: start;
    gap: 0.55rem;
}

.project-card-listing .project-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.project-card-listing .action-link-open {
    background: rgba(15, 118, 110, 0.12);
    border-color: rgba(15, 118, 110, 0.28);
    color: #0c5952;
}

.project-card-listing .action-link-edit {
    background: rgba(138, 149, 158, 0.16);
    border-color: rgba(96, 108, 118, 0.28);
    color: #31414f;
}

.project-card-listing .project-card-actions {
    gap: 0.45rem;
    justify-content: flex-end;
}

.project-card-listing .project-card-actions .inline-form {
    width: auto;
}

.project-card-listing .project-card-actions .secondary-button,
.project-card-listing .project-card-actions .danger-button {
    width: auto;
    min-width: 0;
    padding: 0.55rem 0.75rem;
}

.project-card-listing .project-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
}

.project-card-listing .project-facts div {
    padding: 0.5rem 0.6rem;
}

.project-card-listing .project-facts dt {
    font-size: 0.76rem;
}

.project-card-listing .project-facts dd {
    font-size: 0.88rem;
    line-height: 1.25;
}

.task-list {
    display: grid;
    gap: 0.75rem;
}

.dashboard-list {
    display: grid;
    gap: 0.65rem;
}

.dashboard-main {
    gap: 0.65rem;
}

.dashboard-main > .panel {
    padding: 0.95rem 1rem;
}

.dashboard-main .dashboard-list {
    gap: 0.5rem;
}

.dashboard-filters {
    padding: 0.85rem;
    border-radius: 6px;
    background: var(--surface-strong);
    border: 1px solid var(--line);
}

.dashboard-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    align-items: start;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border-radius: 4px;
    background: var(--surface-strong);
    border: 1px solid var(--line);
}

.dashboard-item h4 {
    margin: 0;
}

.dashboard-item h4 a {
    text-decoration: none;
}

.dashboard-meta {
    min-width: 0;
    text-align: right;
}

.dashboard-meta strong,
.dashboard-meta small {
    display: block;
}

.dashboard-meta small {
    color: var(--muted);
    margin-top: 0.2rem;
}

.dashboard-item-wide {
    display: grid;
    gap: 0.65rem;
}

.dashboard-inline-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.35rem 0.65rem;
    color: var(--muted);
}

.dashboard-link-grid,
.dashboard-focus-list {
    display: grid;
    gap: 0.65rem;
}

.dashboard-link-card,
.dashboard-focus-card {
    display: grid;
    gap: 0.25rem;
    padding: 0.8rem 0.9rem;
    border-radius: 6px;
    background: var(--surface-strong);
    border: 1px solid var(--line);
}

.dashboard-link-card {
    text-decoration: none;
    color: inherit;
}

.dashboard-link-card strong,
.dashboard-focus-card strong {
    margin: 0;
}

.dashboard-link-card span,
.dashboard-focus-card span {
    color: var(--muted);
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.75rem;
}

.mini-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.5rem;
}

.mini-stats div {
    padding: 0.7rem 0.8rem;
    border-radius: 6px;
    background: var(--surface-strong);
    border: 1px solid rgba(30, 41, 51, 0.08);
}

.mini-stats span {
    display: block;
    font-size: 1rem;
    font-weight: 700;
}

.mini-stats small {
    color: var(--muted);
}

.project-card {
    display: grid;
    gap: 0.75rem;
}

.public-link-row {
    display: grid;
    gap: 0.35rem;
}

.compact-meta {
    margin-top: 0;
}

.public-link-token-wrap {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.public-link-token {
    display: inline-block;
    max-width: 100%;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--surface-strong);
    overflow-wrap: anywhere;
}

.public-link-actions {
    gap: 0.45rem;
}

.public-link-actions .secondary-link,
.public-link-actions .secondary-button,
.public-link-actions .danger-button {
    min-width: 0;
    padding: 0.5rem 0.7rem;
}

.compact-toggle-grid {
    gap: 0.45rem 0.75rem;
}

.compact-inline-form {
    gap: 0.75rem;
}

.public-link-revoke-form {
    margin-top: 0.55rem;
}

.timeline-panel {
    display: grid;
    gap: 1rem;
}

.timeline-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.timeline-axis,
.timeline-row-track {
    position: relative;
    min-height: 2rem;
}

.timeline-axis {
    padding: 0.2rem 0 0.85rem;
    border-bottom: 1px solid var(--line);
}

.timeline-axis-segment {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: center;
    padding: 0 0.2rem;
    font-size: 0.78rem;
    color: var(--muted);
    white-space: nowrap;
}

.timeline-list {
    display: grid;
    gap: 0.75rem;
}

.timeline-row {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
}

.timeline-row-copy {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.timeline-row-track {
    padding: 0.25rem 0;
}

.timeline-track-line {
    position: absolute;
    inset: 50% 0 auto;
    border-top: 1px solid rgba(31, 41, 51, 0.12);
    transform: translateY(-50%);
}

.timeline-bar {
    position: absolute;
    top: 50%;
    display: inline-flex;
    align-items: center;
    min-width: 1.5rem;
    max-width: 100%;
    padding: 0.35rem 0.55rem;
    border-radius: 4px;
    color: #0b1218;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transform: translateY(-50%);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.timeline-bar-project {
    background: #dbe9e7;
    border: 1px solid #7ea5a0;
}

.timeline-bar-work_package {
    background: #e7edf2;
    border: 1px solid #91a0ae;
}

.timeline-bar-task {
    background: #eef4df;
    border: 1px solid #9cb06e;
}

.task-card {
    display: grid;
    gap: 0.75rem;
}

.task-card-nested {
    padding: 0.8rem;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface-strong);
}

.detail-description {
    margin: 1rem 0 0;
}

.project-hero {
    display: grid;
    gap: 1.25rem;
    background:
        linear-gradient(135deg, rgba(15, 118, 110, 0.1), rgba(255, 255, 255, 0.9)),
        var(--surface);
}

.project-hero-stats dt {
    color: var(--muted);
}

.project-hero-stats dd {
    margin: 0.35rem 0 0;
    font-weight: 700;
}

.action-link-grid {
    display: grid;
    gap: 0.85rem;
}

.workspace-shell {
    padding-bottom: 1rem;
}

.disclosure-card {
    overflow: hidden;
}

.disclosure-card summary {
    list-style: none;
    cursor: pointer;
}

.disclosure-card summary::-webkit-details-marker {
    display: none;
}

.card-summary {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.card-summary-main {
    display: grid;
    gap: 0.35rem;
}

.card-summary-main p {
    margin: 0;
}

.card-summary-side {
    display: flex;
    align-items: start;
    gap: 0.5rem;
}

.summary-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.1);
    color: #0c5952;
    font-size: 0.85rem;
    font-weight: 700;
    white-space: nowrap;
}

.detail-stack {
    display: grid;
    gap: 1rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}

.composer-card {
    padding: 1.25rem 1.35rem;
}

.compact-filter-grid {
    margin-top: 1rem;
}

.project-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    color: var(--muted);
    margin: 0.25rem 0 0;
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    background: var(--accent-soft);
    color: #0c5952;
    font-size: 0.78rem;
    font-weight: 600;
}

.project-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.5rem;
    margin: 0;
}

.project-facts div {
    padding: 0.7rem 0.8rem;
    border-radius: 6px;
    background: var(--surface-strong);
    border: 1px solid rgba(30, 41, 51, 0.08);
}

.project-facts dt {
    font-size: 0.84rem;
    color: var(--muted);
}

.project-facts dd {
    margin: 0.2rem 0 0;
    font-weight: 600;
}

.compact-facts {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.compact-notice {
    margin-bottom: 1rem;
}

.subsection {
    display: grid;
    gap: 0.65rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--line);
}

.subsection h4 {
    margin: 0;
}

.public-structure-panel {
    padding: 0;
    overflow: hidden;
}

.public-structure-table-wrapper {
    overflow-x: auto;
}

.public-structure-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1120px;
}

.public-structure-table th,
.public-structure-table td {
    padding: 0.8rem 0.9rem;
    border-bottom: 1px solid rgba(30, 41, 51, 0.08);
    text-align: left;
    vertical-align: top;
}

.public-structure-table th {
    background: #f5f7f9;
    color: var(--muted);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.public-structure-table tbody tr:nth-child(even) {
    background: rgba(248, 250, 251, 0.65);
}

.public-structure-row-work-package td {
    background: rgba(217, 227, 237, 0.97);
    border-bottom-color: rgba(83, 104, 126, 0.14);
}

.public-structure-row-work-package .badge {
    background: #aebfd0;
    color: #284255;
}

.public-structure-row-work-package .public-structure-meta span {
    background: #dbe5ee;
    color: #284255;
}

.public-structure-row-equipment td {
    background: rgba(246, 235, 221, 0.82);
}

.public-structure-row-equipment .badge {
    background: #e7be8a;
    color: #6b4a1f;
}

.public-structure-row-equipment .public-structure-meta span {
    background: #f8f0e5;
    color: #6b4a1f;
}

.public-structure-node {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.public-structure-node-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.public-structure-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    padding: 0;
    border: 1px solid rgba(83, 104, 126, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #284255;
    cursor: pointer;
    flex: 0 0 auto;
}

.public-structure-toggle-icon {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid currentColor;
    transition: transform 160ms ease;
}

.public-structure-toggle.is-expanded .public-structure-toggle-icon {
    transform: rotate(90deg);
}

.public-structure-row-child td {
    border-bottom-color: rgba(30, 41, 51, 0.05);
}

.public-structure-depth-0 {
    padding-left: 0;
}

.public-structure-depth-1 {
    padding-left: 1.6rem;
    position: relative;
}

.public-structure-depth-1::before {
    content: "";
    position: absolute;
    left: 0.55rem;
    top: 0.6rem;
    bottom: 0.6rem;
    width: 2px;
    background: rgba(15, 118, 110, 0.18);
    border-radius: 999px;
}

.public-structure-description {
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.public-structure-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}

.public-structure-meta span,
.public-structure-empty {
    display: inline-flex;
    align-items: center;
    padding: 0.24rem 0.5rem;
    border-radius: 999px;
    background: var(--surface-strong);
    color: #425466;
    font-size: 0.84rem;
    white-space: nowrap;
}

.public-structure-table td:nth-child(2),
.public-structure-table td:nth-child(3),
.public-structure-table td:nth-child(4),
.public-structure-table td:nth-child(5),
.public-structure-table td:nth-child(6) {
    white-space: nowrap;
}

.inline-form {
    margin: 0;
}

.inline-form input[type="hidden"] {
    display: none;
}

.project-actions {
    display: flex;
    align-items: start;
    gap: 0.75rem;
}

.panel-header-actions {
    display: flex;
    align-items: start;
    justify-content: flex-end;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.compact-row {
    align-items: center;
}

.deleted-card {
    opacity: 0.88;
}

.empty-state {
    text-align: center;
}

ul {
    padding-left: 1.2rem;
}

code {
    font-family: "Courier New", monospace;
}

.project-page {
    display: grid;
    gap: 0.75rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #1f2933;
}

.project-page .panel {
    background: #fff;
    border: 1px solid rgba(31, 41, 51, 0.14);
    border-radius: 8px;
    box-shadow: none;
    backdrop-filter: none;
    padding: 1rem;
}

.project-page .project-hero {
    gap: 1rem;
    background: #fff;
    border-left: 4px solid #0f766e;
}

.project-page .detail-header {
    flex-direction: column;
    align-items: stretch;
}

.project-page .detail-header > div,
.project-page .detail-actions,
.project-page .detail-description,
.project-page .project-meta,
.workspace-sidebar > *,
.workspace-sidebar .panel,
.workspace-sidebar .action-link-grid,
.workspace-sidebar .dashboard-link-card {
    min-width: 0;
}

.project-page .detail-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
}

.project-page .detail-actions .secondary-link {
    width: 100%;
}

.project-page .stats,
.project-page .summary-grid,
.project-page .content,
.project-page .project-list,
.project-page .task-list,
.project-page .grid,
.project-page .split-grid {
    gap: 0.75rem;
}

.project-page .stats div,
.project-page .mini-stats div,
.project-page .project-facts div,
.project-page .task-card-nested,
.project-page .dashboard-link-card,
.project-page .dashboard-focus-card,
.project-page .stat-pill {
    border-radius: 6px;
    background: #f8fafb;
    border: 1px solid rgba(31, 41, 51, 0.08);
    box-shadow: none;
}

.project-page .mini-stats {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 0.55rem;
}

.project-page .mini-stats div,
.project-page .stats div,
.project-page .project-facts div,
.project-page .stat-pill {
    padding: 0.7rem 0.8rem;
}

.project-page .mini-stats span,
.project-page .stats dd,
.project-page .stat-pill span {
    font-size: 1rem;
    line-height: 1.2;
}

.project-page .project-meta {
    gap: 0.35rem 0.65rem;
    font-size: 0.92rem;
    margin-top: 0.3rem;
}

.project-page .badge,
.project-page .summary-chip {
    border-radius: 4px;
    padding: 0.2rem 0.5rem;
    background: #e6f0ef;
    color: #0f4f4a;
    font-size: 0.78rem;
    font-weight: 600;
}

.project-page .summary-chip {
    white-space: normal;
}

.project-page .project-card,
.project-page .task-card,
.project-page .detail-stack,
.project-page .subsection,
.project-page .action-link-grid {
    gap: 0.75rem;
}

.project-page .section-head-panel {
    background: #fbfcfd;
    border-color: rgba(31, 41, 51, 0.12);
    border-left: 4px solid #9aa8b4;
}

.project-page #work-packages > .section-head-panel {
    background: #dbe6f0;
    border-color: rgba(96, 117, 138, 0.34);
    border-left-color: #5d7388;
}

.project-page #equipment > .section-head-panel {
    background: #f6ebdd;
    border-color: rgba(201, 137, 61, 0.26);
    border-left-color: #c9893d;
}

.project-page .section-head-panel .panel-header {
    align-items: center;
}

.project-page .section-head-panel .panel-header > div:first-child {
    display: grid;
    gap: 0.15rem;
}

.project-page .detail-stack {
    margin-top: 0.9rem;
    padding-top: 0.85rem;
}

.project-page .task-card-nested {
    padding: 0.8rem;
}

.project-page .stat-pill {
    min-width: 90px;
    text-align: right;
}

.project-page input,
.project-page textarea,
.project-page select,
.project-page button,
.project-page .secondary-link,
.project-page .secondary-button,
.project-page .danger-button {
    border-radius: 6px;
}

.project-page input,
.project-page textarea,
.project-page select,
.project-page button {
    padding: 0.7rem 0.8rem;
}

.project-page button {
    background: #0f766e;
}

.project-page .secondary-link,
.project-page .secondary-button {
    background: #f5f7f9;
}

.project-page .danger-button {
    background: #b53a2d;
}

.project-page .composer-card {
    padding: 0.9rem 1rem;
    background: #eef3f6;
    border-color: rgba(87, 104, 120, 0.22);
}

.project-page .work-package-composer-card {
    background: #d4e0eb;
    border-color: rgba(96, 117, 138, 0.38);
}

.project-page .equipment-composer-card {
    background: #f1dfc8;
    border-color: rgba(201, 137, 61, 0.34);
}

.project-page .composer-card summary {
    display: none;
}

.project-page .composer-card:not([open]) {
    display: none;
}

.project-page .composer-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.15rem;
    border-bottom: 1px solid rgba(87, 104, 120, 0.16);
}

.project-page .composer-head > div {
    display: grid;
    gap: 0.2rem;
}

.project-page .composer-head h3 {
    margin: 0;
}

.project-page .work-package-composer-card .composer-head {
    border-bottom-color: rgba(96, 117, 138, 0.34);
}

.project-page .work-package-composer-card .detail-stack {
    border-top-color: rgba(96, 117, 138, 0.3);
}

.project-page .work-package-composer-card .summary-chip,
.project-page .work-package-composer-card .badge,
.project-page #work-packages .summary-chip,
.project-page .work-package-card .badge {
    background: #aebfd0;
    color: #284255;
}

.project-page .work-package-composer-card input,
.project-page .work-package-composer-card textarea,
.project-page .work-package-composer-card select {
    background: #f3f7fa;
    border-color: rgba(96, 117, 138, 0.28);
}

.project-page .work-package-card {
    background: #e8eff5;
    border-color: rgba(96, 117, 138, 0.28);
    box-shadow: inset 4px 0 0 #6a8095;
}

.project-page .work-package-card .project-facts div {
    background: #dfe8f0;
    border-color: rgba(96, 117, 138, 0.2);
}

.project-page .equipment-composer-card .composer-head {
    border-bottom-color: rgba(201, 137, 61, 0.3);
}

.project-page .equipment-composer-card .detail-stack {
    border-top-color: rgba(201, 137, 61, 0.28);
}

.project-page .equipment-composer-card .summary-chip,
.project-page .equipment-composer-card .badge,
.project-page #equipment .summary-chip,
.project-page .equipment-card .badge {
    background: #e7be8a;
    color: #6b4a1f;
}

.project-page .equipment-composer-card input,
.project-page .equipment-composer-card textarea,
.project-page .equipment-composer-card select {
    background: #fcf7ef;
    border-color: rgba(201, 137, 61, 0.24);
}

.project-page .equipment-card {
    background: #fbf4ea;
    border-color: rgba(201, 137, 61, 0.22);
}

.project-page .equipment-card .project-facts div,
.project-page .equipment-card.task-card-nested {
    background: #f6ebdc;
    border-color: rgba(201, 137, 61, 0.18);
}

.project-page .sidebar-filter-card {
    background: #f4f7f9;
    border-color: rgba(87, 104, 120, 0.18);
}

.project-page .sidebar-filter-card .detail-stack {
    gap: 0.85rem;
}

.project-page .sidebar-filter-card .subsection {
    gap: 0.55rem;
}

.project-page .sidebar-filter-card .subsection h3 {
    font-size: 0.98rem;
    margin: 0;
}

.project-page .sidebar-filter-card .filters {
    gap: 0.55rem;
}

.project-page .sidebar-filter-card .form-grid {
    gap: 0.55rem;
}

.project-page .sidebar-filter-card .form-actions {
    gap: 0.45rem;
}

.project-page .timeline-row,
.project-page .timeline-axis,
.project-page .timeline-panel,
.project-page .compact-inline-form {
    min-width: 0;
}

.project-page .composer-card .card-summary,
.project-page .composer-card .detail-stack {
    background: transparent;
}

.project-page .composer-card .card-summary {
    padding-bottom: 0.1rem;
}

.project-page .composer-card .detail-stack {
    border-top-color: rgba(87, 104, 120, 0.24);
}

.project-page .composer-card .summary-chip,
.project-page .composer-card .badge {
    background: #d9e6ec;
    color: #204153;
}

.project-page .workspace-main > .content {
    gap: 0.6rem;
}

.project-page .workspace-main > #timeline {
    order: 1;
}

.project-page .workspace-main > #work-packages {
    order: 2;
}

.project-page .workspace-main > #tasks {
    order: 3;
}

.project-page .workspace-main > #equipment {
    order: 4;
}

.project-page .workspace-main > #archive {
    order: 5;
}

.project-page .workspace-main > .content > .project-list,
.project-page .workspace-main > .content > .task-list,
.project-page .workspace-main > .content > .timeline-panel {
    margin-top: 0.2rem;
}

.project-page .card-summary {
    gap: 0.75rem;
}

.project-page .card-summary-main {
    gap: 0.2rem;
}

.project-page .panel h2,
.project-page .panel h3,
.project-page .panel h4 {
    margin-top: 0;
}

.project-page .subtle {
    font-size: 0.92rem;
}

.project-page .project-hero .eyebrow {
    letter-spacing: 0.08em;
    font-size: 0.75rem;
}

.workspace-layout {
    display: grid;
    gap: 0.75rem;
}

.workspace-sidebar,
.workspace-main {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.workspace-sidebar .summary-grid,
.workspace-sidebar .grid,
.workspace-sidebar .split-grid {
    grid-template-columns: 1fr;
}

.project-list-wide {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1500px) {
    .workspace-layout {
        grid-template-columns: 360px minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }

    .workspace-layout-project-detail {
        grid-template-columns: 380px minmax(0, 1fr) minmax(0, 1fr);
    }

    .workspace-layout-dashboard {
        grid-template-columns: 360px minmax(0, 1fr) minmax(0, 1fr);
    }

    .workspace-sidebar {
        position: sticky;
        top: 0.75rem;
        align-self: start;
        padding-right: 0.15rem;
    }

    .workspace-main {
        grid-column: 2 / span 2;
    }

    .project-list-wide {
        grid-template-columns: 1fr;
    }

    .project-card-listing .project-card-body {
        grid-template-columns: minmax(0, 1fr) 560px;
        align-items: start;
    }

    .project-card-listing .project-facts {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .timeline-row {
        grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
    }

    .dashboard-main .dashboard-item {
        grid-template-columns: minmax(0, 1fr) 180px;
    }

    .dashboard-main .dashboard-item-wide {
        grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
        align-items: center;
    }
}

@media (max-width: 720px) {
    .masthead {
        align-items: start;
        flex-direction: column;
    }

    .panel-header,
    .project-card-header,
    .form-actions,
    .inline-actions,
    .detail-header,
    .detail-actions,
    .dashboard-item,
    .card-summary {
        flex-direction: column;
        align-items: stretch;
    }

    .dashboard-meta {
        min-width: 0;
        text-align: left;
    }

    .timeline-row {
        grid-template-columns: 1fr;
    }

    .card-summary-side {
        justify-content: flex-start;
    }

    .project-page .project-hero {
        border-left-width: 0;
        border-top: 4px solid #0f766e;
    }
}
