.login-layout {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at top right,#5b7cff22,transparent 30%), linear-gradient(180deg,#f5f7ff 0%,#eef2ff 100%);
}

.login-card {
    width: 420px;
    background: #fff;
    border-radius: 28px;
    padding: 40px;
    box-shadow: 0 25px 80px rgba(15,23,42,.12);
}

.system-error-page {
    min-height: calc(100vh - 150px);
    display: grid;
    place-items: center;
    padding: 32px 20px;
}

.system-error-card {
    position: relative;
    width: min(720px, 100%);
    padding: 58px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 28px 80px rgba(15,23,42,.12);
    text-align: center;
}

.system-error-code {
    position: absolute;
    top: -38px;
    right: 20px;
    color: #f1f5f9;
    font-size: 150px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.08em;
    user-select: none;
}

.system-error-icon {
    position: relative;
    display: grid;
    width: 66px;
    height: 66px;
    margin: 0 auto 22px;
    place-items: center;
    border-radius: 21px;
    color: #fff;
    background: linear-gradient(135deg,#ef4444,#dc2626);
    box-shadow: 0 16px 34px rgba(220,38,38,.25);
    font-size: 32px;
    font-weight: 900;
}

.system-error-eyebrow {
    position: relative;
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}

.system-error-card h1 {
    position: relative;
    margin: 12px 0;
    color: #0f172a;
    font-size: clamp(30px,4vw,44px);
    line-height: 1.1;
    letter-spacing: -.04em;
}

.system-error-card p {
    position: relative;
    max-width: 520px;
    margin: 0 auto;
    color: #64748b;
    line-height: 1.7;
}

.system-error-actions {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 30px 0 22px;
}

.system-error-primary,
.system-error-secondary {
    min-height: 48px;
    padding: 0 20px;
    border: 1px solid #dbe4ef;
    border-radius: 13px;
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}

.system-error-primary {
    display: inline-flex;
    align-items: center;
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg,#2563eb,#4f46e5);
    box-shadow: 0 13px 28px rgba(37,99,235,.22);
}

.system-error-secondary {
    color: #334155;
    background: #fff;
}

.system-error-card small {
    position: relative;
    display: block;
    color: #94a3b8;
}

@media (max-width: 640px) {
    .system-error-card { padding: 42px 22px; }
    .system-error-actions { flex-direction: column; }
    .system-error-primary { justify-content: center; }
}


/* MOB365 Enterprise Login */
.empty-layout { min-height:100vh; }
.enterprise-login { min-height:100vh; display:grid; grid-template-columns:minmax(520px,1.12fr) minmax(430px,.88fr); background:#f8fafc; color:#0f172a; }
.login-showcase { position:relative; overflow:hidden; display:flex; flex-direction:column; padding:54px clamp(42px,6vw,92px); color:#fff; background:linear-gradient(145deg,#07142d 0%,#0b1f48 52%,#122b68 100%); }
.showcase-glow { position:absolute; border-radius:999px; filter:blur(2px); opacity:.4; pointer-events:none; }
.glow-one { width:480px;height:480px;right:-170px;top:-150px;background:radial-gradient(circle,#4169ff 0%,transparent 68%); }
.glow-two { width:380px;height:380px;left:-160px;bottom:-120px;background:radial-gradient(circle,#14b8a6 0%,transparent 70%); }
.showcase-brand,.mobile-login-brand { position:relative;display:flex;align-items:center;gap:15px; }
.enterprise-logo { display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#3975ff,#5244e8);box-shadow:0 18px 35px #02061766;color:#fff;font-size:25px;font-weight:950; }
.showcase-brand strong { display:block;font-size:20px;letter-spacing:.05em; }.showcase-brand span { display:block;color:#91a6cb;font-size:10px;font-weight:800;letter-spacing:.22em;margin-top:2px; }
.showcase-copy { position:relative;max-width:760px;margin:auto 0; }.eyebrow,.login-kicker { display:block;color:#6ea0ff;font-size:11px;font-weight:900;letter-spacing:.19em; }
.showcase-copy h1 { margin:20px 0 22px;font-size:clamp(44px,5vw,74px);line-height:1.02;letter-spacing:-.055em;font-weight:850; }.showcase-copy p { max-width:650px;margin:0;color:#b9c7df;font-size:18px;line-height:1.75; }
.showcase-features { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px; }.showcase-features article { display:flex;gap:13px;padding:17px;border:1px solid #ffffff17;border-radius:18px;background:#ffffff0c;backdrop-filter:blur(12px); }.showcase-features article>span { color:#76a5ff;font-size:11px;font-weight:900; }.showcase-features strong,.showcase-features small { display:block; }.showcase-features strong { font-size:13px; }.showcase-features small { margin-top:5px;color:#91a6cb;font-size:11px;line-height:1.45; }
.showcase-footer { position:relative;display:flex;align-items:center;gap:9px;color:#91a6cb;font-size:11px;font-weight:700;letter-spacing:.04em; }.status-dot { width:8px;height:8px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 5px #22c55e1f; }
.login-panel { display:grid;place-items:center;padding:42px;background:linear-gradient(180deg,#fff,#f6f8fc); }.login-panel-inner { width:min(460px,100%); }.mobile-login-brand { display:none;margin-bottom:40px; }.mobile-login-brand strong { font-size:20px; }
.login-panel h2 { margin:13px 0 8px;font-size:38px;letter-spacing:-.045em;font-weight:850; }.login-subtitle { margin:0 0 30px;color:#64748b; }
.login-alert { display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;border-radius:14px; }.login-alert>span { display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-weight:900; }.login-alert strong,.login-alert small { display:block; }.login-alert small { margin-top:2px; }.login-alert.danger { color:#991b1b;background:#fff1f2;border:1px solid #fecdd3; }.login-alert.danger>span { color:#fff;background:#dc2626; }.login-alert.success { color:#166534;background:#f0fdf4;border:1px solid #bbf7d0; }.login-alert.success>span { color:#fff;background:#16a34a; }
.enterprise-login-form { display:grid;gap:19px; }.enterprise-field label { display:block;margin-bottom:8px;color:#27364d;font-size:12px;font-weight:850; }.field-shell { display:flex;align-items:center;height:56px;border:1px solid #d9e2ef;border-radius:15px;background:#fff;box-shadow:0 8px 22px #0f172a0a;transition:.2s; }.field-shell:focus-within { border-color:#3b6df6;box-shadow:0 0 0 4px #3b82f61a,0 10px 25px #0f172a0c; }.field-icon { display:grid;place-items:center;width:50px;color:#64748b;font-weight:900; }.field-shell input { flex:1;height:100%;min-width:0;border:0;outline:0;background:transparent;color:#0f172a;font:inherit;padding:0 16px 0 0; }.field-shell input::placeholder { color:#a0aec0; }
.enterprise-login-button { display:flex;align-items:center;justify-content:space-between;height:58px;margin-top:4px;padding:0 20px;border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,#2f68ed,#5147eb);box-shadow:0 16px 32px #3b5fe838;font:inherit;font-weight:850;cursor:pointer;transition:.2s; }.enterprise-login-button:hover { transform:translateY(-1px);box-shadow:0 20px 38px #3b5fe849; }.enterprise-login-button b { font-size:22px; }
.security-note { display:flex;align-items:center;gap:12px;margin-top:25px;padding:15px 16px;border:1px solid #e5ebf3;border-radius:15px;background:#f8fafc;color:#475569; }.security-note>span { color:#356bf4; }.security-note p { margin:0; }.security-note strong,.security-note small { display:block; }.security-note strong { font-size:12px; }.security-note small { margin-top:3px;color:#8190a5;font-size:11px; }.login-legal { margin-top:38px;color:#9aa7ba;font-size:11px;text-align:center; }
@media(max-width:1050px){.enterprise-login{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh}.mobile-login-brand{display:flex}}
@media(max-width:560px){.login-panel{padding:25px}.login-panel h2{font-size:32px}.login-panel-inner{width:100%}}
