*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--fg-primary);font:var(--text-body)}
.login-screen{height:100dvh;min-height:100dvh;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:5.5rem minmax(0,1fr)}.login-header{grid-column:1/-1;grid-row:1;min-height:5.5rem;padding:var(--space-md) clamp(var(--space-md),5vw,var(--space-2xl));display:flex;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border-color-default);background:var(--surface-card)}.login-header span{padding-left:var(--space-sm);border-left:1px solid var(--border-color-default);font:var(--text-h3);color:var(--fg-secondary)}.login-header img{width:11.25rem;height:3rem;max-width:100%;object-fit:contain}
.login-visual{grid-column:1;grid-row:2;min-height:0;margin:0;background:var(--accent-700)}.login-main{grid-column:2;grid-row:2;min-width:0;display:flex;background:var(--surface-page)}.login-content{width:min(100%,27rem);margin:auto;padding:var(--space-md)}h1{font:var(--text-h1);letter-spacing:var(--ls-tight);margin:0 0 var(--space-2xs)}h2{font:var(--text-h3);margin:0 0 var(--space-md)}p{line-height:var(--lh-body-relaxed);color:var(--fg-secondary)}#intro{margin:0;font:var(--text-body-lg)}.card{margin-top:var(--space-lg);padding:var(--card-pad-default);background:var(--surface-card);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.login-card{margin-top:var(--space-lg)}
.registration-content{padding-block:var(--space-xl)}.registration-card{margin-top:var(--space-lg)}.registration-details{display:grid;grid-template-columns:minmax(6rem,auto) minmax(0,1fr);gap:var(--space-sm) var(--space-md);margin:var(--space-lg) 0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--surface-sunken)}.registration-details dt,.registration-details dd{margin:0;align-self:center}.registration-details dd{color:var(--fg-primary)}.registration-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);font:var(--text-body-sm);color:var(--fg-secondary)}.registration-footer a{font-weight:600}.registration-footer span{text-align:right}
label{display:block;margin:var(--space-md) 0 var(--space-2xs);font:var(--text-label);color:var(--fg-primary)}label:first-child{margin-top:0}input{width:100%;min-height:var(--control-md);padding:var(--space-xs) var(--input-padx);border:var(--input-border) solid var(--border-color-default);border-radius:var(--input-radius);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body)}input::placeholder{color:var(--fg-secondary)}
dt{font:var(--text-label);color:var(--fg-secondary);margin-top:var(--space-sm)}dd{margin:var(--space-2xs) 0;overflow-wrap:anywhere}.mono{font-family:var(--font-mono);overflow-wrap:anywhere}#organisation-list{padding-left:var(--space-md);overflow-wrap:anywhere}
button{width:100%;font:var(--text-label);font-weight:700;min-height:var(--target-min);padding:var(--space-xs) var(--space-md);margin-top:var(--space-md);background:var(--action-primary-bg);color:var(--action-primary-fg);border:1px solid var(--action-primary-bg);border-radius:var(--radius-pill);cursor:pointer;white-space:normal;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}button:hover{background:var(--action-primary-bg-hover)}button:disabled{opacity:var(--opacity-disabled);cursor:wait}.text-button{width:auto;margin-top:var(--space-sm);padding:0;background:transparent;color:var(--accent-700);border:0;border-radius:0;font-weight:600}.text-button:hover{background:transparent;color:var(--accent-800);text-decoration:underline}.google-button{background:var(--surface-card);color:var(--accent-700);border-color:var(--border-color-strong)}.google-button:hover{background:var(--surface-sunken)}
.auth-divider{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);color:var(--fg-secondary);font:var(--text-body-sm)}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--border-color-default)}#status{margin:var(--space-md) 0 0;font:var(--text-body-sm)}
.he-skeleton{display:block;height:var(--skeleton-height);border-radius:var(--skeleton-radius);background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-color-default) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:he-skeleton-shimmer var(--duration-slow) linear infinite}.he-skeleton-company{width:min(14rem,100%)}.he-skeleton-username{width:min(11rem,100%)}.he-skeleton-email{width:min(16rem,100%)}.is-loading::after{content:"";display:inline-block;width:3rem;height:var(--space-2xs);margin-left:var(--space-2xs);vertical-align:middle;border-radius:var(--skeleton-radius);background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-color-default) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:he-skeleton-shimmer var(--duration-slow) linear infinite}@keyframes he-skeleton-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
:focus-visible{outline:3px solid var(--accent-500);outline-offset:2px}input:focus-visible{border-color:var(--accent-700)}a{color:var(--accent-700);min-height:var(--target-min);display:inline-flex;align-items:center}.skip-link{position:absolute;left:var(--space-sm);top:-100px;z-index:1;background:var(--surface-card);padding:var(--space-sm)}.skip-link:focus{top:var(--space-sm)}[hidden]{display:none!important}
@media(max-width:1100px){.login-screen{height:auto;grid-template-columns:0 minmax(0,1fr)}.login-visual{display:none}.login-header{padding-inline:var(--space-lg)}}
@media(max-width:640px){.login-screen{display:flex;flex-direction:column}.login-header{min-height:5rem;padding:var(--space-md)}.login-header img{width:3rem;height:3rem;object-fit:cover;object-position:left}.login-header span{font:var(--text-h3)}.login-main{min-height:calc(100dvh - 5rem)}.login-content{margin:0 auto;padding:var(--space-xl) var(--space-md)}.card{padding:var(--card-pad-default)}.registration-details{grid-template-columns:1fr;gap:var(--space-2xs);padding:var(--space-sm)}.registration-details dd{margin-bottom:var(--space-sm)}.registration-details dd:last-child{margin-bottom:0}.registration-footer{align-items:flex-start;flex-direction:column}.registration-footer span{text-align:left}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
