:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#172033;background:#f3f6fa}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}.shell{width:100%;max-width:1080px;margin:0 auto;padding:38px 22px;flex:1}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
header nav,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}header nav form,.actions form{margin:0}
h1{margin:4px 0;font-size:30px}h2{margin-top:0}.eyebrow{color:#4772d9;font-size:12px;font-weight:700;letter-spacing:.12em}
.muted{color:#68748a}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
article,.panel,.login-card{background:white;border:1px solid #e1e7ef;border-radius:14px;box-shadow:0 8px 28px #26364d0b}
article{padding:20px}article span{display:block;color:#68748a;font-size:13px;margin-bottom:10px}article strong{font-size:20px}
.panel{padding:24px;margin-top:18px}.ok{color:#16835f}.bad,.error{color:#bd3043}
button{border:0;border-radius:9px;padding:11px 17px;background:#315fc4;color:white;font-weight:700;cursor:pointer}
.button{display:inline-block;border-radius:9px;padding:11px 17px;background:#315fc4;color:white;font-weight:700;text-decoration:none}
button:disabled{opacity:.5;cursor:wait}.secondary{background:#e8edf5;color:#26364d}.danger{background:#bd3043}
.login-card{max-width:420px;margin:10vh auto;padding:34px}.login-card label{display:block;margin:17px 0;color:#43506a}
input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #cbd4e2;border-radius:8px;font:inherit}
textarea,select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #cbd4e2;border-radius:8px;font:inherit;background:white}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;margin:0}
.alert{background:#fff0f2;padding:10px;border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}
.alert.success{background:#e9f8f1;color:#16835f}.wide{max-width:560px}.steps{color:#43506a;line-height:1.8;padding-left:22px}
.qr{display:block;width:230px;height:230px;margin:20px auto}.secret{text-align:center}.secret span{display:block;color:#68748a;font-size:12px}.secret code,.temporary{font-size:17px}
.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.recovery-grid code{background:#f3f6fa;padding:12px;text-align:center;border-radius:8px}
.inline-form{display:flex;align-items:end;gap:12px}.inline-form label{flex:1}.admin-list{display:grid;gap:12px}.admin-row{display:flex;align-items:center;justify-content:space-between;box-shadow:none}
.badge{display:inline-block;margin-left:7px;padding:3px 7px;background:#edf2ff;color:#315fc4;border-radius:20px;font-size:11px}.notice{border-color:#e0b33b;background:#fffaf0}
th,td{text-align:left;padding:11px;border-bottom:1px solid #e7ebf1;white-space:nowrap}th{color:#68748a;font-size:12px}
.site-footer{text-align:center;padding:18px 22px 24px;color:#68748a;font-size:12px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:#315fc4;text-decoration:underline}
@media(max-width:720px){.grid{grid-template-columns:1fr 1fr}header,.admin-row{align-items:flex-start;gap:12px}.shell{padding:24px 14px}.admin-row{display:block}.actions{margin-top:12px}.inline-form{display:block}.inline-form button{margin-top:10px}.recovery-grid{grid-template-columns:1fr}}
