/* Calderra login only. Kept outside the managed Roundcube application. */
body.task-login {
    --calderra-navy: #142f53;
    --calderra-blue: #4d97ce;
    background: #eff3f8 !important;
    color: #172e4b;
    min-height: 100vh;
    min-height: 100svh;
    height: auto !important;
    padding: 40px 24px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.task-login #layout-content {
    display: grid !important;
    grid-template-columns: 46% 54%;
    width: min(1040px, 100%) !important;
    max-width: 1040px !important;
    min-height: 620px;
    height: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    overflow: hidden !important;
    box-shadow: 0 24px 70px rgb(21 46 77 / 10%);
    background: #fff !important;
    flex: none !important;
}
body.task-login #layout { width: 100% !important; height: auto !important; min-height: 0 !important; display: flex !important; align-items: center; justify-content: center; position: relative !important; margin: 0 !important; padding: 0 !important; }
.task-login .calderra-story {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 46px 44px 40px;
    overflow: hidden;
    color: #fff;
    background: var(--calderra-navy);
    isolation: isolate;
    text-align: left;
}
.task-login .calderra-service { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 600; letter-spacing: 2px; }
.task-login .calderra-service-dot { width: 7px; height: 7px; background: #74b9eb; border-radius: 50%; }
.task-login .calderra-story-copy { padding: 70px 0 76px; position: relative; z-index: 1; }
.task-login .calderra-eyebrow { font-size: 10px; letter-spacing: 2.2px; font-weight: 600; color: #a0c8e8; }
.task-login .calderra-story h2 { font-size: clamp(30px, 3.2vw, 43px); line-height: 1.2; letter-spacing: -1.3px; margin: 21px 0 22px; font-weight: 600; color: #fff; }
.task-login .calderra-story p { color: #c7d6e8; font-size: 14px; line-height: 1.85; margin: 0; }
.task-login .calderra-secure { display: flex; align-items: center; gap: 9px; color: #c7d9eb; font-size: 11px; position: relative; z-index: 1; }
.task-login .calderra-secure svg { width: 16px; height: 18px; fill: none; stroke: #89b9df; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; flex-shrink: 0; }
.task-login .calderra-motif { position: absolute; width: 300px; height: 300px; right: -143px; bottom: 34px; transform: rotate(-30deg); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; opacity: .12; z-index: -1; }
.task-login .calderra-motif i { background: #78b9e8; border-radius: 5px; }
.task-login .calderra-motif i:nth-child(2), .task-login .calderra-motif i:nth-child(3) { background: #2b6fa4; }
.task-login .calderra-access { padding: 52px 66px 42px; display: flex; flex-direction: column; justify-content: center; min-width: 0; background: #fff; text-align: left; }
body.task-login #logo { width: 266px !important; max-width: 100% !important; height: auto !important; max-height: none !important; margin: 0 0 40px !important; object-fit: contain; object-position: left; position: static !important; inset: auto !important; transform: none !important; flex: none !important; }
.task-login .calderra-welcome h2 { color: #172e4b; font-size: 28px; letter-spacing: -.6px; font-weight: 600; margin: 0 0 9px; }
.task-login .calderra-welcome p { color: #6d7a8b; font-size: 13px; margin: 0 0 31px; line-height: 1.6; }
body.task-login #login-form { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; text-align: left; position: static !important; inset: auto !important; transform: none !important; flex: none !important; }
.task-login #login-form .input-group { margin-bottom: 16px; position: relative; }
.task-login #login-form .input-group-text { background: #fff; border-color: #d6dfea; border-right: 0; color: #7f94ab; border-radius: 7px 0 0 7px; padding-left: 15px; padding-right: 13px; }
.task-login #login-form input.form-control { height: 49px; border-color: #d6dfea; border-left: 0; border-radius: 0 7px 7px 0; font-size: 14px; background: #fff; color: #172e4b; padding-left: 1px; }
.task-login #login-form input.form-control::placeholder { color: #8b97a7; opacity: 1; }
.task-login #login-form input.form-control:focus { box-shadow: 0 0 0 3px rgb(77 151 206 / 14%); border-color: #4d97ce; }
.task-login #login-form input[name="_pass"] { padding-right: 47px; }
.task-login #login-form button[type="submit"], .task-login #login-form input[type="submit"] { height: 49px; border-radius: 7px; border: 1px solid #235f91; background: #245f91; color: #fff; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; margin-top: 8px; box-shadow: 0 4px 10px rgb(36 95 145 / 12%); transition: background .15s ease; }
.task-login #login-form button[type="submit"]:hover { background: #194c77; border-color: #194c77; }
.task-login #login-form .calderra-password-toggle { position: absolute; right: 4px; top: 4px; width: 40px; height: 41px; padding: 10px; border: 0; background: transparent; color: #7890a7; z-index: 6; border-radius: 4px; cursor: pointer; }
.task-login .calderra-password-toggle svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.6; }
.task-login .calderra-password-toggle:focus-visible { outline: 2px solid #4d97ce; outline-offset: -2px; }
body.task-login #login-footer { color: #8a96a5; font-size: 11px; text-align: left; margin-top: 29px; line-height: 1.8; position: static; }
.task-login .calderra-login-help { font-size: 11px; color: #738297; margin: 16px 0 0; line-height: 1.7; }
.task-login #login-form .remember { color: #64768a; font-size: 12px; }
@media (max-width: 860px) {
    .task-login .calderra-story { padding: 38px 30px; }
    .task-login .calderra-access { padding: 44px 38px; }
    .task-login .calderra-story p { font-size: 12px; }
    .task-login .calderra-secure { font-size: 10px; }
}
@media (max-width: 620px) {
    body.task-login { padding: 24px 16px !important; }
    body.task-login #layout-content { display: block !important; width: min(420px, 100%) !important; min-height: 0; border-radius: 15px; }
    .task-login .calderra-story { padding: 22px 28px; }
    .task-login .calderra-service { font-size: 10px; letter-spacing: 1.7px; }
    .task-login .calderra-story-copy, .task-login .calderra-secure, .task-login .calderra-motif { display: none; }
    .task-login .calderra-access { padding: 35px 28px 30px; }
    body.task-login #logo { width: 235px !important; margin-bottom: 32px !important; }
    .task-login .calderra-welcome h2 { font-size: 26px; }
    .task-login .calderra-welcome p { font-size: 12px; margin-bottom: 25px; }
}
@media (prefers-reduced-motion: reduce) { .task-login * { transition: none !important; } }
