:root{color-scheme:light;--fc-bg:#f4f6f9;--fc-ink:#212b34;--fc-muted:#687585;--fc-line:#dfe3e8;--fc-blue:#0d6efd}
*{box-sizing:border-box}
body.fc-login{margin:0;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:39% minmax(0,1fr);background:var(--fc-bg);color:var(--fc-ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.fc-login a{color:var(--fc-blue);text-decoration:none}
.fc-login a:hover{text-decoration:underline}
.fc-login svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fc-login-brand{background:#212b34;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.fc-login-brand img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.fc-login-main{min-width:0;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:76px minmax(min-content,1fr) auto}
.fc-login-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 40px;background:#fff;border-bottom:1px solid var(--fc-line)}
.fc-login-header-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:650}
.fc-login-header a{display:flex;align-items:center;gap:10px;color:var(--fc-muted);white-space:nowrap}
.fc-login-content{display:flex;align-items:center;justify-content:center;padding:48px 40px}
.fc-login-card{width:min(100%,710px);padding:clamp(32px,3.2vw,62px);background:white;border:1px solid #e4e8ee;border-radius:16px;box-shadow:0 8px 30px rgb(33 43 52 / 4%)}
.fc-login-card h1{font-size:clamp(28px,2.45vw,42px);line-height:1.2;letter-spacing:-.025em;margin:0 0 10px;font-weight:700}
.fc-login-intro{color:var(--fc-muted);font-size:20px;margin:0 0 36px}
.fc-login-field{margin:0 0 24px}
.fc-login-field label{display:block;margin-bottom:8px;font-weight:650}
.fc-login-field input{display:block;width:100%;height:54px;padding:12px 16px;color:var(--fc-ink);border:1px solid #cfd7e1;border-radius:7px;background:#fff;font:inherit;box-shadow:0 1px 2px rgb(33 43 52 / 3%) inset}
.fc-login-field input::placeholder{color:#737f8d;opacity:1}
.fc-login-field input:focus{outline:2px solid rgb(13 110 253 / 25%);outline-offset:1px;border-color:var(--fc-blue)}
.fc-login-field input[aria-invalid=true]{border-color:#b42318}
.fc-login-password{position:relative}
.fc-login-password input{padding-right:56px}
.fc-login-password button{position:absolute;right:4px;top:4px;width:46px;height:46px;border:0;background:transparent;color:var(--fc-muted);cursor:pointer;align-items:center;justify-content:center;border-radius:5px}
.fc-login-password button:not([hidden]){display:flex}
.fc-eye-slash{display:none}
[aria-pressed=true] .fc-eye-slash{display:block}
.fc-login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:2px 0 26px;font-size:14px}
.fc-login-options span{color:var(--fc-muted);font-size:13px}
.fc-login-options a{font-weight:600}
.fc-login-submit{width:100%;height:56px;border:1px solid var(--fc-blue);border-radius:6px;background:var(--fc-blue);color:white;font:650 18px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;transition:background .15s}
.fc-login-submit:hover{background:#0b5ed7}
.fc-login-submit:disabled{opacity:.75;cursor:wait}
.fc-login a:focus-visible,.fc-login button:focus-visible{outline:3px solid #80b3ff;outline-offset:4px}
.fc-login-footer{padding:20px 32px 28px;color:var(--fc-muted);font-size:13px;text-align:right}
.fc-login-status,.fc-login-errors{padding:12px 16px;margin-bottom:24px;border-radius:6px;font-size:14px;overflow-wrap:anywhere}
.fc-login-errors{background:#fff1f0;color:#9b1c13;border:1px solid #ffd1cd}
.fc-login-errors p{margin:0}
.fc-login-status{background:#edf8f2;border:1px solid #c5e8d3;color:#17613a}
.fc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1199px){.fc-login-main{grid-template-rows:64px minmax(min-content,1fr) auto}.fc-login-header{padding:0 24px}.fc-login-header-title{font-size:16px}.fc-login-content{padding:32px 24px}.fc-login-intro{font-size:17px}.fc-login-card{padding:32px}.fc-login-footer{text-align:center}}
@media(max-width:767px){body.fc-login{grid-template-columns:minmax(0,1fr)}.fc-login-brand{padding:12px 0}.fc-login-brand img{width:240px;max-height:172px}.fc-login-main{min-height:0;grid-template-rows:60px auto auto}.fc-login-header{padding:0 20px;gap:12px;font-size:13px}.fc-login-header-title{font-size:14px;gap:8px}.fc-login-header svg{width:20px;height:20px}.fc-login-content{padding:24px 16px}.fc-login-card{max-width:480px;padding:28px 24px;border-radius:12px}.fc-login-intro{margin-bottom:28px}.fc-login-options{gap:10px}.fc-login-footer{padding:0 24px 24px;font-size:12px}}
@media(min-width:768px) and (max-height:700px){.fc-login-main{grid-template-rows:60px minmax(min-content,1fr) auto}.fc-login-content{padding:20px 32px}.fc-login-card{padding:28px 36px}.fc-login-card h1{font-size:30px}.fc-login-intro{margin-bottom:24px}.fc-login-field{margin-bottom:18px}.fc-login-footer{padding:10px 24px}}
@media(prefers-reduced-motion:reduce){.fc-login-submit{transition:none}}
