/*!
 * Atrium design system v0.1 - atrium.css
 * Plain, neutral styles for Atrium app screens shown inside COHO (quick views and full app pages).
 * Deliberately not COHO's own brand styling. Load this one file; use the --at-* tokens and at-* classes.
 * Docs: https://docs.coho.life/atrium-design/
 *
 * Colour tokens are named by job: --at-<property>-<role>-<emphasis>.
 *   property: text, bg, border, surface, shadow
 *   role:     neutral, primary, info, success, warning, danger, discovery, inverse, accent-<hue>
 *   emphasis: subtle or bold (omitted = the default for that property)
 * Pick a token by what the thing means, never by the colour you want.
 */
:root{--at-text:#1c1917;--at-text-subtle:#57534e;--at-text-inverse:#fff;--at-text-primary:#3d4ed8;--at-text-info:#2f5fd0;--at-text-success:#067647;--at-text-warning:#b54708;--at-text-danger:#b42318;--at-text-discovery:#6941c6;--at-bg-primary:#3d4ed8;--at-bg-neutral:#f6f5f3;--at-bg-neutral-hovered:#f6f5f3;--at-bg-neutral-pressed:#d6d3d1;--at-bg-info-subtle:#eff4ff;--at-bg-success-subtle:#ecfdf3;--at-bg-warning-subtle:#fffaeb;--at-bg-danger-subtle:#fef3f2;--at-bg-discovery-subtle:#f4f3ff;--at-bg-info-bold:#2f5fd0;--at-bg-success-bold:#067647;--at-bg-warning-bold:#b54708;--at-bg-danger-bold:#b42318;--at-bg-discovery-bold:#6941c6;--at-bg-accent-blue:#e0f2fe;--at-text-accent-blue:#0369a1;--at-bg-accent-teal:#ccfbf1;--at-text-accent-teal:#0f766e;--at-bg-accent-green:#dcfce7;--at-text-accent-green:#15803d;--at-bg-accent-orange:#ffedd5;--at-text-accent-orange:#c2410c;--at-bg-accent-purple:#f3e8ff;--at-text-accent-purple:#7e22ce;--at-bg-accent-magenta:#fce7f3;--at-text-accent-magenta:#be185d;--at-border:#d6d3d1;--at-border-bold:#57534e;--at-border-focus:#3d4ed8;--at-border-primary:#3d4ed8;--at-border-info:#2f5fd0;--at-border-success:#067647;--at-border-warning:#b54708;--at-border-danger:#b42318;--at-border-discovery:#6941c6;--at-surface-sunken:#f6f5f3;--at-surface:#fff;--at-surface-raised:#fff;--at-surface-overlay:#fff;--at-shadow-raised:0 1px 2px #00000014;--at-shadow-overlay:0 8px 24px #0000001f;--at-font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--at-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--at-text-xs:.75rem;--at-text-sm:.875rem;--at-text-md:1rem;--at-text-lg:1.25rem;--at-text-xl:1.5rem;--at-weight-regular:400;--at-weight-bold:600;--at-weight-heavy:700;--at-line-height:1.5;--at-space-1:.125rem;--at-space-2:.25rem;--at-space-3:.5rem;--at-space-4:.75rem;--at-space-5:1rem;--at-space-6:1.5rem;--at-space-7:2rem;--at-space-8:3rem;--at-radius-0:0;--at-radius-1:6px;--at-radius-2:10px}[data-color-mode=dark]{--at-text:#f5f5f4;--at-text-subtle:#a8a29e;--at-text-inverse:#1c1917;--at-text-primary:#8e9bfa;--at-text-info:#7aa2f7;--at-text-success:#47cd89;--at-text-warning:#fdb022;--at-text-danger:#f97066;--at-text-discovery:#b692f6;--at-bg-primary:#8e9bfa;--at-bg-neutral:#262421;--at-bg-neutral-hovered:#262421;--at-bg-neutral-pressed:#44403c;--at-bg-info-subtle:#18233d;--at-bg-success-subtle:#10291d;--at-bg-warning-subtle:#332410;--at-bg-danger-subtle:#3a1a17;--at-bg-discovery-subtle:#22183d;--at-bg-info-bold:#7aa2f7;--at-bg-success-bold:#47cd89;--at-bg-warning-bold:#fdb022;--at-bg-danger-bold:#f97066;--at-bg-discovery-bold:#b692f6;--at-bg-accent-blue:#0c2a3d;--at-text-accent-blue:#7dd3fc;--at-bg-accent-teal:#0d2e2b;--at-text-accent-teal:#5eead4;--at-bg-accent-green:#0f2a19;--at-text-accent-green:#86efac;--at-bg-accent-orange:#33200f;--at-text-accent-orange:#fdba74;--at-bg-accent-purple:#2a1a3d;--at-text-accent-purple:#d8b4fe;--at-bg-accent-magenta:#3a1426;--at-text-accent-magenta:#f9a8d4;--at-border:#44403c;--at-border-bold:#a8a29e;--at-border-focus:#8e9bfa;--at-border-primary:#8e9bfa;--at-border-info:#7aa2f7;--at-border-success:#47cd89;--at-border-warning:#fdb022;--at-border-danger:#f97066;--at-border-discovery:#b692f6;--at-surface-sunken:#121110;--at-surface:#1a1917;--at-surface-raised:#24221f;--at-surface-overlay:#2c2a27;--at-shadow-raised:0 1px 2px #00000080;--at-shadow-overlay:0 8px 24px #0009}.at-app{padding:var(--at-space-5);background:var(--at-surface);color:var(--at-text);font-family:var(--at-font);font-size:var(--at-text-md);line-height:var(--at-line-height);margin:0}.at-app *,.at-app :before,.at-app :after{box-sizing:border-box}.at-app h1,.at-app h2,.at-app h3{margin:0 0 var(--at-space-3);font-weight:var(--at-weight-heavy);line-height:1.25}.at-app h1{font-size:var(--at-text-xl)}.at-app h2{font-size:var(--at-text-lg)}.at-app h3{font-size:var(--at-text-md)}.at-app p{margin:0 0 var(--at-space-4)}.at-app a:not(.at-button){color:var(--at-text-primary)}.at-muted{color:var(--at-text-subtle)}.at-small{font-size:var(--at-text-sm)}.at-app :focus-visible,.at-app .at-is-focus{outline:3px solid var(--at-border-focus);outline-offset:2px}.at-stack{gap:var(--at-space-5);flex-direction:column;display:flex}.at-stack--tight{gap:var(--at-space-3)}.at-inline{align-items:center;gap:var(--at-space-3);flex-wrap:wrap;display:flex}.at-inline--end{justify-content:flex-end}.at-inline--between{justify-content:space-between}.at-header{justify-content:space-between;align-items:center;gap:var(--at-space-4);padding-bottom:var(--at-space-4);margin-bottom:var(--at-space-5);border-bottom:1px solid var(--at-border);display:flex}.at-header__title{font-size:var(--at-text-xl);font-weight:var(--at-weight-heavy);letter-spacing:-.01em;margin:0}.at-header__subtitle{color:var(--at-text-subtle);font-size:var(--at-text-sm);margin:0}.at-card{padding:var(--at-space-5);border:1px solid var(--at-border);border-radius:var(--at-radius-2);background:var(--at-surface-raised);box-shadow:var(--at-shadow-raised)}.at-card--muted{background:var(--at-bg-neutral);box-shadow:none}.at-card__title{margin:0 0 var(--at-space-3);font-size:var(--at-text-md);font-weight:var(--at-weight-bold)}.at-button{justify-content:center;align-items:center;gap:var(--at-space-2);min-height:2.25rem;padding:var(--at-space-3) var(--at-space-5);border:1px solid var(--at-border);border-radius:var(--at-radius-1);background:var(--at-surface);color:var(--at-text);font:inherit;font-size:var(--at-text-sm);font-weight:var(--at-weight-bold);cursor:pointer;text-decoration:none;display:inline-flex}.at-button:hover,.at-button.at-is-hover{background:var(--at-bg-neutral-hovered)}.at-button:active,.at-button.at-is-active{background:var(--at-bg-neutral-pressed)}.at-button--primary{border-color:var(--at-border-primary);background:var(--at-bg-primary);color:var(--at-text-inverse)}.at-button--primary:hover,.at-button--primary.at-is-hover{background:var(--at-bg-primary);filter:brightness(.92)}.at-button--primary:active,.at-button--primary.at-is-active{background:var(--at-bg-primary);filter:brightness(.84)}.at-button--danger{border-color:var(--at-border-danger);background:var(--at-surface);color:var(--at-text-danger)}.at-button--danger:hover,.at-button--danger.at-is-hover,.at-button--danger:active,.at-button--danger.at-is-active{background:var(--at-bg-danger-subtle)}.at-button--link{color:var(--at-text-primary);padding-inline:var(--at-space-2);background:0 0;border-color:#0000}.at-button--link:hover,.at-button--link.at-is-hover,.at-button--link.at-is-active{background:0 0;text-decoration:underline}.at-button:disabled,.at-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.at-field{gap:var(--at-space-2);flex-direction:column;display:flex}.at-label{font-size:var(--at-text-sm);font-weight:var(--at-weight-bold)}.at-hint{color:var(--at-text-subtle);font-size:var(--at-text-sm);margin:0}.at-error{color:var(--at-text-danger);font-size:var(--at-text-sm);font-weight:var(--at-weight-bold);margin:0}.at-input,.at-textarea,.at-select{width:100%;min-height:2.25rem;padding:var(--at-space-3);border:1px solid var(--at-border);border-radius:var(--at-radius-1);background:var(--at-surface);color:var(--at-text);font:inherit;font-size:var(--at-text-md)}.at-textarea{resize:vertical;min-height:5rem}.at-input:hover,.at-input.at-is-hover,.at-textarea:hover,.at-textarea.at-is-hover,.at-select:hover,.at-select.at-is-hover{border-color:var(--at-border-bold)}.at-input:disabled,.at-textarea:disabled,.at-select:disabled{opacity:.5;cursor:not-allowed}.at-field--error .at-input,.at-field--error .at-textarea,.at-field--error .at-select{border-color:var(--at-border-danger);border-width:2px}.at-choice{align-items:flex-start;gap:var(--at-space-3);font-size:var(--at-text-md);display:flex}.at-choice input{width:1.125rem;height:1.125rem;accent-color:var(--at-bg-primary);margin:.15rem 0 0}.at-fieldset{gap:var(--at-space-3);border:0;flex-direction:column;margin:0;padding:0;display:flex}.at-fieldset legend{margin-bottom:var(--at-space-2);font-size:var(--at-text-sm);font-weight:var(--at-weight-bold);padding:0}.at-table{border-collapse:collapse;width:100%;font-size:var(--at-text-sm)}.at-table th,.at-table td{padding:var(--at-space-3) var(--at-space-4);border-bottom:1px solid var(--at-border);text-align:left;vertical-align:top}.at-table th{color:var(--at-text-subtle);font-weight:var(--at-weight-bold);background:var(--at-bg-neutral)}.at-table td.at-num,.at-table th.at-num{text-align:right;font-variant-numeric:tabular-nums}.at-summary{font-size:var(--at-text-sm);grid-template-columns:minmax(8rem,1fr) 2fr;margin:0;display:grid}.at-summary dt,.at-summary dd{padding:var(--at-space-3) 0;border-bottom:1px solid var(--at-border);margin:0}.at-summary dt{color:var(--at-text-subtle);font-weight:var(--at-weight-bold);padding-right:var(--at-space-4)}.at-tag{align-items:center;gap:var(--at-space-2);padding:var(--at-space-1) var(--at-space-3);border-radius:var(--at-radius-1);color:var(--at-text-subtle);font-size:var(--at-text-xs);font-weight:var(--at-weight-bold);border:1px solid;line-height:1.4;display:inline-flex}.at-tag--info{color:var(--at-text-info);background:var(--at-bg-info-subtle)}.at-tag--success{color:var(--at-text-success);background:var(--at-bg-success-subtle)}.at-tag--warning{color:var(--at-text-warning);background:var(--at-bg-warning-subtle)}.at-tag--danger{color:var(--at-text-danger);background:var(--at-bg-danger-subtle)}.at-tag--discovery{color:var(--at-text-discovery);background:var(--at-bg-discovery-subtle)}.at-tag--bold{color:var(--at-text-inverse);background:var(--at-bg-neutral-pressed);border-color:#0000}.at-tag--bold.at-tag--info{background:var(--at-bg-info-bold)}.at-tag--bold.at-tag--success{background:var(--at-bg-success-bold)}.at-tag--bold.at-tag--warning{background:var(--at-bg-warning-bold)}.at-tag--bold.at-tag--danger{background:var(--at-bg-danger-bold)}.at-tag--bold.at-tag--discovery{background:var(--at-bg-discovery-bold)}.at-tag--bold:not(.at-tag--info):not(.at-tag--success):not(.at-tag--warning):not(.at-tag--danger):not(.at-tag--discovery){color:var(--at-text)}.at-tag--blue{color:var(--at-text-accent-blue);background:var(--at-bg-accent-blue);border-color:#0000}.at-tag--teal{color:var(--at-text-accent-teal);background:var(--at-bg-accent-teal);border-color:#0000}.at-tag--green{color:var(--at-text-accent-green);background:var(--at-bg-accent-green);border-color:#0000}.at-tag--orange{color:var(--at-text-accent-orange);background:var(--at-bg-accent-orange);border-color:#0000}.at-tag--purple{color:var(--at-text-accent-purple);background:var(--at-bg-accent-purple);border-color:#0000}.at-tag--magenta{color:var(--at-text-accent-magenta);background:var(--at-bg-accent-magenta);border-color:#0000}.at-alert{padding:var(--at-space-4) var(--at-space-5);border:1px solid var(--at-border);border-radius:var(--at-radius-1);background:var(--at-bg-neutral);font-size:var(--at-text-sm);border-left-width:4px}.at-alert__title{margin-bottom:var(--at-space-1);font-weight:var(--at-weight-bold);display:block}.at-alert--info{border-left-color:var(--at-border-info);background:var(--at-bg-info-subtle)}.at-alert--success{border-left-color:var(--at-border-success);background:var(--at-bg-success-subtle)}.at-alert--warning{border-left-color:var(--at-border-warning);background:var(--at-bg-warning-subtle)}.at-alert--danger{border-left-color:var(--at-border-danger);background:var(--at-bg-danger-subtle)}.at-alert--discovery{border-left-color:var(--at-border-discovery);background:var(--at-bg-discovery-subtle)}.at-empty{padding:var(--at-space-7) var(--at-space-5);border:1px dashed var(--at-border);border-radius:var(--at-radius-2);text-align:center;color:var(--at-text-subtle)}.at-empty__title{margin:0 0 var(--at-space-2);color:var(--at-text);font-weight:var(--at-weight-bold)}.at-spinner{border:2px solid var(--at-border);border-top-color:var(--at-border-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.8s linear infinite at-spin;display:inline-block}.at-skeleton{border-radius:var(--at-radius-1);background:var(--at-bg-neutral);height:1rem;animation:1.4s ease-in-out infinite at-pulse;display:block}.at-skeleton--short{width:40%}.at-skeleton--medium{width:70%}@keyframes at-spin{to{transform:rotate(360deg)}}@keyframes at-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.at-spinner,.at-skeleton{animation:none}}.at-tabs{gap:var(--at-space-2);border-bottom:1px solid var(--at-border);margin-bottom:var(--at-space-5);display:flex}.at-tab{padding:var(--at-space-3) var(--at-space-4);color:var(--at-text-subtle);font:inherit;font-size:var(--at-text-sm);font-weight:var(--at-weight-bold);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px}.at-tab:hover,.at-tab.at-is-hover{color:var(--at-text)}.at-tab[aria-selected=true]{border-bottom-color:var(--at-border-primary);color:var(--at-text)}.at-dialog{max-width:28rem;padding:var(--at-space-6);border:1px solid var(--at-border);border-radius:var(--at-radius-2);background:var(--at-surface-overlay);color:var(--at-text);box-shadow:var(--at-shadow-overlay);margin:0 auto}.at-dialog::backdrop{background:#00000059}.at-dialog__actions{justify-content:flex-end;gap:var(--at-space-3);margin-top:var(--at-space-5);display:flex}.at-pagination{justify-content:space-between;align-items:center;gap:var(--at-space-4);font-size:var(--at-text-sm);color:var(--at-text-subtle);display:flex}.at-ai{padding:var(--at-space-4) var(--at-space-5);border:1px solid var(--at-border-discovery);border-radius:var(--at-radius-2);background:var(--at-bg-discovery-subtle);position:relative}.at-ai__label{align-items:center;gap:var(--at-space-2);margin:0 0 var(--at-space-3);color:var(--at-text-discovery);font-size:var(--at-text-xs);font-weight:var(--at-weight-bold);display:inline-flex}.at-ai__label:before{content:"✦"}.at-ai--generating{background:linear-gradient(var(--at-bg-discovery-subtle), var(--at-bg-discovery-subtle)) padding-box, conic-gradient(from var(--at-ai-angle,0deg), var(--at-border-discovery), var(--at-border-primary), var(--at-text-accent-magenta), var(--at-border-discovery)) border-box;border-color:#0000;animation:3s linear infinite at-ai-turn}@property --at-ai-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes at-ai-turn{to{--at-ai-angle:360deg}}@media (prefers-reduced-motion:reduce){.at-ai--generating{animation:none}}
