:root { --liksoft-orange:#ff6b00; --liksoft-ink:#18181b; --liksoft-muted:#6b7280; }
body.liksoft-auth, body.task-login { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--liksoft-ink); background:#fafaf9; }
body.task-login #layout { min-height:100vh; padding:0; }
body.task-login #layout-content.liksoft-login { padding:0; margin:0; width:100%; max-width:none; background:#fafaf9; display:block; overflow:auto; }
.auth-layout { display:grid; grid-template-columns:minmax(350px,46%) minmax(400px,54%); min-height:100vh; min-height:100svh; width:100%; }
.brand-panel { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:48px 56px 30px; background:var(--liksoft-orange); color:#171717; }
.brand-panel::after { content:""; pointer-events:none; position:absolute; width:470px; height:470px; right:-270px; bottom:12%; border:1px solid rgba(0,0,0,.17); border-radius:50%; box-shadow:0 0 0 56px rgba(0,0,0,.025),0 0 0 112px rgba(0,0,0,.025); }
.brand-wordmark { font-weight:850; font-size:30px; letter-spacing:-1.5px; color:#171717; text-decoration:none; z-index:1; }
.brand-wordmark span { display:inline-block; font-size:10px; letter-spacing:3px; font-weight:700; margin-left:12px; border:1px solid rgba(0,0,0,.35); padding:6px 8px; vertical-align:middle; border-radius:5px; }
.brand-wordmark:has(.brand-logo) { display:flex; align-items:center; gap:12px; }
.brand-logo { display:block; width: min(260px,75%); height:auto; flex:0 1 auto; }
.brand-wordmark .brand-logo+span { margin-left:0; flex:0 0 auto; }
.brand-message { position:relative; z-index:1; margin:80px 0; }
.eyebrow { display:block; font-size:10px; font-weight:750; letter-spacing:2.3px; line-height:1.7; }
.brand-message h1 { font-size:clamp(38px,4vw,60px); font-weight:780; letter-spacing:-2.5px; line-height:1.09; margin:24px 0; }
.brand-message p { font-size:17px; line-height:1.65; color:rgba(0,0,0,.75); }
.brand-badge { display:inline-block; font-size:11px; font-weight:650; padding:10px 16px; border:1px solid rgba(0,0,0,.22); border-radius:30px; margin-top:18px; }
.brand-footer { font-size:11px; line-height:1.6; color:rgba(0,0,0,.72); }
.auth-panel { display:flex; align-items:center; justify-content:center; padding:60px 48px; box-sizing:border-box; min-width:0; }
.auth-card { width:100%; max-width:410px; text-align:left; }
.auth-card>.eyebrow { color:#b44a00; }
.auth-card h2 { font-size:34px; font-weight:750; letter-spacing:-1.2px; line-height:1.18; margin:18px 0 12px; }
.auth-card p { font-size:14px; line-height:1.6; }
.auth-card .auth-intro { color:var(--liksoft-muted); margin-bottom:36px; }
.auth-card form { margin:20px 0; padding:0; text-align:left; width:100%; }
.task-login #login-form { position:static; top:auto; width:100%; max-width:none; margin:24px 0 0; padding:0; text-align:left; }
.task-login #login-form table, .task-login #login-form tbody { display:block; width:100%; margin:0; border:0; border-spacing:0; }
.task-login #login-form tr { display:flex; width:100%; margin:0 0 16px; }
.task-login #login-form tr:last-child { margin-bottom:0; }
.task-login #login-form td.input { width:100%; padding:0; }
.task-login #login-form td.title { display:none; }
.auth-card label { display:block; font-size:12px; font-weight:650; margin:16px 0 7px; color:#3f3f46; }
.auth-card input:not([type=hidden]):not([type=checkbox]), .auth-card select, .task-login #login-form input.form-control { box-sizing:border-box; width:100%; height:49px; border:1px solid #dededb; border-radius:9px; padding:12px 14px; background:white; color:#18181b; font-size:14px; box-shadow:none; }
.auth-card input:focus, .auth-card select:focus { outline:3px solid #ff6b0020; border-color:#d45b00; }
.auth-card button, .auth-card .primary-link, .task-login #login-form .btn-primary { display:block; box-sizing:border-box; width:100%; border:0; background:#18181b; color:white; padding:15px 18px; font-size:14px; font-weight:650; text-align:center; border-radius:9px; text-decoration:none; cursor:pointer; margin:20px 0 0; }
.auth-card button:hover, .auth-card .primary-link:hover, .task-login #login-form .btn-primary:hover { background:#343434; }
.auth-card button:focus-visible, .auth-card a:focus-visible { outline:3px solid #ff6b00; outline-offset:3px; }
.auth-card .method { text-align:left; background:white; color:#18181b; border:1px solid #dededb; }
.auth-card .method span { display:block; margin-top:6px; font-size:11px; font-weight:400; color:#71717a; }
.auth-card .method:hover { background:#fff4e8; }
.auth-footer { border-top:1px solid #e7e5e4; margin-top:36px; padding-top:22px; font-size:12px; line-height:1.9; color:#71717a; }
.auth-footer span { font-size:11px; }
.auth-card .forgot-password { margin:16px 0 0; text-align:right; font-size:12px; }
.auth-card a { color:#a54300; }
.auth-card .muted, .account-name { color:#71717a; font-size:12px; overflow-wrap:anywhere; }
.auth-error { background:#fff1f2; border:1px solid #fecdd3; padding:12px 14px; border-radius:8px; font-size:13px; color:#9f1239; margin:18px 0; }
.security-status { display:inline-block; padding:5px 11px; background:#ecfdf5; border-radius:6px; color:#065f46; }
.totp-enrol { margin-top:26px; border-top:1px solid #e7e5e4; padding-top:14px; }
#totp-qr { text-align:center; }
#totp-qr img { max-width:100%; width:215px; height:auto; border:1px solid #e7e5e4; padding:8px; background:white; border-radius:9px; }
.auth-card details { font-size:12px; margin:16px 0; }
.auth-card code { overflow-wrap:anywhere; font-size:12px; }
.recovery-codes { display:grid; gap:10px; padding:18px; border:1px solid #e7e5e4; border-radius:8px; background:#fff; }
/* Elastic adds icon groups after rendering. Keep each icon and input on one row. */
.task-login #login-form .input-group { display:flex; flex-wrap:nowrap; align-items:stretch; margin:0; }
.task-login #login-form .input-group-prepend { flex:0 0 auto; height:49px; }
.task-login #login-form .input-group-text { box-sizing:border-box; min-width:46px; height:49px; justify-content:center; border-color:#dededb; border-radius:9px 0 0 9px; background:white; }
.task-login #login-form .input-group input.form-control { flex:1 1 0; width:1%; min-width:0; border-radius:0 9px 9px 0; }
.task-login #login-form .formbuttons { display:block; width:100%; margin:20px 0 0; padding:0; }
.task-login #login-form #rcmloginsubmit { display:flex; align-items:center; justify-content:center; width:100%; min-height:49px; margin:0; padding:12px 18px; line-height:24px; }
@media(max-width:800px) {
 .auth-layout { grid-template-columns:1fr; }
 .brand-panel { padding:24px 28px; min-height:100px; }
 .brand-message, .brand-footer { display:none; }
 .brand-wordmark { font-size:25px; }
 .auth-panel { padding:42px 24px; align-items:flex-start; }
 .auth-card { max-width:430px; }
 .auth-card h2 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
