My solution involved creating a custom layout that includes the template name in the first div. Here's how you can do it on your main template:
<head>
<title>Your title</title>
...
</head>
<template name="layout">
<div class="container-fluid {{template}}">
<header>
<h1>Testing</h1>
...
</header>
<div class="row">
...
</div>
</div>
</template>
You'll also need to add this template helper:
Template.layout.helpers({
template: function () {
route = Router.current();
return route ? route.lookupTemplate() : 'home';
},
...
});
To isolate your CSS to a single page, simply use your template's name as a root class, like so:
.templateName header h1 { color: red; }
.templateName div.row { max-height: 300px; }
...
Don't forget to set Iron Router to use your layout template:
Router.configure({
layoutTemplate: 'layout',
...
});