diff --git a/html/en/fragments.html b/html/en/fragments.html
index 9bca668..7d89ba6 100644
--- a/html/en/fragments.html
+++ b/html/en/fragments.html
@@ -153,216 +153,225 @@
 </div>
 
 ¤¤ product_details ¤¤
-<div id="product-details">
-  <h2>Product details</h2>
-  <form id="product-data"
-        onSubmit="JavaScript:saveProduct(event)"
-        class="data">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <datalist id="field_suggest"></datalist>
-    <datalist id="tag_suggest"></datalist>
-    <table>
-      <tfoot>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <button id="save"
-                    class="right">
-              Save
-            </button>
-            <button id="reset"
-                    class="right">
-              Reset
-            </button>
-          </td>
-        </tr>
-      </tfoot>
-      <tbody>
-        <tr>
-          <td>
-            Name:
-          </td>
-          <td>
-            <input type="text"
-                   name="name"
-                   value="¤name¤"
-                   onFocus="JavaScript:suggestContent(this)"
-                   list="name_suggest"
-                   autocomplete="off" />
-            <datalist id="name_suggest"></datalist>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Manufacturer:
-          </td>
-          <td>
-            <input type="text"
-                   name="brand"
-                   value="¤brand¤"
-                   onFocus="JavaScript:suggestContent(this)"
-                   list="brand_suggest"
-                   autocomplete="off" />
-            <datalist id="brand_suggest"></datalist>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Invoice number:
-          </td>
-          <td>
-            <input type="text"
-                   name="invoice"
-                   value="¤invoice¤" />
-          </td>
-        </tr>
-        <tr id="before_info">
-          <td>
-            Serial number:
-          </td>
-          <td>
-            <input type="text"
-                   name="serial"
-                   value="¤serial¤" />
-          </td>
-        </tr>
-        ¤info¤
-        <tr>
-          <td>
-            <input onKeyPress="JavaScript:addField(event)"
-                   onFocus="JavaScript:suggest(this, 'field')"
-                   list="field_suggest"
-                   autocomplete="off"
-                   class="newfield"
-                   type="text"
-                   name="new_key"
-                   placeholder="New field" />
-            <button class="minibutton"
-                    onClick="addField(event)">
-              +
-            </button>
-          </td>
-          <td>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Tags:
-          </td>
-          <td id="tags">
-            ¤tags¤
-            <input onKeyPress="JavaScript:addTag(event)"
-                   onFocus="JavaScript:suggest(this, 'tag')"
-                   list="tag_suggest"
-                   autocomplete="off"
-                   class="newtag"
-                   type="text"
-                   name="new_tag"
-                   placeholder="New tag" />
-            <button class="minibutton"
-                    onClick="JavaScript:addTag(event)">
-              +
-            </button>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </form>
-  <form id="product-actions"
-        class="¤hidden¤">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <button onClick="JavaScript:discardProduct(event)">
-      Discard product
-    </button>
-    <button onClick="JavaScript:toggleService(event)">
-      ¤service¤
-    </button>
-  </form>
-</div>
-<div id="product-attachments"
-     class="¤hidden¤">
-  <h2>Attachments</h2>
-  ¤attachments¤
-  <form id="attachment_upload"
-        onSubmit="JavaScript:uploadAttachment(event)">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <input id="uploadfile"
-           name="uploadfile"
-           type="file"
-           onchange="showFile(event)"/>
-    <input id="filename"
-           name="filename"
-           type="text"
-           placeholder="Choose a file..."
-           onclick="selectFile(event)"
-           readonly />
-    <button>Upload</button>
-  </form>
+<div class="column">
+  <div id="product-details">
+    <h2>Product details</h2>
+    <form id="product-data"
+          onSubmit="JavaScript:saveProduct(event)"
+          class="data">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <datalist id="field_suggest"></datalist>
+      <datalist id="tag_suggest"></datalist>
+      <table>
+        <tfoot>
+          <tr>
+            <td>
+            </td>
+            <td>
+              <button id="save"
+                      class="right">
+                Save
+              </button>
+              <button id="reset"
+                      class="right">
+                Reset
+              </button>
+            </td>
+          </tr>
+        </tfoot>
+        <tbody>
+          <tr>
+            <td>
+              Name:
+            </td>
+            <td>
+              <input type="text"
+                     name="name"
+                     value="¤name¤"
+                     onFocus="JavaScript:suggestContent(this)"
+                     list="name_suggest"
+                     autocomplete="off" />
+              <datalist id="name_suggest"></datalist>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Manufacturer:
+            </td>
+            <td>
+              <input type="text"
+                     name="brand"
+                     value="¤brand¤"
+                     onFocus="JavaScript:suggestContent(this)"
+                     list="brand_suggest"
+                     autocomplete="off" />
+              <datalist id="brand_suggest"></datalist>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Invoice number:
+            </td>
+            <td>
+              <input type="text"
+                     name="invoice"
+                     value="¤invoice¤" />
+            </td>
+          </tr>
+          <tr id="before_info">
+            <td>
+              Serial number:
+            </td>
+            <td>
+              <input type="text"
+                     name="serial"
+                     value="¤serial¤" />
+            </td>
+          </tr>
+          ¤info¤
+          <tr>
+            <td>
+              <input onKeyPress="JavaScript:addField(event)"
+                     onFocus="JavaScript:suggest(this, 'field')"
+                     list="field_suggest"
+                     autocomplete="off"
+                     class="newfield"
+                     type="text"
+                     name="new_key"
+                     placeholder="New field" />
+              <button class="minibutton"
+                      onClick="addField(event)">
+                +
+              </button>
+            </td>
+            <td>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Tags:
+            </td>
+            <td id="tags">
+              ¤tags¤
+              <input onKeyPress="JavaScript:addTag(event)"
+                     onFocus="JavaScript:suggest(this, 'tag')"
+                     list="tag_suggest"
+                     autocomplete="off"
+                     class="newtag"
+                     type="text"
+                     name="new_tag"
+                     placeholder="New tag" />
+              <button class="minibutton"
+                      onClick="JavaScript:addTag(event)">
+                +
+              </button>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </form>
+    <form id="product-actions"
+          class="¤hidden¤">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <button onClick="JavaScript:discardProduct(event)">
+        Discard product
+      </button>
+      <button onClick="JavaScript:toggleService(event)">
+        ¤service¤
+      </button>
+    </form>
+  </div>
+  <div id="product-attachments"
+       class="¤hidden¤">
+    <h2>Attachments</h2>
+    ¤attachments¤
+    <form id="attachment_upload"
+          onSubmit="JavaScript:uploadAttachment(event)">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <input id="uploadfile"
+             name="uploadfile"
+             type="file"
+             onchange="showFile(event)"/>
+      <input id="filename"
+             name="filename"
+             type="text"
+             placeholder="Choose a file..."
+             onclick="selectFile(event)"
+             readonly />
+      <button>Upload</button>
+    </form>
+  </div>
+  <div id="product-label"
+       class="¤label_hidden¤">
+    <h2>Label</h2>
+    ¤label¤
+  </div>
 </div>
 
 ¤¤ product_details_readonly ¤¤
