*{box-sizing:border-box}body{margin:0;font-family:system-ui,Roboto,sans-serif;font-size:18px;color:#1a1a1a;background:#fff}header{background:#1f4e79;color:#fff;padding:8px 12px;position:sticky;top:0;z-index:2}header.alarm{background:#b00020}.indicator{font-size:20px}.net{font-size:14px;opacity:.9}.net .off{color:#ffcf33;font-weight:700}.alarm-text{font-weight:700;margin-top:4px}.banner{background:#fff4c2;padding:8px 12px;border-bottom:1px solid #e0c000}nav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#ccc}nav button{border:0;padding:14px 2px;font-size:14px;background:#eee}nav button.cur{background:#fff;font-weight:700;border-bottom:3px solid #1f4e79}main{padding:12px}button.big,.banner button{display:block;width:100%;min-height:56px;margin:8px 0;font-size:20px;border-radius:8px;border:1px solid #1f4e79;background:#1f4e79;color:#fff}button.big.alt{background:#fff;color:#1f4e79}button:disabled{opacity:.5}table{width:100%;border-collapse:collapse;font-size:16px}td{border-bottom:1px solid #ddd;padding:6px 4px;vertical-align:top}td:first-child{color:#555;width:45%}input.scan,input.text{width:100%;font-size:22px;padding:12px;border:2px solid #1f4e79;border-radius:8px}.ok{color:#0a7a2f;font-weight:700}.bad{color:#b00020;font-weight:700}.muted{color:#666;font-size:14px}.row{display:flex;align-items:center;gap:8px;margin:8px 0}.row label{font-size:18px}.row input[type=checkbox]{width:28px;height:28px}.list{font-family:monospace;font-size:15px}.err{position:sticky;bottom:0;background:#b00020;color:#fff;padding:8px 12px;font-size:14px}
