/* Shared, unauthenticated pages: match the product's default light theme. */
:root {
    color-scheme: light;
    --primary-bg: #edf7ff;
    --secondary-bg: #dceeff;
    --accent-color: #0f8d91;
    --accent-hover: #087477;
    --text-color: #18324b;
    --text-muted: #61758b;
    --danger-color: #d92d4a;
    --success-color: #16855b;
    --glass-bg: rgba(255, 255, 255, .88);
    --glass-border: 1px solid rgba(104, 142, 178, .28);
    --glass-shadow: 0 18px 48px rgba(45, 84, 124, .17);
    --body-bg-gradient: radial-gradient(circle at 50% -10%, #ffffff 0%, #e8f5ff 44%, #d7eafb 100%);
}

body {
    color: var(--text-color);
    background-color: var(--primary-bg);
    background-image: var(--body-bg-gradient);
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle at 16% 16%, rgba(47, 157, 184, .18) 1px, transparent 2px), radial-gradient(circle at 84% 26%, rgba(15, 141, 145, .2) 1px, transparent 2px), radial-gradient(circle at 25% 82%, rgba(84, 132, 201, .15) 1px, transparent 2px);
}

body.auth-light #particles { display: none; }

.login-container,
.recovery-card {
    background: var(--glass-bg);
    border-color: rgba(104, 142, 178, .3);
    box-shadow: var(--glass-shadow);
}

.brand-icon,
.planet-mark,
.brand-name { color: var(--accent-color); }
.brand-icon { filter: drop-shadow(0 0 10px rgba(15, 141, 145, .18)); }

.login-container h2 {
    background: linear-gradient(135deg, #18324b 0%, #0f8d91 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.form-group input,
.recovery-card input {
    color: var(--text-color);
    background: rgba(248, 252, 255, .96);
    border-color: rgba(104, 142, 178, .35);
}

.form-group input:focus,
.recovery-card input:focus {
    background: #fff;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(15, 141, 145, .14);
}

.form-group.license-group input { background: rgba(255, 248, 231, .9); }
.form-group.license-group input:focus { background: #fffdf7; }
.remember-row input[type="checkbox"] { border-color: rgba(104, 142, 178, .55); background: #fff; }
.remember-row input[type="checkbox"]:checked::after { border-color: #fff; }

.btn-login,
.recovery-card .primary { color: #fff; background: linear-gradient(135deg, #0f8d91, #287ab7); }
.btn-login:hover { box-shadow: 0 7px 18px rgba(15, 141, 145, .25); }
.recovery-card .secondary { color: var(--accent-color); border-color: rgba(15, 141, 145, .5); }

.error-msg,
.recovery-card .error { color: #a91633; background: #fff0f2; border-color: #f2b4c0; }
.success-msg { color: #126646; background: #eafaf3; border-color: #98dfbd; }

.recovery-card { color: var(--text-color); }
.recovery-card .intro,
.recovery-card .hint,
.recovery-card footer,
.recovery-card .text-button { color: var(--text-muted); }
.recovery-card .message:not(.error) { background: #edf8ff; border-color: #bdddef; }
.recovery-card .contact-hint { color: var(--text-color); background: #edf8ff; }
.recovery-card .account-panel { background: #edfafa; border-color: rgba(15, 141, 145, .3); }
.recovery-card .account-value input,
.recovery-card .account-value button,
.recovery-card .show-password,
.recovery-card .back-link { color: var(--accent-color); }
.recovery-card .section-heading,
.recovery-card footer { border-color: rgba(104, 142, 178, .22); }