-<div id="product-details">
-  <h2>Product details</h2>
-  <div id="product-data"
-       class="data">
-    <table>
-      <tbody class="single fixedwidth">
-        <tr>
-          <td>
-            Name:
-          </td>
-          <td>
-            ¤name¤
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Manufacturer:
-          </td>
-          <td>
-            ¤brand¤
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Invoice number:
-          </td>
-          <td>
-            ¤invoice¤
-          </td>
-        </tr>
-        <tr id="before_info">
-          <td>
-            Serial number:
-          </td>
-          <td>
-            ¤serial¤
-          </td>
-        </tr>
-        ¤info¤
-        <tr>
-          <td>
-            Tags:
-          </td>
-          <td id="tags">
-            ¤tags¤
-          </td>
-        </tr>
-      </tbody>
-    </table>
+<div class="column">
+  <div id="product-details">
+    <h2>Product details</h2>
+    <div id="product-data"
+         class="data">
+      <table>
+        <tbody class="single fixedwidth">
+          <tr>
+            <td>
+              Name:
+            </td>
+            <td>
+              ¤name¤
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Manufacturer:
+            </td>
+            <td>
+              ¤brand¤
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Invoice number:
+            </td>
+            <td>
+              ¤invoice¤
+            </td>
+          </tr>
+          <tr id="before_info">
+            <td>
+              Serial number:
+            </td>
+            <td>
+              ¤serial¤
+            </td>
+          </tr>
+          ¤info¤
+          <tr>
+            <td>
+              Tags:
+            </td>
+            <td id="tags">
+              ¤tags¤
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+  <div id="product-attachments"
+       class="¤hidden¤">
+    <h2>Attachments</h2>
+    ¤attachments¤
   </div>
-</div>
-<div id="product-attachments"
-     class="¤hidden¤">
-  <h2>Attachments</h2>
-  ¤attachments¤
 </div>
 
 ¤¤ product_details_public ¤¤
@@ -411,53 +420,50 @@
 </div>
 
 ¤¤ product_meta ¤¤
-<div id="product-history">
-  <h2>Product history</h2>
-  ¤history¤
-</div>
-<div id="product-label"
-     class="¤label_hidden¤">
-  <h2>Label</h2>
-  ¤label¤
-</div>
-<div id="product-direct-checkout" class="¤checkout_hidden¤">
-  <h2>Check out</h2>
-  <form class="light"
-        onSubmit="JavaScript:checkoutProduct(event)">
-    <datalist id="user_suggest"></datalist>
-    <input type="hidden"
-           name="page"
-           value="checkout" />
-    <input type="hidden"
-           id="product"
-           name="product"
-           value="¤serial¤" />
-    <label>Loan length:</label>
-    ¤loan_presets¤
-    <br/>
-    <label for="end">End date:</label>
-    <input type="text"
-           id="end"
-           onClick="JavaScript:calendar(event)"
-           name="end"
-           value="¤end¤" />
-    <br/>
-    <label for="note">Notes:</label>
-    <textarea id="notes"
-              name="notes"></textarea>
-    <br/>
-    <label for="user">Username:</label>
-    <input onFocus="JavaScript:suggest(this, 'user')"
-           type="text"
-           name="user"
-           list="user_suggest"
-           autocomplete="off"
-           placeholder="Username"
-           required />
-    <button>
-      Check out
-    </button>
-  </form>
+<div class="column">
+  <div id="product-direct-checkout" class="¤checkout_hidden¤">
+    <h2>Check out</h2>
+    <form class="light"
+          onSubmit="JavaScript:checkoutProduct(event)">
+      <datalist id="user_suggest"></datalist>
+      <input type="hidden"
+             name="page"
+             value="checkout" />
+      <input type="hidden"
+             id="product"
+             name="product"
+             value="¤serial¤" />
+      <label>Loan length:</label>
+      ¤loan_presets¤
+      <br/>
+      <label for="end">End date:</label>
+      <input type="text"
+             id="end"
+             onClick="JavaScript:calendar(event)"
+             name="end"
+             value="¤end¤" />
+      <br/>
+      <label for="note">Notes:</label>
+      <textarea id="notes"
+                name="notes"></textarea>
+      <br/>
+      <label for="user">Username:</label>
+      <input onFocus="JavaScript:suggest(this, 'user')"
+             type="text"
+             name="user"
+             list="user_suggest"
+             autocomplete="off"
+             placeholder="Username"
+             required />
+      <button type="submit">
+        Check out
+      </button>
+    </form>
+  </div>
+  <div id="product-history">
+    <h2>Product history</h2>
+    ¤history¤
+  </div>
 </div>
 
 ¤¤ attachment_list ¤¤
@@ -555,182 +561,138 @@
 </p>
 
 ¤¤ user_details ¤¤
-<div id="user-details">
-  <form onSubmit="JavaScript:updateUser(event)">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <table>
-      <tfoot>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <button class="right"
-                    id="save">
-              Save
-            </button>
-            <button class="right"
-                    id="reset">
-              Reset
-            </button>
-          </td>
-        </tr>
-      </tfoot>
-      <tbody>
-        <tr>
-          <td>
-            Name:
-          </td>
-          <td>
-          <input type="text"
-                 value="¤displayname¤"
-                 disabled />
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Username:
-          </td>
-          <td>
-            <input type="text"
-                   name="name"
-                   value="¤name¤" />
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Notes:
-          </td>
-          <td>
-            <textarea name="notes">¤notes¤</textarea>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </form>
-  <form method="GET">
-    <input type="hidden"
-           name="action"
-           value="checkout" />
-    <button name="user"
-            value="¤name¤">
-      New loan
-    </button>
-  </form>
+<div class="column">
+  <div id="user-details">
+    <form onSubmit="JavaScript:updateUser(event)">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <table>
+        <tfoot>
+          <tr>
+            <td>
+            </td>
+            <td>
+              <button class="right"
+                      id="save">
+                Save
+              </button>
+              <button class="right"
+                      id="reset">
+                Reset
+              </button>
+            </td>
+          </tr>
+        </tfoot>
+        <tbody>
+          <tr>
+            <td>
+              Name:
+            </td>
+            <td>
+              <input type="text"
+                     value="¤displayname¤"
+                     disabled />
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Username:
+            </td>
+            <td>
+              <input type="text"
+                     name="name"
+                     value="¤name¤" />
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Notes:
+            </td>
+            <td>
+              <textarea name="notes">¤notes¤</textarea>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </form>
+    <form method="GET">
+      <input type="hidden"
+             name="action"
+             value="checkout" />
+      <button name="user"
+              value="¤name¤">
+        New loan
+      </button>
+    </form>
+  </div>
 </div>
