/*
This stylesheet defines the base style for the application, and many utility
classes to use for common style variants. Prefer to use the styles defined here
rather than with your own CSS.
*/

* {
    -fx-theme-text: rgb(26, 26, 26);
    -fx-theme-text-secondary: rgb(99, 99, 99);
    -fx-theme-background: rgb(237, 237, 237);
    -fx-theme-background-2: rgb(232, 232, 232);
    -fx-theme-background-3: rgb(220, 220, 220);
    -fx-theme-negative: rgb(247, 37, 69);
    -fx-theme-positive: rgb(43, 196, 77);
    -fx-theme-warning: rgb(250, 177, 2);

    -fx-theme-account-type-checking: rgb(3, 127, 252);
    -fx-theme-account-type-savings: rgb(57, 158, 74);
    -fx-theme-account-type-credit-card: rgb(207, 8, 68);
    -fx-theme-account-type-brokerage: rgb(130, 17, 242);
}

.root {
    -fx-font-family: "Roboto", sans-serif;
    -fx-font-size: 14px;
    -fx-text-fill: -fx-theme-text;
    -fx-background-color: -fx-theme-background;
}

Text {
    -fx-fill: -fx-theme-text;
}

Label {
    -fx-text-fill: -fx-theme-text;
}

/* Font/text styles */
.mono-font {
    -fx-font-family: "JetBrains Mono", monospace;
}

.largest-font {
    -fx-font-size: 24px;
}
.large-font {
    -fx-font-size: 18px;
}
.small-font {
    -fx-font-size: 12px;
}
.smallest-font {
    -fx-font-size: 10px;
}

.error-text {
    -fx-font-size: small;
    -fx-text-fill: -fx-theme-negative;
}

.bold-text {
    -fx-font-weight: bold;
}

.italic-text {
    -fx-font-style: italic;
}

.std-padding {
    -fx-padding: 3px;
}
.padding-extra {
    -fx-padding: 6px;
}
.padding-extra-1 {
    -fx-padding: 10px;
}

.std-spacing {
    -fx-spacing: 3px;
}
.spacing-extra {
    -fx-spacing: 6px;
}
.spacing-extra-1 {
    -fx-spacing: 10px;
}

.hand-cursor {
    -fx-cursor: hand;
}

/* Standard "tile" styling. */
.tile-container {
    -fx-padding: 10px;
    -fx-spacing: 10px;
    -fx-hgap: 10px;
    -fx-vgap: 10px;
}
.tile-container-scroll {
    -fx-fit-to-height: true;
    -fx-fit-to-width: true;
}

.tile {
    -fx-background-color: -fx-theme-background-2;
    -fx-padding: 10px;
}

.tile:hover {
    -fx-background-color: derive(-fx-theme-background-2, -5%);
}

.tile-selected {
    -fx-background-color: -fx-theme-background-3;
}

.history-tile {
    -fx-background-color: -fx-theme-background-2;
    -fx-padding: 10px;
    -fx-background-radius: 15px;
}

/* Validation styling. */
.validation-field-invalid {
    -fx-border-color: -fx-theme-negative;
    -fx-border-width: 2px;
    -fx-border-style: solid;
    -fx-border-radius: 2px;
}

/* Standard colors */
.normal-color-text-fill {
    -fx-text-fill: -fx-theme-text;
}
.normal-color-fill {
    -fx-fill: -fx-theme-text;
}

.secondary-color-text-fill {
    -fx-text-fill: -fx-theme-text-secondary;
}
.secondary-color-fill {
    -fx-fill: -fx-theme-text-secondary;
}

.negative-color-text-fill {
    -fx-text-fill: -fx-theme-negative;
}
.negative-color-fill {
    -fx-fill: -fx-theme-negative;
}

.positive-color-text-fill {
    -fx-text-fill: -fx-theme-positive;
}
.positive-color-fill {
    -fx-fill: -fx-theme-positive;
}

.warning-color-text-fill {
    -fx-text-fill: -fx-theme-warning;
}

/* DEBUG BORDERS */
.debug-border-1 {
    -fx-border-color: red;
}

.debug-border-2 {
    -fx-border-color: lime;
}

.debug-border-3 {
    -fx-border-color: blue;
}

.debug-border-4 {
    -fx-border-color: magenta;
}
