:root {
    --rdm-green: #087443;
    --rdm-green-dark: #075a35;
    --rdm-green-soft: #e7f5ec;
    --rdm-blue: #1683e8;
    --rdm-ink: #152b3f;
    --rdm-muted: #667789;
    --rdm-line: #d5dfe7;
}
html, body.rdm-login-body { min-height: 100%; width: 100%; margin: 0; }
body.rdm-login-body { background: #f7f8fa; color: var(--rdm-ink); font-family: "Segoe UI", Arial, sans-serif; overflow-x: hidden; }
.rdm-login-page { display: grid; grid-template-columns: minmax(0, 62%) minmax(390px, 38%); min-height: 100vh; }
.rdm-showcase { position: relative; display: flex; flex-direction: column; min-height: 100vh; padding: 28px 4.5% 24px; overflow: hidden; background: #f0f5f0; }
.rdm-showcase::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 15% 72%, rgba(160, 214, 105, .28), transparent 28%), radial-gradient(circle at 75% 20%, rgba(94, 183, 222, .18), transparent 25%), linear-gradient(135deg, #f5f7f4 0%, #e8f0e8 100%); z-index: 0; }
.rdm-showcase::after { content: ""; position: absolute; left: -8%; right: -8%; bottom: 95px; height: 110px; background: #cce5b2; opacity: .5; border-radius: 50% 50% 0 0; transform: rotate(-2deg); z-index: 0; }
.rdm-brand, .rdm-showcase-content, .rdm-showcase-footer { position: relative; z-index: 1; }
.rdm-brand { display: flex; align-items: center; gap: 10px; width: fit-content; }
.rdm-brand-logo { width: 48px; height: 48px; object-fit: contain; }
.rdm-brand-text { display: flex; flex-direction: column; line-height: 1; }
.rdm-brand-acronym { font-size: 40px; font-weight: 900; letter-spacing: 1px; color: var(--rdm-green); }
.rdm-brand-caption { margin-top: 2px; font-size: 8px; font-weight: 800; letter-spacing: .8px; color: #415449; }
.rdm-showcase-content { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(220px, .92fr); align-items: center; flex: 1; gap: 8px; padding: 22px 0 16px; }
.rdm-copy { min-width: 0; }
.rdm-eyebrow { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 20px; color: var(--rdm-green); background: rgba(255,255,255,.78); font-size: 10px; font-weight: 800; letter-spacing: .8px; }
.rdm-copy h1 { margin: 20px 0 12px; font-size: clamp(27px, 3vw, 42px); line-height: 1.15; font-weight: 800; color: #132c40; }
.rdm-copy h1 span { color: var(--rdm-green); }
.rdm-copy > p { max-width: 480px; margin: 0 0 24px; color: #536675; font-size: 14px; line-height: 1.6; }
.rdm-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 490px; }
.rdm-feature { display: grid; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; column-gap: 9px; align-items: center; min-height: 70px; padding: 10px; border: 1px solid rgba(211,225,215,.9); border-radius: 12px; background: rgba(255,255,255,.88); box-shadow: 0 5px 16px rgba(29,64,44,.04); }
.rdm-feature-icon { grid-row: 1 / span 2; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: var(--rdm-green); background: var(--rdm-green-soft); font-size: 19px; }
.rdm-feature b { align-self: end; font-size: 11px; line-height: 1.3; color: #203748; }
.rdm-feature small { align-self: start; margin-top: 3px; color: #71808a; font-size: 9px; line-height: 1.35; }
.rdm-illustration-wrap { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; }
.rdm-illustration { display: block; width: min(100%, 440px); max-height: 440px; object-fit: contain; filter: drop-shadow(0 14px 15px rgba(38,68,54,.08)); }
.rdm-floating-note { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #d7e7da; border-radius: 14px; color: var(--rdm-green); background: rgba(255,255,255,.95); box-shadow: 0 10px 22px rgba(32,71,48,.12); font-size: 21px; }
.rdm-note-book { top: 17%; left: 6%; transform: rotate(-8deg); }
.rdm-note-cap { right: 3%; bottom: 18%; transform: rotate(8deg); }
.rdm-showcase-footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(135px, .9fr); align-items: center; gap: 12px; padding-top: 17px; border-top: 1px solid rgba(150,177,155,.45); }
.rdm-showcase-footer > div:not(.rdm-footer-badge) { display: flex; align-items: center; gap: 8px; }
.rdm-showcase-footer > div > i { flex: 0 0 auto; color: var(--rdm-green); font-size: 23px; }
.rdm-showcase-footer span { display: flex; flex-direction: column; min-width: 0; }
.rdm-showcase-footer b { color: #294237; font-size: 10px; }
.rdm-showcase-footer small { margin-top: 3px; color: #6b7e73; font-size: 8px; line-height: 1.3; }
.rdm-footer-badge { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 9px; border-radius: 10px; color: white; background: var(--rdm-green); }
.rdm-footer-badge img { width: 30px; height: 30px; object-fit: contain; }
.rdm-footer-badge b { color: white; font-size: 23px; line-height: 1; }
.rdm-footer-badge small { color: #e1f6e9; font-size: 7px; letter-spacing: .4px; }
.rdm-login-side { display: flex; align-items: center; justify-content: center; padding: 32px clamp(22px, 3vw, 48px); background: #fff; border-left: 1px solid #e6e9ed; }
.rdm-login-card { width: 100%; max-width: 490px; padding: clamp(22px, 3vw, 42px); border: 1px solid #e2e6e9; border-radius: 9px; background: #fff; box-shadow: 0 12px 38px rgba(30,48,60,.045); }
.rdm-login-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 27px; }
.rdm-login-logo { flex: 0 0 auto; width: 52px; height: 52px; object-fit: contain; }
.rdm-login-app-name { margin: 0 0 3px; color: #25374a; font-size: 17px; line-height: 1.35; }
.rdm-login-heading h2 { margin: 0; color: #1d2c3a; font-size: clamp(17px, 1.5vw, 22px); font-weight: 800; line-height: 1.25; }
.rdm-login-subtitle { margin: 4px 0 0; color: #718092; font-size: 13px; }
.rdm-message { display: none; margin: 0 0 14px; padding: 11px 12px; border-radius: 7px; font-size: 13px; line-height: 1.5; }
.rdm-message:not(:empty) { display: block; }
.rdm-message.is-error { color: #9f2424; background: #fff0f0; border: 1px solid #f3cece; }
.rdm-message.is-success { color: #126b3a; background: #eaf8ef; border: 1px solid #c9ebd4; }
.rdm-login-form { margin: 0; }
.rdm-input-group { display: flex; align-items: stretch; min-height: 48px; margin-bottom: 5px; border: 1px solid #cbd6df; border-radius: 3px; background: #f8fafc; transition: border-color .15s ease, box-shadow .15s ease; }
.rdm-input-group:focus-within { border-color: #7ca9db; box-shadow: 0 0 0 3px rgba(22,131,232,.1); }
.rdm-input-icon { display: grid; flex: 0 0 42px; place-items: center; border-right: 1px solid #cbd6df; color: #52687a; background: #edf1f5; }
.rdm-input-group .form-control { min-width: 0; height: auto; padding: 12px 13px; border: 0; border-radius: 0; background: #eaf1fc; color: #23384a; font-size: 14px; box-shadow: none; }
.rdm-input-group .form-control:focus { outline: none; box-shadow: none; background: #f2f6ff; }
.rdm-input-group .form-control::placeholder { color: #758597; opacity: 1; }
.rdm-password-toggle { display: grid; flex: 0 0 42px; place-items: center; border: 0; border-left: 1px solid #cbd6df; color: #52687a; background: #edf1f5; cursor: pointer; }
.rdm-password-toggle:hover { color: var(--rdm-green); }
.rdm-select-group { margin-top: 16px; margin-bottom: 18px; }
.rdm-select-group select.form-control { appearance: auto; cursor: pointer; }
.rdm-field-error { min-height: 0; margin: 0 0 8px 44px; color: #b42318; font-size: 11px; }
.rdm-input-group.is-invalid { border-color: #c83e3e; }
.rdm-login-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 5px; }
.rdm-submit { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 110px; padding: 11px 22px; border: 0; border-radius: 4px; background: #087bdb; font-size: 14px; font-weight: 600; box-shadow: none; }
.rdm-submit:hover, .rdm-submit:focus { background: #086cc0; }
.rdm-submit:disabled { opacity: .72; cursor: wait; }
.rdm-submit.is-loading i { display: none; }
.rdm-login-note { margin-top: 24px; color: #7a8794; font-size: 12px; line-height: 1.6; }
.rdm-login-bottom { margin-top: 18px; padding-top: 15px; border-top: 1px solid #edf0f2; color: #8a97a3; font-size: 11px; text-align: center; }
.rdm-login-bottom i { margin-right: 5px; color: var(--rdm-green); }
@media (max-width: 1100px) {
    .rdm-login-page { grid-template-columns: minmax(0, 56%) minmax(370px, 44%); }
    .rdm-showcase { padding-left: 4%; padding-right: 4%; }
    .rdm-showcase-content { grid-template-columns: 1fr; }
    .rdm-illustration-wrap { display: none; }
    .rdm-showcase-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .rdm-login-page { display: block; }
    .rdm-showcase { min-height: auto; padding: 20px 22px 22px; }
    .rdm-brand-acronym { font-size: 32px; }
    .rdm-showcase-content { display: block; padding: 30px 0 20px; }
    .rdm-copy h1 { margin-top: 16px; font-size: 29px; }
    .rdm-copy > p { margin-bottom: 18px; font-size: 13px; }
    .rdm-feature-grid { gap: 8px; }
    .rdm-feature { min-height: 64px; padding: 8px; }
    .rdm-feature b { font-size: 10px; }
    .rdm-showcase-footer { display: none; }
    .rdm-login-side { padding: 24px 16px 32px; border-left: 0; }
    .rdm-login-card { max-width: 500px; padding: 24px 20px; box-shadow: 0 8px 26px rgba(30,48,60,.06); }
    .rdm-login-app-name { font-size: 15px; }
    .rdm-login-heading h2 { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
