.advandage-login-body {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #f0f2f5;
    color: #1d2327;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.advandage-login-card,
.advandage-panel,
.advandage-recovery {
    box-sizing: border-box;
    width: 100%;
    max-width: 560px;
    padding: 28px;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(0,0,0,.08);
}
.advandage-panel,
.advandage-recovery { max-width: 820px; margin: 18px 0; }
.advandage-brand { margin-bottom: 18px; font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #50575e; }
.advandage-login-card h1,
.advandage-panel h2,
.advandage-recovery h2 { margin-top: 0; }
.advandage-login-card label { display: block; margin-bottom: 6px; font-weight: 600; }
.advandage-login-card input[type="text"],
.advandage-login-card input[type="password"],
.advandage-panel input[type="text"],
.advandage-panel input[type="password"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 420px;
    min-height: 44px;
    padding: 8px 11px;
    border: 1px solid #8c8f94;
    border-radius: 6px;
    font-size: 16px;
}
.advandage-check label { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.advandage-password-wrap { position: relative; display: block; }
.advandage-password-wrap button { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; cursor: pointer; font-size: 18px; }
.advandage-login-card .button,
.advandage-panel .button,
.advandage-recovery .button {
    display: inline-block;
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid #2271b1;
    border-radius: 6px;
    background: #fff;
    color: #2271b1;
    cursor: pointer;
    text-decoration: none;
    line-height: 20px;
}
.advandage-login-card .button-primary,
.advandage-panel .button-primary,
.advandage-recovery .button-primary { background: #2271b1; color: #fff; }
.advandage-error,
.advandage-notice { margin: 0 0 18px; padding: 12px 14px; border-left: 4px solid #d63638; background: #fcf0f1; }
.advandage-notice-success { border-color: #00a32a; background: #edfaef; }
.advandage-qr { width: 220px; min-height: 220px; margin: 18px 0; padding: 10px; border: 1px solid #dcdcde; background: #fff; }
.advandage-qr img,
.advandage-qr canvas { display: block; max-width: 100%; height: auto; }
.advandage-secret code,
.advandage-recovery code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; }
.advandage-recovery ol { columns: 2; gap: 30px; padding-left: 28px; }
.advandage-recovery li { margin: 8px 0; break-inside: avoid; }
.advandage-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.advandage-status-on { color: #008a20; font-weight: 700; }
.advandage-status-off { color: #b32d2e; font-weight: 700; }
.advandage-danger { margin-top: 20px; }
.advandage-danger summary { color: #b32d2e; cursor: pointer; }
.advandage-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.advandage-core-factor .optional { font-weight: 400; color: #646970; }
@media (max-width: 600px) {
    .advandage-login-body { padding: 12px; }
    .advandage-login-card,
    .advandage-panel,
    .advandage-recovery { padding: 20px; }
    .advandage-recovery ol { columns: 1; }
}
@media print {
    .advandage-actions,
    .advandage-recovery form,
    .advandage-brand { display: none !important; }
    .advandage-recovery { box-shadow: none; border: 0; }
}
