/* Shared responsive theme for the three platform login pages. */
html.platform-login-page { min-height:100%; background:#f7f6ee !important; }
body.platform-login-page {
    margin:0 !important; padding:0 !important; min-width:0 !important;
    min-height:100vh; min-height:100svh; background:transparent !important;
    color:#24473f; font-family:Tahoma,Arial,sans-serif; position:relative; isolation:isolate;
}
body.platform-login-page::before {
    content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
    background:#f7f6ee url('../img/platform-desktop.png') center center / cover no-repeat;
}
.platform-login-page #login2 {
    box-sizing:border-box; width:100% !important; height:auto !important;
    min-height:100vh; min-height:100svh; margin:0 !important; padding:40px 20px !important;
    background:transparent !important; display:flex; flex-direction:column;
    justify-content:center; align-items:center; gap:22px;
}
.platform-login-page #login2 > .login-header {
    width:100%; max-width:480px; height:auto !important; padding:0 !important;
    margin:0 !important; background:none !important; text-align:center;
}
/* Override the legacy template's narrow logo container. */
.platform-login-page #login2 .login-header #platform-brand-header {
    box-sizing:border-box;
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 auto !important;
    padding:0 !important;
    float:none !important;
    text-align:center !important;
}
@media (min-width:601px) {
    .platform-login-page #platform-brand-header .platform-brand { white-space:nowrap; }
}
.platform-brand { color:#005952; font-size:24px; font-weight:700; line-height:1.7; }
.platform-caption { color:#53675c; margin:4px 0 0; font-size:15px; line-height:1.7; }
.platform-login-page #login {
    box-sizing:border-box; position:relative !important; inset:auto !important;
    float:none !important; width:100% !important; max-width:440px !important;
    height:auto !important; min-width:0 !important; margin:0 !important;
    padding:28px !important; background:rgba(255,255,255,.97) !important;
    border:1px solid #dfd6bc !important; border-top:4px solid #c49b49 !important;
    border-radius:22px !important; box-shadow:0 20px 60px rgba(34,67,49,.16) !important;
}
.platform-login-page #login form { margin:0; width:100%; }
.platform-login-page #login .lock { display:none !important; }
.platform-login-page #login .control-wrap {
    box-sizing:border-box; width:100% !important; float:none !important; margin:0 !important; padding:0 !important;
}
.platform-login-page #login h4 { font-size:21px; line-height:1.7; text-align:center; margin:0 0 24px; font-weight:700; }
.platform-login-page #login .control-group { margin:0 0 18px !important; }
.platform-login-page #login .controls { margin:0 !important; width:100% !important; }
.platform-login-page #login .input-prepend { display:flex !important; width:100% !important; margin:0 !important; direction:rtl; }
.platform-login-page #login .input-prepend .add-on {
    box-sizing:border-box; flex:0 0 46px; height:50px !important; width:46px !important;
    display:flex; align-items:center; justify-content:center; margin:0 !important;
    padding:0 !important; background:#eff5f0 !important; color:#005952 !important;
    border:1px solid #d8e2da !important; border-left:0 !important; border-radius:0 10px 10px 0 !important;
    text-shadow:none !important; font-size:18px;
}
.platform-login-page #login .input-prepend input {
    box-sizing:border-box; flex:1 1 0; width:0 !important; min-width:0 !important;
    height:50px !important; padding:12px !important; margin:0 !important;
    border:1px solid #d8e2da !important; border-radius:10px 0 0 10px !important;
    background:#fff !important; color:#203c33 !important; font-size:16px !important;
    font-family:inherit; text-align:right; box-shadow:none;
}
.platform-login-page #login .input-prepend input:focus {
    outline:2px solid #087468 !important; outline-offset:-2px; box-shadow:0 0 0 3px rgba(0,89,82,.1) !important;
}
.platform-login-page #login .mtop10 { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; margin-top:14px; }
.platform-login-page #login .block-hint { float:none !important; font-size:13px !important; line-height:1.7; color:#53675c; }
.platform-login-page #login .block-hint a { display:inline-flex; align-items:center; min-height:44px; color:#00695b; }
.platform-login-page #login input[type=checkbox] { width:18px; height:18px; margin:0 0 0 5px; vertical-align:middle; accent-color:#005952; }
.platform-login-page #login .login-btn {
    box-sizing:border-box; display:block; width:100% !important; height:auto !important;
    min-height:48px; margin:12px 0 0 !important; padding:12px 18px !important;
    border:1px solid #005952 !important; border-radius:10px !important;
    background:#005952 !important; color:#fff !important; font-family:inherit;
    font-size:17px; font-weight:700; text-shadow:none !important; box-shadow:none !important; cursor:pointer;
}
.platform-login-page #login .login-btn:hover { background:#00473f !important; }
.platform-login-page #login a:focus-visible, .platform-login-page #login .login-btn:focus-visible { outline:3px solid #b38c3e; outline-offset:3px; }
.platform-login-page #forgotform p { color:#24473f; line-height:1.8; }
.platform-login-page #login-copyright {
    box-sizing:border-box; position:static !important; width:100% !important; max-width:480px;
    margin:0 !important; padding:10px 16px !important; text-align:center; font-size:12px !important;
    line-height:1.8; font-weight:400 !important; color:#395a4d !important; background:rgba(255,255,255,.78); border-radius:12px;
}
@media (orientation:portrait) and (max-width:1024px) {
    body.platform-login-page::before { background-image:url('../img/platform-portrait.png'); }
}
@media (max-width:600px) {
    .platform-login-page #login2 { padding:28px 16px !important; gap:18px; }
    .platform-login-page #login { padding:24px 20px !important; border-radius:18px !important; }
    .platform-brand { font-size:22px; }
    .platform-caption { font-size:14px; }
    .platform-login-page #login h4 { font-size:19px; }
}
@media (max-height:540px) and (orientation:landscape) {
    .platform-login-page #login2 { padding:20px 16px !important; gap:14px; }
}
