:root{--rpl-blue-950:#082b55;--rpl-blue-900:#073b70;--rpl-blue-800:#07558f;--rpl-blue-700:#0b6fc2;--rpl-blue-600:#1681dc;--rpl-yellow:#ffc400;--rpl-bg:#f3f7fb;--rpl-surface:#fff;--rpl-border:#dce6f1;--rpl-text:#102a43;--rpl-muted:#6b7f93;--rpl-danger:#d83a52;--rpl-success:#1fb56c;--rpl-radius:16px;--rpl-shadow:0 12px 35px rgba(9,52,92,.10);--rpl-sidebar-width:276px;--rpl-content-max:1600px}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--rpl-text);background:var(--rpl-bg);font-size:14px}a{color:var(--rpl-blue-700);text-decoration:none}a:hover{color:var(--rpl-blue-900)}button,input,select,textarea{font:inherit}.rpl-skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;padding:10px 14px;border-radius:8px}.rpl-skip-link:focus{top:12px}.rpl-app-shell{display:grid;grid-template-columns:var(--rpl-sidebar-width) minmax(0,1fr);min-height:100vh}.rpl-sidebar{position:fixed;inset:0 auto 0 0;width:var(--rpl-sidebar-width);z-index:1040;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,var(--rpl-blue-950),var(--rpl-blue-800));box-shadow:8px 0 30px rgba(4,31,61,.16)}.rpl-sidebar-head{height:74px;display:flex;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.13)}.rpl-sidebar-brand{display:flex;align-items:center;min-width:0;color:#fff;gap:10px}.rpl-sidebar-brand:hover{color:#fff}.rpl-brand-mark{display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:var(--rpl-yellow);color:#082b55;font-weight:900;letter-spacing:-.4px;box-shadow:0 6px 15px rgba(255,196,0,.2)}.rpl-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}.rpl-brand-copy strong{font-size:13px;white-space:nowrap}.rpl-brand-copy small{margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#d9ebfa}.rpl-sidebar-close{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;width:34px;height:34px;border-radius:9px;font-size:23px;line-height:1}.rpl-user-card{display:flex;align-items:center;gap:10px;margin:10px 10px 2px;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.08);color:#fff}.rpl-user-card:hover{color:#fff;background:rgba(255,255,255,.13)}.rpl-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#e5f1fb;color:var(--rpl-blue-900);font-weight:800}.rpl-avatar-small{width:34px;height:34px;flex-basis:34px}.rpl-user-card-copy{display:flex;flex-direction:column;min-width:0}.rpl-user-card-copy strong,.rpl-user-card-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpl-user-card-copy strong{font-size:12px}.rpl-user-card-copy small{color:#c8e1f5;font-size:10px}.rpl-online-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#2ee987;box-shadow:0 0 0 4px rgba(46,233,135,.12)}.rpl-sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 8px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.rpl-sidebar .mod-menu{list-style:none;margin:0;padding:0}.rpl-sidebar .mod-menu>li{margin:2px 0}.rpl-sidebar .mod-menu a,.rpl-sidebar .mod-menu .nav-header,.rpl-sidebar .mod-menu .separator{display:flex;align-items:center;min-height:38px;padding:8px 10px;border-radius:9px;color:#eaf5ff;font-size:11px;font-weight:650;letter-spacing:.01em;transition:.18s ease}.rpl-sidebar .mod-menu a:hover{background:rgba(255,255,255,.11);color:#fff;transform:translateX(2px)}.rpl-sidebar .mod-menu .active>a,.rpl-sidebar .mod-menu a[aria-current="page"]{background:linear-gradient(90deg,var(--rpl-yellow),#ffda4a);color:#102a43;box-shadow:0 6px 18px rgba(255,196,0,.18)}.rpl-sidebar .mod-menu .nav-header{min-height:28px;margin-top:8px;padding:7px 8px 3px;color:#98c2e4;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.rpl-sidebar .mod-menu .deeper>ul{list-style:none;margin:2px 0 3px 12px;padding:0 0 0 8px;border-left:1px solid rgba(255,255,255,.14)}.rpl-sidebar .mod-menu .deeper>ul a{font-size:10.5px;min-height:34px}.rpl-empty-position{padding:14px;border:1px dashed rgba(255,255,255,.26);border-radius:10px;color:#fff}.rpl-empty-position small{display:block;margin-top:6px;color:#cde2f2}.rpl-sidebar-foot{padding:10px;border-top:1px solid rgba(255,255,255,.13);text-align:center}.rpl-auth-button{display:flex;align-items:center;justify-content:center;min-height:39px;border-radius:9px;background:var(--rpl-yellow);color:#082b55;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.rpl-auth-button:hover{color:#082b55;filter:brightness(1.03)}.rpl-sidebar-foot>small{display:block;margin-top:8px;color:#a9cce6;font-size:8px}.rpl-workspace{grid-column:2;min-width:0;display:flex;flex-direction:column;min-height:100vh}.rpl-topbar{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--rpl-border);z-index:1020}.rpl-topbar.is-sticky{position:sticky;top:0;backdrop-filter:blur(12px)}.rpl-topbar-left,.rpl-topbar-right{display:flex;align-items:center;gap:12px;min-width:0}.rpl-menu-toggle{display:none}.rpl-icon-button{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--rpl-border);border-radius:10px;background:#fff;color:var(--rpl-blue-900);cursor:pointer}.rpl-menu-toggle span{display:block;width:17px;height:2px;border-radius:2px;background:currentColor;margin:2px}.rpl-page-heading{display:flex;flex-direction:column;min-width:0;line-height:1.2}.rpl-page-heading small{font-size:10px;color:var(--rpl-muted);text-transform:uppercase;letter-spacing:.08em}.rpl-page-heading strong{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}.rpl-quick-menu .mod-menu{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0}.rpl-quick-menu .mod-menu a{display:flex;align-items:center;min-height:36px;padding:0 11px;border-radius:9px;color:var(--rpl-text);font-size:12px;font-weight:650}.rpl-quick-menu .mod-menu a:hover,.rpl-quick-menu .mod-menu .active>a{background:#eaf4fc;color:var(--rpl-blue-800)}.rpl-notification-dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--rpl-danger);border:2px solid #fff}.rpl-user-menu{position:relative}.rpl-user-menu summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:4px 8px 4px 4px;border:1px solid var(--rpl-border);border-radius:12px;background:#fff;cursor:pointer;list-style:none}.rpl-user-menu summary::-webkit-details-marker{display:none}.rpl-user-summary-copy{display:flex;flex-direction:column;max-width:130px;line-height:1.15}.rpl-user-summary-copy strong,.rpl-user-summary-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpl-user-summary-copy strong{font-size:11px}.rpl-user-summary-copy small{font-size:9px;color:var(--rpl-muted)}.rpl-user-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;padding:6px;background:#fff;border:1px solid var(--rpl-border);border-radius:11px;box-shadow:var(--rpl-shadow);z-index:50}.rpl-user-dropdown a{display:block;padding:9px 10px;border-radius:8px;color:var(--rpl-text)}.rpl-user-dropdown a:hover{background:#eef6fc}.rpl-top-login{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:10px;background:var(--rpl-blue-800);color:#fff;font-weight:750}.rpl-top-login:hover{color:#fff;background:var(--rpl-blue-900)}.rpl-top-logo{display:inline-flex;align-items:center;justify-content:center;padding-left:4px}.rpl-top-logo img{display:block;max-width:122px;max-height:46px;object-fit:contain}.rpl-top-logo .rpl-brand-mark{width:40px;height:40px;flex-basis:40px}.rpl-main{flex:1;min-width:0;padding:18px 20px 28px}.rpl-content-frame{width:100%;max-width:var(--rpl-content-max);margin:0 auto}.rpl-breadcrumb{margin-bottom:12px}.rpl-breadcrumb .breadcrumb{margin:0;padding:0;background:transparent;font-size:11px}.rpl-component-card{min-width:0;background:var(--rpl-surface);border:1px solid var(--rpl-border);border-radius:var(--rpl-radius);box-shadow:0 8px 24px rgba(8,55,96,.06);overflow:visible}.rpl-component-card>div:first-child,.rpl-component-card>form:first-child{border-radius:inherit}.rpl-template .container,.rpl-template .container-lg,.rpl-template .container-md,.rpl-template .container-sm,.rpl-template .container-xl,.rpl-template .container-xxl{max-width:none}.rpl-template .com-content-article,.rpl-template .com-users-login,.rpl-template .com-users-profile{padding:18px}.rpl-template input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),.rpl-template select,.rpl-template textarea{max-width:100%;border-color:#cbdbea;border-radius:10px}.rpl-template input:focus,.rpl-template select:focus,.rpl-template textarea:focus{border-color:var(--rpl-blue-600);box-shadow:0 0 0 .2rem rgba(22,129,220,.13)}.rpl-template .btn{border-radius:9px}.rpl-template .btn-primary{background:var(--rpl-blue-700);border-color:var(--rpl-blue-700)}.rpl-template .btn-warning{background:var(--rpl-yellow);border-color:var(--rpl-yellow);color:#102a43}.rpl-template .alert{margin:0 0 14px;border-radius:12px}.rpl-table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.rpl-table-scroll table{min-width:700px}.rpl-footer{padding:0 20px 16px}.rpl-footer-inner{max-width:var(--rpl-content-max);margin:0 auto;padding:12px 3px;color:var(--rpl-muted);font-size:11px}.rpl-component-only{padding:18px;background:#fff}.rpl-error-page{display:grid;place-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#eaf4fc,#fff)}.rpl-error-card{width:min(460px,100%);padding:34px;border:1px solid var(--rpl-border);border-radius:20px;background:#fff;text-align:center;box-shadow:var(--rpl-shadow)}.rpl-error-card .rpl-brand-mark{margin:auto}.rpl-error-card h1{margin:14px 0 8px;color:var(--rpl-blue-900);font-size:44px}.rpl-sidebar-backdrop{display:none}
.rpl-compact .rpl-main{padding-top:14px}.rpl-compact .rpl-component-card{border-radius:14px}
@media(max-width:1099px){.rpl-app-shell{display:block}.rpl-workspace{grid-column:auto}.rpl-sidebar{transform:translateX(-105%);transition:transform .24s ease;width:min(300px,88vw)}.rpl-sidebar-open .rpl-sidebar{transform:translateX(0)}.rpl-sidebar-close,.rpl-menu-toggle{display:inline-grid;place-items:center}.rpl-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:1030;background:rgba(3,22,42,.54);opacity:0;visibility:hidden;transition:.24s}.rpl-sidebar-open .rpl-sidebar-backdrop{opacity:1;visibility:visible}.rpl-sidebar-open{overflow:hidden}.rpl-topbar{padding:0 15px}.rpl-main{padding-left:14px;padding-right:14px}.rpl-footer{padding-left:14px;padding-right:14px}.rpl-quick-menu{display:none}}
@media(max-width:767px){body{font-size:13px}.rpl-topbar{height:64px;gap:8px}.rpl-topbar-left,.rpl-topbar-right{gap:7px}.rpl-page-heading small{display:none}.rpl-page-heading strong{max-width:34vw;font-size:13px}.rpl-user-summary-copy{display:none}.rpl-user-menu summary{padding-right:5px}.rpl-top-logo img{max-width:84px;max-height:38px}.rpl-top-logo .rpl-brand-mark{width:35px;height:35px;flex-basis:35px;border-radius:9px;font-size:12px}.rpl-icon-button{width:36px;height:36px}.rpl-main{padding:10px 8px 22px}.rpl-footer{padding:0 8px 10px}.rpl-component-card{border-radius:11px}.rpl-template .com-content-article,.rpl-template .com-users-login,.rpl-template .com-users-profile{padding:12px}.rpl-template .modal-dialog{margin:8px;max-width:calc(100% - 16px)}.rpl-template .modal-content{max-height:calc(100dvh - 16px);overflow:hidden}.rpl-template .modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.rpl-template input,.rpl-template select,.rpl-template textarea{font-size:16px!important}.rpl-table-scroll table{min-width:640px}}
@media(max-width:420px){.rpl-page-heading{display:none}.rpl-notifications{display:none}.rpl-topbar-right{margin-left:auto}.rpl-topbar{padding:0 10px}.rpl-main{padding-left:6px;padding-right:6px}.rpl-component-card{border-left:0;border-right:0;border-radius:9px}}

