@import url("louhos-selection.css?v=1");
@import url("louhos-interaction.css?v=1");
:root{color-scheme:dark;--auth-bg:#111;--auth-surface:#1b1b1b;--auth-raised:#232323;--auth-border:#353535;--auth-text:#f4f4f2;--auth-muted:#a4a4a1;--auth-accent:#4f8fe8;--auth-accent-soft:#8bb8ff;--bg:var(--auth-bg);--surface:var(--auth-surface);--raised:var(--auth-raised);--border:var(--auth-border);--text:var(--auth-text);--muted:var(--auth-muted);--accent:var(--auth-accent);--accent-soft:var(--auth-accent-soft)}
/* Shared Louhos authentication polish. */
.auth-card{position:relative;border-radius:14px;border-color:color-mix(in srgb,var(--auth-accent) 28%,var(--auth-border));background:linear-gradient(155deg,color-mix(in srgb,var(--auth-accent) 8%,var(--auth-surface)) 0%,var(--auth-surface) 44%,#171515 100%);box-shadow:0 30px 90px #000c,0 0 0 1px color-mix(in srgb,var(--auth-accent) 12%,transparent);animation:auth-card-in .42s cubic-bezier(.2,.8,.25,1) both}
.auth-card::before{content:"";position:absolute;inset:0 20% auto 20%;height:2px;background:linear-gradient(90deg,transparent,var(--auth-accent-soft),transparent)}
.auth-field input{border-radius:8px;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-accent) 24%,transparent)}
.auth-submit{border-radius:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--auth-accent) 35%,transparent);transition:filter .2s,transform .2s}.auth-submit:hover{filter:brightness(1.1);transform:translateY(-1px)}
@keyframes auth-card-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.auth-card{animation:none}}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-width:320px;background:radial-gradient(ellipse at 15% 8%,color-mix(in srgb,var(--auth-accent) 14%,transparent),transparent 36%),var(--auth-bg);color:var(--auth-text);font:15px/1.5 Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.auth-shell{width:min(1120px,calc(100% - 40px));min-height:100vh;margin:auto;padding:28px 0 36px;display:grid;grid-template-rows:auto 1fr auto}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--auth-border)}.auth-brand{display:flex;align-items:center;gap:11px;color:var(--auth-text);text-decoration:none}.auth-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--auth-accent);border-radius:6px;color:var(--auth-accent-soft);font-weight:700}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:1.08rem;font-weight:600}.auth-brand small{color:var(--auth-muted);font-size:.74rem}.auth-back{color:var(--auth-muted);text-decoration:none}.auth-back:hover{color:var(--auth-text)}.auth-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);align-items:center;gap:72px;padding:70px 0}.auth-intro .eyebrow{margin:0;color:var(--auth-accent-soft);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.auth-intro h1{max-width:570px;margin:12px 0 18px;font-size:clamp(2.5rem,6vw,5rem);font-weight:600;line-height:1}.auth-intro p{max-width:500px;margin:0;color:var(--auth-muted);font-size:1.05rem}.auth-points{display:grid;gap:12px;margin-top:30px;color:var(--auth-muted)}.auth-point{display:flex;align-items:center;gap:10px}.auth-point i{width:8px;height:8px;border-radius:50%;background:var(--auth-accent);box-shadow:0 0 13px color-mix(in srgb,var(--auth-accent) 60%,transparent)}.auth-card{border:1px solid var(--auth-border);border-radius:10px;background:color-mix(in srgb,var(--auth-surface) 96%,transparent);padding:30px;box-shadow:0 25px 70px #0008}.auth-tabs{display:flex;gap:4px;margin:-4px 0 25px;border-bottom:1px solid var(--auth-border)}.auth-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--auth-muted);padding:10px 14px;font-weight:600}.auth-tabs button.active{border-bottom-color:var(--auth-accent);color:var(--auth-text)}.auth-card h2{margin:0 0 6px;font-size:1.8rem}.auth-card .lead{margin:0 0 22px;color:var(--auth-muted)}.auth-field{display:grid;gap:7px;margin:15px 0;color:var(--auth-muted);font-size:.85rem}.auth-field[hidden]{display:none}.auth-field input{width:100%;height:46px;border:1px solid var(--auth-border);border-radius:6px;background:#141414;color:var(--auth-text);padding:0 13px;outline:0}.auth-field input:focus{border-color:var(--auth-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--auth-accent) 24%,transparent)}.auth-submit{width:100%;min-height:48px;margin-top:8px;border:1px solid var(--auth-accent);border-radius:6px;background:var(--auth-accent);color:#fff;font-weight:600}.auth-submit:hover,.auth-submit:focus-visible{filter:brightness(1.08);outline:2px solid var(--auth-accent-soft);outline-offset:2px}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-message{min-height:23px;margin:13px 0 0;color:var(--auth-muted)}.auth-message.error{color:#ef9aa0}.auth-message.ok{color:#9bd27f}.auth-legal{margin:20px 0 0;color:var(--auth-muted);font-size:.74rem}.auth-legal a{color:var(--auth-accent-soft)}.auth-footer{padding-top:18px;border-top:1px solid var(--auth-border);color:var(--auth-muted);font-size:.74rem;display:flex;justify-content:space-between;gap:12px}.auth-footer a{color:var(--auth-muted)}@media(max-width:820px){.auth-main{grid-template-columns:1fr;gap:30px;padding:52px 0}.auth-intro h1{font-size:clamp(2.4rem,11vw,4rem)}}@media(max-width:560px){.auth-shell{width:min(100% - 24px,1120px);padding-top:16px}.auth-top{padding-bottom:16px}.auth-back{font-size:.82rem}.auth-main{padding:38px 0}.auth-card{padding:22px}.auth-footer{display:block}.auth-footer span+span{display:block;margin-top:6px}}
/* Kirjautumissivuilla sama header-geometria kuin Louhos-alustoissa. */
.auth-shell{width:min(1180px,calc(100% - 40px));padding-top:20px}
.auth-top{min-height:64px;gap:20px;padding:0 0 18px}
.auth-brand{gap:11px;min-width:0}
.auth-mark{width:36px;height:36px;border-radius:5px;font:700 .9rem/1 Arial,Helvetica,sans-serif}
.auth-brand strong{font-size:1rem;line-height:1.2}
.auth-brand small{margin-top:3px;font-size:.7rem;line-height:1.2}
.auth-back{font-size:.82rem}
@media(max-width:560px){.auth-shell{width:calc(100% - 24px);padding-top:16px}.auth-top{min-height:58px;padding-bottom:14px}.auth-brand small{display:none}}
