
html, body {
    height: 100%;
    min-height: 100% !important;

}


.main-page-header {
    margin-left: 0;
    font-size: 2.25rem !important;
    color: #6c757d !important;

}


hr.dashed-separator {
    border-top: 1px dashed #9e9c98;
    margin-top: .5rem;
    margin-bottom: .5rem;
}


.fill {
    min-height: 100%;
    height: 100%;
}

[v-cloak] {
    display: none;
}

tbody {
    font-weight: 300 !important;
}

.background-red {
    background-color: #ffb1b1;
}

.background-yellow {
    background-color: #f1d87f;

}

.background-green {
    background-color: #bbe4bb;

}

.background-none {
    background-color: #e0e0e0;
}

.small-close {
    margin-left: 5px;
    font-size: 14px;
}


.bg-light {
    background-color: #f8fafb !important;
}

.cursor-pointer {
    cursor: pointer;
}


.cursor-initial {
    cursor: initial;
}

.client-task-div, .task-reminder-div {
    font-size: 14px;
    color: #504f4f;
    margin: 2px 2px;
    padding: 4px;
    border: 1px solid #bfbebe;
    cursor: pointer;
    position: relative;

}

.dropdown-item {
    color: #5c6166 !important;

}

.table-row-selected {
    background-color: #cfe8f9 !important;
    color: #0f0f0f !important;
}

.dataTables_processing {
    z-index: 2 !important;
}

.dataTables_scrollBody {

    min-height: 200px;

}

/*table {*/
/*margin: 0 auto;*/
/*width: 100%;*/
/*clear: both;*/
/*border-collapse: collapse;*/
/*table-layout: fixed!important;*/
/*word-wrap: break-word!important;*/
/*}*/

.selected-main-menu-item {
    color: white !important;

}

.dropdown-menu .dropdown-item {
    color: #6c757d !important;
}

.nav-item .dropdown-toggle::after {
    display: none !important;
}

.dropdown-item .fa-lg {
    font-size: 1em !important;

}

.form-group {
    margin-bottom: 0.2rem !important;
}

:root {


    --info: #bf6172;
    --cyan: #bf6172;

}

.btn-circle {
    width: 30px;
    height: 30px;
    text-align: center;
    padding: 6px 0;
    font-size: 12px;
    line-height: 1.428571429;
    border-radius: 15px;
}

.btn-circle.btn-lg {
    width: 50px;
    height: 50px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 25px;
}

.btn-circle.btn-xl {
    width: 70px;
    height: 70px;
    padding: 10px 16px;
    font-size: 24px;
    line-height: 1.33;
    border-radius: 35px;
}

#vanillatoasts-container {
    z-index: 2 !important;
    top: 60px !important;
    width: 400px;
}

.toast-part-title {
    font-weight: 400 !important;
    font-size: 18px !important;
    margin-bottom: 5px;
    background-color: #70acd6;
    padding: 4px;
    /* border-bottom: 2px #fdfafa solid; */
    color: white;
}

.link-to-calendar {
    background-color: #70acd6;
    color: white;
    transition: .5s;
}

.link-to-calendar:hover {
    background-color: white;
    color: #70acd6;
    transition: .5s;
}


.toast-part-client, .toast-part-description {
    border-bottom: 1px solid #b1b1b1;
    color: #383636;
    background-color: #aee0f3;
    padding: 5px;
}


.toast-part-expiry-date {
    color: #383636;
    padding: 5px;

}


.vanillatoasts-info {
    box-shadow: 3px 4px 8px 1px #c1c1c1;
    color: #606060;
    background-color: #cee1f3;;
    border: 1px #cac4c4 solid;
}

.vanillatoasts-warning {
    box-shadow: 3px 4px 8px 1px #c1c1c1;
    color: #595959;
    background-color: #e1fdc9;;
    border: 1px #cac4c4 solid;
}


