/* WEOMAIL premium login; native Roundcube form and theme controls stay intact. */
html body.task-login {height:auto;min-height:100%;overflow:auto;color:var(--wm-ink);background:var(--wm-soft);-webkit-font-smoothing:antialiased}
body.task-login #layout {display:block;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}
body.task-login #layout-content.weomail-login {display:block;position:relative;flex:none;min-width:0;width:100%;height:auto;min-height:100vh;min-height:100dvh;padding:0;background:radial-gradient(ellipse at 18% 46%,color-mix(in srgb,var(--wm-link) 5%,transparent),transparent 55%)}
.weomail-login *, .weomail-login *::before, .weomail-login *::after {box-sizing:border-box}
.weomail-login-page {display:flex;flex-direction:column;width:100%;max-width:1280px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:0 clamp(24px,5.5vw,76px)}
.weomail-login-header {display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;border-bottom:1px solid var(--wm-line)}
.weomail-login-brand {display:inline-flex;align-items:center;max-width:100%;line-height:1}
.weomail-logo {display:block;width:160px;max-width:100%;height:auto;clip-path:polygon(0 0,100% 0,100% 75%,78% 75%,78% 100%,0 100%);filter:brightness(.38)}
html.dark-mode .weomail-logo {filter:none}
.weomail-login-caption {max-width:200px;color:var(--wm-muted);font-size:10px;line-height:1.6;letter-spacing:.17em;text-transform:uppercase;text-align:right}
.weomail-login-content {display:grid;flex:1;grid-template-columns:minmax(0,1fr) minmax(330px,410px);align-items:center;gap:clamp(40px,6vw,86px);padding:48px 0}
.weomail-login-intro {min-width:0;text-align:left}
.weomail-login-eyebrow {display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--wm-link);font-size:10px;line-height:1.6;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.weomail-login-intro > .weomail-login-eyebrow::before {content:"";flex:none;width:30px;height:1px;background:currentColor}
.weomail-login-intro h1 {margin:0;text-align:left;color:var(--wm-ink);font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(42px,4.5vw,62px);font-weight:400;line-height:1.12;letter-spacing:-.045em}
.weomail-login-intro h1 em {color:var(--wm-link);font-weight:400}
.weomail-login-lead {max-width:365px;margin:24px 0 0;color:var(--wm-muted);font-size:13px;line-height:1.85}
.weomail-login-art {width:290px;max-width:100%;margin-top:26px;color:var(--wm-link);text-align:center}
.weomail-login-art svg {display:block;width:100%;height:auto}
.weomail-login-art span {display:block;margin-top:1px;font-size:8px;line-height:1.7;letter-spacing:.22em;text-transform:uppercase}
.weomail-login-panel {width:100%;min-width:0;padding:34px;border:1px solid var(--wm-line);border-radius:8px;background:var(--wm-panel);box-shadow:0 18px 70px color-mix(in srgb,var(--wm-ink) 5%,transparent)}
.weomail-login-panel-heading {margin-bottom:28px;text-align:left}
.weomail-login-panel-heading .weomail-login-eyebrow {margin:0 0 12px;font-size:9px;letter-spacing:.18em}
.weomail-login-panel-heading h2 {margin:0;color:var(--wm-ink);font-family:Georgia,"Times New Roman",serif!important;font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.025em}
.weomail-login-panel-heading > p:last-child {margin:12px 0 0;color:var(--wm-muted);font-size:11px;line-height:1.7}
#layout-content.weomail-login #login-form {position:static!important;top:auto!important;width:100%;max-width:none!important;margin:0!important;padding:0!important}
.weomail-field {margin:0 0 20px}
body.task-login .weomail-field label {display:block;position:static;width:auto!important;height:auto!important;margin:0 0 9px!important;padding:0!important;overflow:visible;clip:auto;white-space:normal;color:var(--wm-ink);font-size:11px;font-weight:600;line-height:1.6;text-align:left}
#layout-content.weomail-login #login-form input.form-control {display:block;min-width:0;width:100%!important;max-width:100%;height:48px;padding:0 13px;border:1px solid var(--wm-input-line,var(--wm-line));border-radius:4px!important;background:var(--wm-input,var(--wm-soft));color:var(--wm-ink);box-shadow:none;font:inherit;font-size:14px}
#layout-content.weomail-login #login-form input.form-control::placeholder {color:var(--wm-muted);opacity:1}
#layout-content.weomail-login #login-form input.form-control:focus {border-color:var(--wm-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--wm-focus) 18%,transparent)}
#layout-content.weomail-login #login-form input.form-control:autofill {box-shadow:0 0 0 1000px var(--wm-input,var(--wm-soft)) inset;color:var(--wm-ink)}
#layout-content.weomail-login #login-form input.form-control:-webkit-autofill {-webkit-text-fill-color:var(--wm-ink);-webkit-box-shadow:0 0 0 1000px var(--wm-input,var(--wm-soft)) inset}
#layout-content.weomail-login #login-form button {display:flex;align-items:center;justify-content:center;gap:24px;width:100%;min-height:48px;margin:0;padding:10px 16px;border:1px solid var(--wm-blue);border-radius:4px!important;background:var(--wm-button-bg);box-shadow:none;color:var(--wm-button-ink,#202018);font:inherit;font-size:12px;font-weight:650;line-height:1.6;letter-spacing:.02em;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
#layout-content.weomail-login #login-form button:hover {background:var(--wm-button-hover);border-color:var(--wm-blue)}
#layout-content.weomail-login #login-form button:disabled {cursor:wait;opacity:.6}
#layout-content.weomail-login #login-form button svg {display:block;flex:none;width:18px;height:18px}
#layout-content.weomail-login #login-form button::before {display:none}
#layout-content.weomail-login #login-form .formbuttons {margin:26px 0 0!important;padding:0!important}
.weomail-login #login-footer {margin:22px 0 0;color:var(--wm-muted);font-size:10px;line-height:1.8;text-align:center}
.weomail-login a {color:var(--wm-link);text-decoration:none}
.weomail-login a:hover {text-decoration:underline;text-underline-offset:3px}
.weomail-login #login-footer a {font-weight:600}
body.task-login .weomail-theme-toggle {display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;max-width:100%;margin:15px auto 0;padding:7px 12px;border:1px solid var(--wm-line);border-radius:4px;background:transparent;color:var(--wm-muted);font:inherit;font-size:10px;line-height:1.6;cursor:pointer;transition:background-color .15s ease,color .15s ease}
body.task-login .weomail-theme-toggle:hover {background:var(--wm-soft);color:var(--wm-ink)}
.weomail-theme-icon {display:inline-block;min-width:14px;font-size:16px;line-height:1;text-align:center}
.weomail-login a:focus-visible,.weomail-login button:focus-visible {outline:2px solid var(--wm-focus);outline-offset:4px}
.weomail-login-footer {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;border-top:1px solid var(--wm-line);color:var(--wm-muted);font-size:9px;line-height:1.6;letter-spacing:.02em}
.weomail-login-footer a {display:inline-flex;align-items:center;gap:9px;min-height:40px;color:var(--wm-muted)}
.weomail-login-footer a:hover {color:var(--wm-link)}
@media (min-width:841px) and (max-height:760px) {
 .weomail-login-header {min-height:80px}
 .weomail-login-content {padding:30px 0}
 .weomail-login-art {width:235px;margin-top:14px}
 .weomail-login-panel {padding:28px 32px}
 .weomail-login-footer {min-height:50px}
}
@media (max-width:840px) {
 .weomail-login-page {max-width:560px;padding:0 28px}
 .weomail-login-header {min-height:82px}
 .weomail-login-content {display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:30px;padding:32px 0}
 .weomail-login-intro h1 {font-size:44px}
 .weomail-login-eyebrow {margin-bottom:16px}
 .weomail-login-lead {max-width:none;margin-top:16px;font-size:12px}
 .weomail-login-art {display:none}
 .weomail-login-panel {padding:30px 32px}
 .weomail-login-footer {min-height:58px}
}
@media (max-width:480px) {
 .weomail-login-page {padding:0 22px}
 .weomail-login-header {min-height:72px;gap:20px}
 .weomail-logo {width:120px}
 .weomail-login-caption {max-width:110px;font-size:8px;letter-spacing:.13em}
 .weomail-login-content {gap:25px;padding:28px 0}
 .weomail-login-intro h1 {font-size:39px}
 .weomail-login-intro .weomail-login-eyebrow {font-size:9px;margin-bottom:14px}
 .weomail-login-lead {display:none}
 .weomail-login-panel {padding:25px 23px}
 .weomail-login-panel-heading {margin-bottom:24px}
 .weomail-login-panel-heading h2 {font-size:30px}
 .weomail-login-panel-heading > p:last-child {font-size:10px}
 .weomail-login-footer {gap:14px;font-size:8px}
 /* Keep text inputs at 16px so a mobile keyboard does not zoom the viewport. */
 #layout-content.weomail-login #login-form input.form-control {font-size:16px}
}
@media (max-width:360px) {
 .weomail-login-page {padding:0 18px}
 .weomail-login-content {padding:24px 0;gap:22px}
 .weomail-login-intro h1 {font-size:34px}
 .weomail-login-panel {padding:23px 20px}
 .weomail-login-panel-heading h2 {font-size:28px}
 .weomail-login-panel-heading > p:last-child {max-width:210px}
 .weomail-login-footer {letter-spacing:0}
}
@media (max-height:400px) {
 .weomail-login-header {min-height:62px}
 .weomail-login-content {justify-content:flex-start;padding:24px 0}
 .weomail-login-intro h1 {font-size:36px}
 .weomail-login-lead {display:none}
}
@media (prefers-reduced-motion:reduce) {
 .weomail-login button {transition:none!important}
}