-<div id="active-loans">
-  <h2>Current loans</h2>
-  ¤active_loans¤
-</div>
-<div id="inactive-loans">
-  <h2>Old loans</h2>
-  ¤inactive_loans¤
+<div class="column">
+  <div id="active-loans">
+    <h2>Current loans</h2>
+    ¤active_loans¤
+  </div>
+  <div id="inactive-loans">
+    <h2>Old loans</h2>
+    ¤inactive_loans¤
+  </div>
 </div>
 
-¤¤ user_loan_table ¤¤
-<table class="history">
-  <thead>
+¤¤ user_loan_card ¤¤
+<div class="loan">
+  <div class="status ¤status¤"></div>
+  <table class="data">
     <tr>
-      <th class="status">
-      </th>
-      <th>
-        Product
-      </th>
-      <th>
-        Serial number
-      </th>
-      <th>
-        Start date
-      </th>
-      <th>
-        End date
-      </th>
-      <th>
-        Started by
-      </th>
-      <th>
-        Misc
-      </th>
+      <th>Product:</th>
+      <td>¤name¤</td>
     </tr>
-  </thead>
-  <tbody class="single">
-    ¤rows¤
-  </tbody>
-</table>
-
-¤¤ user_loan_table_row ¤¤
-<tr>
-  <td class="status ¤status¤">
-  </td>
-  <td>
-    ¤name¤
-  </td>
-  <td>
-    ¤serial¤
-  </td>
-  <td>
-    ¤start_date¤
-  </td>
-  <td>
-    ¤end_date¤
-  </td>
-  <td>
-    ¤initiator¤
-  </td>
-  <td>
-    ¤note¤
-  </td>
-</tr>
-
-¤¤ product_loan_table ¤¤
-<table class="history">
-  <thead>
     <tr>
-      <th class="status">
-      </th>
-      <th>
-        Borrower
-      </th>
-      <th>
-        Start date
-      </th>
-      <th>
-        End date
-      </th>
-      <th>
-        Started by
-      </th>
-      <th>
-        Misc
-      </th>
+      <th>Serial:</th>
+      <td>¤serial¤</td>
     </tr>
-  </thead>
-  <tbody class="single">
-    ¤rows¤
-  </tbody>
-</table>
-
-¤¤ product_loan_table_row ¤¤
-<tr>
-  <td class="status ¤status¤">
-  </td>
-  <td>
-    ¤name¤
-  </td>
-  <td>
-    ¤start_date¤
-  </td>
-  <td>
-    ¤end_date¤
-  </td>
-  <td>
-    ¤initiator¤
-  </td>
-  <td>
+    <tr>
+      <th>Loan created by:</th>
+      <td>¤initiator¤</td>
+    </tr>
+    <tr>
+      <th>Validity:</th>
+      <td>¤start_date¤ - ¤end_date¤</td>
+    </tr>
+    <tr class="¤hidden¤">
+      <th>Notes:</th>
+      <td class="notes">¤notes¤</td>
+    </tr>
+  </table>
+  <div class="misc">
     ¤misc¤
-  </td>
-</tr>
+  </div>
+</div>
+
+¤¤ product_loan_card ¤¤
+<div class="loan">
+  <div class="status ¤status¤"></div>
+  <table class="data">
+    <tr>
+      <th>Loaned to:</th>
+      <td>¤name¤</td>
+    </tr>
+    <tr>
+      <th>Loan created by:</th>
+      <td>¤initiator¤</td>
+    </tr>
+    <tr>
+      <th>Validity:</th>
+      <td>¤start_date¤ - ¤end_date¤</td>
+    </tr>
+    <tr class="¤hidden¤">
+      <th>Notes:</th>
+      <td class="notes">¤notes¤</td>
+    </tr>
+  </table>
+  <div class="misc">
+    ¤misc¤
+  </div>
+</div>
 
 ¤¤ public_user_details ¤¤
 <div id="public-message" class="¤hidden¤">
@@ -809,105 +771,110 @@
 </form>
 
 ¤¤ checkout_page ¤¤
-<div id="user-select">
-  <h2>Choose borrower</h2>
-  <form class="dark"
-        action="./"
-        method="GET">
-    <datalist id="user_suggest"></datalist>
-    <input type="hidden"
-           name="page"
-           value="checkout" />
-    <div>
-      <label for="user">
-        Username:
-      </label>
-      <input onFocus="JavaScript:suggest(this, 'user')"
-             type="text"
+<div class="column">
+  <div id="user-select">
+    <h2>Choose borrower</h2>
+    <form class="dark"
+          action="./"
+          method="GET">
+      <datalist id="user_suggest"></datalist>
+      <input type="hidden"
+             name="page"
+             value="checkout" />
+      <div>
+        <label for="user">
+          Username:
+        </label>
+        <input onFocus="JavaScript:suggest(this, 'user')"
+               type="text"
+               name="user"
+               id="user"
+               list="user_suggest"
+               autocomplete="off"
+               placeholder="Username"
+               value="¤user¤" />
+        <button type="submit" >
+          Find
+        </button>
+      </div>
+      <div>
+        <label for="email">
+          E-mail:
+        </label>
+        <input type="text"
+               name="email"
+               id="email"
+               autocomplete="off"
+               placeholder="E-mail"
+               value="¤email¤" />
+      </div>
+      <div>
+        <label for="displayname">
+          Name:
+        </label>
+        <input type="text"
+               name="displayname"
+               id="displayname"
+               value="¤displayname¤"
+               disabled />
+      </div>
+      <div>
+        <label for="user-notes">
+          Notes:
+        </label>
+        <textarea name="notes"
+                  id="user-notes"
+                  disabled>¤notes¤</textarea>
+      </div>
+    </form>
+  </div>
+  <div id="product-checkout">
+    <h2>Check out product</h2>
+    <form class="light"
+          onSubmit="JavaScript:checkoutProduct(event)">
+      <input type="hidden"
+             name="page"
+             value="checkout" />
+      <input type="hidden"
              name="user"
-             id="user"
-             list="user_suggest"
-             autocomplete="off"
-             placeholder="Username"
-             value="¤user¤" />
-      <button type="submit" >
-        Find
+             value="¤user¤">
+      <label>Loan length:</label>
+      ¤loan_presets¤
+      <br/>
+      <label for="end">End date:</label>
+      <input type="text"
+             id="end"
+             onClick="JavaScript:calendar(event)"
+             name="end"
+             value="¤end¤"
+             ¤disabled¤ />
+      <br/>
+      <label for="loan-notes">Notes:</label>
+      <textarea id="loan-notes"
+                name="notes"
+                ¤disabled¤></textarea>
+      <br/>
+      <label for="product">Product:</label>
+      <input type="text"
+             id="product"
+             name="product"
+             placeholder="Serial number"
+             required
+             ¤disabled¤ />
+      <button>
+        Check out
       </button>
