@property --jsl-form-text-default {
    syntax: "<color>";
    inherits: true;
    initial-value: #444;
}
@property --jsl-form-text-editable {
    syntax: "<color>";
    inherits: true;
    initial-value: #000;
}
@property --jsl-form-default-outline {
    syntax: "<color>";
    inherits: true;
    initial-value: #ccc;
}
@property --jsl-form-editable-outline {
    syntax: "<color>";
    inherits: true;
    initial-value: #6666b1;
}
@property --jsl-form-focused-outline {
    syntax: "<color>";
    inherits: true;
    initial-value: #290ada;
}


.jsl-form {
    .-row {
        display: flex;
        gap: 0.5rem;
        box-sizing: border-box;
        .-form-field {
            display: inline-block;
            font-family: system-ui;
            .-label {
                font-size: 90%;
                display: block;
                padding: 0.25rem 0.5rem;
                color: #444;
                user-select: none;
            }
            .-field {
                font-size: 120%;
                color: var(--jsl-form-text-default);
                box-shadow: inset 5px 5px 20px -5px  rgba(0,0,0,0.1);
                display: block;
                border: solid 1px var(--jsl-form-default-outline);
                border-radius: 0.25rem;
                padding: 0.25rem 0.5rem;
                line-height: 1.5rem;
                min-height: 1.5rem;
                &[contenteditable] {
                    border: solid 1px var(--jsl-form-editable-outline);
                    color: var(--jsl-form-text-editable);
                    &:focus {
                        border: solid 1px var(--jsl-form-focused-outline);
                    }
                }
                &.-number-field {
                    text-align: right;
                }
                &.-check-field {
                    border: none;
                    background: transparent;
                    box-shadow: none;
                    pointer-events: none;
                    user-select: none;
                    &.editable {
                        cursor: pointer;
                        pointer-events: all;
                        .-check-thumb {
                            background: #5a6977 !important;
                        }
                    }
                    .-check-box {
                        box-sizing: border-box;
                        padding: 0.25rem;
                        padding-left: 0em;
                        padding-right: 1rem;
                        border-radius: 0.25rem;
                        border: solid 1px #444;
                        background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0)), #929292;
                        color: #dddddd;
                        transition-property: padding;
                        transition-duration: 0.2s;
                        .-check-thumb {
                            border-radius: 0.25rem;
                            background-color: #444;
                            padding: 0.25rem 0.5rem;
                            box-shadow: 0px 0px 5px rgba(0,0,0,0.5), inset 0px 0px 2px rgba(255,255,255,0.2);
                            text-shadow: -1px 0px 0px rgba(0,0,0,0.5);
                        }
                        &.-check-on {
                            padding-left: 1rem;
                            padding-right: 0rem;
                            .-check-thumb {
                            background-color: #2c7416 !important;
                            }
                        }
                    }
                }
            }
        }
    }
}