*{box-sizing:border-box}body{font-family:system-ui,Segoe UI,Roboto,sans-serif;margin:0;background:#f3f5f8;color:#1c2330}
header{background:#14213d;color:#fff;padding:10px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
header a{color:#cfd8ee;text-decoration:none;font-size:14px}header a:hover{color:#fff}header .brand{font-weight:700;color:#fff;font-size:16px}
header form{margin-left:auto;display:inline}main{max-width:1180px;margin:20px auto;padding:0 16px}
h1{font-size:22px}h2{font-size:17px;margin-top:26px}
.card{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 1px 3px #0001;margin-bottom:16px}
table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{padding:7px 9px;border-bottom:1px solid #e6e9ef;text-align:left;vertical-align:top}th{background:#f0f3f8}
input[type=text],input[type=password],input[type=date],input[type=number],select,textarea{padding:7px 9px;border:1px solid #b9c2d3;border-radius:5px;font:inherit;width:100%;max-width:520px}
textarea{font-family:ui-monospace,monospace;font-size:12.5px;max-width:100%}
label{display:block;margin:10px 0 3px;font-weight:600;font-size:13px}
button,.btn{background:#2563eb;color:#fff;border:0;border-radius:5px;padding:7px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block;font-size:13.5px}
button.sec,.btn.sec{background:#64748b}button.danger{background:#dc2626}button.small{padding:3px 9px;font-size:12px}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:10px;white-space:pre-wrap}.flash.ok{background:#dcfce7;color:#14532d}.flash.err{background:#fee2e2;color:#7f1d1d}
.badge{padding:2px 8px;border-radius:10px;font-size:12px;background:#e2e8f0}.badge.on{background:#bbf7d0}.badge.off{background:#fecaca}.badge.warn{background:#fde68a}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.stat{font-size:28px;font-weight:700}.muted{color:#64748b;font-size:13px}
pre{background:#0f172a;color:#e2e8f0;padding:12px;border-radius:6px;overflow:auto;font-size:12px;max-height:520px}
.login{max-width:380px;margin:70px auto}.secret{font-family:ui-monospace,monospace;font-size:18px;background:#fef9c3;padding:12px;border-radius:6px;word-break:break-all;user-select:all}
form.inline{display:inline}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.row>div{flex:1;min-width:150px}
