*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,sans-serif;background:#f5f5f5;color:#222;line-height:1.5}
.container{max-width:1200px;margin:1rem auto;padding:0 .5rem}
h1{margin-bottom:1rem;font-size:1.5rem}
.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.identity{color:#666;font-size:.9rem}
.btn-logout{display:inline;background:#2563eb;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem}
.btn-logout:hover{background:#1d4ed8}
.card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:1.5rem}
.card h2{margin-bottom:.75rem;font-size:1.1rem}
label{display:block;margin:.5rem 0;font-weight:600}
input[type=text],input[type=email],input[type=number],input[type=file],input[readonly]{width:100%;max-width:300px;padding:.5rem;border:1px solid #ccc;border-radius:4px;margin-top:.25rem}
.otp-input{max-width:200px}
input[name="auth_email"]{max-width:350px}
input[readonly]{background:#eee}
fieldset{border:1px solid #ddd;border-radius:4px;padding:1rem;margin:1rem 0}
legend{font-weight:400;padding:0 .5rem}
fieldset label{display:block;margin:.5rem 0;font-weight:400}
fieldset input[type="checkbox"]{margin-right:.5rem}
button{display:block;background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem}
button:hover{background:#1d4ed8}
.alert{padding:1rem;border-radius:4px;margin:1rem 0}
.alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.alert.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.link-box{display:flex;gap:.5rem;margin:1rem 0;align-items:flex-end}
.link-box input{flex:1}
.link-box button{white-space:nowrap}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.altcha-container{margin:1rem 0}
.success-card{position:relative;text-align:center;padding:2.5rem 1.5rem} .success-card p{text-align:center}
.success-card-close{position:absolute;top:.6rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer}
.success-icon{font-size:3rem;margin-bottom:.5rem}
.success-detail{color:#166534}
.hint{text-align:center;margin:1rem 0;color:#666}
.field-error{display:block;color:#b91c1c;font-size:.85rem;margin-top:.25rem}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid #eee}
th{font-weight:600}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}
.auth-altcha{margin-top:1rem}
