*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;background:#f5f6f8;color:#1c1f26}
main{max-width:960px;margin:0 auto;padding:24px 16px}
.top{display:flex;gap:24px;align-items:center;padding:12px 24px;background:#1c1f26;color:#fff}
.top nav{flex:1;display:flex;gap:16px}.top a{color:#cfd6e4;text-decoration:none}.top a:hover{color:#fff}
.card{background:#fff;border-radius:10px;padding:20px;margin:20px 0;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.card.warn{border-left:4px solid #e0a100}.narrow{width:100%;max-width:380px}
body.center{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
label{display:block;margin:12px 0;font-weight:600}label.chk{display:inline-block;font-weight:400;margin-right:16px}
textarea,input:not([type=checkbox]):not([type=file]),select{display:block;width:100%;padding:10px;border:1px solid #c9ced8;border-radius:6px;font:inherit;margin-top:4px}
button{background:#2f5bea;color:#fff;border:0;padding:10px 18px;border-radius:6px;font:inherit;cursor:pointer}
button.link{background:none;color:#2f5bea;padding:0}button.danger{color:#c62828}
form.inline{display:inline-flex;gap:8px;align-items:center}.top .muted{color:#9aa3b5}.top button.link{color:#fff}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid #eceef3}th{background:#fafbfc}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:16px}.flash.ok{background:#e6f4ea}.flash.err{background:#fdecea}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.big{font-size:2rem;margin:0}
.muted{color:#6b7385}code{word-break:break-all}
