/**
 * This file is part of Gotim
 * Copyright (C) 2026 jordi fita mas <jordi@tandem.blog>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

  :root
, [data-bs-theme="light"]
{
	--gotim-contrast-rgb: 58, 50, 43;
	--gotim-base-rgb: 241, 238, 229;
	--gotim-degradat-1-rgb: 97, 91, 85;
	--gotim-degradat-2-rgb: 137, 132, 128;
	--gotim-degradat-3-rgb: 176, 173, 170;
	--gotim-degradat-4-rgb: 216, 214, 213;
	--gotim-accent-1-rgb: 251, 225, 152;
	--gotim-accent-2-rgb: 246, 165, 143;
	--gotim-accent-3-rgb: 160, 177, 240;
	--gotim-accent-4-rgb: 188, 213, 188;
	--gotim-contrast-1-rgb: 239, 204, 109;
	--gotim-contrast-2-rgb: 209, 134, 113;
	--gotim-contrast-3-rgb: 134, 153, 220;
	--gotim-contrast-4-rgb: 146, 168, 146;

	--gotim-contrast: rgb(var(--gotim-contrast-rgb));
	--gotim-base: rgb(var(--gotim-base-rgb));
	--gotim-degradat-1: rgb(var(--gotim-degradat-1-rgb));
	--gotim-degradat-2: rgb(var(--gotim-degradat-2-rgb));
	--gotim-degradat-3: rgb(var(--gotim-degradat-3-rgb));
	--gotim-degradat-4: rgb(var(--gotim-degradat-4-rgb));
	--gotim-accent-1: rgb(var(--gotim-accent-1-rgb));
	--gotim-accent-2: rgb(var(--gotim-accent-2-rgb));
	--gotim-accent-3: rgb(var(--gotim-accent-3-rgb));
	--gotim-accent-4: rgb(var(--gotim-accent-4-rgb));
	--gotim-contrast-1: rgb(var(--gotim-contrast-1-rgb));
	--gotim-contrast-2: rgb(var(--gotim-contrast-2-rgb));
	--gotim-contrast-3: rgb(var(--gotim-contrast-3-rgb));
	--gotim-contrast-4: rgb(var(--gotim-contrast-4-rgb));

	--bs-body-bg: var(--gotim-base);
	--bs-body-color-rgb: var(--gotim-contrast-rgb);
	--bs-body-font-family: 'Space Mono', monospace;
	--bs-border-color: var(--gotim-contrast);
	--bs-border-radius: 0;
	--bs-box-shadow: none;
	--bs-danger-rgb: var(--gotim-contrast-2-rgb);
	--bs-info-rgb: var(--gotim-contrast-4-rgb);
	--bs-light-rgb: var(--gotim-base-rgb);
	--bs-link-color-rgb: var(--gotim-contrast-2-rgb);
	--bs-link-color: rgb(var(--bs-link-color-rgb));
	--bs-link-hover-color-rgb: var(--gotim-contrast-rgb);
	--bs-link-hover-color: rgb(var(--bs-link-hover-color-rgb));
	--bs-primary-rgb: var(--gotim-contrast-4-rgb);
	--bs-tertiary-bg: var(--gotim-degradat-3);
	--bs-white-rgb: var(--gotim-base-rgb);
}

  @font-face
{
	font-family: 'Space Mono';
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: local('Space Mono'), url(../Fonts/space-mono-latin-400-normal.woff2) format('woff2');
}

  @font-face
{
	font-family: 'Space Mono';
	font-style: italic;
	font-display: swap;
	font-weight: 400;
	src: local('Space Mono'), url(../Fonts/space-mono-latin-400-italic.woff2) format('woff2');
}

  @font-face
{
	font-family: 'Space Mono';
	font-style: normal;
	font-display: swap;
	font-weight: 700;
	src: local('Space Mono'), url(../Fonts/space-mono-latin-700-normal.woff2) format('woff2');
}

  @font-face
{
	font-family: 'Space Mono';
	font-style: italic;
	font-display: swap;
	font-weight: 700;
	src: local('Space Mono'), url(../Fonts/space-mono-latin-700-italic.woff2) format('woff2');
}

  .dropdown-menu
{
	--bs-dropdown-link-active-bg: var(--gotim-contrast-4);
}

  .nav
{
	--bs-nav-link-color: var(--bs-link-color);
	--bs-nav-link-hover-color: var(--bs-link-hover-color);
}

  .nav-pills
{
	--bs-nav-pills-link-active-bg: var(--gotim-contrast-4);
}

  .card
{
	--bs-card-spacer-x: 2rem;
	--bs-card-spacer-y: 2rem;
	--bs-card-border-color: var(--gotim-contrast);
	--bs-card-border-width: 3px;
	--bs-card-border-radius: 1rem;
	--bs-card-border-style: dashed;
	border-style: var(--bs-card-border-style);
}

  .card-header
{
	border-bottom-style: var(--bs-card-border-style);
}

  .card-footer
{
	border-top-style: var(--bs-card-border-style);
}

  .form-control:focus
, .select2-container--bootstrap-5.select2-container--focus .select2-selection
, .select2-container--bootstrap-5.select2-container--open .select2-selection
, .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field:focus
{
	border-color: var(--gotim-contrast-3);
	box-shadow: 0 0 0 .25rem rgba(var(--gotim-contrast-3-rgb), .25);
}

  .form-control[readonly], .form-select[readonly]
{
	background-color: var(--gotim-degradat-4);
}

  input[required].form-control:not(:read-only)
{
	background-image: linear-gradient(to bottom, rgba(var(--gotim-contrast-1-rgb), .5), rgba(var(--gotim-contrast-1-rgb), .25));
}

  select[required].form-select.select2 + .select2-container--bootstrap-5 .select2-selection
{
	box-shadow: 0 0 0 0.2rem rgba(var(--gotim-contrast-1-rgb), 0.4) !important;
}

  .select2-container--bootstrap-5 .select2-selection
, .select2-container--bootstrap-5 .select2-dropdown
, .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field
{
	color: var(--bs-body-color);
}

  .select2-container--bootstrap-5 .select2-selection
, .select2-container--bootstrap-5 .select2-dropdown
, .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field
{
	background-color: var(--bs-body-bg);
	border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
}

  .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted
, .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected
, .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected="true"]:not(.select2-results__option--highlighted)
{
	color: var(--bs-body-bg);
	background-color: var(--gotim-contrast-3);
}

  .btn-primary
{
	--bs-btn-color: var(--gotim-contrast);
	--bs-btn-bg: var(--gotim-accent-4);
	--bs-btn-border-color: var(--gotim-accent-4);
	--bs-btn-hover-color: var(--gotim-base);
	--bs-btn-hover-bg: var(--gotim-degradat-1);
	--bs-btn-hover-border-color: var(--gotim-degradat-1);
	--bs-btn-active-color: var(--gotim-base);
	--bs-btn-active-bg: var(--gotim-degradat-1);
	--bs-btn-active-border-color: var(--gotim-degradat-1);
	--bs-btn-disabled-color: var(--gotim-base);
	--bs-btn-disabled-bg: rgba(var(--gotim-degrat-1-rgb), 0.5);
	--bs-btn-disabled-border-color: rgba(var(--gotim-degrat-1-rgb), 0.5);
}

  .form-check-input:checked
{
	background-color: var(--bs-link-color);
	border-color: var(--bs-link-color);
}

/* Phosphor Icons “drop-in” */

  @font-face
{
	font-family: 'Phosphor';
	font-style: normal;
	font-display: block;
	font-weight: normal;
	src: url(../Fonts/Phosphor@2.1.2.woff2) format('woff2');
}

  .fa-classic