-    </div>
-    <div>
-      <label for="email">
-        E-mail:
-      </label>
-      <input type="text"
-             name="email"
-             id="email"
-             autocomplete="off"
-             placeholder="E-mail"
-             value="¤email¤" />
-    </div>
-    <div>
-      <label for="displayname">
-        Name:
-      </label>
-      <input type="text"
-             name="displayname"
-             id="displayname"
-             value="¤displayname¤"
-             disabled />
-    </div>
-    <div>
-      <label for="user-notes">
-        Notes:
-      </label>
-      <textarea name="notes"
-                id="user-notes"
-                disabled>¤notes¤</textarea>
-    </div>
-  </form>
+    </form>
+  </div>
 </div>
-<div id="product-checkout">
-  <h2>Check out product</h2>
-  <form class="light"
-        onSubmit="JavaScript:checkoutProduct(event)">
-    <input type="hidden"
-           name="page"
-           value="checkout" />
-    <input type="hidden"
-           name="user"
-           value="¤user¤">
-    <label>Loan length:</label>
-    ¤loan_presets¤
-    <br/>
-    <label for="end">End date:</label>
-    <input type="text"
-           id="end"
-           onClick="JavaScript:calendar(event)"
-           name="end"
-           value="¤end¤"
-           ¤disabled¤ />
-    <br/>
-    <label for="loan-notes">Notes:</label>
-    <textarea id="loan-notes"
-              name="notes"
-              ¤disabled¤></textarea>
-    <br/>
-    <label for="product">Product:</label>
-    <input type="text"
-           id="product"
-           name="product"
-           placeholder="Serial number"
-           required
-           ¤disabled¤ />
-    <button>
-      Check out
-    </button>
-  </form>
+<div class="column">
   ¤subtitle¤
   ¤loan_table¤
 </div>
 
 ¤¤ loan_preset_button ¤¤
-<button onClick="JavaScript:loanLength(event, ¤count¤, '¤type¤')">
+<button onClick="JavaScript:loanLength(event, ¤count¤, '¤type¤')"
+        type="button">
   ¤description¤
 </button>
 
diff --git a/html/sv/fragments.html b/html/sv/fragments.html
index 37012f3..a12442a 100644
--- a/html/sv/fragments.html
+++ b/html/sv/fragments.html
@@ -153,216 +153,225 @@
 </div>
 
 ¤¤ product_details ¤¤
-<div id="product-details">
-  <h2>Artikeldata</h2>
-  <form id="product-data"
-        onSubmit="JavaScript:saveProduct(event)"
-        class="data">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <datalist id="field_suggest"></datalist>
-    <datalist id="tag_suggest"></datalist>
-    <table>
-      <tfoot>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <button id="save"
-                    class="right">
-              Spara
-            </button>
-            <button id="reset"
-                    class="right">
-              Återställ
-            </button>
-          </td>
-        </tr>
-      </tfoot>
-      <tbody>
-        <tr>
-          <td>
-            Namn:
-          </td>
-          <td>
-            <input type="text"
-                   name="name"
-                   value="¤name¤"
-                   onFocus="JavaScript:suggestContent(this)"
-                   list="name_suggest"
-                   autocomplete="off" />
-            <datalist id="name_suggest"></datalist>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Tillverkare:
-          </td>
-          <td>
-            <input type="text"
-                   name="brand"
-                   value="¤brand¤"
-                   onFocus="JavaScript:suggestContent(this)"
-                   list="brand_suggest"
-                   autocomplete="off" />
-            <datalist id="brand_suggest"></datalist>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Fakturanummer:
-          </td>
-          <td>
-            <input type="text"
-                   name="invoice"
-                   value="¤invoice¤" />
-          </td>
-        </tr>
-        <tr id="before_info">
-          <td>
-            Serienummer:
-          </td>
-          <td>
-            <input type="text"
-                   name="serial"
-                   value="¤serial¤" />
-          </td>
-        </tr>
-        ¤info¤
-        <tr>
-          <td>
-            <input onKeyPress="JavaScript:addField(event)"
-                   onFocus="JavaScript:suggest(this, 'field')"
-                   list="field_suggest"
-                   autocomplete="off"
-                   class="newfield"
-                   type="text"
-                   name="new_key"
-                   placeholder="Nytt fält" />
-            <button class="minibutton"
-                    onClick="addField(event)">
-              +
-            </button>
-          </td>
-          <td>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Taggar:
-          </td>
-          <td id="tags">
-            ¤tags¤
-            <input onKeyPress="JavaScript:addTag(event)"
-                   onFocus="JavaScript:suggest(this, 'tag')"
-                   list="tag_suggest"
-                   autocomplete="off"
-                   class="newtag"
-                   type="text"
-                   name="new_tag"
-                   placeholder="Ny tagg" />
-            <button class="minibutton"
-                    onClick="JavaScript:addTag(event)">
-              +
-            </button>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </form>
-  <form id="product-actions"
-        class="¤hidden¤">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <button onClick="JavaScript:discardProduct(event)">
-      Skrota artikel
-    </button>
-    <button onClick="JavaScript:toggleService(event)">
-      ¤service¤
-    </button>
-  </form>
-</div>
-<div id="product-attachments"
-     class="¤hidden¤">
-  <h2>Bilagor</h2>
-  ¤attachments¤
-  <form id="attachment_upload"
-        onSubmit="JavaScript:uploadAttachment(event)">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <input id="uploadfile"
-           name="uploadfile"
-           type="file"
-           onchange="showFile(event)"/>
-    <input id="filename"
-           name="filename"
-           type="text"
-           placeholder="Välj en fil..."
-           onclick="selectFile(event)"
-           readonly />
-    <button>Ladda upp</button>
-  </form>
+<div class="column">
+  <div id="product-details">
+    <h2>Artikeldata</h2>
+    <form id="product-data"
+          onSubmit="JavaScript:saveProduct(event)"
+          class="data">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <datalist id="field_suggest"></datalist>
+      <datalist id="tag_suggest"></datalist>
+      <table>
+        <tfoot>
+          <tr>
+            <td>
+            </td>
+            <td>
+              <button id="save"
+                      class="right">
+                Spara
+              </button>
+              <button id="reset"
+                      class="right">
+                Återställ
+              </button>
+            </td>
+          </tr>
+        </tfoot>
+        <tbody>
+          <tr>
+            <td>
+              Namn:
+            </td>
+            <td>
+              <input type="text"
+                     name="name"
+                     value="¤name¤"
+                     onFocus="JavaScript:suggestContent(this)"
+                     list="name_suggest"
+                     autocomplete="off" />
+              <datalist id="name_suggest"></datalist>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Tillverkare:
+            </td>
+            <td>
+              <input type="text"
+                     name="brand"
+                     value="¤brand¤"
+                     onFocus="JavaScript:suggestContent(this)"
+                     list="brand_suggest"
+                     autocomplete="off" />
+              <datalist id="brand_suggest"></datalist>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Fakturanummer:
+            </td>
+            <td>
+              <input type="text"
+                     name="invoice"
+                     value="¤invoice¤" />
+            </td>
+          </tr>
+          <tr id="before_info">
+            <td>
+              Serienummer:
+            </td>
+            <td>
+              <input type="text"
+                     name="serial"
+                     value="¤serial¤" />
+            </td>
+          </tr>
+          ¤info¤
+          <tr>
+            <td>
+              <input onKeyPress="JavaScript:addField(event)"
+                     onFocus="JavaScript:suggest(this, 'field')"
+                     list="field_suggest"
+                     autocomplete="off"
+                     class="newfield"
+                     type="text"
+                     name="new_key"
+                     placeholder="Nytt fält" />
+              <button class="minibutton"
+                      onClick="addField(event)">
+                +
+              </button>
+            </td>
+            <td>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Taggar:
+            </td>
+            <td id="tags">
+              ¤tags¤
+              <input onKeyPress="JavaScript:addTag(event)"
+                     onFocus="JavaScript:suggest(this, 'tag')"
+                     list="tag_suggest"
+                     autocomplete="off"
+                     class="newtag"
+                     type="text"
+                     name="new_tag"
+                     placeholder="Ny tagg" />
+              <button class="minibutton"
+                      onClick="JavaScript:addTag(event)">
+                +
+              </button>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </form>
+    <form id="product-actions"
+          class="¤hidden¤">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <button onClick="JavaScript:discardProduct(event)">
+        Skrota artikel
+      </button>
+      <button onClick="JavaScript:toggleService(event)">
+        ¤service¤
+      </button>
+    </form>
+  </div>
+  <div id="product-attachments"
+       class="¤hidden¤">
+    <h2>Bilagor</h2>
+    ¤attachments¤
+    <form id="attachment_upload"
+          onSubmit="JavaScript:uploadAttachment(event)">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <input id="uploadfile"
+             name="uploadfile"
+             type="file"
+             onchange="showFile(event)"/>
+      <input id="filename"
+             name="filename"
+             type="text"
+             placeholder="Välj en fil..."
+             onclick="selectFile(event)"
+             readonly />
+      <button>Ladda upp</button>
+    </form>
+  </div>
+  <div id="product-label"
+       class="¤label_hidden¤">
+    <h2>Etikett</h2>
+    ¤label¤
+  </div>
 </div>
 
 ¤¤ product_details_readonly ¤¤