/* Modern Joomla user login */
.rpl-page-heading{color:var(--rpl-text)}
.rpl-page-heading:hover{color:var(--rpl-blue-800)}
.rpl-login-page{padding:clamp(10px,2vw,24px);background:linear-gradient(135deg,#eef6fd 0%,#f8fbfe 55%,#fff8dd 100%);border-radius:inherit}
.rpl-login-shell{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);width:min(980px,100%);margin:0 auto;overflow:hidden;border:1px solid #d6e4f1;border-radius:22px;background:#fff;box-shadow:0 22px 65px rgba(7,59,112,.15)}
.rpl-login-intro{position:relative;display:flex;flex-direction:column;min-height:590px;padding:36px;background:linear-gradient(145deg,#063d75,#0b67ac 62%,#1384d7);color:#fff;overflow:hidden}
.rpl-login-intro:before,.rpl-login-intro:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.rpl-login-intro:before{width:280px;height:280px;right:-145px;top:-100px}.rpl-login-intro:after{width:220px;height:220px;left:-110px;bottom:-100px}
.rpl-login-brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;color:#fff;width:max-content}
.rpl-login-brand:hover{color:#fff;opacity:.92}.rpl-login-brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--rpl-yellow);color:#073b70;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.rpl-login-brand span:last-child{display:flex;flex-direction:column}.rpl-login-brand strong{font-size:15px;letter-spacing:.04em}.rpl-login-brand small{font-size:9px;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.08em}
.rpl-login-intro-copy{position:relative;z-index:1;margin:auto 0 34px}.rpl-login-kicker{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.rpl-login-intro h1{margin:16px 0 10px;color:#fff;font-size:clamp(28px,3.5vw,42px);line-height:1.08}.rpl-login-intro-copy p{max-width:430px;margin:0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65}
.rpl-login-feature-list{position:relative;z-index:1;display:grid;gap:12px}.rpl-login-feature-list>div{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.rpl-login-feature-list>div>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--rpl-yellow);color:#073b70;font-weight:900}.rpl-login-feature-list p{display:flex;flex-direction:column;margin:0}.rpl-login-feature-list strong{font-size:11px}.rpl-login-feature-list small{margin-top:2px;color:rgba(255,255,255,.70);font-size:9px}
.rpl-login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,4vw,50px)}.rpl-login-panel-head{display:flex;align-items:center;gap:13px;margin-bottom:24px}.rpl-login-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#e9f4fd;color:var(--rpl-blue-700);font-size:21px;font-weight:900}.rpl-login-panel-head h2{margin:0 0 4px;color:var(--rpl-blue-950);font-size:24px}.rpl-login-panel-head p{margin:0;color:var(--rpl-muted);font-size:12px}
.rpl-modern-login-form{display:grid;gap:15px}.rpl-login-field{display:grid;gap:7px}.rpl-login-field label{margin:0;color:#173a5d;font-size:11px;font-weight:800}.rpl-login-field input{width:100%;min-height:48px;padding:10px 13px;border:1px solid #c8d9e8!important;border-radius:12px!important;background:#f9fbfd}.rpl-login-field input:focus{background:#fff}.rpl-login-remember{display:flex;align-items:center;gap:8px}.rpl-login-remember input{width:17px;height:17px}.rpl-login-remember label{margin:0;font-size:11px;color:var(--rpl-muted)}
.rpl-login-submit{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:49px;margin-top:2px;padding:0 18px!important;border-radius:12px!important;font-weight:850!important;box-shadow:0 9px 22px rgba(11,111,194,.22)}
.rpl-login-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.rpl-login-help-grid a{display:grid;grid-template-columns:30px 1fr;column-gap:8px;padding:12px;border:1px solid var(--rpl-border);border-radius:12px;color:var(--rpl-text);background:#fff}.rpl-login-help-grid a:hover{border-color:#9dc9ec;background:#f4faff;transform:translateY(-1px)}.rpl-login-help-grid a>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#edf6fd;font-size:14px}.rpl-login-help-grid strong{font-size:10px}.rpl-login-help-grid small{color:var(--rpl-muted);font-size:8px;line-height:1.35}
.rpl-login-register{margin-top:18px;padding:15px;border:1px dashed #b9d2e7;border-radius:13px;background:#f8fbfe;text-align:center}.rpl-login-register p{margin:0 0 9px;color:var(--rpl-muted);font-size:10px}.rpl-login-register .btn{width:100%;min-height:42px;font-weight:800}.rpl-login-home-link{align-self:center;margin-top:18px;color:var(--rpl-muted);font-size:10px;font-weight:700}.rpl-login-home-link:hover{color:var(--rpl-blue-700)}
@media(max-width:820px){.rpl-login-page{padding:10px}.rpl-login-shell{grid-template-columns:1fr;max-width:560px}.rpl-login-intro{min-height:auto;padding:24px}.rpl-login-intro-copy{margin:38px 0 20px}.rpl-login-feature-list{grid-template-columns:1fr 1fr}.rpl-login-feature-list>div:last-child{display:none}.rpl-login-panel{padding:28px}}
@media(max-width:520px){.rpl-login-page{padding:0;background:#fff}.rpl-login-shell{border:0;border-radius:0;box-shadow:none}.rpl-login-intro{padding:18px 18px 22px}.rpl-login-intro-copy{margin:25px 0 0}.rpl-login-intro h1{font-size:26px}.rpl-login-intro-copy p,.rpl-login-feature-list{display:none}.rpl-login-panel{padding:22px 18px 28px}.rpl-login-help-grid{grid-template-columns:1fr}.rpl-login-panel-head{margin-bottom:18px}}


/* RPL Modern v1.0.3 — Bootstrap modal and single-sidebar-scroll fixes */
/* The template owns the only vertical scrollbar in the left navigation. */
.rpl-sidebar {
    overflow: hidden;
}
.rpl-sidebar-scroll {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}
.rpl-sidebar-scroll > *,
.rpl-sidebar-scroll .moduletable,
.rpl-sidebar-scroll .mod-menu,
.rpl-sidebar-scroll nav {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}
.rpl-sidebar-scroll .moduletable,
.rpl-sidebar-scroll .mod-menu,
.rpl-sidebar-scroll nav,
.rpl-sidebar-scroll [class*="rpl-side"],
.rpl-sidebar-scroll [id*="rpl-side"] {
    overflow-y: visible !important;
}

/* Bootstrap modal safety rules for custom modules and Joomla component views. */
.rpl-template .modal {
    position: fixed;
    inset: 0;
    z-index: 1055;
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}
.rpl-template .modal.show {
    display: block;
}
.rpl-template .modal.fade:not(.show) {
    opacity: 0;
}
.rpl-template .modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    width: 100vw;
    height: 100vh;
    background-color: #000;
}
.rpl-template .modal-backdrop.fade { opacity: 0; }
.rpl-template .modal-backdrop.show { opacity: .5; }
.rpl-template .modal-dialog {
    position: relative;
    width: auto;
    max-width: 600px;
    margin: 1.75rem auto;
    pointer-events: none;
}
.rpl-template .modal-dialog-centered {
    display: flex;
    min-height: calc(100% - 3.5rem);
    align-items: center;
}
.rpl-template .modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: calc(100dvh - 3.5rem);
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.175);
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(4,31,61,.24);
    outline: 0;
}
.rpl-template .modal-header,
.rpl-template .modal-footer {
    flex: 0 0 auto;
}
.rpl-template .modal-body {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
body.modal-open {
    overflow: hidden;
}

@media (max-width: 767.98px) {
    .rpl-template .modal-dialog {
        width: calc(100% - 16px);
        max-width: none;
        margin: 8px auto;
    }
    .rpl-template .modal-dialog-centered {
        min-height: calc(100% - 16px);
    }
    .rpl-template .modal-content {
        max-height: calc(100dvh - 16px);
        border-radius: 12px;
    }
}

/* v1.0.4 authentication refinements */
.rpl-component-card:has(.rpl-login-page){padding:0!important;overflow:hidden;background:transparent;border:0;box-shadow:none}
.rpl-login-page{width:100%;padding:18px clamp(14px,2.2vw,30px) 28px}
.rpl-login-shell{width:min(1040px,100%);min-height:610px}
.rpl-login-intro h1{overflow-wrap:anywhere;word-break:normal}
.rpl-recovery-shell{grid-template-columns:minmax(310px,.95fr) minmax(390px,1.05fr)}
.rpl-recovery-panel{justify-content:center}
.rpl-recovery-actions{display:flex;justify-content:space-between;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rpl-border)}
.rpl-recovery-actions a{font-size:11px;font-weight:750;color:var(--rpl-blue-700)}
.rpl-captcha-field{overflow:visible}.rpl-captcha-field .g-recaptcha,.rpl-captcha-field iframe{max-width:100%}
.rpl-recovery-single{display:block;width:min(620px,100%);min-height:0}.rpl-recovery-single .rpl-login-panel{padding:38px}
.rpl-recovery-brand{display:inline-flex;align-items:center;gap:11px;margin-bottom:32px;color:var(--rpl-blue-950)}
.rpl-recovery-brand>span:last-child{display:flex;flex-direction:column}.rpl-recovery-brand strong{font-size:14px}.rpl-recovery-brand small{font-size:9px;color:var(--rpl-muted);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:820px){.rpl-login-page{padding:10px}.rpl-login-shell{min-height:0}.rpl-recovery-actions{flex-direction:column;align-items:center}.rpl-recovery-single .rpl-login-panel{padding:28px}}
@media(max-width:520px){.rpl-login-page{padding:0}.rpl-recovery-single .rpl-login-panel{padding:22px 18px 28px}}

/* v1.0.5 password visibility control */
.rpl-password-wrap{position:relative;display:block}
.rpl-password-wrap input[type="password"],.rpl-password-wrap input[data-rpl-password]{padding-right:52px!important}
.rpl-password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:#edf4fa;color:#315b7d;cursor:pointer;z-index:3}
.rpl-password-toggle:hover{background:#dcecf8;color:#075fa5}.rpl-password-toggle:focus-visible{outline:3px solid rgba(11,111,194,.25)}
.rpl-password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rpl-recaptcha-note{margin-top:8px;color:#6b7f91;font-size:9px;line-height:1.45;text-align:center}

/* v1.0.6 authentication alignment, password field, and invisible reCAPTCHA fixes */
.rpl-login-intro-copy{
    margin:64px 0 24px;
}
.rpl-login-feature-list{
    margin-top:0;
    gap:10px;
}
.rpl-login-feature-list>div{
    padding:10px 12px;
}
.rpl-modern-login-form,
.rpl-login-field,
.rpl-password-wrap{
    width:100%;
    min-width:0;
}
.rpl-login-field .input-group,
.rpl-login-field .password-group,
.rpl-login-field .input-password-wrapper{
    width:100%!important;
    display:block!important;
}
.rpl-login-field input.form-control,
.rpl-password-wrap input{
    display:block;
    width:100%!important;
    max-width:none!important;
    min-height:48px;
}
.rpl-password-wrap{
    position:relative;
    display:block;
}
.rpl-password-wrap input{
    padding-right:54px!important;
}
.rpl-password-toggle{
    right:6px;
    width:40px;
    height:36px;
    background:#edf5fb;
    border:1px solid #d7e6f2;
}
.rpl-password-toggle .rpl-eye-closed{display:none}
.rpl-password-toggle.is-visible .rpl-eye-open{display:none}
.rpl-password-toggle.is-visible .rpl-eye-closed{display:block}
.rpl-login-field .input-group > button:not(.rpl-password-toggle),
.rpl-login-field button.input-password-toggle,
.rpl-login-field .input-group-text{
    display:none!important;
}
.rpl-recaptcha-note{
    order:99;
    margin:2px 0 0;
}
.rpl-captcha-field{
    display:none!important;
}
@media(max-width:820px){
    .rpl-login-intro-copy{margin:34px 0 20px}
}
@media(max-width:520px){
    .rpl-login-intro-copy{margin:22px 0 0}
}


/* v1.0.7 visible Google reCAPTCHA v3 badge on authentication pages */
.grecaptcha-badge{
    visibility:visible!important;
    opacity:1!important;
    display:block!important;
    position:fixed!important;
    right:-2px!important;
    bottom:14px!important;
    z-index:2147483000!important;
    box-shadow:0 2px 10px rgba(0,38,77,.18)!important;
}
@media(max-width:820px){
    .grecaptcha-badge{
        right:-2px!important;
        bottom:10px!important;
        transform:scale(.92);
        transform-origin:right bottom;
    }
}

/* reCAPTCHA v3 badge must remain visible above the fixed template shell. */
.grecaptcha-badge {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    z-index: 2147483647 !important;
    right: 14px !important;
    bottom: 14px !important;
}
@media (max-width: 767.98px) {
    .grecaptcha-badge {
        right: 6px !important;
        bottom: 6px !important;
        transform: scale(.86) !important;
        transform-origin: right bottom !important;
    }
}


/* v1.0.10 compact reCAPTCHA badge: icon-only until clicked */
.grecaptcha-badge{
    width:70px!important;
    min-width:70px!important;
    height:60px!important;
    overflow:hidden!important;
    right:12px!important;
    bottom:12px!important;
    border-radius:6px!important;
    transition:width .28s ease, box-shadow .28s ease!important;
    transform:none!important;
    transform-origin:right bottom!important;
    cursor:pointer!important;
}
.grecaptcha-badge.rpl-recaptcha-expanded{
    width:256px!important;
    min-width:256px!important;
    box-shadow:0 4px 18px rgba(0,38,77,.28)!important;
}
.grecaptcha-badge .rpl-recaptcha-toggle{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
    cursor:pointer;
    z-index:3;
}
.grecaptcha-badge.rpl-recaptcha-expanded .rpl-recaptcha-toggle{
    width:100%;
    height:100%;
}
@media(max-width:767.98px){
    .grecaptcha-badge{
        right:6px!important;
        bottom:6px!important;
        transform:none!important;
    }
    .grecaptcha-badge.rpl-recaptcha-expanded{
        width:256px!important;
    }
}

/* v1.0.13 — mobile-responsive Forgot Username and Forgot Password layouts */
@media (max-width: 820px) {
    .rpl-recovery-page {
        width: 100%;
        max-width: 100%;
        padding: 12px !important;
        overflow-x: hidden;
    }
    .rpl-recovery-page .rpl-recovery-shell {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 600px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        overflow: hidden;
        border-radius: 18px;
    }
    .rpl-recovery-page .rpl-login-intro,
    .rpl-recovery-page .rpl-login-panel {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    .rpl-recovery-page .rpl-login-intro {
        min-height: 0 !important;
        padding: 24px !important;
    }
    .rpl-recovery-page .rpl-login-intro-copy {
        margin: 28px 0 0 !important;
    }
    .rpl-recovery-page .rpl-login-feature-list {
        display: none !important;
    }
    .rpl-recovery-page .rpl-recovery-panel {
        justify-content: flex-start !important;
        padding: 26px 24px 30px !important;
    }
    .rpl-recovery-page .rpl-login-panel-head {
        margin-bottom: 20px;
    }
    .rpl-recovery-page .rpl-modern-login-form,
    .rpl-recovery-page .rpl-login-field,
    .rpl-recovery-page .rpl-login-field input,
    .rpl-recovery-page .rpl-login-submit {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .rpl-recovery-page .rpl-recovery-actions {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media (max-width: 520px) {
    .rpl-recovery-page {
        padding: 8px !important;
        background: var(--rpl-bg) !important;
    }
    .rpl-recovery-page .rpl-recovery-shell {
        border: 1px solid var(--rpl-border) !important;
        border-radius: 15px !important;
        box-shadow: 0 10px 28px rgba(8,55,96,.09) !important;
    }
    .rpl-recovery-page .rpl-login-intro {
        padding: 18px 18px 21px !important;
    }
    .rpl-recovery-page .rpl-login-brand {
        gap: 10px;
    }
    .rpl-recovery-page .rpl-login-brand-mark {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 12px;
    }
    .rpl-recovery-page .rpl-login-intro-copy {
        margin: 22px 0 0 !important;
    }
    .rpl-recovery-page .rpl-login-kicker {
        font-size: 9px;
    }
    .rpl-recovery-page .rpl-login-intro h1 {
        margin-top: 14px;
        font-size: clamp(25px, 8vw, 34px);
        line-height: 1.1;
    }
    .rpl-recovery-page .rpl-login-intro-copy p {
        display: block !important;
        margin-top: 11px;
        font-size: 12px;
        line-height: 1.55;
    }
    .rpl-recovery-page .rpl-recovery-panel {
        padding: 22px 18px 26px !important;
    }
    .rpl-recovery-page .rpl-login-panel-head {
        align-items: flex-start;
        gap: 11px;
        margin-bottom: 18px;
    }
    .rpl-recovery-page .rpl-login-icon {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }
    .rpl-recovery-page .rpl-login-panel-head h2 {
        font-size: 21px;
        line-height: 1.15;
    }
    .rpl-recovery-page .rpl-login-panel-head p {
        font-size: 11px;
        line-height: 1.45;
    }
    .rpl-recovery-page .rpl-login-submit {
        min-height: 50px;
        padding: 0 14px !important;
        font-size: 13px;
    }
    .rpl-recovery-page .rpl-login-submit span:first-child {
        min-width: 0;
        white-space: normal;
        text-align: left;
        line-height: 1.25;
    }
    .rpl-recovery-page .rpl-recovery-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        text-align: center;
    }
    .rpl-recovery-page .rpl-recovery-actions a {
        display: block;
        padding: 5px;
    }
}

/* v1.0.14: modern account dropdown and custom profile destination */
.rpl-user-dropdown{min-width:230px;padding:8px}
.rpl-user-dropdown-head{display:flex;align-items:center;gap:9px;padding:7px 8px 10px;margin-bottom:5px;border-bottom:1px solid var(--rpl-border)}
.rpl-user-dropdown-head>span:last-child{display:flex;flex-direction:column;min-width:0}
.rpl-user-dropdown-head strong,.rpl-user-dropdown-head small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpl-user-dropdown-head strong{font-size:12px;color:var(--rpl-text)}
.rpl-user-dropdown-head small{font-size:10px;color:var(--rpl-muted);margin-top:2px}
.rpl-user-dropdown a{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650}
.rpl-user-dropdown a span[aria-hidden=true]{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef6fc;font-size:12px}
.rpl-user-dropdown-separator{height:1px;background:var(--rpl-border);margin:5px 4px}
.rpl-user-dropdown .rpl-user-dropdown-logout{color:#b42318}
.rpl-user-dropdown .rpl-user-dropdown-logout:hover{background:#fff1f0}
@media (max-width:575.98px){.rpl-user-menu{position:static}.rpl-user-dropdown{position:fixed;left:12px;right:12px;top:70px;min-width:0;max-height:calc(100dvh - 86px);overflow:auto}}
