body { 
	margin:0; 
	padding:20px; 
	font:13px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, sans-serif;
	}
	
/* ---- Some Resets ---- */

p,
table, caption, td, tr, th {
	margin:0;
	padding:0;
	font-weight:normal;
	}

/* ---- Paragraphs ---- */

p {
	margin-bottom:15px;
	}
	
/* ---- Table ---- */

table {
	border-collapse:collapse;
	margin-bottom:15px;
	width:90%;
	}
	
 	caption {
		text-align:left;
		font-size:15px;
		padding-bottom:10px;
		}
	
	table td,
	table th {
		padding:5px;
		border:1px solid #fff;
		border-width:0 1px 1px 0;
		}
		
	thead th {
		background:#91c5d4;
		}
			
		thead th[colspan],
		thead th[rowspan] {
			background:#66a9bd;
			}
		
	tbody th,
	tfoot th {
		text-align:center;
		background:#91c5d4;
		}
		
	tbody td,
	tfoot td {
		text-align:center;
		background:#d5eaf0;
		}
		
	tfoot th {
		background:#b0cc7f;
		}
		
	tfoot td {
		background:#d7e1c5;
		font-weight:bold;
		}
			
	tbody tr.odd td  { 
		background:#bcd9e1;
		}


	
	
table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):after { 
    content: " \25B4\25BE" 
}
/* Sortable tables */
table.sortable thead {
    background-color:#eee;
    color:#666666;
    font-weight: bold;
    cursor: default;
}
table.sortable tbody {
    counter-reset: sortabletablescope;
}
table.sortable thead tr::before {
    content: "";
    display: table-cell;
}
table.sortable tbody tr::before {
    content: counter(sortabletablescope);
    counter-increment: sortabletablescope;
    display: table-cell;
}
table.sortable tbody tr:nth-child(2n) td {
  background: #ffcccc;
}
table.sortable tbody tr:nth-child(2n+1) td {
  background: #ccfffff;
}
.col1 {display: none; }
.col2 {display: none; }
.col3 {display: none; }

table.show1 .col1 { display: table-cell; }
table.show2 .col2 { display: table-cell; }
table.show3 .col3 { display: table-cell; }

.user-form { padding:20px; }
.user-form .field { padding: 4px; margin:1px; background: #eee; 
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
.user-form .field label { display:inline-block; width:120px; margin-left:5px; }
.user-form .field input { display:inline-block; }

.user-form { padding:20px; }
.field { padding: 4px; margin:0px; background: #eee; 
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
.field2{ padding: 4px; margin:0px; background: #dee; 
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
.field3 { padding: 4px; margin:0px; background: #cee; 
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
/* --- added in the 2026 refactor --- */

/* IBAN / form validation errors (was an inline <style> in the old views) */
.error {
    border: 3px solid red;
}
.error-text {
    color: red;
}

/* one-time flash messages (shown by layout/header) */
.flash {
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 5px;
}
.flash-success {
    background: #cfc;
    border: 1px solid #6c6;
    color: #151;
}
.flash-error {
    background: #fcc;
    border: 1px solid #c66;
    color: #511;
}

/* login page */
.login-box {
    max-width: 400px;
    margin: 40px auto;
    padding: 20px;
}
.login-box img {
    display: block;
    margin: 0 auto 10px;
    max-width: 120px;
}