-<div id="product-details">
-  <h2>Artikeldata</h2>
-  <div id="product-data"
-       class="data">
-    <table>
-      <tbody class="single fixedwidth">
-        <tr>
-          <td>
-            Namn:
-          </td>
-          <td>
-            ¤name¤
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Tillverkare:
-          </td>
-          <td>
-            ¤brand¤
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Fakturanummer:
-          </td>
-          <td>
-            ¤invoice¤
-          </td>
-        </tr>
-        <tr id="before_info">
-          <td>
-            Serienummer:
-          </td>
-          <td>
-            ¤serial¤
-          </td>
-        </tr>
-        ¤info¤
-        <tr>
-          <td>
-            Taggar:
-          </td>
-          <td id="tags">
-            ¤tags¤
-          </td>
-        </tr>
-      </tbody>
-    </table>
+<div class="column">
+  <div id="product-details">
+    <h2>Artikeldata</h2>
+    <div id="product-data"
+         class="data">
+      <table>
+        <tbody class="single fixedwidth">
+          <tr>
+            <td>
+              Namn:
+            </td>
+            <td>
+              ¤name¤
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Tillverkare:
+            </td>
+            <td>
+              ¤brand¤
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Fakturanummer:
+            </td>
+            <td>
+              ¤invoice¤
+            </td>
+          </tr>
+          <tr id="before_info">
+            <td>
+              Serienummer:
+            </td>
+            <td>
+              ¤serial¤
+            </td>
+          </tr>
+          ¤info¤
+          <tr>
+            <td>
+              Taggar:
+            </td>
+            <td id="tags">
+              ¤tags¤
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+  <div id="product-attachments"
+       class="¤hidden¤">
+    <h2>Bilagor</h2>
+    ¤attachments¤
   </div>
-</div>
-<div id="product-attachments"
-     class="¤hidden¤">
-  <h2>Bilagor</h2>
-  ¤attachments¤
 </div>
 
 ¤¤ product_details_public ¤¤
@@ -411,53 +420,50 @@
 </div>
 
 ¤¤ product_meta ¤¤
-<div id="product-history">
-  <h2>Artikelhistorik</h2>
-  ¤history¤
-</div>
-<div id="product-label"
-     class="¤label_hidden¤">
-  <h2>Etikett</h2>
-  ¤label¤
-</div>
-<div id="product-direct-checkout" class="¤checkout_hidden¤">
-  <h2>Låna ut</h2>
-  <form class="light"
-        onSubmit="JavaScript:checkoutProduct(event)">
-    <datalist id="user_suggest"></datalist>
-    <input type="hidden"
-           name="page"
-           value="checkout" />
-    <input type="hidden"
-           id="product"
-           name="product"
-           value="¤serial¤" />
-    <label>Löptid:</label>
-    ¤loan_presets¤
-    <br/>
-    <label for="end">Slutdatum:</label>
-    <input type="text"
-           id="end"
-           onClick="JavaScript:calendar(event)"
-           name="end"
-           value="¤end¤" />
-    <br/>
-    <label for="note">Anteckningar:</label>
-    <textarea id="notes"
-              name="notes"></textarea>
-    <br/>
-    <label for="user">Användarnamn:</label>
-    <input onFocus="JavaScript:suggest(this, 'user')"
-           type="text"
-           name="user"
-           list="user_suggest"
-           autocomplete="off"
-           placeholder="Användarnamn"
-           required />
-    <button>
-      Låna ut
-    </button>
-  </form>
+<div class="column">
+  <div id="product-direct-checkout" class="¤checkout_hidden¤">
+    <h2>Låna ut</h2>
+    <form class="light"
+          onSubmit="JavaScript:checkoutProduct(event)">
+      <datalist id="user_suggest"></datalist>
+      <input type="hidden"
+             name="page"
+             value="checkout" />
+      <input type="hidden"
+             id="product"
+             name="product"
+             value="¤serial¤" />
+      <label>Löptid:</label>
+      ¤loan_presets¤
+      <br/>
+      <label for="end">Slutdatum:</label>
+      <input type="text"
+             id="end"
+             onClick="JavaScript:calendar(event)"
+             name="end"
+             value="¤end¤" />
+      <br/>
+      <label for="note">Anteckningar:</label>
+      <textarea id="notes"
+                name="notes"></textarea>
+      <br/>
+      <label for="user">Användarnamn:</label>
+      <input onFocus="JavaScript:suggest(this, 'user')"
+             type="text"
+             name="user"
+             list="user_suggest"
+             autocomplete="off"
+             placeholder="Användarnamn"
+             required />
+      <button type="submit">
+        Låna ut
+      </button>
+    </form>
+  </div>
+  <div id="product-history">
+    <h2>Artikelhistorik</h2>
+    ¤history¤
+  </div>
 </div>
 
 ¤¤ attachment_list ¤¤