.vanillatoasts-error {
    box-shadow: 3px 4px 8px 1px #c1c1c1;
    color: white;
    background-color: #ee5460;;
}

.vanillatoasts-error > .vanillatoasts-text {
    color: white;
}


.vanillatoasts-toast {
    margin: 8px !important;
    border-radius: 16px;
    padding: 10px !important;

}

.dropdown-divider {
    overflow: hidden;
    border-top: 1px solid #d1d2d3;
}

#vanillatoasts-container p, #vanillatoasts-container h4 {
    margin: 0 !important;
}

.component-summary {
    padding: 0 3px;
    font-weight: 200;
    color: #363b3f;
    border-radius: 9px;
    margin: 0 0 5px;
    font-size: 13px;

}

.component-summary-item {

    border-bottom: 1px dashed #e6e3e3;
    margin-bottom: 4px;
    padding: 0 15px;

}

.component-summary-empty-text {
    color: #a9b5bd;

}

.small-button-from-icon {
    color: #818284;
    margin: 0px 2px;
    padding: 1px 5px;
}

.is-invalid-select2 {
    border-color: #dc3545 !important;
    padding-right: 2.25rem !important;
}

.is-invalid-datepicker {
    border: #dc3545 solid 1px;
}

/* fix for bad red icon position  */
.form-control.is-invalid, .was-validated .form-control:invalid {
    background-position: right 1.2em center !important;
}

.message-box-component-header {
    font-weight: 300 !important;
}

.message-box-component-header-common {
    background-color: #72b8f5;
    color: #1d61ab;
}


.message-box-component-header-success {
    background-color: #5bb777;
    color: #ffffff;
}


.message-box-component-header-warning {
    background-color: #fdd7d7;
    color: #f10808 !important;
}


/*new*/


td {
    font-size: 14px;
    padding: 3px 5px !important;
}

thead {
    font-size: 15px !important;

}


.modal-dialog,
.modal-content {
    /*min-height: 80%;*/
    height: auto;
}

.modal-footer, .modal-header {
    padding: 5px 10px;
}

.btn-secondary {
    background-color: transparent !important;
    color: #5f5f5f;
    border-color: #bcbcbc;
}

.btn-secondary:hover {
    color: #141414;
    background-color: #f4f4f3 !important;

}


.btn-light {
    border: 1px #c1c2c3 solid !important;
}


/*tool tip fix*/
.tooltip {
    top: 0;
!important;
}


.vdp-datepicker-input-style-class {
    width: 110px;
    border-radius: 4px !important;
    border: #d2d2d2 solid 1px !important;
    color: #616161 !important;
    font-size: .875em !important;
    height: 2em;
    padding-left: .4em;
}

.switched-reminder-date-field-container {
    width: 280px;

}


.vdp-datepicker-input-style-class.data-not-valid {
    border: #e03030 solid 1px !important;
}


.data-not-valid {
    border: #e03030 solid 1px !important;
}


.text-very-small {
    font-size: 11px;
}

.text-small {
    font-size: 13px;
}


.items-table-row {
    cursor: pointer;
}


.status-indicator-container .singles-container {
    align-items: center;
    /*background-color: gainsboro;*/
    border: #bfc0c1 solid 1px;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 75px;
    height: 30px !important;
    border-radius: 9px;
}


.traffic-light-single {
    width: 21px !important;
    height: 21px !important;
    border-radius: 10px;
}


/* REMINDERS COLORS SECTION */
.reminder-background-red {
    color: #4c4c4c !important;
    background-color: #dc3645;
}

.reminder-background-green {
    color: #4c4c4c !important;
    background-color: #43dd9f;
}

.reminder-background-deep-green {
    background-color: #19af19;
}

.reminder-background-yellow {
    color: #4c4c4c !important;
    background-color: #ffc107;
}

.reminder-background-deep-red {
    background-color: #ef1a1a;
}

.reminder-background-blue {
    background-color: #226aa5;
}

