:root {
    --lc-red: #ba1b2e;
    --lc-dark-grey: #e9e9ed;
}

.lc-red {
    color: var(--lc-red);
}

.alert > .alert-message {
    margin: auto;
}

.alert-message .alert-message {
    padding: .25rem;
}

#appointmentFilter {
    width: 15em;
}

.multi-upload-input {
    margin-right: 0.5em;
}

.rounded-bottom-left-top-right {
    border-bottom-left-radius: 25px;
    border-top-right-radius: 25px;
}

.rounded-top-right {
    border-top-right-radius: 25px;
}

.rounded-bottom-left {
    border-bottom-left-radius: 25px;
}

.mouse-click-icon {
    cursor: pointer;
}

.ui-button {
    margin: 0.2em 0;
    border-radius: 1em;
}

.tx-lcappoints {
    display: flex;
    flex-direction: column;
}

.lcappoint-list {
    display: flex;
    flex-flow: column nowrap;
    margin: 0.1em 0;
    padding-left: 0.5em;
}

.lcappoint-list img:hover {
    background: #ffded9 none repeat scroll 0 0;
    border-radius: 25%;
}

.lcappoint-list > li {
    border: 2px solid rgb(186, 26, 46);
    border-bottom-left-radius: 1em;
    border-top-right-radius: 2.25em;
    list-style-type: none;
    margin-bottom: 0.5em;
    height: 6.5em;
    overflow: hidden;
    position: relative;
}

.flexList {
    padding-left: 0.3em;
    display: flex;
}

textarea, input, select, button {
    font-family: Verdana, Helvetica, sans-serif;
    font-size: 16px;
}

.property-column {
    display: flex;
    flex: 1 1 100%;
    flex-flow: column nowrap;
    overflow: hidden;
}

.lcapp-labelValueDiv > div {
    display: inline-block;
}

.lcapp-properties {
    display: flex;
    overflow: hidden;
    width: 100%;
}

.lcapp-labelValueDiv > div:first-child::after {
    content: ":\00a0";
}