@@ -555,182 +561,138 @@
 </p>
 
 ¤¤ user_details ¤¤
-<div id="user-details">
-  <form onSubmit="JavaScript:updateUser(event)">
-    <input type="hidden"
-           name="id"
-           value="¤id¤" />
-    <table>
-      <tfoot>
-        <tr>
-          <td>
-          </td>
-          <td>
-            <button class="right"
-                    id="save">
-              Spara
-            </button>
-            <button class="right"
-                    id="reset">
-              Återställ
-            </button>
-          </td>
-        </tr>
-      </tfoot>
-      <tbody>
-        <tr>
-          <td>
-            Namn:
-          </td>
-          <td>
-          <input type="text"
-                 value="¤displayname¤"
-                 disabled />
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Användarnamn:
-          </td>
-          <td>
-            <input type="text"
-                   name="name"
-                   value="¤name¤" />
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Anteckningar:
-          </td>
-          <td>
-            <textarea name="notes">¤notes¤</textarea>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </form>
-  <form method="GET">
-    <input type="hidden"
-           name="action"
-           value="checkout" />
-    <button name="user"
-            value="¤name¤">
-      Nytt lån
-    </button>
-  </form>
+<div class="column">
+  <div id="user-details">
+    <form onSubmit="JavaScript:updateUser(event)">
+      <input type="hidden"
+             name="id"
+             value="¤id¤" />
+      <table>
+        <tfoot>
+          <tr>
+            <td>
+            </td>
+            <td>
+              <button class="right"
+                      id="save">
+                Spara
+              </button>
+              <button class="right"
+                      id="reset">
+                Återställ
+              </button>
+            </td>
+          </tr>
+        </tfoot>
+        <tbody>
+          <tr>
+            <td>
+              Namn:
+            </td>
+            <td>
+              <input type="text"
+                     value="¤displayname¤"
+                     disabled />
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Användarnamn:
+            </td>
+            <td>
+              <input type="text"
+                     name="name"
+                     value="¤name¤" />
+            </td>
+          </tr>
+          <tr>
+            <td>
+              Anteckningar:
+            </td>
+            <td>
+              <textarea name="notes">¤notes¤</textarea>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </form>
+    <form method="GET">
+      <input type="hidden"
+             name="action"
+             value="checkout" />
+      <button name="user"
+              value="¤name¤">
+        Nytt lån
+      </button>
+    </form>
+  </div>
 </div>
-<div id="active-loans">
-  <h2>Aktuella lån</h2>
-  ¤active_loans¤
-</div>
-<div id="inactive-loans">
-  <h2>Gamla lån</h2>
-  ¤inactive_loans¤
+<div class="column">
+  <div id="active-loans">
+    <h2>Aktuella lån</h2>
+    ¤active_loans¤
+  </div>
+  <div id="inactive-loans">
+    <h2>Gamla lån</h2>
+    ¤inactive_loans¤
+  </div>
 </div>
 
-¤¤ user_loan_table ¤¤
-<table class="history">
-  <thead>
+¤¤ user_loan_card ¤¤
+<div class="loan">
+  <div class="status ¤status¤"></div>
+  <table class="data">
     <tr>
-      <th class="status">
-      </th>
-      <th>
-        Artikel
-      </th>
-      <th>
-        Serienummer
-      </th>
-      <th>
-        Startdatum
-      </th>
-      <th>
-        Slutdatum
-      </th>
-      <th>
-        Startat av
-      </th>
-      <th>
-        Övrigt
-      </th>
+      <th>Artikel:</th>
+      <td>¤name¤</td>
     </tr>
-  </thead>
-  <tbody class="single">
-    ¤rows¤
-  </tbody>
-</table>
-
-¤¤ user_loan_table_row ¤¤
-<tr>
-  <td class="status ¤status¤">
-  </td>
-  <td>
-    ¤name¤
-  </td>
-  <td>
-    ¤serial¤
-  </td>
-  <td>
-    ¤start_date¤
-  </td>
-  <td>
-    ¤end_date¤
-  </td>
-  <td>
-    ¤initiator¤
-  </td>
-  <td>
-    ¤note¤
-  </td>
-</tr>
-
-¤¤ product_loan_table ¤¤
-<table class="history">
-  <thead>
     <tr>
-      <th class="status">
-      </th>
-      <th>
-        Låntagare
-      </th>
-      <th>
-        Startdatum
-      </th>
-      <th>
-        Slutdatum
-      </th>
-      <th>
-        Startat av
-      </th>
-      <th>
-        Övrigt
-      </th>
+      <th>Serienummer:</th>
+      <td>¤serial¤</td>
     </tr>
-  </thead>
-  <tbody class="single">
-    ¤rows¤
-  </tbody>
-</table>
-
-¤¤ product_loan_table_row ¤¤
-<tr>
-  <td class="status ¤status¤">
-  </td>
-  <td>
-    ¤name¤
-  </td>
-  <td>
-    ¤start_date¤
-  </td>
-  <td>
-    ¤end_date¤
-  </td>
-  <td>
-    ¤initiator¤
-  </td>
-  <td>
+    <tr>
+      <th>Lån skapat av:</th>
+      <td>¤initiator¤</td>
+    </tr>
+    <tr>
+      <th>Löptid:</th>
+      <td>¤start_date¤ - ¤end_date¤</td>
+    </tr>
+    <tr class="¤hidden¤">
+      <th>Anteckningar:</th>
+      <td class="notes">¤notes¤</td>
+    </tr>
+  </table>
+  <div class="misc">
     ¤misc¤
-  </td>
-</tr>
+  </div>
+</div>
+
+¤¤ product_loan_card ¤¤
+<div class="loan">
+  <div class="status ¤status¤"></div>
+  <table class="data">
+    <tr>
+      <th>Utlånad till:</th>
+      <td>¤name¤</td>
+    </tr>
+    <tr>
+      <th>Lån skapat av:</th>
+      <td>¤initiator¤</td>
+    </tr>
+    <tr>
+      <th>Löptid:</th>
+      <td>¤start_date¤ - ¤end_date¤</td>
+    </tr>
+    <tr class="¤hidden¤">
+      <th>Anteckningar:</th>
+      <td class="notes">¤notes¤</td>
+    </tr>
+  </table>
+  <div class="misc">
+    ¤misc¤
+  </div>
+</div>
 
 ¤¤ public_user_details ¤¤
 <div id="public-message" class="¤hidden¤">
@@ -808,107 +770,111 @@
   </button>
 </form>
 
-
 ¤¤ checkout_page ¤¤
