:root { --fp-ink:#071b15; --fp-muted:#6e736f; --fp-line:#d9ddda; --fp-accent:#caf337; }
body.task-login { margin:0; min-height:100vh; overflow:hidden; background:#f5f5f7; color:var(--fp-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.task-login #layout { min-height:100vh; }
body.task-login #layout-content.fullprog-login-shell { display:grid !important; grid-template-columns:minmax(0,1.18fr) minmax(460px,.82fr); width:100%; min-height:100vh; padding:0; text-align:left; overflow:hidden; }
.fullprog-visual { position:relative; display:flex; flex-direction:column; min-height:100vh; padding:clamp(28px,3.4vw,54px); overflow:hidden; color:#fff; }
.fullprog-visual-image,.fullprog-visual-shade { position:absolute; inset:0; width:100%; height:100%; }
.fullprog-visual-image { object-fit:cover; object-position:48% center; }
.fullprog-visual-shade { background:linear-gradient(180deg,rgba(2,15,11,.45),rgba(2,15,11,.04) 42%,rgba(2,15,11,.78)); }
.fullprog-visual-header,.fullprog-visual-copy,.fullprog-visual-footer { position:relative; z-index:1; }
.fullprog-visual-header,.fullprog-visual-footer,.fullprog-mobile-brand { display:flex; align-items:center; justify-content:space-between; }
.fullprog-logo-light { width:158px; height:auto; }
.fullprog-status { display:inline-flex; align-items:center; gap:9px; padding:9px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(0,12,9,.26); backdrop-filter:blur(16px); font-size:12px; color:rgba(255,255,255,.82); }
.fullprog-status i { width:6px; height:6px; border-radius:50%; background:var(--fp-accent); box-shadow:0 0 10px rgba(202,243,55,.72); }
.fullprog-visual-copy { margin-top:auto; max-width:650px; padding:12vh 0 7vh; }
.fullprog-eyebrow { margin:0 0 20px; color:var(--fp-accent); font-size:11px; font-weight:700; letter-spacing:.19em; }
.fullprog-visual-copy h2 { margin:0; color:#fff; font-size:clamp(46px,5.5vw,88px); font-weight:500; letter-spacing:-.06em; line-height:.96; }
.fullprog-visual-copy>p:last-child { max-width:450px; margin:28px 0 0; color:rgba(255,255,255,.68); font-size:15px; line-height:1.65; }
.fullprog-visual-footer { color:rgba(255,255,255,.46); font-size:11px; }
.fullprog-form-panel { position:relative; display:grid; grid-template-rows:1fr auto; align-items:center; min-height:100vh; padding:clamp(32px,5vw,80px); background:rgba(248,248,250,.98); }
.fullprog-mobile-brand { display:none; }
.fullprog-form-wrap { width:min(100%,430px); margin:auto; }
.fullprog-form-heading { margin-bottom:38px; }
.fullprog-eyebrow.fullprog-eyebrow-dark { margin-bottom:17px; color:#79911d; }
.fullprog-form-heading h2 { margin:0; color:var(--fp-ink); font-size:clamp(34px,3.15vw,48px); font-weight:500; letter-spacing:-.055em; line-height:1.04; }
.fullprog-form-heading>p:last-child { margin:16px 0 0; color:var(--fp-muted); font-size:14px; }
.fullprog-form { position:relative; top:auto!important; right:auto!important; bottom:auto!important; left:auto!important; width:100%!important; max-width:none!important; margin:0!important; }
.fullprog-form table { width:100%; border-collapse:separate; border-spacing:0 18px; }
.fullprog-form tr.form-group { display:table-row; margin:0; }
.fullprog-form .form-group { margin:0 0 20px; }
.fullprog-form label { margin-bottom:8px; color:var(--fp-ink); font-size:12px; font-weight:600; }
.fullprog-form td.input { position:relative; display:flex; align-items:stretch; width:100%; height:56px; padding:0; overflow:hidden; border:1px solid var(--fp-line); border-radius:14px; background:rgba(255,255,255,.78); transition:.18s ease; }
.fullprog-form td.input:hover { border-color:#b9bfbb; background:#fff; }
.fullprog-form td.input:focus-within { border-color:#758b20; background:#fff; box-shadow:0 0 0 4px rgba(202,243,55,.18); }
.fullprog-form .input-group-prepend { display:flex; flex:0 0 48px; }
.fullprog-form .input-group-prepend .input-group-text { display:grid; place-items:center; width:48px; height:54px; padding:0; border:0!important; background:transparent!important; color:#7c847f; }
.fullprog-form td.input input.form-control,.fullprog-form td.input select.form-control { flex:1 1 auto; width:1%; height:54px; padding:0 16px 0 0; border:0!important; border-radius:0; outline:0; background:transparent!important; color:var(--fp-ink); box-shadow:none!important; font-size:14px; }
.fullprog-form button[type="submit"],.fullprog-form input[type="submit"] { width:100%; height:58px; margin-top:8px; border:0; border-radius:14px; background:var(--fp-ink); color:#fff; font-size:13px; font-weight:600; box-shadow:none; transition:.2s ease; }
.fullprog-form button[type="submit"]:hover,.fullprog-form input[type="submit"]:hover { background:#0e3025; }
.fullprog-form .formbuttons { margin:2px 0 0; }
.fullprog-form .oauthlogin { margin:14px 0 0; padding-top:14px; border-top:1px solid #dde1de; }
.fullprog-form .oauthlogin .button { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; border:1px solid #cfd5d1; border-radius:14px; background:#fff; color:var(--fp-ink); font-size:13px; font-weight:600; text-decoration:none; box-shadow:none; transition:.18s ease; }
.fullprog-form .oauthlogin .button:hover { border-color:#aab3ad; background:#f5f7f5; }
.fullprog-password-field { position:relative; }
.fullprog-password-field input { padding-right:72px !important; }
.fullprog-password-toggle,.fullprog-form .fullprog-password-toggle.btn { position:absolute; z-index:2; top:50%; right:12px; bottom:auto; width:auto; min-width:0; height:auto; margin:0; padding:5px 7px; transform:translateY(-50%); border:0; border-radius:7px; background:transparent; color:#65706a; font-size:10px; font-weight:500; text-transform:none; box-shadow:none; cursor:pointer; }
.fullprog-form .fullprog-password-toggle:hover { background:#edf0ed; color:var(--fp-ink); }
.fullprog-support { display:flex; justify-content:center; gap:7px; margin-top:24px; color:var(--fp-muted); font-size:12px; }
.fullprog-support a { color:var(--fp-ink); font-weight:600; text-decoration:none; }
.fullprog-form-footer { display:flex; justify-content:space-between; width:100%; padding-top:44px; color:#9a9f9b; font-size:10px; }
body.task-login #messagestack { z-index:1000; }
@media(max-width:920px){body.task-login{overflow:auto}body.task-login #layout-content.fullprog-login-shell{grid-template-columns:1fr;overflow:visible}.fullprog-visual{min-height:38vh;padding:26px}.fullprog-visual-header .fullprog-status,.fullprog-visual-footer,.fullprog-visual-copy>p:last-child{display:none}.fullprog-visual-copy{padding:8vh 0 2vh}.fullprog-visual-copy h2{font-size:clamp(39px,8vw,62px)}.fullprog-form-panel{min-height:62vh;padding:48px 26px 24px}.fullprog-form-wrap{margin-top:0}}
@media(max-width:560px){.fullprog-visual{display:none}body.task-login #layout-content.fullprog-login-shell{display:block!important}.fullprog-form-panel{min-height:100vh;display:flex;flex-direction:column;align-items:stretch;padding:24px 22px 20px}.fullprog-mobile-brand{display:flex;margin-bottom:clamp(64px,14vh,118px)}.fullprog-mobile-brand img{width:136px;height:auto}.fullprog-status-dark{padding:7px 10px;border-color:#d7dcd8;background:#fff;color:#6f7571;backdrop-filter:none}.fullprog-form-wrap{margin:0 auto}.fullprog-form-heading h2{font-size:37px}.fullprog-form-footer{margin-top:auto;padding-top:48px}}
