/* Sapphire Constellum: private workspace surface integrated with the host skin. */
.constellum {
    --constellum-display: "Space Grotesk", "Manrope", system-ui, sans-serif;
    --constellum-bg: var(--sapphire-bg-main, #050816);
    --constellum-bg-raised: color-mix(in srgb, var(--sapphire-bg-panel, #111827) 92%, transparent);
    --constellum-bg-soft: color-mix(in srgb, var(--sapphire-bg-soft, #0f172a) 78%, transparent);
    --constellum-bg-hover: color-mix(in srgb, var(--sapphire-blue, #60a5fa) 14%, var(--sapphire-bg-panel, #111827));
    --constellum-line: var(--sapphire-line, rgba(148, 163, 184, .25));
    --constellum-line-strong: color-mix(in srgb, var(--sapphire-blue, #60a5fa) 54%, var(--sapphire-line-strong, #334155));
    --constellum-text: var(--sapphire-text, #e5e7eb);
    --constellum-muted: var(--sapphire-text-soft, #9ca3af);
    --constellum-faint: #667d98;
    --constellum-sapphire: var(--sapphire-blue, #60a5fa);
    --constellum-cyan: var(--sapphire-cyan, #93c5fd);
    --constellum-violet: #ae8cff;
    --constellum-gold: var(--sapphire-pink, #f2d38b);
    --constellum-red: #ff7688;
    --constellum-green: #65d39a;
    --constellum-shadow: var(--sapphire-shadow, 0 10px 25px rgba(15, 23, 42, .45));
    position: relative;
    min-width: 0;
    isolation: isolate;
    container-type: inline-size;
    color: var(--constellum-text);
    font-family: inherit;
    line-height: 1.5;
}

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

.constellum h1,
.constellum h2,
.constellum h3,
.constellum p,
.constellum dl,
.constellum dd,
.constellum ol,
.constellum ul {
    margin-top: 0;
}

.constellum h1,
.constellum h2,
.constellum h3 {
    color: #f7fbff;
    font-family: "Space Grotesk", system-ui, sans-serif;
}

.constellum a {
    color: #b9ddff;
    text-decoration: none;
}

.constellum a:hover {
    color: #fff;
}

.constellum button,
.constellum input,
.constellum select,
.constellum textarea {
    font: inherit;
}

.constellum button {
    color: inherit;
}

.constellum button:focus-visible,
.constellum a:focus-visible,
.constellum input:focus-visible,
.constellum select:focus-visible,
.constellum textarea:focus-visible,
.constellum [tabindex="0"]:focus-visible {
    outline: 2px solid #75d8ff;
    outline-offset: 3px;
}

.constellum-eyebrow,
.constellum-kicker,
.constellum-label {
    color: var(--constellum-gold);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.constellum-eyebrow {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.constellum-kicker {
    display: block;
    margin-bottom: 5px;
}

.constellum-button,
.constellum-icon-button,
.constellum-column__load,
.constellum-column__add {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid var(--constellum-line-strong);
    border-radius: 12px;
    color: #e6f3ff;
    background: linear-gradient(145deg, rgba(25, 62, 104, .9), rgba(11, 33, 63, .94));
    box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 10px 26px rgba(0, 7, 20, .2);
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.constellum-button:hover,
.constellum-icon-button:hover,
.constellum-column__load:hover,
.constellum-column__add:hover {
    border-color: rgba(119, 205, 255, .55);
    color: #fff;
    background: linear-gradient(145deg, rgba(31, 79, 130, .96), rgba(13, 43, 79, .98));
    box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 12px 30px rgba(0, 7, 20, .28);
    transform: translateY(-1px);
}

.constellum-button--primary {
    border-color: rgba(99, 190, 255, .5);
    color: #031325;
    background: linear-gradient(135deg, #7bd8ff, #579dff 52%, #7678f7);
    box-shadow: 0 12px 34px rgba(54, 133, 236, .25), inset 0 1px rgba(255, 255, 255, .36);
}

.constellum-button--primary:hover {
    color: #020f1d;
    background: linear-gradient(135deg, #98e2ff, #6eaeff 52%, #8d8aff);
}

.constellum-button--quiet {
    color: #bdd0e5;
    background: rgba(9, 24, 45, .72);
}

.constellum-button--danger {
    border-color: rgba(255, 118, 136, .35);
    color: #ffd9df;
    background: rgba(102, 29, 45, .64);
}

.constellum-button--compact {
    min-height: 39px;
    padding: 8px 13px;
    border-radius: 10px;
    font-size: .78rem;
}

.constellum-button:disabled,
.constellum-icon-button:disabled,
.constellum [aria-busy="true"] button[type="submit"] {
    opacity: .52;
    cursor: wait;
    transform: none;
}

.constellum-icon-button {
    width: 40px;
    min-height: 40px;
    padding: 0;
    border-color: var(--constellum-line);
    border-radius: 11px;
    color: var(--constellum-muted);
    background: rgba(7, 19, 38, .74);
}

.constellum-icon-button.is-active {
    border-color: rgba(239, 196, 118, .45);
    color: var(--constellum-gold);
    background: rgba(102, 73, 27, .24);
}

.constellum-icon-button--danger {
    border-color: rgba(255, 118, 136, .28);
    color: #ff9dab;
    background: rgba(91, 24, 39, .2);
}

.constellum-icon-button--danger:hover {
    border-color: rgba(255, 135, 151, .52);
    color: #ffe3e7;
    background: rgba(119, 29, 49, .36);
}

.constellum-icon-button--labelled {
    width: auto;
    padding: 0 13px;
    font-size: .77rem;
}

.constellum-hero,
.constellum-entity-hero,
.constellum-board-hero {
    position: relative;
    display: flex;
    gap: 28px;
    align-items: flex-end;
    justify-content: space-between;
    min-height: 184px;
    margin-bottom: 18px;
    padding: clamp(25px, 3vw, 40px);
    overflow: hidden;
    border: 1px solid var(--constellum-line);
    border-radius: 24px;
    background:
        radial-gradient(circle at 82% 16%, rgba(72, 159, 255, .18), transparent 26%),
        radial-gradient(circle at 12% 115%, rgba(75, 214, 209, .12), transparent 32%),
        linear-gradient(128deg, rgba(11, 32, 61, .98), rgba(6, 17, 34, .98));
    box-shadow: var(--constellum-shadow), inset 0 1px rgba(255, 255, 255, .04);
}

.constellum-hero::after,
.constellum-entity-hero::after,
.constellum-board-hero::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(rgba(123, 194, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(123, 194, 255, .025) 1px, transparent 1px);
    background-size: 38px 38px;
    content: "";
    mask-image: linear-gradient(90deg, transparent 18%, #000 100%);
}

.constellum-hero h1,
.constellum-entity-hero h1,
.constellum-board-hero h1 {
    max-width: 940px;
    margin: 8px 0 9px;
    font-size: clamp(2rem, 3.8vw, 3.55rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.constellum-hero p,
.constellum-entity-hero p,
.constellum-board-hero p {
    max-width: 820px;
    margin-bottom: 0;
    color: #a8bad0;
    line-height: 1.65;
}

.constellum-hero--compact {
    min-height: 154px;
}

.constellum-hero--compact h1 {
    font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.constellum-hero__actions,
.constellum-entity-hero__actions,
.constellum-board-hero__actions,
.constellum-landing__actions,
.constellum-state-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.constellum-alert {
    margin: 12px 0;
    padding: 14px 17px;
    border: 1px solid rgba(102, 207, 157, .28);
    border-radius: 13px;
    color: #d8ffea;
    background: rgba(32, 102, 70, .25);
}

.constellum-alert--error {
    border-color: rgba(255, 118, 136, .3);
    color: #ffd9df;
    background: rgba(113, 31, 48, .28);
}

.constellum-status {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1200;
    max-width: min(440px, calc(100vw - 44px));
    padding: 0;
    border: 0;
    border-radius: 13px;
    color: #ebf7ff;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
}

.constellum-status:not(:empty) {
    padding: 13px 16px;
    border: 1px solid rgba(107, 192, 255, .34);
    background: rgba(5, 20, 39, .97);
    box-shadow: 0 18px 44px rgba(0, 5, 16, .54);
}

.constellum-status.is-error:not(:empty) {
    border-color: rgba(255, 118, 136, .4);
    color: #ffe2e7;
    background: rgba(63, 19, 33, .97);
}

/* Landing */
.constellum--landing {
    min-height: 690px;
    padding: clamp(28px, 5vw, 72px);
    overflow: hidden;
    border: 1px solid var(--constellum-line);
    border-radius: 28px;
    background:
        radial-gradient(circle at 79% 30%, rgba(48, 128, 245, .18), transparent 28%),
        radial-gradient(circle at 20% 92%, rgba(71, 212, 205, .11), transparent 31%),
        linear-gradient(135deg, #07162b, #040b17 62%, #071426);
    box-shadow: var(--constellum-shadow);
}

.constellum__aurora {
    position: absolute;
    top: -170px;
    right: 5%;
    z-index: -1;
    width: 720px;
    height: 720px;
    border: 1px solid rgba(103, 169, 255, .12);
    border-radius: 50%;
    box-shadow: 0 0 140px rgba(46, 111, 226, .16), inset 0 0 120px rgba(66, 173, 255, .05);
}

.constellum__aurora::before,
.constellum__aurora::after {
    position: absolute;
    border: 1px solid rgba(103, 169, 255, .1);
    border-radius: inherit;
    content: "";
}

.constellum__aurora::before { inset: 90px; }
.constellum__aurora::after { inset: 190px; }

.constellum-landing {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr);
    gap: 60px;
    align-items: center;
    max-width: 1460px;
    margin: 0 auto 62px;
}

.constellum-landing__copy h1 {
    max-width: 760px;
    margin: 15px 0 22px;
    font-size: clamp(3rem, 6vw, 6.25rem);
    line-height: .88;
    letter-spacing: -.07em;
    background: linear-gradient(135deg, #fff 12%, #bfe1ff 48%, #7fb7ff 78%, #c3a6ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.constellum-landing__lead {
    max-width: 690px;
    margin-bottom: 27px;
    color: #aabdd4;
    font-size: clamp(1.05rem, 1.45vw, 1.3rem);
    line-height: 1.72;
}

.constellum-landing__access {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 20px 0 0;
    color: #768da7;
    font-size: .76rem;
}

.constellum-landing__access span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--constellum-green);
    box-shadow: 0 0 12px rgba(101, 211, 154, .7);
}

.constellum-orbit {
    position: relative;
    min-height: 480px;
}

.constellum-orbit::before,
.constellum-orbit::after {
    position: absolute;
    inset: 8% 12%;
    border: 1px solid rgba(106, 170, 255, .15);
    border-radius: 50%;
    content: "";
    transform: rotate(-12deg);
}

.constellum-orbit::after {
    inset: 21% 24%;
    border-color: rgba(76, 214, 209, .13);
    transform: rotate(24deg);
}

.constellum-orbit__core {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 210px;
    padding: 28px;
    border: 1px solid rgba(118, 192, 255, .32);
    border-radius: 50%;
    text-align: center;
    background: radial-gradient(circle at 40% 28%, rgba(53, 123, 207, .58), rgba(7, 22, 43, .98) 68%);
    box-shadow: 0 0 70px rgba(47, 119, 223, .25), inset 0 0 34px rgba(125, 196, 255, .11);
    transform: translate(-50%, -50%);
}

.constellum-orbit__core i {
    margin-bottom: 14px;
    color: #87d8ff;
    font-size: 2rem;
}

.constellum-orbit__core strong { font-family: "Space Grotesk", sans-serif; font-size: 1.05rem; }
.constellum-orbit__core span { color: var(--constellum-muted); font-size: .78rem; }

.constellum-orbit__item {
    position: absolute;
    z-index: 3;
    display: flex;
    gap: 8px;
    align-items: center;
    min-width: 112px;
    padding: 10px 13px;
    border: 1px solid var(--constellum-line);
    border-radius: 999px;
    color: #c8e5ff;
    background: rgba(7, 24, 47, .88);
    box-shadow: 0 12px 30px rgba(0, 5, 16, .3);
    font-size: .75rem;
    font-weight: 750;
}

.constellum-orbit__item i { color: var(--constellum-cyan); }
.constellum-orbit__item--one { top: 8%; left: 42%; }
.constellum-orbit__item--two { top: 39%; right: 1%; }
.constellum-orbit__item--three { bottom: 8%; left: 42%; }
.constellum-orbit__item--four { top: 42%; left: 0; }

.constellum-capabilities {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    max-width: 1460px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--constellum-line);
    border-radius: 18px;
    background: var(--constellum-line);
}

.constellum-capabilities article {
    position: relative;
    min-height: 150px;
    padding: 25px 25px 22px 72px;
    background: rgba(5, 16, 32, .88);
}

.constellum-capabilities article > i {
    position: absolute;
    top: 27px;
    left: 24px;
    color: #75c8ff;
    font-size: 1.55rem;
}

.constellum-capabilities h2 { margin-bottom: 8px; font-size: 1rem; }
.constellum-capabilities p { margin-bottom: 0; color: var(--constellum-muted); font-size: .82rem; line-height: 1.65; }

/* Dashboard and shared panels */
.constellum-commandbar,
.constellum-board-filters {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    margin: 14px 0;
    padding: 13px;
    border: 1px solid var(--constellum-line);
    border-radius: 16px;
    background: rgba(5, 16, 32, .84);
    box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.constellum-search {
    display: flex;
    gap: 10px;
    align-items: center;
    flex: 1 1 520px;
}

.constellum-search > i { color: var(--constellum-faint); }
.constellum-search .constellum-input { flex: 1 1 auto; }

.constellum-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0;
}

.constellum-metric {
    position: relative;
    min-height: 118px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid var(--constellum-line);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(10, 29, 54, .92), rgba(6, 17, 33, .96));
}

.constellum-metric::after {
    position: absolute;
    right: -34px;
    bottom: -50px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: currentColor;
    content: "";
    opacity: .06;
}

.constellum-metric span { display: block; color: var(--constellum-muted); font-size: .72rem; font-weight: 750; }
.constellum-metric strong { display: block; margin-top: 8px; color: #fff; font-family: "Space Grotesk", sans-serif; font-size: 2rem; line-height: 1; }
.constellum-metric > i { position: absolute; top: 20px; right: 20px; color: currentColor; font-size: 1.35rem; }
.constellum-metric--cyan { color: var(--constellum-cyan); }
.constellum-metric--violet { color: var(--constellum-violet); }
.constellum-metric--red { color: var(--constellum-red); }
.constellum-metric--gold { color: var(--constellum-gold); }

.constellum-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
    gap: 14px;
    align-items: start;
}

.constellum-section,
.constellum-fact-panel,
.constellum-progress-panel,
.constellum-tag-panel {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--constellum-line);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(8, 23, 44, .94), rgba(5, 15, 30, .96));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.constellum-section--projects,
.constellum-section--work { grid-column: 1; }
.constellum-section--boards,
.constellum-section--activity { grid-column: 2; }
.constellum-section--boards { grid-row: 1; }

.constellum-section__head {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.constellum-section__head h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.025em; }
.constellum-section__head > a,
.constellum-section__head > button,
.constellum-card-detail__section-head button {
    padding: 0;
    border: 0;
    color: #88c9ff;
    background: none;
    font-size: .75rem;
    font-weight: 750;
    cursor: pointer;
}

.constellum-project-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.constellum-project-mini {
    position: relative;
    min-width: 0;
    padding: 17px;
    overflow: hidden;
    border: 1px solid rgba(105, 153, 216, .13);
    border-radius: 14px;
    background: rgba(7, 20, 39, .78);
}

.constellum-project-mini__signal {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: var(--constellum-sapphire);
}

.constellum-signal--paused { background: var(--constellum-gold); }
.constellum-signal--completed { background: var(--constellum-green); }
.constellum-signal--archived { background: var(--constellum-faint); }
.constellum-project-mini > span { color: var(--constellum-faint); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.constellum-project-mini h3 { margin: 8px 0 6px; font-size: 1rem; }
.constellum-project-mini p { margin-bottom: 16px; color: var(--constellum-muted); font-size: .76rem; line-height: 1.55; }
.constellum-project-mini footer { display: flex; justify-content: space-between; color: #7890aa; font-size: .68rem; }

.constellum-board-list,
.constellum-work-list {
    display: grid;
    gap: 8px;
}

.constellum-board-row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto auto;
    gap: 11px;
    align-items: center;
    min-height: 62px;
    padding: 10px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: rgba(7, 20, 39, .7);
    transition: border-color .18s ease, background .18s ease;
}

.constellum-board-row:hover { border-color: var(--constellum-line); background: var(--constellum-bg-hover); }
.constellum-board-row__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 10px; color: var(--constellum-cyan); background: rgba(61, 196, 197, .1); }
.constellum-board-row__copy { min-width: 0; }
.constellum-board-row__copy strong,
.constellum-board-row__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.constellum-board-row__copy strong { color: #eaf5ff; font-size: .81rem; }
.constellum-board-row__copy small { margin-top: 3px; color: var(--constellum-faint); font-size: .67rem; }
.constellum-board-row__count { color: var(--constellum-muted); font-size: .68rem; }

.constellum-work-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    width: 100%;
    padding: 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    text-align: left;
    background: rgba(7, 20, 39, .7);
    cursor: pointer;
}

.constellum-work-item:hover { border-color: var(--constellum-line); background: var(--constellum-bg-hover); }
.constellum-work-item__copy { min-width: 0; }
.constellum-work-item__copy strong,
.constellum-work-item__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.constellum-work-item__copy strong { color: #ebf6ff; font-size: .8rem; }
.constellum-work-item__copy small { margin-top: 3px; color: var(--constellum-faint); font-size: .66rem; }

.constellum-activity-list,
.constellum-activity-stream ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.constellum-activity-list { display: grid; gap: 13px; }
.constellum-activity-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
.constellum-activity-list p { margin: 0; color: #a9bdd2; font-size: .73rem; line-height: 1.5; }
.constellum-activity-list p strong { color: #e8f4ff; }
.constellum-activity-list time { color: var(--constellum-faint); font-size: .62rem; }

.constellum-avatar {
    display: inline-grid;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(111, 186, 255, .25);
    border-radius: 50%;
    color: #dceeff;
    background: linear-gradient(145deg, #214d78, #172843);
    font-size: .65rem;
    font-weight: 850;
}

.constellum-avatar--small { width: 25px; height: 25px; font-size: .54rem; }
.constellum-avatar--agent,
.constellum-avatar--subagent { border-color: rgba(174, 140, 255, .35); color: #eadfff; background: linear-gradient(145deg, #4a367c, #251d48); }
.constellum-avatar--service { border-color: rgba(69, 214, 209, .35); color: #d9fffc; background: linear-gradient(145deg, #1b625e, #13383d); }

/* Lists */
.constellum-commandbar--filters {
    display: grid;
    grid-template-columns: minmax(270px, 1.7fr) repeat(2, minmax(150px, .65fr)) auto;
}

.constellum-field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.constellum-field small {
    color: var(--constellum-faint);
    font-size: .68rem;
    line-height: 1.45;
}

.constellum-label b { color: var(--constellum-red); }

.constellum-input,
.constellum-select,
.constellum-textarea,
.constellum .form-control.constellum-input,
.constellum .form-select.constellum-select {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid rgba(101, 150, 212, .24);
    border-radius: 10px;
    color: #e8f3ff;
    color-scheme: dark;
    background-color: rgba(4, 14, 29, .9);
    box-shadow: inset 0 1px rgba(255, 255, 255, .02);
}

.constellum-input::placeholder,
.constellum-textarea::placeholder { color: #627a96; opacity: 1; }
.constellum-input[type="file"] { padding: 6px; color: var(--constellum-muted); cursor: pointer; }
.constellum-input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 12px; border: 1px solid rgba(89, 177, 255, .3); border-radius: 9px; color: #e6f2ff; background: linear-gradient(135deg, rgba(25, 102, 161, .88), rgba(13, 63, 111, .9)); font: inherit; font-weight: 700; cursor: pointer; }
.constellum-input[type="file"]::file-selector-button:hover { border-color: rgba(112, 203, 255, .62); background: linear-gradient(135deg, rgba(32, 128, 196, .94), rgba(16, 79, 137, .94)); }
.constellum-select option { color: #e8f3ff; background: #07162b; }
.constellum-textarea { min-height: 96px; resize: vertical; line-height: 1.55; }
.constellum-textarea--medium { min-height: 125px; }
.constellum-textarea--large { min-height: 178px; }
.constellum-select--multiple { min-height: 112px; }
.constellum-checkbox { width: 19px; height: 19px; accent-color: var(--constellum-sapphire); }

.constellum-input:focus,
.constellum-select:focus,
.constellum-textarea:focus {
    border-color: rgba(95, 184, 255, .62);
    background-color: rgba(6, 22, 43, .98);
    box-shadow: 0 0 0 3px rgba(77, 160, 255, .1);
}

.constellum-project-grid,
.constellum-board-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.constellum-project-card,
.constellum-board-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--constellum-line);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(9, 26, 49, .96), rgba(5, 15, 30, .98));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 18px 38px rgba(0, 6, 18, .19);
}

.constellum-project-card {
    padding: 20px;
}

.constellum-project-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--constellum-sapphire), transparent 78%);
    content: "";
}

.constellum-project-card--paused::before { background: linear-gradient(90deg, var(--constellum-gold), transparent 78%); }
.constellum-project-card--completed::before { background: linear-gradient(90deg, var(--constellum-green), transparent 78%); }
.constellum-project-card--archived::before { background: linear-gradient(90deg, var(--constellum-faint), transparent 78%); }
.constellum-project-card__top,
.constellum-board-card__top { display: flex; align-items: center; justify-content: space-between; }
.constellum-project-card h2,
.constellum-board-card h2 { margin: 17px 0 8px; font-size: 1.17rem; letter-spacing: -.025em; }
.constellum-project-card > p,
.constellum-board-card__body > p { min-height: 3.2em; margin-bottom: 18px; color: var(--constellum-muted); font-size: .77rem; line-height: 1.6; }

.constellum-state,
.constellum-role,
.constellum-badge {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border: 1px solid var(--constellum-line);
    border-radius: 999px;
    color: #9eb7d2;
    background: rgba(8, 25, 47, .72);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.constellum-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--constellum-green); box-shadow: 0 0 9px rgba(101, 211, 154, .55); }
.constellum-state--paused i { background: var(--constellum-gold); box-shadow: 0 0 9px rgba(239, 196, 118, .5); }
.constellum-state--completed i { background: var(--constellum-cyan); box-shadow: 0 0 9px rgba(69, 214, 209, .5); }
.constellum-state--archived i { background: var(--constellum-faint); box-shadow: none; }
.constellum-state--small { min-height: 22px; font-size: .55rem; }
.constellum-badge--danger { border-color: rgba(255, 118, 136, .28); color: #ffc8d0; background: rgba(112, 31, 47, .3); }

.constellum-progress > span,
.constellum-progress-panel__track,
.constellum-checklist__track {
    display: block;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(103, 139, 184, .14);
}

.constellum-progress i,
.constellum-progress-panel__track i,
.constellum-checklist__track i {
    display: block;
    width: var(--progress, 0%);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--constellum-cyan), var(--constellum-sapphire));
}

.constellum-progress small { display: block; margin-top: 7px; color: var(--constellum-faint); font-size: .65rem; }
.constellum-project-card__facts,
.constellum-board-card dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 17px 0; padding: 13px 0; border-top: 1px solid var(--constellum-line); border-bottom: 1px solid var(--constellum-line); }
.constellum-project-card__facts div,
.constellum-board-card dl div { padding: 0 9px; border-right: 1px solid var(--constellum-line); }
.constellum-project-card__facts div:first-child,
.constellum-board-card dl div:first-child { padding-left: 0; }
.constellum-project-card__facts div:last-child,
.constellum-board-card dl div:last-child { border: 0; }
.constellum-project-card__facts dt,
.constellum-board-card dt { color: var(--constellum-faint); font-size: .59rem; text-transform: uppercase; }
.constellum-project-card__facts dd,
.constellum-board-card dd { margin: 4px 0 0; color: #dcecff; font-size: .78rem; font-weight: 750; }
.constellum-project-card footer,
.constellum-board-card footer { display: flex; gap: 9px; align-items: center; color: var(--constellum-muted); font-size: .68rem; }
.constellum-project-card__updated { margin-left: auto; color: var(--constellum-faint); }

.constellum-board-card { display: grid; grid-template-columns: 86px minmax(0, 1fr); }
.constellum-board-card__visual { display: flex; flex-direction: column; gap: 9px; align-items: center; justify-content: center; padding: 12px; color: #7fc9ff; background: linear-gradient(180deg, rgba(42, 98, 155, .26), rgba(8, 25, 47, .3)); text-align: center; }
.constellum-board-card__visual i { font-size: 1.5rem; }
.constellum-board-card__visual span { font-size: .58rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.constellum-board-card__visual--software { color: var(--constellum-violet); background: linear-gradient(180deg, rgba(109, 75, 172, .26), rgba(31, 23, 60, .34)); }
.constellum-board-card__visual--sprint { color: var(--constellum-cyan); background: linear-gradient(180deg, rgba(41, 149, 144, .24), rgba(11, 47, 51, .35)); }
.constellum-board-card__visual--business { color: var(--constellum-gold); background: linear-gradient(180deg, rgba(145, 104, 40, .24), rgba(58, 40, 17, .34)); }
.constellum-board-card__visual--blank { color: #a3b4c9; background: linear-gradient(180deg, rgba(103, 121, 145, .2), rgba(23, 32, 47, .34)); }
.constellum-board-card__body { padding: 18px; }
.constellum-board-card__project { display: flex; gap: 7px; align-items: center; color: #839ab4; font-size: .69rem; }
.constellum-board-card footer { justify-content: space-between; }

.constellum-pager { margin-top: 18px; }
.constellum-pager .pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.constellum-pager a,
.constellum-pager button,
.constellum-pager select { border-color: var(--constellum-line-strong); color: #c8def3; background-color: rgba(6, 19, 37, .9); }

.constellum-empty {
    display: grid;
    justify-items: center;
    min-height: 270px;
    padding: 48px 24px;
    border: 1px dashed rgba(111, 164, 226, .25);
    border-radius: 18px;
    text-align: center;
    background: rgba(6, 18, 36, .58);
}

.constellum-empty > i { margin-bottom: 16px; color: #68b8ff; font-size: 2rem; }
.constellum-empty h2 { margin-bottom: 9px; font-size: 1.25rem; }
.constellum-empty p { max-width: 530px; margin-bottom: 19px; color: var(--constellum-muted); }
.constellum-empty--compact { min-height: 140px; align-content: center; padding: 24px; }
.constellum-empty--compact > i { margin-bottom: 8px; font-size: 1.3rem; }
.constellum-empty--compact p { margin: 0; font-size: .76rem; }
.constellum-empty--inline { min-height: auto; justify-items: start; padding: 17px; color: var(--constellum-faint); font-size: .75rem; text-align: left; }

/* Forms */
.constellum-form {
    max-width: 1120px;
    margin: 0 auto;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--constellum-line);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(8, 23, 44, .98), rgba(4, 14, 28, .98));
    box-shadow: var(--constellum-shadow), inset 0 1px rgba(255, 255, 255, .025);
}

.constellum-form--dialog { max-width: none; margin: 0; padding: 22px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.constellum-form__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 34px; align-items: end; margin-bottom: 23px; }
.constellum-form__intro h2 { margin: 0; font-size: 1.45rem; }
.constellum-form__intro > p { margin: 0; color: var(--constellum-muted); font-size: .76rem; line-height: 1.65; }
.constellum-form__intro--divider { margin-top: 31px; padding-top: 28px; border-top: 1px solid var(--constellum-line); }
.constellum-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.constellum-field--wide { grid-column: 1 / -1; }
.constellum-field--toggle { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 13px; border: 1px solid var(--constellum-line); border-radius: 11px; background: rgba(5, 17, 34, .62); }
.constellum-field--toggle b,
.constellum-field--toggle small { display: block; }
.constellum-field--toggle b { color: #dcecff; font-size: .78rem; }
.constellum-form__actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--constellum-line); }
.constellum-form__errors { display: none; margin-top: 15px; padding: 12px 14px; border: 1px solid rgba(255, 118, 136, .3); border-radius: 11px; color: #ffd9df; background: rgba(113, 31, 48, .28); font-size: .75rem; }
.constellum-form__errors:not(:empty) { display: block; }

.constellum-template-picker { margin: 25px 0 0; padding: 20px; border: 1px solid var(--constellum-line); border-radius: 15px; background: rgba(6, 18, 35, .65); }
.constellum-template-picker legend { padding: 0 9px; }
.constellum-template-picker legend strong { display: block; color: #edf7ff; font-family: "Space Grotesk", sans-serif; font-size: 1.1rem; }
.constellum-template-picker__control { margin-bottom: 15px; }
.constellum-template-picker > p { margin: 13px 0 0; color: var(--constellum-faint); font-size: .7rem; }
.constellum-template-guide { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.constellum-template-guide span { display: flex; gap: 7px; align-items: center; padding: 10px; border: 1px solid var(--constellum-line); border-radius: 9px; color: #adc2d8; background: rgba(7, 22, 42, .7); font-size: .67rem; }
.constellum-template-guide i { color: var(--constellum-cyan); }

/* Project detail */
.constellum-entity-hero__meta,
.constellum-board-hero__meta { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; color: var(--constellum-faint); font-size: .7rem; }
.constellum-board-hero__meta a,
.constellum-board-hero__meta span { display: inline-flex; gap: 6px; align-items: center; }
.constellum-project-detail { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 14px; align-items: start; }
.constellum-project-detail__main { display: grid; gap: 14px; }
.constellum-project-detail__aside { display: grid; gap: 14px; position: sticky; top: 16px; }
.constellum-richtext { color: #b7c9dc; font-size: .85rem; line-height: 1.75; white-space: pre-wrap; }
.constellum-acceptance { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 13px; margin-top: 19px; padding: 16px; border: 1px solid rgba(101, 211, 154, .22); border-radius: 13px; color: #d8ffea; background: rgba(33, 100, 72, .17); }
.constellum-acceptance > i { color: var(--constellum-green); font-size: 1.2rem; }
.constellum-acceptance strong { font-size: .72rem; text-transform: uppercase; }
.constellum-acceptance p { margin: 4px 0 0; color: #a8d6bd; font-size: .78rem; }
.constellum-acceptance--flat { display: block; margin-top: 0; }
.constellum-fact-panel h2,
.constellum-fact-panel h3,
.constellum-tag-panel h3 { margin-bottom: 16px; font-size: 1rem; }
.constellum-fact-panel dl { display: grid; gap: 0; margin: 0; }
.constellum-fact-panel dl div { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--constellum-line); }
.constellum-fact-panel dl div:last-child { border: 0; }
.constellum-fact-panel dt { color: var(--constellum-faint); font-size: .67rem; }
.constellum-fact-panel dd { display: flex; gap: 7px; align-items: center; margin: 0; color: #d6e7f8; font-size: .72rem; font-weight: 700; text-align: right; }
.constellum-progress-panel > div { display: flex; justify-content: space-between; margin-bottom: 12px; color: var(--constellum-muted); font-size: .7rem; }
.constellum-progress-panel > div strong { color: #dff4ff; }
.constellum-progress-panel small { display: block; margin-top: 10px; color: var(--constellum-faint); font-size: .64rem; }

/* Board workspace */
.constellum--workspace { min-width: 0; }
.constellum-board-hero { min-height: 138px; padding: 23px 25px; }
.constellum-board-hero h1 { margin: 7px 0 5px; font-size: clamp(1.7rem, 2.5vw, 2.4rem); }
.constellum-board-hero p { font-size: .79rem; }
.constellum-board-filters { display: grid; grid-template-columns: minmax(250px, 1.5fr) repeat(2, minmax(125px, .65fr)) auto auto auto; }
.constellum-board-tools { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; margin: -2px 0 14px; }
.constellum-board-refresh { display: flex; gap: 9px; align-items: flex-end; padding: 9px 11px; border: 1px solid rgba(102, 166, 230, .18); border-radius: 14px; background: rgba(5, 18, 35, .58); }
.constellum-board-refresh .constellum-field { min-width: 180px; }
.constellum-board-quick-column { position: relative; min-width: min(100%, 230px); border: 1px solid rgba(79, 181, 255, .25); border-radius: 14px; background: rgba(6, 22, 42, .72); }
.constellum-board-quick-column > summary { display: flex; gap: 8px; align-items: center; padding: 13px 15px; color: #dff3ff; font-size: .72rem; font-weight: 700; cursor: pointer; list-style: none; }
.constellum-board-quick-column > summary::-webkit-details-marker { display: none; }
.constellum-board-quick-column > summary::after { margin-left: auto; color: var(--constellum-faint); content: "+"; font-size: 1rem; }
.constellum-board-quick-column[open] > summary::after { content: "\2212"; }
.constellum-board-quick-column form { position: absolute; z-index: 12; top: calc(100% + 7px); right: 0; display: grid; width: min(520px, calc(100vw - 48px)); grid-template-columns: minmax(170px, 1fr) minmax(150px, .8fr) auto; gap: 10px; align-items: end; padding: 16px; border: 1px solid rgba(79, 181, 255, .28); border-radius: 16px; box-shadow: 0 24px 60px rgba(0, 0, 0, .42); background: rgba(4, 17, 34, .98); }
.constellum-board-quick-column .constellum-form__errors { grid-column: 1 / -1; }
.constellum-input-shell { position: relative; display: block; }
.constellum-input-shell > i { position: absolute; top: 50%; left: 12px; z-index: 1; color: var(--constellum-faint); transform: translateY(-50%); }
.constellum-input-shell .constellum-input { padding-left: 34px; }
.constellum-filter-more { position: relative; align-self: end; }
.constellum-filter-more summary { display: flex; gap: 7px; align-items: center; min-height: 43px; padding: 10px 12px; border: 1px solid var(--constellum-line); border-radius: 10px; color: #adc2d8; background: rgba(5, 17, 34, .75); font-size: .7rem; font-weight: 750; cursor: pointer; }
.constellum-filter-more > div { position: absolute; top: calc(100% + 7px); right: 0; z-index: 20; display: grid; gap: 12px; width: 280px; padding: 15px; border: 1px solid var(--constellum-line-strong); border-radius: 13px; background: rgba(5, 17, 34, .98); box-shadow: var(--constellum-shadow); }
.constellum-filter-clear { align-self: center; color: var(--constellum-faint); font-size: .68rem; font-weight: 700; }
.constellum-board-shell { min-width: 0; overflow: hidden; }
.constellum-board { display: flex; gap: 12px; align-items: flex-start; min-width: 100%; padding: 4px 2px 18px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: rgba(94, 154, 218, .4) rgba(5, 16, 32, .8); scrollbar-width: thin; scroll-snap-type: x proximity; }
.constellum-column { --column-accent: var(--constellum-sapphire); position: relative; flex: 0 0 clamp(286px, 20vw, 332px); min-width: 0; max-height: calc(100vh - 240px); padding: 11px; overflow-y: auto; border: 1px solid var(--constellum-line); border-radius: 16px; background: linear-gradient(180deg, rgba(10, 27, 51, .96), rgba(5, 15, 29, .98)); box-shadow: inset 0 1px rgba(255, 255, 255, .025); scroll-snap-align: start; scrollbar-width: thin; scrollbar-color: rgba(94, 154, 218, .34) transparent; }
.constellum-column--cyan { --column-accent: var(--constellum-cyan); }
.constellum-column--violet { --column-accent: var(--constellum-violet); }
.constellum-column--gold { --column-accent: var(--constellum-gold); }
.constellum-column--rose,
.constellum-column--red { --column-accent: var(--constellum-red); }
.constellum-column--green,
.constellum-column--emerald { --column-accent: var(--constellum-green); }
.constellum-column--steel { --column-accent: #93a8c0; }
.constellum-column.is-wip-over { border-color: rgba(255, 118, 136, .44); box-shadow: inset 0 0 0 1px rgba(255, 118, 136, .08), 0 12px 34px rgba(88, 17, 35, .12); }
.constellum-column.is-drop-target { border-color: color-mix(in srgb, var(--column-accent) 60%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--column-accent) 9%, #0a1b33), rgba(5, 15, 29, .98)); }
.constellum-column.is-column-dragging { opacity: .48; transform: scale(.985); }
.constellum-column.is-column-drop-before::before,
.constellum-column.is-column-drop-after::after { position: absolute; top: 8px; bottom: 8px; z-index: 8; width: 4px; border-radius: 999px; background: var(--constellum-cyan); content: ""; box-shadow: 0 0 16px rgba(75, 206, 255, .72); }
.constellum-column.is-column-drop-before::before { left: 2px; }
.constellum-column.is-column-drop-after::after { right: 2px; }
.constellum-column__head { position: sticky; top: -11px; z-index: 3; display: flex; gap: 10px; align-items: center; justify-content: space-between; margin: -11px -11px 0; padding: 15px 13px 11px; background: rgba(7, 20, 39, .97); backdrop-filter: blur(14px); }
.constellum-column__head[draggable="true"] { cursor: grab; }
.constellum-column__head[draggable="true"]:active { cursor: grabbing; }
.constellum-column__head > div { display: flex; gap: 8px; align-items: center; min-width: 0; }
.constellum-column__grip { color: #55718e; font-size: .78rem; }
.constellum-column__head h2 { margin: 0; overflow: hidden; font-size: .82rem; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.constellum-column__signal { display: inline-block; flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--column-accent); box-shadow: 0 0 11px color-mix(in srgb, var(--column-accent) 55%, transparent); }
.constellum-column__counts { color: var(--constellum-muted); font-size: .64rem; }
.constellum-column__counts > span:first-child { display: grid; min-width: 25px; height: 25px; place-items: center; border-radius: 999px; background: rgba(80, 132, 191, .13); }
.constellum-wip { color: var(--constellum-gold); white-space: nowrap; }
.is-wip-over .constellum-wip { color: var(--constellum-red); }
.constellum-column__semantic { margin: 0 2px 9px; color: var(--constellum-faint); font-size: .62rem; }
.constellum-card-list { display: grid; min-height: 44px; gap: 9px; }
.constellum-card-list.is-drop-at-end::after { display: block; height: 3px; border-radius: 999px; background: var(--column-accent); content: ""; box-shadow: 0 0 10px color-mix(in srgb, var(--column-accent) 60%, transparent); }
.constellum-card { position: relative; padding: 13px; border: 1px solid rgba(107, 153, 211, .15); border-radius: 13px; background: linear-gradient(145deg, rgba(12, 33, 61, .98), rgba(7, 20, 39, .98)); box-shadow: 0 8px 22px rgba(0, 6, 18, .18), inset 0 1px rgba(255, 255, 255, .025); cursor: grab; transition: border-color .18s ease, opacity .18s ease, transform .18s ease, box-shadow .18s ease; }
.constellum-card.is-drop-before::before { position: absolute; top: -6px; right: 0; left: 0; height: 3px; border-radius: 999px; background: var(--column-accent); content: ""; box-shadow: 0 0 10px color-mix(in srgb, var(--column-accent) 60%, transparent); }
.constellum-card:hover { border-color: rgba(105, 184, 255, .32); box-shadow: 0 12px 28px rgba(0, 6, 18, .25), inset 0 1px rgba(255, 255, 255, .04); transform: translateY(-1px); }
.constellum-card:active { cursor: grabbing; }
.constellum-card.is-dragging { opacity: .42; transform: rotate(1deg) scale(.98); }
.constellum-card.is-pending { opacity: .68; pointer-events: none; }
.constellum-card.is-pending::after { position: absolute; inset: 0; border: 1px solid rgba(95, 184, 255, .42); border-radius: inherit; background: linear-gradient(90deg, transparent, rgba(117, 216, 255, .08), transparent); content: ""; animation: constellum-pending 1.25s linear infinite; }
.constellum-card.is-blocked { border-left: 3px solid var(--constellum-red); }
.constellum-card.is-claimed { border-right: 2px solid var(--constellum-violet); }
@keyframes constellum-pending { from { transform: translateX(-35%); } to { transform: translateX(35%); } }
.constellum-card__top { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.constellum-type,
.constellum-priority { display: inline-flex; align-items: center; min-height: 20px; padding: 3px 7px; border-radius: 999px; font-size: .55rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.constellum-type { color: #a8d7ff; background: rgba(74, 150, 220, .13); }
.constellum-type--bug { color: #ffb9c3; background: rgba(206, 69, 91, .14); }
.constellum-type--feature { color: #d6c6ff; background: rgba(139, 102, 217, .15); }
.constellum-type--research { color: #9df0eb; background: rgba(62, 177, 172, .14); }
.constellum-type--decision { color: #f8d79d; background: rgba(193, 140, 52, .14); }
.constellum-type--operation { color: #b7e8c9; background: rgba(64, 163, 102, .14); }
.constellum-priority { color: var(--constellum-muted); background: rgba(105, 134, 171, .1); }
.constellum-priority--critical,
.constellum-priority--urgent { color: #ffacb8; background: rgba(214, 69, 92, .15); }
.constellum-priority--high { color: #f3ca82; background: rgba(190, 134, 46, .14); }
.constellum-priority--low { color: #8cb3cd; }
.constellum-card__title { display: block; width: 100%; margin: 11px 0 6px; padding: 0; border: 0; color: #eef7ff; background: none; font-family: "Space Grotesk", sans-serif; font-size: .84rem; font-weight: 650; line-height: 1.36; text-align: left; cursor: pointer; }
.constellum-card__title:hover { color: #8ed8ff; }
.constellum-card__summary { display: -webkit-box; margin-bottom: 9px; overflow: hidden; color: #879db6; font-size: .67rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.constellum-card__labels { margin: 8px 0; color: #90a8c4; font-size: .6rem; }
.constellum-card__labels span { display: inline-block; padding: 4px 7px; border: 1px solid rgba(112, 157, 222, .13); border-radius: 6px; background: rgba(86, 124, 171, .08); }
.constellum-card__blocker,
.constellum-card__claim { display: flex; gap: 7px; align-items: flex-start; margin: 8px 0; padding: 7px 8px; border-radius: 8px; font-size: .6rem; line-height: 1.4; }
.constellum-card__blocker { color: #ffc0ca; background: rgba(135, 36, 55, .19); }
.constellum-card__claim { color: #d9caff; background: rgba(91, 61, 152, .18); }
.constellum-card__claim--expired { color: #f5cc8b; background: rgba(123, 85, 29, .18); }
.constellum-card__facts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 10px; color: #7188a2; font-size: .59rem; }
.constellum-card__facts span { display: inline-flex; gap: 4px; align-items: center; }
.constellum-card__checklists { display: grid; gap: 8px; margin-top: 10px; }
.constellum-card-checklist { padding: 9px; border: 1px solid rgba(105, 165, 226, .12); border-radius: 9px; background: rgba(2, 13, 27, .42); }
.constellum-card-checklist header { display: flex; gap: 8px; align-items: center; justify-content: space-between; color: #b9cfe4; font-size: .61rem; }
.constellum-card-checklist header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.constellum-card-checklist header span { flex: 0 0 auto; color: #68829d; }
.constellum-card-checklist .constellum-checklist__track { margin-top: 7px; }
.constellum-card-checklist ul { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.constellum-card-checklist li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 5px; align-items: start; color: #8fa8c1; font-size: .6rem; line-height: 1.35; }
.constellum-card-checklist li button { padding: 0; border: 0; color: #7195b7; background: transparent; cursor: pointer; }
.constellum-card-checklist li.is-complete { color: #5f768c; text-decoration: line-through; }
.constellum-card-checklist li.is-complete i { color: var(--constellum-green); }
.constellum-due--overdue { color: var(--constellum-red) !important; }
.constellum-due--soon { color: var(--constellum-gold) !important; }
.constellum-card__footer { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(107, 153, 211, .11); }
.constellum-card__person { display: flex; gap: 6px; align-items: center; min-width: 0; color: #8299b3; font-size: .6rem; }
.constellum-card__person > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.constellum-card__signals { display: flex; gap: 8px; margin-left: auto; color: #718aa4; font-size: .58rem; }
.constellum-card__signals > span { display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; }
.constellum-card__move { display: flex; gap: 3px; }
.constellum-card__move button { display: grid; width: 27px; height: 27px; padding: 0; place-items: center; border: 1px solid rgba(107, 153, 211, .16); border-radius: 7px; color: #87a5c5; background: rgba(5, 16, 31, .68); cursor: pointer; }
.constellum-card__move button:hover { border-color: rgba(105, 184, 255, .38); color: #dff2ff; }
.constellum-column__load,
.constellum-column__add { width: 100%; min-height: 36px; margin-top: 9px; padding: 7px 10px; border-radius: 9px; color: #819ab5; background: rgba(6, 19, 37, .64); font-size: .65rem; }
.constellum-column__add { border-style: dashed; color: #9ab8d6; }
.constellum-board-help { display: flex; gap: 8px; align-items: center; margin: 5px 2px 0; color: #6f879f; font-size: .64rem; }

/* Dialogs */
.constellum-dialog {
    width: min(1180px, calc(100vw - 36px));
    max-width: none;
    max-height: calc(100vh - 36px);
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(104, 173, 244, .28);
    border-radius: 22px;
    color: var(--constellum-text);
    background: #071426;
    box-shadow: 0 35px 100px rgba(0, 4, 13, .72), inset 0 1px rgba(255, 255, 255, .04);
}
.constellum-dialog--members,
.constellum-dialog--activity { width: min(900px, calc(100vw - 36px)); }
.constellum-dialog::backdrop { background: rgba(1, 6, 14, .78); backdrop-filter: blur(8px); }
.constellum-dialog__frame { max-height: calc(100vh - 38px); padding: clamp(18px, 2.5vw, 30px); overflow-y: auto; scrollbar-color: rgba(95, 158, 224, .4) #071426; }
.constellum-dialog__head { display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--constellum-line); }
.constellum-dialog__head h2 { margin: 6px 0 4px; font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: 1.05; letter-spacing: -.04em; }
.constellum-dialog__head p { margin: 0; color: var(--constellum-faint); font-size: .68rem; }
.constellum-dialog__close { display: grid; flex: 0 0 auto; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid var(--constellum-line); border-radius: 12px; color: #a4b8cd; background: rgba(6, 18, 35, .72); cursor: pointer; }
.constellum-dialog__close:hover { color: #fff; border-color: var(--constellum-line-strong); }
.constellum-dialog__toolbar { display: flex; gap: 15px; align-items: center; justify-content: space-between; padding: 14px 0; }
.constellum-dialog__toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
.constellum-card-detail { display: grid; grid-template-columns: minmax(0, 1fr) 275px; gap: 17px; align-items: start; }
.constellum-card-detail__main { display: grid; gap: 12px; }
.constellum-card-detail__aside { position: sticky; top: 0; display: grid; gap: 12px; }
.constellum-card-detail__summary { margin-bottom: 0; padding: 15px 17px; border-left: 2px solid var(--constellum-sapphire); color: #bfd0e2; background: rgba(30, 70, 114, .12); font-size: .84rem; line-height: 1.62; }
.constellum-card-detail__section { padding: 18px; border: 1px solid var(--constellum-line); border-radius: 15px; background: rgba(6, 18, 35, .72); }
.constellum-card-detail__section > h3,
.constellum-card-detail__section-head h3 { display: flex; gap: 9px; align-items: center; margin: 0 0 14px; font-size: .92rem; }
.constellum-card-detail__section h3 i { color: var(--constellum-cyan); }
.constellum-card-detail__section-head { display: flex; justify-content: space-between; }
.constellum-card-detail__section--handoff { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.constellum-card-detail__section--handoff h3 { grid-column: 1 / -1; margin-bottom: 0; }
.constellum-card-detail__section--handoff > div { padding: 13px; border: 1px solid rgba(174, 140, 255, .15); border-radius: 10px; background: rgba(70, 48, 119, .1); }
.constellum-card-detail__section--handoff strong { color: #cabaff; font-size: .65rem; text-transform: uppercase; }
.constellum-card-detail__section--handoff p { margin: 5px 0 0; color: #a89bc9; font-size: .75rem; line-height: 1.55; white-space: pre-wrap; }
.constellum-blocker-detail { padding: 13px; border: 1px solid rgba(255, 118, 136, .2); border-radius: 10px; color: #ffc8d0; background: rgba(118, 33, 50, .17); font-size: .78rem; }
.constellum-checklists { display: grid; gap: 13px; }
.constellum-checklist { padding: 14px; border: 1px solid rgba(102, 151, 211, .13); border-radius: 11px; background: rgba(5, 16, 31, .68); }
.constellum-checklist header { display: flex; justify-content: space-between; margin-bottom: 9px; color: #dcecff; font-size: .72rem; }
.constellum-checklist header span { color: var(--constellum-faint); }
.constellum-checklist ul { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.constellum-checklist li { display: grid; grid-template-columns: 23px minmax(0, 1fr); gap: 7px; align-items: start; color: #a9bdd1; font-size: .72rem; }
.constellum-checklist li button { padding: 0; border: 0; color: #7fa6c9; background: none; cursor: pointer; }
.constellum-checklist li.is-complete span { color: #657b91; text-decoration: line-through; }
.constellum-checklist li.is-complete i { color: var(--constellum-green); }
.constellum-checklist-editor { display: grid; gap: 18px; }
.constellum-checklist-editor__list { display: grid; gap: 12px; }
.constellum-checklist-editor__group { padding: 16px; border: 1px solid rgba(102, 151, 211, .16); border-radius: 14px; background: linear-gradient(145deg, rgba(7, 24, 44, .92), rgba(4, 15, 29, .78)); box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.constellum-checklist-editor__group > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.constellum-checklist-editor__group > header div { display: grid; gap: 3px; }
.constellum-checklist-editor__group > header strong { color: #e9f4ff; font: 650 .86rem/1.25 var(--constellum-display); }
.constellum-checklist-editor__group > header span { color: var(--constellum-faint); font-size: .66rem; }
.constellum-checklist-editor__group ul { display: grid; gap: 7px; margin: 13px 0; padding: 0; list-style: none; }
.constellum-checklist-editor__group li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; padding: 7px 9px; border-radius: 9px; background: rgba(10, 31, 55, .55); color: #b9cee2; font-size: .72rem; }
.constellum-checklist-editor__group li > span { display: flex; align-items: center; gap: 8px; }
.constellum-checklist-editor__group li > button { border: 0; color: #7792aa; background: transparent; cursor: pointer; }
.constellum-checklist-editor__group li.is-complete > span { color: #71879b; text-decoration: line-through; }
.constellum-checklist-editor__group form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.constellum-checklist-editor__group form .constellum-form__errors { grid-column: 1 / -1; }
.constellum-checklist-editor__create { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr) auto; gap: 14px; align-items: end; padding: 17px; border: 1px dashed rgba(91, 169, 239, .25); border-radius: 14px; background: rgba(5, 18, 34, .6); }
.constellum-checklist-editor__create h3 { margin: 3px 0 0; color: #e8f4ff; font: 650 .92rem/1.25 var(--constellum-display); }
.constellum-checklist-editor__create .constellum-form__errors { grid-column: 1 / -1; }
.constellum-attachments { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 11px; margin-bottom: 14px; }
.constellum-attachments figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(102, 151, 211, .16); border-radius: 12px; background: rgba(4, 15, 29, .78); }
.constellum-attachment-preview { display: block; width: 100%; aspect-ratio: 16 / 10; padding: 0; overflow: hidden; border: 0; background: rgba(2, 10, 21, .9); cursor: zoom-in; }
.constellum-attachments img { width: 100%; height: 100%; object-fit: cover; transition: transform .24s ease; }
.constellum-attachment-preview:hover img { transform: scale(1.035); }
.constellum-attachments figcaption { display: flex; gap: 9px; align-items: center; justify-content: space-between; padding: 9px 10px; }
.constellum-attachments figcaption > div { min-width: 0; }
.constellum-attachments figcaption strong,
.constellum-attachments figcaption span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.constellum-attachments figcaption strong { color: #ddecfa; font-size: .68rem; }
.constellum-attachments figcaption span { margin-top: 2px; color: var(--constellum-faint); font-size: .56rem; }
.constellum-attachments figcaption button { display: grid; flex: 0 0 auto; width: 30px; height: 30px; padding: 0; place-items: center; border: 1px solid rgba(255, 118, 136, .18); border-radius: 8px; color: #ff9bab; background: rgba(91, 24, 39, .18); cursor: pointer; }
.constellum-attachment-upload { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 13px; border: 1px dashed rgba(91, 169, 239, .23); border-radius: 12px; background: rgba(5, 18, 34, .55); }
.constellum-attachment-upload .constellum-form__errors { grid-column: 1 / -1; }
.constellum-lightbox { width: min(1440px, calc(100vw - 28px)); height: min(940px, calc(100vh - 28px)); background: rgba(1, 7, 16, .99); }
.constellum-lightbox__frame { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; }
.constellum-lightbox__frame > header { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--constellum-line); }
.constellum-lightbox__frame > header h2 { margin: 0; color: #edf7ff; font-size: .95rem; }
.constellum-lightbox__frame > header p { margin: 3px 0 0; color: var(--constellum-faint); font-size: .62rem; }
.constellum-lightbox__canvas { display: grid; min-height: 0; padding: 14px; place-items: center; overflow: auto; background: radial-gradient(circle at center, rgba(31, 73, 118, .15), transparent 65%); }
.constellum-lightbox__canvas img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 22px 70px rgba(0, 0, 0, .48); }
.constellum-lightbox__frame > footer { display: flex; gap: 9px; justify-content: flex-end; padding: 12px 16px; border-top: 1px solid var(--constellum-line); }
.constellum-comments { display: grid; gap: 13px; margin-bottom: 16px; }
.constellum-comment { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
.constellum-comment header { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.constellum-comment header strong { color: #deedfb; font-size: .72rem; }
.constellum-comment header time,
.constellum-comment header span { color: var(--constellum-faint); font-size: .58rem; }
.constellum-comment p { margin: 5px 0 0; color: #a7bbd0; font-size: .73rem; line-height: 1.58; white-space: pre-wrap; }
.constellum-comment-form { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--constellum-line); }
.constellum-comment-form .constellum-button { justify-self: end; }
.constellum-claim-panel { display: flex; gap: 11px; padding: 16px; border: 1px solid rgba(174, 140, 255, .22); border-radius: 14px; color: #d8cbff; background: rgba(77, 52, 133, .16); }
.constellum-claim-panel > i { margin-top: 3px; color: var(--constellum-violet); }
.constellum-claim-panel span,
.constellum-claim-panel strong,
.constellum-claim-panel small { display: block; }
.constellum-claim-panel span { color: #9e8bc9; font-size: .59rem; text-transform: uppercase; }
.constellum-claim-panel strong { margin-top: 3px; font-size: .72rem; }
.constellum-claim-panel small { margin-top: 4px; color: #806fa8; font-size: .6rem; }
.constellum-tag-panel p { margin: 0; color: #9fb5ce; font-size: .72rem; }

/* Members and activity */
.constellum-members__list { display: grid; gap: 8px; margin-top: 18px; }
.constellum-member { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--constellum-line); border-radius: 12px; background: rgba(6, 19, 37, .7); }
.constellum-member__copy strong,
.constellum-member__copy span { display: block; }
.constellum-member__copy strong { color: #e6f2ff; font-size: .78rem; }
.constellum-member__copy span { margin-top: 2px; color: var(--constellum-faint); font-size: .62rem; }
.constellum-member__copy .constellum-member__source { display: inline-flex; gap: 5px; align-items: center; width: fit-content; margin-top: 6px; padding: 3px 7px; border: 1px solid rgba(89, 177, 255, .2); border-radius: 999px; color: #8fcbff; background: rgba(19, 82, 137, .18); }
.constellum-member__actions { display: flex; gap: 5px; }
.constellum-member__actions form { display: flex; gap: 6px; align-items: center; }
.constellum-member__actions form .constellum-form__errors { flex-basis: 100%; }
.constellum-member__actions button { padding: 6px 8px; border: 1px solid var(--constellum-line); border-radius: 7px; color: #91b8dc; background: rgba(7, 22, 42, .7); font-size: .6rem; cursor: pointer; }
.constellum-member__actions button.is-danger { color: #ffb4bf; }
.constellum-select--compact,
.constellum .form-select.constellum-select--compact { width: auto; min-width: 126px; min-height: 39px; padding-block: 7px; }
.constellum-members__add { display: grid; grid-template-columns: minmax(170px, .8fr) repeat(2, minmax(150px, 1fr)) auto; gap: 12px; align-items: end; margin-top: 20px; padding: 17px; border: 1px solid var(--constellum-line); border-radius: 14px; background: rgba(8, 25, 47, .74); }
.constellum-members__add h3 { margin: 2px 0 0; font-size: .9rem; }
.constellum-members__add .constellum-form__errors { grid-column: 1 / -1; }
.constellum-activity-filters { display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)) auto; gap: 12px; align-items: end; margin: 18px 0; }
.constellum-activity-stream ol { display: grid; gap: 0; }
.constellum-activity-stream li { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding-bottom: 18px; }
.constellum-activity-stream__line { position: absolute; top: 38px; bottom: 0; left: 18px; width: 1px; background: var(--constellum-line); }
.constellum-activity-stream article { padding: 13px; border: 1px solid var(--constellum-line); border-radius: 12px; background: rgba(6, 19, 37, .67); }
.constellum-activity-stream article header { display: flex; justify-content: space-between; }
.constellum-activity-stream article strong { color: #e6f2ff; font-size: .72rem; }
.constellum-activity-stream article time { color: var(--constellum-faint); font-size: .6rem; }
.constellum-activity-stream article p { margin: 7px 0; color: #a8bdd2; font-size: .74rem; line-height: 1.55; }
.constellum-activity-stream article footer { display: flex; flex-wrap: wrap; gap: 7px; }
.constellum-activity-stream article footer span,
.constellum-activity-stream article footer a { padding: 3px 7px; border-radius: 999px; color: #7f9bb7; background: rgba(68, 111, 157, .09); font-size: .55rem; }

/* Workflow editor */
.constellum-workflow-note { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 14px; padding: 15px 18px; border: 1px solid rgba(69, 214, 209, .2); border-radius: 14px; color: #c9f8f4; background: rgba(28, 102, 101, .13); }
.constellum-workflow-note > i { margin-top: 3px; color: var(--constellum-cyan); }
.constellum-workflow-note strong { font-size: .76rem; }
.constellum-workflow-note p { margin: 3px 0 0; color: #86b7b6; font-size: .69rem; }
.constellum-workflow__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.constellum-workflow-column { --column-accent: var(--constellum-sapphire); display: grid; grid-template-columns: 68px minmax(0, 1fr); border: 1px solid var(--constellum-line); border-radius: 17px; background: linear-gradient(145deg, rgba(9, 26, 49, .97), rgba(5, 15, 30, .98)); }
.constellum-workflow-column--cyan { --column-accent: var(--constellum-cyan); }
.constellum-workflow-column--violet { --column-accent: var(--constellum-violet); }
.constellum-workflow-column--gold { --column-accent: var(--constellum-gold); }
.constellum-workflow-column--rose,
.constellum-workflow-column--red { --column-accent: var(--constellum-red); }
.constellum-workflow-column--green,
.constellum-workflow-column--emerald { --column-accent: var(--constellum-green); }
.constellum-workflow-column__order { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid var(--constellum-line); color: var(--column-accent); background: color-mix(in srgb, var(--column-accent) 6%, transparent); }
.constellum-workflow-column__order > span { font-family: "Space Grotesk", sans-serif; font-size: 1.15rem; font-weight: 700; }
.constellum-workflow-column__order > div { display: flex; gap: 3px; margin-top: 8px; }
.constellum-workflow-column__order button { display: grid; width: 25px; height: 25px; padding: 0; place-items: center; border: 1px solid var(--constellum-line); border-radius: 6px; color: #8ca7c2; background: rgba(5, 16, 31, .7); cursor: pointer; }
.constellum-workflow-column__form { padding: 17px; }
.constellum-workflow-column__title { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; }
.constellum-workflow-column__title > div span,
.constellum-workflow-column__title > div strong { display: block; }
.constellum-workflow-column__title > div span { color: var(--constellum-faint); font-size: .58rem; text-transform: uppercase; }
.constellum-workflow-column__title > div strong { color: #e6f2ff; font-size: .8rem; }
.constellum-workflow-column__cards { margin-left: auto; color: var(--constellum-faint); font-size: .64rem; }
.constellum-workflow-column__fields { display: grid; grid-template-columns: 1.2fr .75fr .9fr .55fr; gap: 12px; }
.constellum-workflow-column__actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 13px; }
.constellum-workflow-add { display: grid; grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr); gap: 24px; align-items: end; margin-top: 14px; padding: 20px; border: 1px dashed rgba(102, 166, 230, .28); border-radius: 16px; background: rgba(6, 19, 37, .6); }
.constellum-workflow-add h2 { margin: 3px 0; font-size: 1.1rem; }
.constellum-workflow-add p { margin: 0; color: var(--constellum-faint); font-size: .68rem; }
.constellum-workflow-add__fields { display: grid; grid-template-columns: 1fr .8fr auto; gap: 12px; align-items: end; }
.constellum-workflow-add .constellum-form__errors { grid-column: 1 / -1; }

/* Card coordination */
.constellum-dialog--coordination { width: min(1080px, calc(100vw - 40px)); }
.constellum-coordination { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.constellum-coordination__section {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--constellum-line);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(9, 27, 51, .9), rgba(5, 16, 31, .94));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}
.constellum-coordination__section--review { grid-column: 1 / -1; }
.constellum-coordination__section > header { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.constellum-coordination__section > header h3 { margin: 3px 0 0; font-size: 1.02rem; }
.constellum-count { display: grid; min-width: 31px; height: 31px; padding: 0 8px; place-items: center; border: 1px solid rgba(86, 168, 255, .24); border-radius: 10px; color: #b9dcff; background: rgba(25, 72, 122, .2); font: 700 .68rem/1 var(--constellum-display); }
.constellum-coordination__list { display: grid; gap: 8px; margin-bottom: 13px; }
.constellum-coordination__item { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid rgba(99, 152, 214, .13); border-radius: 12px; background: rgba(4, 15, 29, .68); }
.constellum-coordination__item > div { min-width: 0; }
.constellum-coordination__item strong,
.constellum-coordination__item span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.constellum-coordination__item strong { color: #e8f3ff; font-size: .73rem; }
.constellum-coordination__item > div > span { margin-top: 3px; color: var(--constellum-faint); font-size: .6rem; }
.constellum-dependency-icon { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(174, 140, 255, .2); border-radius: 10px; color: #c8b5ff; background: rgba(83, 59, 139, .16); }
.constellum-coordination__form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, .65fr) auto; gap: 9px; align-items: end; padding-top: 13px; border-top: 1px solid var(--constellum-line); }
.constellum-coordination__form .constellum-form__errors,
.constellum-coordination__review .constellum-form__errors { grid-column: 1 / -1; }
.constellum-review-state { padding: 6px 10px; border: 1px solid rgba(114, 160, 217, .2); border-radius: 999px; color: #9fb7d0; background: rgba(16, 42, 73, .35); font-size: .59rem; font-weight: 750; text-transform: uppercase; }
.constellum-review-state--requested { border-color: rgba(239, 196, 118, .28); color: #f4cf8e; background: rgba(111, 78, 25, .18); }
.constellum-review-state--approved { border-color: rgba(101, 211, 154, .28); color: #91e7b8; background: rgba(30, 105, 67, .18); }
.constellum-review-state--changes_requested { border-color: rgba(255, 118, 136, .28); color: #ffacb8; background: rgba(112, 31, 48, .18); }
.constellum-coordination__section blockquote { margin: 0 0 13px; padding: 12px 14px; border-left: 2px solid var(--constellum-violet); border-radius: 0 10px 10px 0; color: #b7c8db; background: rgba(81, 56, 137, .12); font-size: .7rem; white-space: pre-wrap; }
.constellum-coordination__review { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr) auto; gap: 12px; align-items: end; }

/* Error states */
.constellum--state { display: grid; min-height: 570px; padding: 40px; place-items: center; overflow: hidden; border: 1px solid var(--constellum-line); border-radius: 24px; background: radial-gradient(circle at 50% 22%, rgba(65, 135, 232, .18), transparent 34%), linear-gradient(145deg, #07162b, #040c19); }
.constellum-state-page { max-width: 680px; text-align: center; }
.constellum-state-page__mark { position: relative; display: grid; width: 136px; height: 136px; margin: 0 auto 24px; place-items: center; border: 1px solid rgba(94, 175, 255, .3); border-radius: 50%; color: #85d3ff; background: radial-gradient(circle, rgba(44, 105, 177, .28), rgba(6, 18, 35, .8)); box-shadow: 0 0 55px rgba(54, 125, 222, .2); }
.constellum-state-page__mark i { font-size: 2rem; }
.constellum-state-page__mark span { position: absolute; right: -3px; bottom: 10px; display: grid; min-width: 48px; height: 32px; padding: 0 8px; place-items: center; border: 1px solid var(--constellum-line-strong); border-radius: 999px; color: #dceeff; background: #0a203e; font-size: .68rem; font-weight: 800; }
.constellum-state-page__mark--denied { border-color: rgba(255, 118, 136, .32); color: #ff9dab; box-shadow: 0 0 55px rgba(185, 48, 73, .16); }
.constellum-state-page h1 { margin: 8px 0 13px; font-size: clamp(2rem, 4.5vw, 3.55rem); line-height: 1; letter-spacing: -.05em; }
.constellum-state-page > p { color: var(--constellum-muted); line-height: 1.7; }
.constellum-state-page__actions { justify-content: center; margin-top: 23px; }
.constellum-state-page__hint { margin: 23px auto 0; color: var(--constellum-faint) !important; font-size: .66rem; }

@media (max-width: 1500px) {
    .constellum-project-grid,
    .constellum-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellum-board-filters { grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(130px, .65fr)) auto auto auto; }
}

@media (max-width: 1120px) {
    .constellum-landing { grid-template-columns: 1fr; }
    .constellum-orbit { display: none; }
    .constellum-metrics { grid-template-columns: repeat(2, 1fr); }
    .constellum-dashboard-grid { grid-template-columns: 1fr; }
    .constellum-section--projects,
    .constellum-section--work,
    .constellum-section--boards,
    .constellum-section--activity { grid-column: 1; grid-row: auto; }
    .constellum-project-detail { grid-template-columns: 1fr; }
    .constellum-project-detail__aside { position: static; grid-template-columns: repeat(2, 1fr); }
    .constellum-workflow-column__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellum-members__add { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellum-members__add > div:first-child,
    .constellum-members__add .constellum-form__errors { grid-column: 1 / -1; }
    .constellum-coordination { grid-template-columns: 1fr; }
    .constellum-coordination__section--review { grid-column: auto; }
}

@media (max-width: 820px) {
    .constellum-hero,
    .constellum-entity-hero,
    .constellum-board-hero { display: grid; min-height: auto; padding: 22px; }
    .constellum-hero h1,
    .constellum-entity-hero h1,
    .constellum-board-hero h1 { font-size: 2rem; }
    .constellum-capabilities { grid-template-columns: 1fr; }
    .constellum-capabilities article { min-height: auto; }
    .constellum-commandbar--filters,
    .constellum-board-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellum-board-tools { flex-wrap: wrap; }
    .constellum-commandbar--filters .constellum-field--search,
    .constellum-board-filters .constellum-field--search { grid-column: 1 / -1; }
    .constellum-project-grid,
    .constellum-board-grid { grid-template-columns: 1fr; }
    .constellum-card-detail { grid-template-columns: 1fr; }
    .constellum-card-detail__aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellum-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); border-radius: 16px; }
    .constellum-dialog__frame { max-height: calc(100vh - 20px); padding: 17px; }
    .constellum-dialog__toolbar { align-items: flex-start; flex-direction: column; }
    .constellum-member { grid-template-columns: 38px minmax(0, 1fr) auto; }
    .constellum-member__actions { grid-column: 2 / -1; }
    .constellum-member__actions form { flex: 1 1 auto; flex-wrap: wrap; }
    .constellum-workflow-column { grid-template-columns: 52px minmax(0, 1fr); }
    .constellum-workflow-add { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .constellum--landing { min-height: auto; padding: 28px 20px; border-radius: 20px; }
    .constellum-landing { margin-bottom: 35px; }
    .constellum-landing__copy h1 { font-size: 3.35rem; }
    .constellum-landing__actions,
    .constellum-state-page__actions { align-items: stretch; flex-direction: column; }
    .constellum-metrics { grid-template-columns: 1fr; }
    .constellum-project-strip { grid-template-columns: 1fr; }
    .constellum-commandbar,
    .constellum-board-filters { display: grid; grid-template-columns: 1fr; }
    .constellum-board-tools,
    .constellum-board-refresh { display: grid; width: 100%; }
    .constellum-board-quick-column { width: 100%; }
    .constellum-board-quick-column form { position: static; width: auto; grid-template-columns: 1fr; border-width: 1px 0 0; border-radius: 0 0 14px 14px; box-shadow: none; }
    .constellum-commandbar--filters .constellum-field--search,
    .constellum-board-filters .constellum-field--search { grid-column: auto; }
    .constellum-form { padding: 19px; }
    .constellum-form__intro,
    .constellum-form__grid { grid-template-columns: 1fr; }
    .constellum-form__intro { gap: 10px; }
    .constellum-field--wide { grid-column: auto; }
    .constellum-form__actions { align-items: stretch; flex-direction: column-reverse; }
    .constellum-template-guide { grid-template-columns: 1fr 1fr; }
    .constellum-project-detail__aside,
    .constellum-card-detail__aside { grid-template-columns: 1fr; }
    .constellum-board-card { grid-template-columns: 1fr; }
    .constellum-board-card__visual { min-height: 70px; flex-direction: row; }
    .constellum-board-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
    .constellum-board-row__count { display: none; }
    .constellum-column { flex-basis: min(88vw, 320px); max-height: calc(100vh - 160px); }
    .constellum-card-detail__section--handoff { grid-template-columns: 1fr; }
    .constellum-member { grid-template-columns: 36px minmax(0, 1fr); }
    .constellum-member .constellum-role,
    .constellum-member__actions { grid-column: 2; }
    .constellum-members__add,
    .constellum-activity-filters,
    .constellum-coordination__form,
    .constellum-coordination__review,
    .constellum-checklist-editor__group form,
    .constellum-checklist-editor__create,
    .constellum-attachment-upload,
    .constellum-workflow-column__fields,
    .constellum-workflow-add__fields { grid-template-columns: 1fr; }
    .constellum-members__add > div:first-child,
    .constellum-members__add .constellum-form__errors { grid-column: auto; }
    .constellum-workflow-column { grid-template-columns: 1fr; }
    .constellum-workflow-column__order { flex-direction: row; gap: 12px; padding: 8px; border-right: 0; border-bottom: 1px solid var(--constellum-line); }
    .constellum-icon-button,
    .constellum-card__move button,
    .constellum-workflow-column__order button,
    .constellum-member__actions button,
    .constellum-checklist-editor__group li > button { min-width: 44px; min-height: 44px; }
    .constellum-state-page__mark { width: 112px; height: 112px; }
    .constellum--state { min-height: 500px; padding: 24px 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .constellum *,
    .constellum *::before,
    .constellum *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