-<div id="user-select">
-  <h2>Välj låntagare</h2>
-  <form class="dark"
-        action="./"
-        method="GET">
-    <datalist id="user_suggest"></datalist>
-    <input type="hidden"
-           name="page"
-           value="checkout" />
-    <div>
-      <label for="user">
-        Användarnamn:
-      </label>
-      <input onFocus="JavaScript:suggest(this, 'user')"
-             type="text"
+<div class="column">
+  <div id="user-select">
+    <h2>Välj låntagare</h2>
+    <form class="dark"
+          action="./"
+          method="GET">
+      <datalist id="user_suggest"></datalist>
+      <input type="hidden"
+             name="page"
+             value="checkout" />
+      <div>
+        <label for="user">
+          Användarnamn:
+        </label>
+        <input onFocus="JavaScript:suggest(this, 'user')"
+               type="text"
+               name="user"
+               id="user"
+               list="user_suggest"
+               autocomplete="off"
+               placeholder="Användarnamn"
+               value="¤user¤" />
+        <button type="submit" >
+          Välj
+        </button>
+      </div>
+      <div>
+        <label for="email">
+          E-post:
+        </label>
+        <input type="text"
+               name="email"
+               id="email"
+               autocomplete="off"
+               placeholder="E-post"
+               value="¤email¤" />
+      </div>
+      <div>
+        <label for="displayname">
+          Namn:
+        </label>
+        <input type="text"
+               name="displayname"
+               id="displayname"
+               value="¤displayname¤"
+               disabled />
+      </div>
+      <div>
+        <label for="user-notes">
+          Anteckningar:
+        </label>
+        <textarea name="notes"
+                  id="user-notes"
+                  disabled>¤notes¤</textarea>
+      </div>
+    </form>
+  </div>
+  <div id="product-checkout">
+    <h2>Låna ut artikel</h2>
+    <form class="light"
+          onSubmit="JavaScript:checkoutProduct(event)">
+      <input type="hidden"
+             name="page"
+             value="checkout" />
+      <input type="hidden"
              name="user"
-             id="user"
-             list="user_suggest"
-             autocomplete="off"
-             placeholder="Användarnamn"
-             value="¤user¤" />
-      <button type="submit" >
-        Välj
+             value="¤user¤">
+      <label>Löptid:</label>
+      ¤loan_presets¤
+      <br/>
+      <label for="end">Slutdatum:</label>
+      <input type="text"
+             id="end"
+             onClick="JavaScript:calendar(event)"
+             name="end"
+             value="¤end¤"
+             ¤disabled¤ />
+      <br/>
+      <label for="loan-notes">Anteckningar:</label>
+      <textarea id="loan-notes"
+                name="notes"
+                ¤disabled¤></textarea>
+      <br/>
+      <label for="product">Artikel:</label>
+      <input type="text"
+             id="product"
+             name="product"
+             placeholder="Serienummer"
+             required
+             ¤disabled¤ />
+      <button>
+        Låna ut
       </button>
-    </div>
-    <div>
-      <label for="email">
-        E-post:
-      </label>
-      <input type="text"
-             name="email"
-             id="email"
-             autocomplete="off"
-             placeholder="E-post"
-             value="¤email¤" />
-    </div>
-    <div>
-      <label for="displayname">
-        Namn:
-      </label>
-      <input type="text"
-             name="displayname"
-             id="displayname"
-             value="¤displayname¤"
-             disabled />
-    </div>
-    <div>
-      <label for="user-notes">
-        Anteckningar:
-      </label>
-      <textarea name="notes"
-                id="user-notes"
-                disabled>¤notes¤</textarea>
-    </div>
-  </form>
+    </form>
+  </div>
 </div>
-<div id="product-checkout">
-  <h2>Låna ut artikel</h2>
-  <form class="light"
-        onSubmit="JavaScript:checkoutProduct(event)">
-    <input type="hidden"
-           name="page"
-           value="checkout" />
-    <input type="hidden"
-           name="user"
-           value="¤user¤">
-    <label>Löptid:</label>
-    ¤loan_presets¤
-    <br/>
-    <label for="end">Slutdatum:</label>
-    <input type="text"
-           id="end"
-           onClick="JavaScript:calendar(event)"
-           name="end"
-           value="¤end¤"
-           ¤disabled¤ />
-    <br/>
-    <label for="loan-notes">Anteckningar:</label>
-    <textarea id="loan-notes"
-              name="notes"
-              ¤disabled¤></textarea>
-    <br/>
-    <label for="product">Artikel:</label>
-    <input type="text"
-           id="product"
-           name="product"
-           placeholder="Serienummer"
-           required
-           ¤disabled¤ />
-    <button>
-      Låna ut
-    </button>
-  </form>
-  ¤subtitle¤
-  ¤loan_table¤
+<div class="column">
+    ¤subtitle¤
+    ¤loan_table¤
 </div>
 
 ¤¤ loan_preset_button ¤¤
-<button onClick="JavaScript:loanLength(event, ¤count¤, '¤type¤')">
+<button onClick="JavaScript:loanLength(event, ¤count¤, '¤type¤')"
+        type="button">
   ¤description¤
 </button>
 
diff --git a/include/NewPage.php b/include/NewPage.php
index b84db33..b52fc2e 100644
--- a/include/NewPage.php
+++ b/include/NewPage.php
@@ -38,18 +38,19 @@ class NewPage extends Page {
                                  $this->fragments['tag']);
             }
         }
-        $out = replace(array('template' => $template),
-                       $this->fragments['template_management']);
-        $out .= replace(array('id' => '',
-                              'name' => '',
-                              'brand' => '',
-                              'serial' => '',
-                              'invoice' => '',
-                              'tags' => $tags,
-                              'info' => $fields,
-                              'label' => '',
-                              'hidden' => 'hidden'),
-                        $this->fragments['product_details']);
+        $out = replace(array('id' => '',
+                             'name' => '',
+                             'brand' => '',
+                             'serial' => '',
+                             'invoice' => '',
+                             'tags' => $tags,
+                             'info' => $fields,
+                             'label' => '',
+                             'label_hidden' => 'hidden',
+                             'hidden' => 'hidden'),
+                       $this->fragments['product_details']);
+        $out .= replace(array('template' => $template),
+                        $this->fragments['template_management']);
         return $out;
     }
 }
diff --git a/include/Page.php b/include/Page.php
index d3aa795..7f0b5cf 100644
--- a/include/Page.php
+++ b/include/Page.php
@@ -233,10 +233,15 @@ abstract class Page extends Responder {
                           'page' => 'users'),
                     $this->fragments['item_link']);
             }
-            $note = '';
+            $notes = $loan->get_notes();
+            $hidden = 'hidden';
+            if($notes) {
+                $hidden = '';
+            }
+            $misc = '';
             if($status !== 'inactive_loan') {
                 $extend = format_date($loan->get_endtime());
-                $note = replace(array('id' => $product->get_id(),
+                $misc = replace(array('id' => $product->get_id(),
                                       'end_new' => $extend),
                                 $this->fragments['loan_extend_form']);
             }
@@ -251,11 +256,12 @@ abstract class Page extends Responder {
                                    'start_date' => format_date($start),
                                    'end_date' => format_date($end),
                                    'initiator' => $initiator_name,
-                                   'note' => $note),
-                             $this->fragments['user_loan_table_row']);
+                                   'hidden' => $hidden,
+                                   'notes' => $notes,
+                                   'misc' => $misc),
+                             $this->fragments['user_loan_card']);
         }