, .fa-regular
, .fa-solid
, .far
, .fas
, .fa
{
	font-family: Phosphor !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	display: var(--fa-display, inline-block);
	text-rendering: auto;

	letter-spacing: 0;
	-webkit-font-feature-settings: "liga";
	-moz-font-feature-settings: "liga=1";
	-moz-font-feature-settings: "liga";
	-ms-font-feature-settings: "liga" 1;
	font-feature-settings: "liga";
	-webkit-font-variant-ligatures: discretionary-ligatures;
	font-variant-ligatures: discretionary-ligatures;

	--fa: "\e3ce";

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

  .fa-brands::before
, .fa-regular::before
, .fa-solid::before
, .fa::before
, .fab::before
, .far::before
, .fas::before
{
	content: var(--fa);
}

  .fa-fw
{
	text-align: center;
	width: 1.25em;
}

  .fa-lg
{
	font-size: 1.25em;
	line-height: .05em;
	vertical-align: -.075em;
}

  .fa-2x
{
	font-size: 2em;
}

  .fa-3x
{
	font-size: 3em;
}

  .fa-spin
{
	animation-name: fa-spin;
	animation-duration: var(--fa-animation-duration, 2s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, linear);
}

  .fa-shake
, .fa-spin
{
	animation-delay: var(--fa-animation-delay, 0s);
	animation-direction: var(--fa-animation-direction, normal);
}

  @keyframes fa-spin
{
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.fa-address-book { --fa: "\e6f8" }
.fa-address-card { --fa: "\e2c8" }
.fa-align-center { --fa: "\e480" }
.fa-align-left { --fa: "\e484" }
.fa-align-right { --fa: "\e486" }
.fa-angles-down { --fa: "\e126" }
.fa-angles-up { --fa: "\e12c" }
.fa-arrow-left { --fa: "\e058" }
.fa-arrow-right { --fa: "\e06c" }
.fa-balance-scale { --fa: "\e750" }
.fa-bars { --fa: "\e2f0" }
.fa-bell { --fa: "\e0ce" }
.fa-book { --fa: "\e0e2" }
.fa-bookmark { --fa: "\e0e8" }
.fa-book-open { --fa: "\e0e6" }
.fa-boxes { --fa: "\e390" }
.fa-box { --fa: "\e390" }
.fa-box-open { --fa: "\e418" }
.fa-building { --fa: "\e100" }
.fa-calculator { --fa: "\e538" }
.fa-calendar-alt { --fa: "\e108" }
.fa-calendar-check { --fa: "\e712" }
.fa-calendar { --fa: "\e108" }
.fa-chart-line { --fa: "\e154" }
.fa-check-double { --fa: "\e53a" }
.fa-check { --fa: "\e182" }
.fa-check-square { --fa: "\e186" }
.fa-chevron-down { --fa: "\e136" }
.fa-circle-check { --fa: "\e184" }
.fa-circle { --fa: "\e18a" }
.fa-circle-info { --fa: "\e2ce" }
.fa-circle-question { --fa: "\e3e8" }
.fa-city { --fa: "\ea6a" }
.fa-cloud-download-alt { --fa: "\e1ac" }
.fa-code { --fa: "\e1bc" }
.fa-cog { --fa: "\e270" }
.fa-cogs { --fa: "\e87c" }
.fa-copy { --fa: "\e1ca" }
.fa-credit-card { --fa: "\e1d2" }
.fa-cubes { --fa: "\e1da" }
.fa-database { --fa: "\e1de" }
.fa-door-open { --fa: "\e7e6" }
.fa-download { --fa: "\e20a" }
.fa-envelope { --fa: "\e214" }
.fa-euro-sign { --fa: "\e554" }
.fa-external-link-alt { --fa: "\e5de" }
.fa-eye { --fa: "\e220" }
.fa-eye-slash { --fa: "\e224" }
.fa-fax { --fa: "\e3c8" }
.fa-file-csv { --fa: "\eb1c" }
.fa-file-excel { --fa: "\eb22" }
.fa-file-export { --fa: "\eaf0" }
.fa-file { --fa: "\e230" }
.fa-file-import { --fa: "\e20c" }
.fa-file-invoice { --fa: "\ee42" }
.fa-file-medical-alt { --fa: "\e000" }
.fa-fill-drip { --fa: "\e392" }
.fa-filter { --fa: "\e266" }
.fa-flag { --fa: "\e244" }
.fa-folder { --fa: "\e24a" }
.fa-folder-plus { --fa: "\e258" }
.fa-globe-americas { --fa: "\e28c" }
.fa-hammer { --fa: "\e80e" }
.fa-hard-drive { --fa: "\e29e" }
.fa-hashtag { --fa: "\e2a2" }
.fa-history { --fa: "\e1a0" }
.fa-home { --fa: "\e2c2" }
.fa-hourglass-half { --fa: "\e2b8" }
.fa-id-card { --fa: "\e2c8" }
.fa-image { --fa: "\e2ca" }
.fa-inbox { --fa: "\e4aa" }
.fa-info-circle { --fa: "\e2ce" }
.fa-keyboard { --fa: "\e2d8" }
.fa-key { --fa: "\e2d6" }
.fa-language { --fa: "\e4a2" }
.fa-list { --fa: "\e2f2" }
.fa-location-dot { --fa: "\e316" }
.fa-lock { --fa: "\e2fa" }
.fa-low-vision { --fa: "\e222" }
.fa-magnifying-glass { --fa: "\e30c" }
.fa-mail-bulk { --fa: "\e1cc" }
.fa-map-marked { --fa: "\ee3a" }
.fa-map-pin { --fa: "\ee3e" }
.fa-map-signs { --fa: "\e89c" }
.fa-memory { --fa: "\e9c4" }
.fa-minus-square { --fa: "\ed4c" }
.fa-mobile-alt { --fa: "\e1e0" }
.fa-money-bill-alt { --fa: "\e588" }
.fa-paperclip { --fa: "\e39a" }
.fa-paper-plane { --fa: "\e398" }
.fa-people-roof { --fa: "\e68e" }
.fa-percentage { --fa: "\e3b6" }
.fa-phone { --fa: "\e3b8" }
.fa-piggy-bank { --fa: "\ea04" }
.fa-plug { --fa: "\e946" }
.fa-plus { --fa: "\e3d4" }
.fa-plus-square { --fa: "\ed4a" }
.fa-print { --fa: "\e3dc" }
.fa-redo { --fa: "\e036" }
.fa-registered { --fa: "\e3f4" }
.fa-reply { --fa: "\e024" }
.fa-save { --fa: "\e248" }
.fa-search { --fa: "\e30c" }
.fa-server { --fa: "\e2a0" }
.fa-shield-halved { --fa: "\e410" }
.fa-sliders { --fa: "\e432" }
.fa-sort { --fa: "\e140" }
.fa-sort-numeric-down { --fa: "\e444" }
.fa-spinner { --fa: "\e66a" }
.fa-square { --fa: "\e45e" }
.fa-table { --fa: "\e476" }
.fa-tags { --fa: "\e478" }
.fa-times { --fa: "\e4f6" }
.fa-tools { --fa: "\eca0" }
.fa-trash-alt { --fa: "\e4a6" }
.fa-undo { --fa: "\E038" }
.fa-up-right-from-square { --fa: "\e5de" }
.fa-user-check { --fa: "\eafa" }
.fa-user-circle { --fa: "\e4c4" }
.fa-user-cog { --fa: "\e4cc" }
.fa-user { --fa: "\e4c2" }
.fa-user-lock { --fa: "\ea3c" }
.fa-users { --fa: "\e4d6" }
.fa-user-shield { --fa: "\e4cc" }
.fa-user-tie { --fa: "\e0ee" }
.fa-wand-magic-sparkles { --fa: "\e6b6" }
.fa-warehouse { --fa: "\ecd4" }
.fa-wrench { --fa: "\e5d4" }
