
:root {
    font-size: 12px;
    line-height: 1.4;
}

body {
    background-color: #32313c;
}

input {
    border: 0;
}
.input {
    border: 1px solid black;
    border-radius: 2px;
    display: inline-block;
}

/*
 * Highlights the field a validation error belongs to, not just the red
 * error text next to it — on a long form the text alone was easy to
 * miss. FieldErrorHandler (JS) adds/removes .is-invalid on the actual
 * input; :has() redenns the visible .input border wrapper too (the raw
 * input itself has border:0, so the wrapper is what the customer
 * actually sees as a box).
 */
input.is-invalid,
textarea.is-invalid {
    outline: 2px solid #dc3545;
    background-color: #fff5f5;
}
.input:has(input.is-invalid) {
    border-color: #dc3545;
    border-width: 2px;
}

/*
 * Signature field sits inside a large <font size="6"> wrapper (the "X"
 * mark), which visually shrinks the actual clickable input relative to
 * its border box — the border looked much bigger than the type target.
 * Force both to the same explicit size so the whole box is clickable.
 */
.input input[name="signature"] {
    font-size: 16px;
    width: 320px;
    height: 32px;
}
.input:has(input[name="signature"]) {
    width: 320px;
    height: 32px;
}

[type="checkbox"],
[type="radio"] {
    margin: 0;
}

[type="checkbox"] + label,
[type="radio"] + label {
    position: relative;
    top: -2px;
    padding-left: 4px;
}

small {
    font-size: 10px;
}

.error {
    color: red;
    margin-bottom: 5px;
}

.main-error {
    font-size: 18px;
}

.loading {
    opacity: 0.5;
    pointer-events: none;
}

.loader {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1000;
    background-color: rgba(0,0,0,0.90);
    display: none;
    background-image: url('https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif');
    background-position: center center;
    background-repeat: no-repeat;
}

.loader.loading {
    display: block;
}

input[readonly] {
    pointer-events: none;
    background-color: #cccccc;
    border: 1px solid black;
}

.form-step-table {
    border: 0.4px solid rgba(0,0,0,0.25);
    background-color: #E5E9EC;
    padding: 10px;
    width: 1000px;
    margin: 10px auto 0;
}

.form-field-table {
    border: none;
    background-color: white;
    padding: 10px;
    width: 100%;
}

.l-border {
    border-left: 1px solid black;
    padding-left: 15px;
}

.form-table {
    background-color: white;
    box-shadow: 1px 1px 4px black;
    padding: 10px 25px;
}

.input + button {
    margin-left: 10px;
    margin-right: 5px;
}

#record-number-table button[type="reset"] {
    background-image: none;
    background-color: red;
    border: none;
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    float: right;
}
