:root{--blue:#1D4982;--green:#A4CE3A;--light:#F4F9FD;--soft:#F5F7FA;--border:#D7E0E8;--text:#1f2937;--danger:#b42318;--ok:#497514}
*{box-sizing:border-box}body{margin:0;background:var(--light);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}.wrap{max-width:980px;margin:40px auto;padding:0 18px}.card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 8px 25px rgba(29,73,130,.08)}.header{background:var(--blue);color:#fff;padding:24px}.header h1{margin:0 0 6px;font-size:26px}.content{padding:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.stat{padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--soft)}.stat strong{display:block;font-size:28px;color:var(--blue)}label{display:block;font-weight:700;margin:14px 0 6px}input,select{width:100%;padding:12px;border:1px solid #b9c7d6;border-radius:8px;font-size:16px}button,.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:8px;padding:12px 18px;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}.btn.secondary{background:#52606d}.btn.danger{background:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.notice{padding:14px 16px;border-radius:8px;margin:0 0 16px;background:#eef5ff;border-left:5px solid var(--blue)}.notice.success{background:#f7fbe9;border-left-color:var(--green)}.notice.error{background:#fff1f0;border-left-color:var(--danger)}.status-row{display:flex;justify-content:space-between;gap:20px;padding:13px 15px;margin-bottom:10px;border-radius:8px;background:var(--soft)}.ok{color:var(--ok);font-weight:700}.fail{color:var(--danger);font-weight:700}.muted{color:#5f6b7a;font-size:14px}.mt18{margin-top:18px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--border);padding:14px 18px;border-radius:10px;margin-bottom:16px}.topbar a{color:var(--blue);font-weight:700;text-decoration:none}.footer{padding:16px 24px;border-top:1px solid var(--border);font-size:13px;color:#5f6b7a}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:680px){.two{grid-template-columns:1fr}.wrap{margin:18px auto}.header,.content{padding:20px}.status-row{align-items:flex-start;flex-direction:column;gap:4px}}
.password-rules{margin-top:16px;padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--soft)}
.password-rules>strong{display:block;margin-bottom:8px;color:var(--blue)}
.password-rule{display:flex;align-items:center;gap:9px;padding:5px 0;color:#6b7280;font-size:14px}
.password-rule .rule-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;font-weight:800;border:1px solid #aeb8c4;background:#fff}
.password-rule.passed{color:var(--ok);font-weight:700}
.password-rule.passed .rule-icon{background:#eef8dc;border-color:var(--green);color:var(--ok)}
.password-rule.pending{color:#6b7280}
button:disabled{cursor:not-allowed;opacity:.48}
.actions.compact{margin-top:0;align-items:center}
.actions.compact form{margin:0}
@media(max-width:680px){.topbar{align-items:flex-start;flex-direction:column}.actions.compact{width:100%}}
.topbar a.btn{color:#fff}
select{background:#fff}
