/* Backend patch */
.alert-box{border-radius:16px;padding:14px 16px;margin:16px 0;font-weight:800}
.alert-box.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.alert-box.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.inline-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.inline-form input,.inline-form select,.auth-form input,.auth-form select{border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;background:#fff}
.inline-form input{min-width:240px}
.auth-form{display:grid;gap:12px}
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(320px,560px) 1fr;gap:60px;align-items:center;max-width:1180px;margin:0 auto;padding:48px 28px}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:32px;padding:38px;box-shadow:var(--shadow)}
.auth-brand{margin-bottom:32px}
.auth-preview{display:block}
.app-window.mini{max-width:480px}
.muted{color:var(--muted)}
.badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f1edff;color:var(--purple);font-weight:900;font-size:12px}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-preview{display:none}.inline-form{display:grid}.inline-form input,.inline-form select{min-width:0;width:100%}}