.reminder-background-grey {
    background-color: #c7c7c7;
}

.reminder-black-text {
    color: black !important;
}


.strike-out {
    text-decoration: line-through;
    text-decoration-color: #a9a8a8;
    text-decoration-style: solid;
    text-decoration-thickness: 2px;

}


/* FIX FOR transparent btn-secondary after click */
.show > .btn-secondary.dropdown-toggle {
    color: #232323 !important;
    background-color: #545b62;
    border-color: #4e555b;
}


.modal-dialog > .modal-content {
    box-shadow: #6d6c6c 0 5px 9px 0;

}


.dropdown-small-left-padding{
    padding-left: 0.3rem!important;
}
/* 2026-09-09: highlight the menu entry of the current page (class "active" set in views/layouts/main.php) */
.navbar-dark .navbar-nav .nav-item.active > .nav-link {
    color: #fff;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 0.25rem;
    box-shadow: inset 0 -3px 0 #28a745;
}

/* 2026-09-09: action bar of the client documents tab (views/vue-components/client_file/client_file_table.php) */
.client-files-actions .btn-group .btn:disabled {
    opacity: 0.45;
}

/* 2026-09-09: phone layout, stage 1 (Farsad uses a Samsung A55, ~412 px wide).
   Pure CSS below 768 px; the desktop layout is untouched. */
@media (max-width: 767.98px) {
    .container-fluid { padding-left: 8px; padding-right: 8px; }
    .main-page-header { font-size: 1.35rem !important; }

    /* top navigation: finger-sized entries in the collapsed menu */
    .navbar-dark .navbar-nav .nav-link { padding: .7rem .9rem; font-size: 1.1rem; }
    .navbar-dark .navbar-nav .dropdown-item { padding: .6rem 1.2rem; font-size: 1.05rem; }

    /* overview tiles: two per row, compact, without the decorative icon */
    .overview-component-container > .overview-item-container {
        flex: 1 1 45%; min-width: 0 !important; height: auto !important;
        margin: .4rem .3rem 0 0 !important;
    }
    .overview-item-container > .wrapper > .d-inline-block.ml-3 { display: none !important; }
    .overview-item-container > .wrapper > .info { display: block !important; padding: .3rem .5rem; }
    .overview-item-container > .wrapper > .info > .value { font-size: 1.3em; }
    .overview-item-container > .wrapper > .info > .title { min-width: 0 !important; }

    /* tables: readable text, tighter cells (they scroll sideways via .table-responsive) */
    .client-extra-items-table-text { font-size: 15px !important; padding: 6px 4px !important; margin: 0 !important; }
    .table-responsive { -webkit-overflow-scrolling: touch; }

    /* buttons and action menus: finger-sized */
    .btn-sm, .btn-group-sm > .btn { padding: .45rem .7rem; font-size: .95rem; }
    .dropdown-menu .dropdown-item { padding: .65rem 1rem; font-size: 1rem; }

    /* client header: one line per piece of information instead of one long line */
    .client-top-header-component-class-container h5 { display: block !important; margin-left: 0 !important; font-size: 1.05rem; line-height: 1.5; }
    .client-status-component-class-container { display: block; }

    /* file tabs (Stammdaten, Gericht, ...) wrap into several rows */
    .nav-tabs.tabs-style-tzoid .nav-link { padding: .5rem .6rem; font-size: .95rem; }

    /* dialogs: use the whole width, wide content scrolls inside */
    .modal-dialog { margin: .5rem auto; max-width: calc(100% - 1rem); }
    .modal-body { overflow-x: auto; }

    /* form labels sit above their fields, left-aligned */
    .col-form-label.text-right { text-align: left !important; }

    /* documents action bar: full width, wraps */
    .client-files-actions { float: none !important; display: flex !important; width: 100%; }
    .client-files-actions .btn-group { flex-wrap: wrap; }
}
