.aow-login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--login-page-bg); }
body.admin-bar .aow-login-page { min-height:calc(100vh - 32px); }
.aow-login-card { width:min(100%,410px); padding:32px; background:var(--login-card-bg); border:1px solid var(--login-card-border); border-radius:var(--login-card-radius); box-shadow:var(--login-card-shadow); }
.aow-login-mark { width:42px; height:42px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:4px; padding:9px; border-radius:11px; background:#111827; }
.aow-login-mark span { border-radius:2px; background:#fff; }
.aow-login-mark span:first-child { grid-row:1 / 3; }
.aow-login-eyebrow { margin:20px 0 5px; color:var(--global-accent); font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.aow-login-card h1 { margin:0; color:var(--global-text); font-size:1.7rem; line-height:1.15; letter-spacing:-.035em; }
.aow-login-intro { margin:10px 0 24px; color:var(--global-muted); font-size:.9rem; }
.aow-login-card form p { margin:0 0 16px; }
.aow-login-card label { display:block; margin-bottom:6px; color:#344054; font-size:.82rem; font-weight:600; }
.aow-login-card input[type=text],.aow-login-card input[type=password] { width:100%; height:42px; padding:0 11px; border:1px solid var(--global-border-strong); border-radius:8px; background:#fff; color:var(--global-text); outline:none; }
.aow-login-card input[type=text]:focus,.aow-login-card input[type=password]:focus { border-color:var(--global-accent); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.aow-login-card .login-remember label { display:flex; align-items:center; gap:8px; font-weight:500; }
.aow-login-card .login-submit { margin-bottom:0; }
.aow-login-card .button-primary { width:100%; min-height:42px; border:0; border-radius:8px; background:var(--global-accent); color:#fff; font-weight:650; cursor:pointer; }
.aow-login-card .button-primary:hover { background:var(--global-accent-hover); }

.aow-login-core-required{padding:10px 12px;border:1px solid #f0c36d;border-radius:8px;background:#fff8e5;color:#8a4b00;font-size:.82rem}

/* Office Core independent-account form. */
.aow-login-card .aow-core-login-form{display:grid;gap:15px;margin-top:2px}
.aow-login-card .aow-core-login-form>label:not(.aow-core-login-remember){display:grid;gap:6px;margin:0;color:#344054;font-size:.82rem;font-weight:650}
.aow-login-card .aow-core-login-form input[type="text"],
.aow-login-card .aow-core-login-form input[type="password"]{width:100%;height:44px;box-sizing:border-box;padding:0 12px;border:1px solid var(--global-border-strong);border-radius:9px;background:#fff;color:var(--global-text);font:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.aow-login-card .aow-core-login-form input[type="text"]:focus,
.aow-login-card .aow-core-login-form input[type="password"]:focus{border-color:var(--global-accent);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.aow-login-card .aow-core-login-remember{display:flex;align-items:center;gap:8px;margin:0;color:#475467;font-size:.82rem;font-weight:500;cursor:pointer}
.aow-login-card .aow-core-login-remember input{margin:0}
.aow-login-card .aow-core-login-form button[type="submit"]{width:100%;min-height:44px;border:1px solid var(--global-accent);border-radius:9px;background:var(--global-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.08);transition:background .15s ease,border-color .15s ease,transform .08s ease}
.aow-login-card .aow-core-login-form button[type="submit"]:hover{background:var(--global-accent-hover);border-color:var(--global-accent-hover)}
.aow-login-card .aow-core-login-form button[type="submit"]:active{transform:translateY(1px)}
.aow-login-card .aow-core-login-form button[type="submit"]:disabled{cursor:wait;opacity:.68;transform:none}
.aow-core-login-message{min-height:20px;margin-top:-4px;color:#b42318;font-size:.8rem;line-height:1.45}
.aow-core-login-message.is-success{color:#067647}.aow-core-login-message.is-error{color:#b42318}