-        return replace(array('rows' => $rows),
-                       $this->fragments['user_loan_table']);
+        return $rows;
     }
 
     final protected function build_seen_table($products, $inventory) {
diff --git a/include/ProductPage.php b/include/ProductPage.php
index 3275680..d563acb 100644
--- a/include/ProductPage.php
+++ b/include/ProductPage.php
@@ -112,14 +112,18 @@ class ProductPage extends Page {
         $rows = '';
         foreach($history as $event) {
             $status = $event->get_status();
-            $itemlink = 'Service';
+            $userlink = 'Service';
             $start = $event->get_starttime();
             $end = $event->get_returntime();
             $notes = $event->get_notes();
+            $hidden = 'hidden';
+            if($notes) {
+                $hidden = '';
+            }
             $initiator = $event->get_initiator();
-            $initiator_name = i18n('Unknown');
+            $initiator_link = i18n('Unknown');
             if($initiator) {
-                $initiator_name = replace(
+                $initiator_link = replace(
                     array('id' => $initiator->get_id(),
                           'name' => $initiator->get_name(),
                           'page' => 'users'),
@@ -129,7 +133,7 @@ class ProductPage extends Page {
             if($event instanceof Loan) {
                 $user = $event->get_user();
                 $product = $event->get_product();
-                $itemlink = replace(array('id' => $user->get_id(),
+                $userlink = replace(array('id' => $user->get_id(),
                                           'name' => $user->get_name(),
                                           'page' => 'users'),
                                     $this->fragments['item_link']);
@@ -142,16 +146,16 @@ class ProductPage extends Page {
                 }
             }
             $rows .= replace(array('status' => $status,
-                                   'name' => $itemlink,
+                                   'name' => $userlink,
                                    'start_date' => format_date($start),
                                    'end_date' => format_date($end),
-                                   'initiator' => $initiator_name,
+                                   'initiator' => $initiator_link,
+                                   'hidden' => $hidden,
                                    'notes' => $notes,
                                    'misc' => $misc),
-                             $this->fragments['product_loan_table_row']);
+                             $this->fragments['product_loan_card']);
         }
-        return replace(array('rows' => $rows),
-                       $this->fragments['product_loan_table']);
+        return $rows;
     }
 
 
diff --git a/style.css b/style.css
index fb253cd..5e5ca13 100644
--- a/style.css
+++ b/style.css
@@ -10,6 +10,18 @@ ul {
     padding-left: 15px;
 }
 
+#contents {
+    display: grid;
+    grid-template-columns: [col] auto [col] auto [col];
+    grid-template-rows: auto [row] repeat(3, auto [row]);
+    grid-template-areas: "header header"
+                         "first second"
+                         "third fourth";
+    gap: 1rem;
+    justify-items: start;
+    align-items: start;
+}
+
 #message {
    position: absolute;
     top: 5px;
@@ -54,7 +66,7 @@ ul {
 }
 
 input[type="text"].narrow {
-    width: 6em;
+    width: 6rem;
 }
 
 .hidden {
@@ -65,6 +77,40 @@ form {
     margin-bottom: 5px;
 }
 
+.column {
+    display: flex;
+    flex-direction: column;
+    align-items: stretch;
+    gap: 1rem;
+}
+
+.loan {
+    display: grid;
+    grid-template-columns: 5px 1fr;
+    grid-template-rows: auto auto;
+    grid-auto-rows: auto;
+    background-color: #d7e0eb;
+    margin-bottom: 1rem;
+    margin-top: 1rem;
+}
+
+.loan .status {
+    grid-row: 1 / -1;
+    grid-column: 1 / 2;
+}
+
+.loan .data {
+    grid-row: 1;
+    grid-column: 2;
+}
+
+.loan .misc {
+    grid-row: 2;
+    grid-column: 2;
+    justify-self: end;
+    padding: 2px 5px;
+}
+
 table {
     border-collapse: collapse;
 }
@@ -76,31 +122,35 @@ td, th {
     padding: 2px 5px;
 }
 
-td.available {
-    background-color: #a3a86b;
+td.notes {
+    white-space: pre-wrap;
 }
 
-td.status, th.status {
+.status {
     width: 5px;
 }
 
-td.on_loan, td.active_loan {
+.status.available {
+    background-color: #a3a86b;
+}
+
+.status.on_loan, .status.active_loan {
     background-color: #acdee6;
 }
 
-td.inactive_loan {
+.status.inactive_loan {
     background-color: #cdebf0;
 }
 
-td.overdue, td.overdue_loan {
+.status.overdue, .status.overdue_loan {
     background-color: #d95e00;
 }
 
-td.discarded {
+.status.discarded {
     background-color: #a0a0a0;
 }
 
-td.service, td.active_service, td.inactive_service {
+.status.service, .status.active_service, .status.inactive_service {
     background-color: #e7e08d;
 }
 
@@ -142,15 +192,15 @@ input:disabled, textarea:disabled {
 
 input[type="text"].newtag,
 input[type="text"].newfield {
-    width: 11.5em;
+    width: 10.5rem;
 }
 
 tbody.fixedwidth > tr > td {
-    min-width: 11.5em;
+    min-width: 10.5rem;
 }
 
 input[type="text"].newtemplate {
-    width: 8em;
+    width: 8rem;
 }
 
 .minibutton {
@@ -188,43 +238,14 @@ h1 {
     grid-area: header;
 }
 
-#product-details {
-    grid-column: col 1 / col 2;
-    grid-row: row 1 / row 3;
-}
-
-#user-select {
-    grid-area: first;
-}
-
 #user-table {
     grid-area: first;
 }
 
-#user-details {
-    grid-area: first;
-}
-
-#active-loans {
-    grid-area: third;
-}
-
-#inactive-loans {
-    grid-area: fourth;
-}
-
 #public-message {
     grid-area: first / first / second / second;
 }
 
-#product-checkout {
-    grid-area: third;
-}
-
-#product-create {
-    grid-area: first;
-}
-
 #product-table {
     grid-area: first;
 }
diff --git a/template.css b/template.css
index 2afbaf7..57a6ff3 100644
--- a/template.css
+++ b/template.css
@@ -351,16 +351,3 @@ button:disabled, input[type="submit"]:disabled {
         width: calc(100% - 8px);
     }
 }
-
-#contents {
-    display: grid;
-    grid-template-columns: [col] auto [col] auto [col];
-    grid-template-rows: auto [row] repeat(3, auto [row]);
-    grid-template-areas: "header header"
-                             "first second"
-                             "third fourth"
-                             "fifth sixth";
-    grid-gap: 1rem;
-    justify-items: start;
-    align-items: start;
-}