.rlm-public-form { background: #fff; border: 1px solid #dde4e0; border-radius: 8px; color: #3f4548; font-family: Montserrat, Arial, sans-serif; max-width: 760px; padding: 20px; }
.rlm-public-form label { display: block; font-weight: 600; margin-bottom: 12px; }
.rlm-public-form input, .rlm-public-form textarea { border: 1px solid #cfd7d3; border-radius: 6px; box-sizing: border-box; display: block; margin-top: 5px; min-height: 40px; padding: 8px 10px; width: 100%; }
.rlm-public-form textarea { min-height: 110px; }
.rlm-public-form button { background: #80c87e; border: 0; border-radius: 6px; color: #202422; cursor: pointer; font-weight: 700; padding: 11px 18px; }
.rlm-public-form .rlm-step { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.rlm-public-form .rlm-consent { font-weight: 500; }
.rlm-public-form .rlm-consent input { display: inline-block; min-height: 0; width: auto; }
.rlm-hp { left: -9999px; position: absolute; top: auto; }
.rlm-portal-shell { color: #404040; font-family: Montserrat, Arial, sans-serif; margin: 0 auto; max-width: 1180px; padding: 34px 20px 70px; }
.rlm-portal-hero { align-items: center; background: linear-gradient(135deg, #ffffff 0%, #f7fbf8 100%); border: 1px solid rgba(72,86,96,.12); border-radius: 18px; box-shadow: 0 24px 70px rgba(128,200,126,.10); display: grid; min-height: 260px; overflow: hidden; padding: 44px; position: relative; }
.rlm-portal-hero:after { background: #80c87e; content: ""; height: 100%; opacity: .16; position: absolute; right: -110px; top: 0; transform: skewX(-16deg); width: 320px; }
.rlm-portal-hero > div { max-width: 720px; position: relative; z-index: 1; }
.rlm-portal-hero span { color: #80c87e; display: block; font-size: 13px; font-weight: 700; letter-spacing: .18em; margin-bottom: 18px; text-transform: uppercase; }
.rlm-portal-hero h1 { color: #303436; font-size: clamp(42px, 6vw, 72px); font-weight: 400; line-height: 1; margin: 0; }
.rlm-portal-hero p { color: #5f6669; font-size: 18px; line-height: 1.65; margin: 22px 0 0; max-width: 620px; }
.rlm-portal-card { background: #fff; border: 1px solid rgba(72,86,96,.12); border-radius: 14px; box-shadow: 0 18px 52px rgba(128,200,126,.08); margin-top: 18px; padding: 26px; }
.rlm-portal-card h2 { color: #303436; font-size: 26px; font-weight: 500; line-height: 1.2; margin: 0 0 12px; }
.rlm-portal-card p { color: #5f6669; font-size: 15px; line-height: 1.65; margin: 0 0 18px; }
.rlm-login-card { margin-left: auto; margin-right: auto; max-width: 520px; }
.rlm-login-card form p { margin-bottom: 14px; }
.rlm-login-card label { color: #404040; font-weight: 600; }
.rlm-login-card input[type="text"], .rlm-login-card input[type="password"] { border: 1px solid #cfd7d3; border-radius: 8px; min-height: 46px; padding: 9px 12px; width: 100%; }
.rlm-login-card input[type="submit"], .rlm-portal-actions a, .rlm-portal-login-link { align-items: center; background: #80c87e; border: 1px solid #80c87e; border-radius: 12px; color: #26302a; display: inline-flex; font-weight: 700; justify-content: center; min-height: 44px; padding: 0 18px; text-decoration: none; }
.rlm-portal-switch, .rlm-portal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.rlm-portal-switch a { border: 1px solid rgba(72,86,96,.14); border-radius: 999px; color: #404040; padding: 8px 12px; text-decoration: none; }
.rlm-portal-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); }
.rlm-portal-stats { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rlm-portal-stats span { background: #f7fbf8; border: 1px solid rgba(128,200,126,.24); border-radius: 10px; color: #5f6669; padding: 16px; }
.rlm-portal-stats strong { color: #303436; display: block; font-size: 28px; }
.rlm-portal-leads { display: grid; gap: 10px; }
.rlm-portal-leads div { align-items: center; border: 1px solid rgba(72,86,96,.10); border-radius: 10px; display: grid; gap: 5px; grid-template-columns: minmax(0, 1fr) auto; padding: 14px; }
.rlm-portal-leads span, .rlm-portal-leads small { color: #5f6669; }
.rlm-portal-leads small { grid-column: 1 / -1; }
@media (max-width: 760px) { .rlm-portal-shell { padding: 20px 14px 50px; } .rlm-portal-hero { min-height: 0; padding: 30px 22px; } .rlm-portal-grid { grid-template-columns: 1fr; } .rlm-portal-leads div { grid-template-columns: 1fr; } }


/* ROMPOS ONE focused portal authentication */
.rlm-portal-shell{max-width:1080px;padding:86px 24px 110px}
.rlm-auth-intro{max-width:720px;margin:0 auto 44px;text-align:center}
.rlm-auth-kicker{margin:0 0 12px!important;color:#80c87e!important;font-size:12px!important;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.rlm-auth-intro h1{margin:0;color:#404040;font-size:clamp(42px,6vw,68px);font-weight:400;line-height:1.05}
.rlm-auth-intro>p:last-child{max-width:620px;margin:20px auto 0;color:#5f5f5f;font-size:17px;line-height:1.65}
.rlm-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.rlm-auth-card{background:#fff;border:1px solid rgba(64,64,64,.12);border-radius:16px;box-shadow:0 18px 55px rgba(128,200,126,.09);padding:34px}
.rlm-card-label{margin:0 0 10px!important;color:#80c87e!important;font-size:12px!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.rlm-auth-card h2{margin:0 0 26px;color:#404040;font-size:31px;font-weight:400}
.rlm-auth-card label{display:block;margin:0 0 17px;color:#404040;font-size:14px;font-weight:500}
.rlm-auth-card input[type=text],.rlm-auth-card input[type=email],.rlm-auth-card input[type=password]{box-sizing:border-box;width:100%;margin-top:8px;border:1px solid rgba(64,64,64,.16);border-radius:11px;background:#fff;padding:14px 15px;color:#404040;font:inherit}
.rlm-auth-card input:focus{border-color:#80c87e;outline:3px solid rgba(128,200,126,.14)}
.rlm-auth-card input[type=submit],.rlm-auth-card button{width:100%;min-height:48px;border:1px solid #80c87e;border-radius:11px;background:#80c87e;color:#26302a;font:inherit;font-weight:700;cursor:pointer}
.rlm-auth-card .login-remember{display:flex;align-items:center;gap:8px;margin:4px 0 18px}
.rlm-auth-card .login-remember label{margin:0;font-weight:400}
.rlm-forgot-link{margin:16px 0 0!important;text-align:center}
.rlm-forgot-link a{color:#5f5f5f}
.rlm-portal-choice{display:flex;justify-content:center;gap:12px;margin-top:28px}
.rlm-portal-choice a{border:1px solid rgba(64,64,64,.14);border-radius:999px;padding:10px 16px;color:#404040;text-decoration:none}
.rlm-portal-choice a.is-active{border-color:#80c87e;background:#f2fbf4}
.rlm-auth-notice{max-width:760px;margin:0 auto 24px;border-radius:11px;padding:14px 17px;text-align:center}
.rlm-auth-success{border:1px solid rgba(128,200,126,.55);background:#f2fbf4;color:#31543b}
.rlm-auth-error{border:1px solid rgba(183,74,74,.32);background:#fff6f6;color:#873b3b}
.rlm-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){.rlm-portal-shell{padding:54px 16px 80px}.rlm-auth-grid{grid-template-columns:1fr}.rlm-auth-card{padding:26px 22px}.rlm-auth-intro{margin-bottom:30px}}


/* ROMPOS ONE role-specific portals and approved ROMPOS color system */
.rlm-portal-shell{--rlm-green:#80c87e;--rlm-title:#404040;--rlm-body:#5f5f5f;--rlm-line:rgba(64,64,64,.12);--rlm-soft:#f5fbf5;color:var(--rlm-title)}
.rlm-portal-card{border-color:var(--rlm-line);box-shadow:0 18px 50px rgba(128,200,126,.08);border-radius:15px;padding:30px}
.rlm-portal-card h1,.rlm-portal-card h2{color:var(--rlm-title);font-weight:400}
.rlm-portal-card h1{font-size:clamp(34px,4vw,48px);line-height:1.08;margin:0 0 14px}
.rlm-portal-card h2{font-size:30px;margin:0 0 14px}
.rlm-portal-card p{color:var(--rlm-body)}
.rlm-dashboard-kicker{color:var(--rlm-green)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.18em!important;margin:0 0 10px!important;text-transform:uppercase}
.rlm-welcome-card{min-height:210px}
.rlm-portal-actions a,.rlm-public-form button,.rlm-login-card input[type=submit],.rlm-auth-card input[type=submit],.rlm-auth-card button{background:var(--rlm-green);border-color:var(--rlm-green);color:#243025;box-shadow:0 8px 22px rgba(128,200,126,.18)}
.rlm-portal-actions .rlm-action-secondary{background:#fff;border:1px solid rgba(64,64,64,.15);box-shadow:none;color:var(--rlm-title)}
.rlm-portal-stats span{background:var(--rlm-soft);border-color:rgba(128,200,126,.28)}
.rlm-account-details{display:grid;gap:0;margin:8px 0 0}
.rlm-account-details div{border-top:1px solid var(--rlm-line);display:grid;grid-template-columns:120px 1fr;gap:18px;padding:14px 0}
.rlm-account-details dt{color:var(--rlm-body);font-size:13px;font-weight:600}
.rlm-account-details dd{color:var(--rlm-title);font-size:15px;margin:0;overflow-wrap:anywhere}
.rlm-client-request{margin-top:18px}
.rlm-client-request .rlm-public-form{max-width:none;border:0;padding:8px 0 0}
.rlm-client-dashboard .rlm-account-card{align-self:stretch}
.rlm-public-form input,.rlm-public-form textarea{border-color:rgba(64,64,64,.16);border-radius:10px}
.rlm-public-form input:focus,.rlm-public-form textarea:focus{border-color:var(--rlm-green);outline:3px solid rgba(128,200,126,.14)}
@media(max-width:760px){.rlm-account-details div{grid-template-columns:1fr;gap:4px}.rlm-portal-card{padding:24px}.rlm-welcome-card{min-height:0}}

.rlm-dropzone-ready .rlm-upload-label input[type=file]{margin-top:10px}
.rlm-dropzone{align-items:center;background:#f7fbf8;border:1px dashed rgba(128,200,126,.65);border-radius:12px;color:#404040;cursor:pointer;display:flex;font-weight:600;justify-content:center;margin:10px 0;min-height:82px;padding:16px;text-align:center}
.rlm-dropzone.is-dragging,.rlm-dropzone:focus{background:#eff9f1;border-color:#80c87e;outline:3px solid rgba(128,200,126,.16)}
.rlm-file-list{color:#5f5f5f;font-size:13px;line-height:1.5;margin:8px 0 0}
.rlm-action-required{background:#f7fbf8;border:1px solid rgba(128,200,126,.28);border-radius:12px;margin:14px 0 18px;padding:18px}
.rlm-action-required h3{margin:0 0 8px}
.rlm-action-required ul{margin:10px 0 0;padding-left:20px}
.rlm-client-status-strip{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:4px 0 18px}
.rlm-client-status-strip article{background:#f7fbf8;border:1px solid rgba(128,200,126,.28);border-radius:12px;padding:15px;min-width:0}
.rlm-client-status-strip span{color:#5f5f5f;display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.rlm-client-status-strip strong{color:#404040;display:block;font-size:16px;font-weight:600;line-height:1.25;margin-top:8px;overflow-wrap:anywhere}
.rlm-portal-progress-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:16px 0 22px}
.rlm-portal-progress-grid article,.rlm-portal-documents div{border:1px solid rgba(64,64,64,.12);border-radius:12px;padding:14px}
.rlm-portal-progress-grid strong,.rlm-portal-progress-grid span,.rlm-portal-progress-grid small,.rlm-portal-documents strong,.rlm-portal-documents span,.rlm-portal-documents small{display:block}
.rlm-portal-progress-grid span,.rlm-portal-documents span{color:#404040;margin-top:6px}
.rlm-portal-progress-grid small,.rlm-portal-documents small{color:#5f5f5f;margin-top:6px}
.rlm-portal-documents{display:grid;gap:10px}
@media(max-width:900px){.rlm-client-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.rlm-client-status-strip{grid-template-columns:1fr}.rlm-portal-message-form input,.rlm-portal-message-form textarea,.rlm-portal-message-form button{width:100%}}