.lcapp-labelValueDiv {
    height: 1.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

.lcapp-labelValueDiv:hover {
    overflow: visible;
    background: #f0f0f0;
    white-space: normal;
    height: inherit;
}

.lcapp-labelValueDiv > div:nth-child(2) {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Special styling for Legal Adviser email button - override height and hover effects */
.lcapp-labelValueDiv.lc-la-email-wrapper {
    height: auto;
    overflow: visible;
    white-space: normal;
}

.lcapp-labelValueDiv.lc-la-email-wrapper:hover {
    background: transparent;
    overflow: visible;
    white-space: normal;
    height: auto;
}

.lc-la-email-button {
    display: inline-block;
    text-decoration: none;
}

.lawyerEmailList {
}

.lawyerEmailList > p {
    display: inline-block;
}

.actions {
    /* height: 2.5rem; */
    align-items: center;
    background: rgb(186, 26, 46);
    color: white;
    /* overflow: hidden; */
}

li.lcapp-free {
    border: 2px solid #157f1f;
}

li.lcapp-free .actions {
    background: #157f1f;
}

.actions > div {
    float: left;
    line-height: 1em;
    white-space: nowrap;
}

.actions2 {
    padding-right: 0.3em;
    padding-top: 0.1em;
    min-height: 1.75rem;
    min-width: 1rem; /* Ensure consistent width even when empty */
    flex-shrink: 0; /* Prevent shrinking in flex layouts */
}

.hidden {
    display: none;
}

.lcapp-border {
    border-collapse: separate;
    border: 2px solid var(--lc-red);
    border-bottom-left-radius: 1em;
    border-top-right-radius: 2.25em;
    overflow: hidden;
}

.statistic {
    text-align: center;
}


table .translator {
    padding-right: 1.5em;
    border-spacing: 0.1em;
    margin-bottom: 0;
}

.lc-table {
    overflow: hidden;
}

.lc-table > table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

.lc-table > table > tbody > tr.even {
    background-color: white;
}

.lc-table > table > tbody > tr.odd {
    background-color: rgba(186, 26, 46, 0.2);
}

.lc-table > table > tbody > tr > td:first-child {
    text-align: right;
    padding: .5em .5em .5em 0;
    white-space: normal;
    -ms-word-break: break-all;
    word-break: break-all;

    /* Non standard for WebKit */
    word-break: break-word;

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

.lc-table > table > tbody > tr > td:nth-child(2) {
    width: 75%;
    vertical-align: middle;
}

.parentExpertise {
    border: 2px solid rgb(186, 26, 46);
    border-bottom-left-radius: 1em;
    border-top-right-radius: 1em;
    float: left;
    margin-bottom: 0.1em;
    margin-right: 0.5em;
    margin-top: 0.1em;
    padding: 0.15em 0.5em;
    width: 100%;
}

.subExpertises {
    padding: 0 0 0 1.5em;
}

.radioGroup {
    background: rgb(240, 240, 240) none repeat scroll 0 0;
    border: 0.1em solid rgb(200, 200, 200);
    border-radius: 1em;
    line-height: 1.75em;
    margin: 0.1em;
    min-height: 1.75em;
    padding: 0.2em 0.5em;
}

.radioGroup > label {
    display: table-cell;
}

.radioGroup > input[type=radio] + label {
    display: inline-block;
    line-height: 1.5em;
}

.radioGroup > input[type=radio] + label:hover {
    color: rgb(186, 26, 46);
}

.list-filter > div > label:first-child {
    float: left;
}

.object-filters {
    display: flex;
    align-items: center;
    background: var(--lc-dark-grey) none repeat scroll 0 0;
    padding: 0.5rem 0.5em;
}

.object-filters > label {
    margin: 0;
}

.object-filter-space {
    padding: 0 0.5rem;
}

.stat-date-filter {
    width: 10ch;
}

.cancel {
    display: inline-block;
}

.f3-widget-paginator {
    padding: 0;
}

.f3-widget-paginator > li {
    margin: 0.1em;
}

.f3-widget-paginator > li > a {
    color: #4c4c4c;
}

.f3-widget-paginator > li:hover > a {
    color: #ba1b2e;
}

.f3-widget-paginator > .current {
    color: #bbb;
}

.f3-widget-paginator > .current:hover {
    color: #bbb;
}

.required::after {
    content: "*";
    color: red;
}

.rating-wrapper {
    overflow: hidden;
    display: inline-block;
}

.rating-input {
    display: none;
    left: 0;
    top: -50px;
}

.rating-star:hover,
.rating-star:hover ~ .rating-star {
    cursor: pointer;
    background-position: 0 0;
}

.rating-wrapper:hover .rating-star:hover,
.rating-wrapper:hover .rating-star:hover ~ .rating-star,
.rating-input:checked ~ .rating-star {
    background-position: 0 0;
}

.rating-star,
.rating-wrapper:hover .rating-star {
    float: right;
    display: block;
    width: 25px;
    height: 25px;
    background: url('../Icons/Clocks.png') 0 -25px;
}

/*Terminverlauf Styling*/
.addInfBord {
    border: 3px solid #666;
    border-radius: 20%;
    color: #666;
    padding-bottom: 0.05em;
    font-weight: bold;
    text-align: center;
}

.infMandate {
    background: rgb(204, 248, 204);
}

.infnotthere {
    background: #fadceb;
}

.infFirsttime {
    background: #ffffff;
}

.workloadImg {
    float: left;
    width: 1.3em;
    height: 1.3em;
    background: white url('../Icons/Clocks.png') 0 0;
    background-size: 15px;
    border-radius: 20%;
    border: 3px solid #666;
    text-align: center;
    color: #666;
}

.workArrow {
    border-style: solid;
    border-width: 9px 0 9px 15px;
    border-color: transparent transparent transparent #ffffff;
}

.infoWorkload {
    display: none !important;
}

/* Hide workload field everywhere */
#workloadDiv {
    display: none !important;
}

.infoLightning {
    background: #000 none repeat scroll 0 0;
    border: 3px solid #666;
    border-radius: 20%;
    color: #666;
}

.legal-adviser-bar {
    display: flex;
    align-items: center;
}

.aul-app {
    display: inline-block;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    border-color: #f29400 #5dacd4 #a3bb39 #a3bb39;
    border-style: solid solid none solid;
    border-width: 2px;
    background: blanchedalmond;
}

[id^='stats'] {
    min-width: 1000px;
    background: var(--lc-red);
    table-layout: fixed;
    display: inline-block;
    /*padding: 0.5em;*/
    border-collapse: collapse;
}

[id^="stats"] p {
    margin-bottom: 0;
}

[id^='stats'] table {
    width: 100%;
}

[id^='stats'] tr.even {
    background-color: var(--lc-red);
    color: white;

}

[id^='stats'] tr.odd {
    background-color: rgba(255, 255, 255, 0.8);
}

[id^='stats'] tbody tr td:first-child {
    text-align: left;
    padding: 0.15em 1em;
}
[id^='stats'] tbody tr th:first-child {
    text-align: left;
    padding: 0.15em 1em;
}

[id^='stats']:not(#stats5):not(#stats4):not(#stats3) tbody tr td:not(:first-child) {
    text-align: center;
    vertical-align: middle;
}

.lc-appoint-menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #ffffff;
}

.lc-appoint-menu li {
    float: left;
}

.lc-appoint-menu li a {
    display: block;
    color: #444a53;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

.lc-appoint-menu li a:hover:not(.active) {
    color: #ba1b2e;
}

.lc-appoint-menu .active {
    background-color: #ba1b2e;
    color: white;
}

[id^='chart'] {
    height: 400px;
    width: 1000px;
}

#chart1 > table.jqplot-table-legend {
    max-height: 350px;
    overflow: auto;
    display: block;
    z-index: 1;
    width: 12em;
}

.jqplot-data-label {
    color: white;
}

.feedback-cost-assumption {
    background: radial-gradient(5px -9px, circle, white 8%, white 20px);
    background: -moz-radial-gradient(5px -9px, circle, white 8%, white 20px);
    background: -ms-radial-gradient(5px -9px, circle, white 8%, white 20px);
    background: -o-radial-gradient(5px -9px, circle, white 8%, white 20px);
    background: -webkit-radial-gradient(5px -9px, circle, white 8%, white 20px);
    background-color: white;
    border: 3px solid white;
    border-radius: 12px; /* one half of ( (border * 2) + height + padding ) */
    box-shadow: 1px 1px 1px black;
    color: white;
    font: bold 15px/13px Helvetica, Verdana, Tahoma;
    height: 20px;
    padding: 2px 5px 0 3px;
    text-align: center;
    min-width: 20px;
}

.feedback-cost-assumption-text {
    color: black;
    margin: 0;
}

.show-feedback label {
    margin-bottom: 0;
}


.appointment-documents { 
    max-height: 400px;
}
/* Prevent text selection on the row */
.appointment-documents .list-group-item {
    user-select: none;
    cursor: default;
}

.appointment-documents .list-group-item a {
    user-select: text; /* still allow selecting the filename if desired */
    cursor: pointer;
}

/* Form error styling */
textarea.f3-form-error {
    background-color: #FF9F9F;
    border: 1px #FF0000 solid;
}

input.f3-form-error {
    background-color: #FF9F9F;
    border: 1px #FF0000 solid;
}

.typo3-messages .message-error {
    color: red;
}

.typo3-messages .message-ok {
    color: green;
}

/* Navigation styling - Using Bootstrap classes with minimal custom styling for hover */
.navbar-nav .nav-link {
    border-radius: 0.375rem;
    margin: 0 0.25rem;
    transition: background-color 0.2s ease;
}

.navbar-nav .nav-link:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

/* Instant hover tooltip for badges */
.badge.position-relative {
    position: relative;
    overflow: visible !important;
}

.badge-tip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 4px;
    background: #000;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: .8rem;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity .05s linear;
    z-index: 99999;
    pointer-events: none;
}

