+table.grid {
+ border: 1px solid #cccccc;
+ -moz-box-shadow: 1px 1px 2px #666666;
+ -webkit-box-shadow: 1px 1px 2px #666666;
+ box-shadow: 1px 1px 2px #666666;
+ filter: progid:DXImageTransform.Microsoft.Shadow(color='#666666', Direction=135, Strength=2);
+}
+
+th.grid {
+ padding-left: 3px;
+ padding-right: 3px;
+ padding-bottom: 2px;
+ border: none;
+ empty-cells: show;
+}
+
+td.grid {
+ padding-left: 3px;
+ padding-right: 3px;
+ padding-bottom: 2px;
+ border: none;
+ empty-cells: show;
+}
+
+tr.row0 {
+ background-color: #eeeeee;
+}
+
+tr.row1 {
+ background-color: #ffffff;
+}
+
+.grid tfoot tr {
+ background-color: #dddddd;
+ font-style: italic;
+}
+
+/* border at the top of the footer, but not between footer rows */
+.grid tfoot tr:first-child td {
+ border-top: 1px dashed black;
+}
+
+table.inv { border: none }
+th.inv { border: none }
+td.inv { border: none }
+
+td.label {
+ text-align: right;
+}
+
+.required {
+ font-weight: bold;
+}
+
+.required::before {
+ content: "* ";
+ color: #ff0000;
+}
+
+/* but see printtofit.js */
+.nosplit, .nosplitrows tr {
+ page-break-inside: avoid;
+}