.cogsys-invitation { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: .875rem; line-height: 1.5; }
.cogsys-invitation *, .cogsys-invitation *::before, .cogsys-invitation *::after { box-sizing: border-box; }
.invitation-shell { width: 100%; max-width: 34rem; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) 1rem; }
.invitation-card { display: grid; gap: 1.5rem; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #242b33; border-radius: 1rem; background: #11151b; }
.invitation-card header { display: grid; gap: .75rem; }
.invitation-card h1, .invitation-card p { margin: 0; }
.invitation-card h1 { font-size: clamp(1.375rem, 3vw, 1.625rem); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.invitation-card header > p:last-child { color: #9ba49f; }
.invitation-card .invitation-eyebrow { color: #b7f34a; font-size: .75rem; font-weight: 600; }
.invitation-card form { display: grid; gap: 1rem; }
.invitation-field { display: grid; gap: .5rem; min-width: 0; }
.invitation-field label { color: #c9cec6; font-size: .8125rem; font-weight: 500; }
.invitation-field input { width: 100%; min-height: 2.75rem; padding: .625rem .75rem; border: 1px solid #303740; border-radius: .5rem; color: #f0f2ed; background: #090b0f; caret-color: #b7f34a; font: inherit; }
.invitation-field input[readonly] { color: #a3aca8; background: #151a20; }
.invitation-field input[aria-invalid="true"] { border-color: #fda29b; }
.invitation-card :focus-visible { outline: 2px solid #b7f34a; outline-offset: 3px; }
.invitation-passwords { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.invitation-card .invitation-help { color: #9ba49f; font-size: .75rem; }
.invitation-card .invitation-error { color: #fda29b; font-size: .8125rem; }
.invitation-button { display: inline-flex; justify-content: center; align-items: center; width: 100%; min-height: 2.875rem; padding: .75rem 1rem; border: 1px solid transparent; border-radius: .5rem; color: #090b0f; background: #b7f34a; font: inherit; font-weight: 600; text-decoration: none; text-align: center; cursor: pointer; }
.invitation-button:hover { background: #c7fc70; }
.invitation-button-secondary { color: #f0f2ed; background: transparent; border-color: #303740; }
.invitation-button-secondary:hover { background: #242b33; }
.invitation-card .invitation-note { color: #9ba49f; font-size: .75rem; line-height: 1.6; }
.invitation-signin { padding-top: 1.25rem; border-top: 1px solid #242b33; text-align: center; color: #9ba49f; font-size: .8125rem; }
.invitation-signin a { color: #f0f2ed; text-underline-offset: .2rem; }
.invitation-footer { margin: 1.5rem 0 0; color: #8c948f; font-size: .6875rem; text-align: center; }
@media (max-width: 479px) { .invitation-passwords { grid-template-columns: minmax(0, 1fr); gap: 1rem; } }
