*{box-sizing:border-box}body{margin:0;font:15px/1.4 system-ui,Roboto,Arial,sans-serif;background:#f4f6f8;color:#1b2430}
header{background:#0f3d64;color:#fff;padding:10px 14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}header b{font-size:17px}header .sp{flex:1}header a,header button{color:#fff;background:none;border:1px solid #ffffff55;border-radius:6px;padding:4px 10px;text-decoration:none;font-size:14px}
.test{background:#ffb300;color:#000;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}
nav{display:flex;gap:4px;flex-wrap:wrap;padding:8px 14px;background:#fff;border-bottom:1px solid #dde}nav a{padding:6px 10px;border-radius:6px;color:#0f3d64;text-decoration:none}nav a.on{background:#0f3d64;color:#fff}
main{padding:14px;max-width:1100px;margin:auto}.card{background:#fff;border:1px solid #dde3ea;border-radius:10px;padding:14px;margin-bottom:14px}
h2{margin:4px 0 12px;font-size:20px}h3{margin:0 0 10px;font-size:16px}label{display:block;font-size:13px;color:#556;margin:10px 0 4px}
input,select,textarea{width:100%;padding:11px;border:1px solid #c7d0db;border-radius:8px;font-size:16px;background:#fff}
.btn{background:#0f3d64;color:#fff;border:0;border-radius:8px;padding:12px 16px;font-size:16px;cursor:pointer}.btn.g{background:#1e8e3e}.btn.r{background:#c62828}.btn.l{background:#e8edf3;color:#0f3d64}.btn.big{width:100%;padding:16px;font-size:18px;margin-top:10px}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:180px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 6px;border-bottom:1px solid #eef}th{color:#556;font-weight:600}
.msg{padding:10px 12px;border-radius:8px;margin:8px 0}.ok{background:#e6f4ea;color:#14532d}.err{background:#fdecea;color:#7f1d1d}.warn{background:#fff4e5;color:#7a4b00}
.pill{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.p-ok{background:#e6f4ea;color:#14532d}.p-wait{background:#fff4e5;color:#7a4b00}.p-red{background:#fdecea;color:#7f1d1d}.p-grey{background:#eceff3;color:#445}
.chips span{display:inline-block;background:#eef3f8;border-radius:14px;padding:4px 10px;margin:3px;font-size:13px}.chips span.bad{background:#fdecea}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.tile{background:#fff;border:1px solid #dde3ea;border-radius:10px;padding:12px}.tile b{font-size:26px;display:block}
.muted{color:#667;font-size:13px}video{width:100%;border-radius:8px;background:#000;max-height:260px}
