/*
body.env_development {
    background-image: repeating-linear-gradient(45deg, transparent, transparent 35px, rgba(var(--bs-warning-rgb),.05) 35px, rgba(var(--bs-warning-rgb),.05) 70px);
}
*/

a { color: #6c93b9; }
a:hover { color: #5f7e9e; }
.nowrap { white-space: nowrap; }

a.nohighlight { text-decoration: none; }

body { padding-top: 65px; }

@media print {
    body { min-width: 692px !important; padding-top: 0; }
    nav.sidebar { padding-top: 0px; }
    [role="main"] { padding-top: 0px; }
    .col-lg-10[role="main"] { max-width: 100%; flex: 0 0 100%; }
    a:not(.btn) { text-decoration: none; }
    .d-print-border-none { border: none !important; }
    /* Wird per JS auf <body> gesetzt, solange die Summen (View/Controller/Company/timejobs.phtml,
    dritter "Kosten"-Button) ausgeblendet sind - die sonst grün/rot/orange gefärbte Betrags-Spalte
    (TimejobPricelist) soll dann beim Drucken schwarz erscheinen, mit sichtbaren Summen bleibt die
    Farbe unverändert. */
    body.print-plain-amount .fieldAmount,
    body.print-plain-amount .fieldAmount * {
        color: #000 !important;
        background: none !important;
    }
}

/*
 * Logfiles
 */
.log {
  display: block;
  font-size: 87.5%;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  white-space: pre;
}

/* Theme Chalet */
.btn-primary,
.btn-outline-primary:focus,
.btn-outline-primary:hover,
.btn-outline-primary:active,
.btn-outline-primary:focus-visible {
    background-color: #457989;
    border-color: #457989;
}

.btn-check:focus + .btn-primary, .btn-primary:focus {
    background-color: #457989;
    border-color: #457989;
    box-shadow: 0 0 0 .25rem rgba(82,156,160,.5);
}

.btn-outline-primary {
    border-color: #457989;
    color: #457989;
}

.bg-primary {
    background-color: #529ca0 !important;
}

.btn-check:active + .btn-primary,
.btn-check:checked + .btn-primary,
.btn-primary.active,
.btn-primary:active,
.show > .btn-primary.dropdown-toggle,
.btn-primary:hover {
    background-color: #529ca0;
    border-color: #529ca0;
}

.form-control:focus {
    border-color: #8bbfc2;
    box-shadow: 0 0 0 .25rem rgba(139,191,194,.25);
}

.pagination {
    --bs-pagination-color: #457989;
    --bs-pagination-hover-color: #529ca0;
    --bs-pagination-focus-color: #529ca0;
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(139,191,194,.25);
    --bs-pagination-active-bg: #457989;
    --bs-pagination-active-border-color: #457989;
}

.alert-chalet {
    color: #000000;
    background-color: #8bbfc2;
    border-color: #457989;
}

#main .nav-link { color: #457989; }
#main .nav-link:hover { color: #8bbfc2; }

.text-end { text-align: right !important; }

@media (max-width: 768px) {
    .table.table-sm-compact > :not(caption) > * > *  {
        padding: .3rem;
    }
}

/*
 * Datatable
 */

table.dataTable.compact.compact-xs thead th,
table.dataTable.compact.compact-xs tbody th,
table.dataTable.compact.compact-xs tbody td {
    padding: 2px;
    font-size: 0.75rem;
}

table.dataTable.compact.compact-xs thead th {
    font-weight: 600;
}

table.dataTable.compact.compact-xs thead > tr > th div.dt-column-header {
    gap: 2px;
}

table.dataTable.compact.compact-xs thead {
    --dt-order-arrow-width: 6px;
}

/*
 * DataTables Select checkbox glyph is vertically centered via a fixed
 * margin-top on its ::before pseudo-element, calibrated for DataTables'
 * own (much taller) "compact" row height. Our compact-xs rows are far
 * shorter (2px padding, 0.75rem font), so the built-in -12px compact
 * override overshoots and pushes the checkbox above the row. Restore the
 * default (non-compact) -6px offset for our narrower rows.
 */
table.dataTable.compact.compact-xs > tbody > tr > td.select-checkbox:before,
table.dataTable.compact.compact-xs > tbody > tr > th.select-checkbox:before {
    margin-top: -6px;
}

table.dataTable.compact.compact-xs > tbody > tr.selected > td.select-checkbox:after,
table.dataTable.compact.compact-xs > tbody > tr.selected > th.select-checkbox:after {
    margin-top: -6px;
}

/*
 * Empty select-checkbox cells have no content to size the column against,
 * so browsers shrink it to ~0 width - the checkbox glyph is centered via
 * left:50% of that tiny box, so it ends up hugging the column's left edge.
 * Give it a fixed minimum width so the centering math has room to work.
 */
table.dataTable td.select-checkbox,
table.dataTable th.select-checkbox {
    min-width: 24px;
    width: 24px;
}

/*
 * DataTables Select ships with its own saturated Bootstrap-5-blue as the
 * selected-row highlight (--dt_background-selected), which reads as a
 * foreign, overly bold block against this app's Bootstrap-4-style accent
 * (#007bff, see .sidebar .nav-link.active) and its normally subtle
 * striped/hover row tints. Swap it for a light tint of the app's own
 * accent color instead (Bootstrap 4's alert-primary palette).
 */
:root {
    --dt_background-selected: 204, 229, 255; /* #cce5ff */
    --dt_color-selected: 0, 64, 133;         /* #004085 */
    --dt_link_color-selected: 0, 64, 133;
}

/* Tint native checkboxes app-wide (form fields, "nicht ändern" toggles, ...)
 * to match the same accent color instead of the browser/OS default. */
input[type="checkbox"] {
    accent-color: #007bff;
}

table.dataTable.fullWidth {
    width:100%;
}

.table .alert { padding:1px; margin: 0;}

.table-bookings tr.state-canceled td { color: #aaaaaa; }
.table-bookings tr.state-request td { background-color: #e5eef7; }
.table-bookings tr.state-request:hover { background-color: #adc2d7; }

.table-bookings tr.state-active.date-gone td { background-color: #dfffcd; }
.table-bookings tr.state-active.date-gone:hover { background-color: #afdb96; }
.table-bookings tr.state-active.date-comming td { background-color: #f8f79d; }
.table-bookings tr.state-active.date-comming:hover { background-color: #dad973; }

table td.fit,
table th.fit {
    white-space: nowrap;
    width: 1%;
}
/*
 * Form
 */
 
form .row {
    margin-bottom: .6rem;
}

form.row-sm .row {
    margin-bottom: .2rem;
}

.form-sm .input-group {
    margin-bottom: .0rem;
}

.form-sm .form-control,
.form-sm .input-group-text {
    font-size: .875rem;
}

form.form-invalid {
    padding-left: 0.5rem;
    border-left: .25rem solid var(--bs-warning);
}

/* Chrome, Safari, Edge, Opera */
input.noArrows::-webkit-outer-spin-button,
input.noArrows::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input.noArrows[type=number] {
  -moz-appearance: textfield;
}

/* icons */
.fa-stack { font-size: 0.5em; }
.fa-stack.fa-stack-150 { font-size: 0.75em; }
.fa-stack i { vertical-align: middle; }

a.badge { text-decoration: none; }
a.badge:hover { color: #ffffff; }

/* reservation per year table */
.table-year { background-color: #ffffff; }
.table-year td { position: relative; }
.table-year td.cal-gone::after {
    content: "";
    position: absolute;
    inset: 0;
    background: white;
    opacity: 0.5;
    pointer-events: none;
}

.table-year .cal-month { vertical-align: top; }
.table-year td span.day-name { font-size: 0.5rem; }

.table-year td.cal-day {
    line-height: 0.5rem;
    text-align: center;
    padding: .5rem .1rem;
}

.table-year td.cal-suite {
    line-height: 0.5rem;
    padding: .75rem .1rem;
}

.table-year td.cal-r { background-color: #cccccc; }

@media (max-width: 768px) {
    .table-year {table-layout: fixed; width: 100%; }
    .table-year td.cal-month { font-size: 70%; padding: 0.35rem 0.1rem; line-height: 2rem; }
    .table-year td.cal-day {  font-size: 70%; padding: 0.35rem 0.05rem; line-height: 1rem;}
    .table-year .day-name {display: inline; }
}

@media (max-width: 576px) {
    .table-year td.cal-month { font-size: 50%; padding: 0.25rem 0.1rem; line-height: 1rem; }
    .table-year td.cal-day {  font-size: 55%; padding: 0.25rem 0.05rem; line-height: 1rem;}
    .table-year .day-name {display: none; }
}

.table-year td.cal-day a { text-decoration: none; }

.table-year td.cal-day.cal-we,
.table-year td.cal-day.cal-holiday { font-weight: bold; }
.table-year td.cal-day.cal-gone,
.table-year td.cal-day.cal-gone a { color: #aaaaaa; }
.table-year td.cal-day.cal-gone.cal-holiday,
.table-year td.cal-day.cal-gone.cal-holiday a { color: #c76f6f; }
.table-year td.cal-day.cal-comming,
.table-year td.cal-day.cal-comming a {color: #444444; }
.table-year td.cal-day.cal-comming.cal-holiday,
.table-year td.cal-day.cal-comming.cal-holiday a { color: #9c0c0c; }

table.table-year td.row-month { border-bottom-width: 3px; }

.table-year td.cal-holidayinfo { border-bottom-width: 2px; }
.table-year td.h00_00 { border-bottom-color: #CCCCCC; }
.table-year td.h01_19 { border-bottom-color: #E9EA70; }
.table-year td.h20_39 { border-bottom-color: #EAC670; }
.table-year td.h40_59 { border-bottom-color: #EAAC70; }
.table-year td.h60_89 { border-bottom-color: #EA8D70; }
.table-year td.h90_100 { border-bottom-color: #F85858; }

#HolidayHome__Form__Accounting__Expenses .input-group { margin-bottom: 0; }
