:root{color-scheme:dark;--portal-bg:#071121;--portal-bg-soft:rgba(15,24,42,0.84);--portal-line:rgba(255,255,255,0.1);--portal-text:#f7f8fb;--portal-text-soft:rgba(247,248,251,0.72);--portal-accent:#ff3b45;--portal-accent-soft:rgba(255,59,69,0.18);--portal-card-shadow:0 24px 70px rgba(2,8,23,0.32)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;padding:0}body{background:radial-gradient(circle at top left,rgba(255,59,69,.16),transparent 30%),radial-gradient(circle at top right,rgba(37,99,235,.14),transparent 28%),linear-gradient(180deg,#071121,#030813 70%);color:var(--portal-text);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}a{color:inherit;text-decoration:none}.portal-login-shell,.portal-shell{margin:0 auto;max-width:1120px;padding:32px 20px 80px}.portal-login-shell{align-items:center;display:grid;min-height:100vh}.portal-card,.portal-hero,.portal-login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--portal-bg-soft);border:1px solid var(--portal-line);border-radius:28px;box-shadow:var(--portal-card-shadow)}.portal-login-card{margin:0 auto;max-width:520px;padding:36px;width:100%}.portal-badge{align-items:center;border:1px solid rgba(255,59,69,.34);border-radius:999px;color:#ff7b80;display:inline-flex;font-size:.78rem;font-weight:700;letter-spacing:.16em;padding:.72rem 1rem;text-transform:uppercase}.portal-title{font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;margin:20px 0 14px}.portal-copy{color:var(--portal-text-soft);font-size:1rem;line-height:1.7;margin:0 0 28px;max-width:46rem}.portal-form{display:grid;grid-gap:18px;gap:18px}.portal-field{display:grid;grid-gap:8px;gap:8px}.portal-field-label{color:var(--portal-text);font-size:.92rem;font-weight:600}.portal-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(9,16,30,.92);border:1px solid var(--portal-line);border-radius:18px;color:var(--portal-text);font:inherit;min-height:56px;outline:none;padding:0 16px;transition:border-color .18s ease,box-shadow .18s ease}.portal-input:focus{border-color:rgba(255,59,69,.6);box-shadow:0 0 0 4px rgba(255,59,69,.15)}.portal-field-error,.portal-form-alert{color:#ffb6ba;font-size:.88rem}.portal-form-alert{background:rgba(127,29,29,.4);border:1px solid rgba(248,113,113,.22);border-radius:16px;padding:12px 14px}.portal-button,.portal-secondary-button{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:52px;padding:0 22px;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.portal-button{background:linear-gradient(135deg,#ff4952,#ff2b36);border:0;color:white}.portal-secondary-button{background:transparent;border:1px solid var(--portal-line);color:var(--portal-text)}.portal-button:hover,.portal-secondary-button:hover{transform:translateY(-1px)}.portal-button:disabled,.portal-secondary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.portal-hero{padding:30px}.portal-hero-row{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-top:18px}.portal-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:24px}.portal-card{align-items:flex-start;display:flex;gap:16px;min-height:220px;padding:24px;transition:border-color .18s ease,transform .18s ease}.portal-card:hover{border-color:rgba(255,59,69,.32);transform:translateY(-2px)}.portal-card-icon{align-items:center;background:var(--portal-accent-soft);border:1px solid rgba(255,59,69,.3);border-radius:18px;color:#ff858a;display:inline-flex;flex:0 0 56px;font-size:1.4rem;font-weight:700;height:56px;justify-content:center}.portal-card-content{display:grid;grid-gap:10px;gap:10px}.portal-card-title{font-size:1.25rem;font-weight:700}.portal-card-copy{color:var(--portal-text-soft);line-height:1.7;margin:0}.portal-card-link{color:#ff9094;font-size:.92rem;font-weight:700}@media (max-width:720px){.portal-card,.portal-hero,.portal-login-card{border-radius:24px}.portal-hero,.portal-login-card{padding:24px}.portal-hero-row{align-items:stretch;flex-direction:column}.portal-button,.portal-secondary-button{width:100%}}