padding: .5em 3em;
box-shadow: inset 0 0 .5em #000;
}
-body.cards > .menu a[href="/cards/"],
-body.courses > .menu a[href="/courses/"] {
+body.ledgers > .menu a[href$="/ledgers/"],
+body.courses > .menu a[href$="/courses/"],
+body.cards > .menu a[href$="/cards/"] {
color: #000;
background-color: #FFF;
box-shadow: none;
/* =========== FILTER AND SEARCH Headers ========= */
-form.categories,
+form.upload, form.categories,
form.search, form.sort, form.filter, form.newcard, form.newcourses {
- margin-top: 1em; padding: 0 1em;
+ margin-top: 1em; padding: .125em 1em 0 1em;
z-index: 1;
}
form.filter > h1 { display: none; }
form.filter button[value=export_csv] { margin-left: 1em; }
body.courses form .order { display: inline-block; margin-right: 2em;}
+body.courses form.search.sort fieldset { margin-top: .5em; }
body.cards form.newcard { display: flex; }
body.cards form.newcard input[name=seed] { flex: 1; }
+form.upload label {
+ display: block;
+ font-weight: bold;
+ margin-top: .5em;
+}
+
/* ============ LIST ITEMS, Generic ============= */
form .control .item.delete { bottom: .125em; right: .25em; }
}
+
+/* ======= LIST ITEMS, Cards ======= */
+
+form.card .attendance div.attendance,
+form.card .attendance div.categories {
+ max-height: 10em;
+ overflow-y: auto;
+}
+form.card .attendance label {
+ display: inline-block;
+ width: calc(100% - 2em);
+ vertical-align: top;
+ margin-bottom: 0;
+}
+form.card .attendance input { margin-top: .375em; }
+
+
/* ======= LIST ITEMS, Courses ======= */
form.course .dtstart input[name=DTS_YEAR],
body.categories form.namelist ul.namelist > li ul li {
display: inline-block;
}
+
+
+/* ======== Ledgers Page ======== */
+
+form.ibanassign,
+form.ledgers {
+ padding: .125em 1em 0 1em;
+}
+
+.ibanassign fieldset.iban.sure { background-color: #DFD; }
+.ibanassign fieldset.iban.guess { background-color: #FFD; }
+.ibanassign fieldset.iban.unknown { background-color: #FDD; }
+
+.ibanassign fieldset.iban {
+ padding: 0 .75em;
+ margin-top: -.5em;
+ box-shadow: .25em .25em .25em #AAA;
+}
+.ibanassign fieldset.iban legend {
+ top: .75em;
+}
+.ibanassign fieldset.iban p.principal {
+ font-size: .875em;
+}
+.ibanassign fieldset.iban p.date,
+.ibanassign fieldset.iban p.amount {
+ font-size: .875em;
+ display: inline-block;
+ vertical-align: top;
+ margin-right: .75em;
+ margin-bottom: 0;
+}
+.ibanassign fieldset.iban p.amount {
+ font-weight: bold;
+}
+
+.ibanassign fieldset.iban.sure .card { margin-right: 1em; }
+
+.ibanassign fieldset.iban input[name^="fn_"].disabled {
+ pointer-events: none;
+}
+.ibanassign fieldset.iban input[name^="check_"],
+.ibanassign fieldset.iban input[name^="check_"] + input,
+.ibanassign fieldset.iban input[name^="check_"] + input + label {
+ display: none;
+}
+.ibanassign fieldset.iban input[name^="check_"]:checked + input,
+.ibanassign fieldset.iban input[name^="check_"]:checked + input + label.del,
+.ibanassign fieldset.iban input[name^="check_"] + input + label.del + input + input + label.add,
+.ibanassign fieldset.iban input[name^="check_"]:checked + input + label + input + input + label.add {
+ display: inline;
+}
+.ibanassign fieldset.iban input[name^="check_"]:checked + input + label.add,
+.ibanassign fieldset.iban input[name^="check_"] + input + label.del + input:checked + input + label.add,
+.ibanassign fieldset.iban input[name^="check_"]:checked + input + label + input:checked + input + label.add {
+ display: none;
+}
+
+.ibanassign fieldset.iban input[name^="check_"] + input + label {
+ vertical-align: bottom;
+ line-height: 2.5em;
+ padding: .375em .625em;
+ border: .5pt solid;
+}
+.ibanassign fieldset.iban input[name^="check_"] + input + label.add {
+ background-color: #DFD;
+ border-radius: 2pt;
+}
+.ibanassign fieldset.iban input[name^="check_"] + input + label.del {
+ margin: 0 .5em 0 -.25em;
+ background-color: #FDD;
+ border-radius: 0 2pt 2pt 0;
+}
+
+.ibanassign input[name^="use_"] {
+ display: none;
+}
+.ibanassign input[name^="use_"]:checked + fieldset.iban.guess { background-color: #EFD; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban.unknown { background-color: #FED; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban input {
+ background-color: #DFD;
+ pointer-events: none;
+ border-color: #888;
+}
+.ibanassign input[name^="use_"]:checked + fieldset.iban label.del,
+.ibanassign input[name^="use_"]:checked + fieldset.iban label.add {
+ display: none !important;
+}
+
+.ibanassign fieldset.iban label[for^="use_"] {
+ display: block;
+ float: right;
+ padding: .25em .5em;
+ background-color: #DDF;
+ border: 1pt solid;
+}
+
+.ibanassign input[name^="use_"] + fieldset.iban label[for^="use_"] { display: block; }
+.ibanassign input[name^="use_"] + fieldset.iban label[for^="use_"] + label[for^="use_"] { display: none; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban label[for^="use_"] { display: none; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban label[for^="use_"] + label[for^="use_"] { display: block; }
+
+.ibanassign > button {
+ position: sticky;
+ bottom: 0;
+ margin: auto;
+ display: block;
+}
+
+body.ledgers .transactions {
+ width: 98%;
+ width: calc(100% - 2em);
+ margin: auto;
+}
+body.ledgers .transactions thead {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+}
+body.ledgers .transactions th {
+ text-align: left;
+ background-color: #FFF;
+}
+body.ledgers .transactions td {
+ vertical-align: top;
+ font-family: monospace;
+ font-size: 12pt;
+}
+
+body.ledgers .transactions td:nth-child(2n) {
+ background-color: #DDD;
+}
+body.ledgers .transactions td:nth-child(2n + 1) {
+ background-color: #EEE;
+}
+
+body.ledgers .transactions .date {
+ min-width: 8em;
+}
+body.ledgers .transactions .orig span {
+ display: block;
+}
+body.ledgers .transactions .amount,
+body.ledgers .transactions .balance {
+ vertical-align: bottom;
+ min-width: 6em;
+ text-align: right;
+}
+
+body.ledgers .transactions .reference textarea {
+ width: 100%;
+}
+body.ledgers .transactions .orig input[type=date],
+body.ledgers .transactions .date input[type=date],
+body.ledgers .transactions .amount input[type=number] {
+ display: block;
+ width: 100%;
+}
+
+body.ledgers .transactions .orig input:not(:checked) + label + input[type=date] {
+ background-color: #DDD;
+ border-color: #888;
+ pointer-events: none;
+}