.badge.position-relative:hover .badge-tip {
    opacity: 1;
    visibility: visible;
}

/* Ensure parent containers don't clip tooltips */
.lcapp-top-bar,
.actions {
    /* overflow: visible !important; */
}

/* Custom badge colors for appointment bar badges */
.badge-custom-translator {
    background-color: #66808c !important;
    color: #fff !important;
}

.badge-custom-eb {
    background-color: #646881 !important;
    color: #fff !important;
}

.badge-custom-cost {
    background-color: #f8f9fa !important;
    color: #000 !important;
}

.badge-custom-org-feedback {
    background-color: #2c3a53 !important;
    color: #fff !important;
}

.badge-custom-working {
    background-color: #345995 !important;
    color: #fff !important;
}

/* Round icon badges - all badges except Checked-In */
.badge-icon-round {
    width: 29px;
    aspect-ratio: 1 / 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: default;
}

/* Remove whitespace between inline badge elements */
.badge-container {
    font-size: 0;
    display: flex;
    align-items: center;
}

/* Reset font-size for all badges inside badge-container */
.badge-container .badge {
    font-size: 0.75rem; /* Bootstrap default badge font-size */
}

/* Reset font-size and ensure vertical alignment for action buttons inside badge-container */
.badge-container a,
.badge-container > div {
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Check-in button icon transition */
.lcapp-checkin-icon-wrapper,
.lcapp-checkin-icon-container {
    display: inline-block;
    width: 1em;
    height: 1rem;
    /* line-height: 1; */
    /* vertical-align: middle; */
}

.lcapp-checkin-icon-wrapper i,
.lcapp-checkin-icon-container i {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.2s ease;
}

.lcapp-checkin-icon-filled {
    opacity: 0;
}

.lcapp-checkin-icon-empty {
    opacity: 1;
}

.lcapp-book-self:hover .lcapp-checkin-icon-empty,
.lcapp-book-self:active .lcapp-checkin-icon-empty,
.lcapp-block-checkin-link:hover .lcapp-checkin-icon-empty,
.lcapp-block-checkin-link:active .lcapp-checkin-icon-empty {
    opacity: 0;
}

.lcapp-book-self:hover .lcapp-checkin-icon-filled,
.lcapp-book-self:active .lcapp-checkin-icon-filled,
.lcapp-block-checkin-link:hover .lcapp-checkin-icon-filled,
.lcapp-block-checkin-link:active .lcapp-checkin-icon-filled {
    opacity: 1;
}