/* Disposition und aufgeräumte Auftragsanzeige */
.disposition-seite { max-width: 1920px; }
.auftrag-detail-seite { max-width: 1480px; }
.disposition-seite .card, .auftrag-detail-seite .card { border: 1px solid #dde4ed; border-radius: 12px; box-shadow: 0 2px 10px #1a355509; }
.pre-wrap { white-space: pre-wrap; overflow-wrap: anywhere; }
.auftrag-detail-kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem; }
.auftrag-status { display: inline-flex; align-items: center; gap: .5rem; border-radius: 6px; padding: .3rem .65rem; font-size: .85rem; font-weight: 600; }
.status-kontakt { background: #fce9e9; color: #a62121; }
.status-anruf { background: #e7f0ff; color: #2459a5; }
.status-ware { background: #e4f3e9; color: #226940; }
.status-termin { background: #e9effa; color: #284d86; }
.status-pruefung { background: #fff2da; color: #8a5900; }
.status-neutral { background: #edf0f4; color: #47566a; }
.status-rand-kontakt { border-left-color: #cd4848 !important; }
.status-rand-anruf { border-left-color: #4a79c4 !important; }
.status-rand-ware { border-left-color: #409265 !important; }
.status-rand-pruefung { border-left-color: #c68b28 !important; }
.auftrag-kurzinfo { display: grid; grid-template-columns: 1.2fr .7fr 1.25fr 1.2fr; gap: 1rem; padding: 1.1rem 1.2rem; background: #f4f7fb; border: 1px solid #e0e6ef; border-radius: 12px; }
.auftrag-kurzinfo > div { display: flex; flex-direction: column; gap: .3rem; }
.auftrag-kurzinfo span, .auftrag-kurzinfo small { color: #586b83; font-size: .8rem; }
.auftrag-kurzinfo strong { font-size: .9rem; font-weight: 600; }
.auftrag-reiter { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: 1px solid #dce4ee; }
.auftrag-reiter button { padding: .75rem 1rem; border: 0; border-bottom: 3px solid transparent; color: #596a80; background: transparent; font-weight: 600; font-size: .9rem; }
.auftrag-reiter button.aktiv { color: #185ba3; border-bottom-color: #216ab5; }
.auftrag-reiter button:hover { background: #f3f7fb; }
.auftrag-uebersicht { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); gap: 1.5rem; }
.auftrag-datenzeile { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; font-size: .85rem; }
.auftrag-datenzeile span { color: #64748b; }
.auftrag-geraet { padding: 1rem 0; border-bottom: 1px solid #e4eaf1; }
.auftrag-geraet:first-of-type { padding-top: .2rem; }
.auftrag-geraet:last-of-type { border-bottom: 0; padding-bottom: 0; }
.auftrag-antworten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem 1.4rem; }
.auftrag-antworten > div { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem .5rem; border-radius: 4px; background: #f6f8fb; font-size: .85rem; }
.auftrag-antworten strong { white-space: pre-wrap; }
.auftrag-verlauf-kurz { display: flex; flex-direction: column; gap: .3rem; padding: .9rem 0; border-bottom: 1px solid #e6ebf2; }
.auftrag-verlauf-kurz:last-child { border-bottom: 0; }
.auftrag-verlauf-kurz span { color: #64748b; font-size: .8rem; }
.auftrag-verlauf { padding: 1rem; border-left: 3px solid #d3dfed; border-bottom: 1px solid #e5ebf2; margin-bottom: .6rem; }
.auftrag-stammdaten { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; margin: 0; }
.auftrag-stammdaten dt, .auftrag-stammdaten dd { padding: .6rem .7rem; margin: 0; border-bottom: 1px solid #e6ebf2; font-size: .9rem; }
.auftrag-stammdaten dt { color: #566980; font-weight: 500; }
.auftrag-aktionen { border: 1px solid #dfe6ef; border-radius: 8px; margin-bottom: 1rem; }
.auftrag-aktionen > summary { padding: 1rem; font-weight: 600; color: #243d59; cursor: pointer; }
.auftrag-aktionsinhalt { padding: .4rem 1rem 1rem; }
.disposition-arbeitsplatz { display: grid; grid-template-columns: 305px minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.disposition-offene-liste { max-height: 950px; overflow-y: auto; }
.disposition-auftrag { padding: 1rem; margin: 0 .6rem .6rem; border: 1px solid #e1e7ef; border-left: 4px solid #8ea3bc; border-radius: 7px; }
.disposition-kalender { overflow: hidden; }
.disposition-kalender-scroll { overflow-x: auto; }
.disposition-kalendertage { display: grid; grid-template-columns: repeat(7, minmax(155px, 1fr)); min-width: 1120px; }
.disposition-kalendertage.ein-tag { grid-template-columns: 1fr; min-width: 0; }
.disposition-kalendertag { border-right: 1px solid #dfe6ee; padding: .7rem .5rem; background: #fff; }
.disposition-kalendertag:last-child { border-right: 0; }
.disposition-kalendertag.gesperrt { background: #fff0f0; border-top: 4px solid #b42318; }
.disposition-kalendertag.gesperrt .disposition-tagkopf { color: #9f241c; }
.slot-tag.gesperrt { background: #fff0f0; border: 1px solid #e6a7a2; }
.slot-tag.gesperrt .slot-tag-kopf { color: #9f241c; }
.disposition-tagkopf { display: flex; flex-direction: column; gap: .3rem; padding: .5rem .25rem .8rem; font-size: .85rem; }
.disposition-tagkopf > span { font-size: .78rem; }
.disposition-tagkopf .badge { align-self: start; white-space: normal; text-align: left; }
.disposition-slotstand { color: #345b84; font-weight: 600; }
.disposition-slotstand.ueberlast { color: #ab2424; }
.disposition-taghilfe { margin: .3rem 0 .8rem; padding: .5rem; border-radius: 5px; background: #edf1f6; }
.disposition-kalenderfenster { min-height: 115px; border-top: 1px solid #e2e8f0; padding-top: .7rem; padding-bottom: .7rem; }
.disposition-fensterkopf { display: flex; flex-direction: column; gap: .3rem; padding: 0 .2rem .6rem; font-size: .8rem; }
.disposition-fensterkopf span { color: #667992; font-size: .72rem; }
.disposition-terminkarte { padding: .65rem; border-radius: 6px; background: #eaf2fc; border-left: 3px solid #3e7ac2; font-size: .8rem; margin-bottom: .5rem; overflow-wrap: anywhere; }
.disposition-terminkarte.ausnahme { background: #fff3de; border-left-color: #c48b25; }
.disposition-terminkarte.bestand { background: #fbece5; border-left-color: #bf7350; }
.slot-buchung { max-width: 1200px; }
.disposition-dialog-hintergrund { position: fixed; inset: 0; z-index: 1080; background: #18304988; display: flex; justify-content: center; align-items: start; padding: 4vh 1rem; overflow-y: auto; }
.disposition-buchungsdialog { width: min(1220px, 100%); max-height: 92vh; overflow-y: auto; outline: none; }
.slot-kundenkopf { background: #f3f7fc; padding: 1rem; border-radius: 8px; }
.slot-sonderbedarf { padding: .8rem 1rem; border: 1px solid #dfe6ef; border-radius: 8px; }
.slot-tage { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: .9rem; }
.slot-tag { border: 1px solid #dbe4ef; border-radius: 8px; padding: .85rem; }
.slot-tag-kopf { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: .6rem; }
.slot-fenster { display: flex; flex-direction: column; gap: .4rem; }
.slot-fenster-button { display: flex; flex-direction: column; align-items: start; gap: .2rem; text-align: left; border: 1px solid #d5e2f1; background: #f3f8ff; border-radius: 6px; padding: .6rem .75rem; color: #285a8d; font-size: .85rem; }
.slot-fenster-button span { font-size: .75rem; }
.slot-fenster-button:hover:not(:disabled) { border-color: #3275ba; background: #e8f2ff; }
.slot-fenster-button.ausgewaehlt { background: #1d66aa; border-color: #1d66aa; color: #fff; }
.slot-fenster-button.ausnahme { border-color: #dbb776; }
.slot-fenster-button:disabled { background: #f1f3f6; color: #748094; opacity: .8; cursor: not-allowed; }
.slot-bestaetigung { padding: 1.1rem; background: #f0f6fd; border: 1px solid #c9dced; border-radius: 8px; }
.slot-einstellung-zeile { display: grid; grid-template-columns: 1fr 1fr 80px 38px; gap: .5rem; margin-bottom: .5rem; }
.slot-einstellung-zeile .form-control { min-width: 0; }
@media (max-width: 1100px) {
    .disposition-arbeitsplatz { grid-template-columns: 1fr; }
    .disposition-offene-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); max-height: 360px; }
    .auftrag-kurzinfo { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .auftrag-uebersicht { grid-template-columns: 1fr; }
    .auftrag-antworten { grid-template-columns: 1fr; }
    .auftrag-kurzinfo { grid-template-columns: 1fr; }
    .auftrag-reiter button { padding: .65rem; font-size: .8rem; }
    .auftrag-stammdaten { grid-template-columns: 1fr; }
    .auftrag-stammdaten dt { border-bottom: 0; padding-bottom: .1rem; }
    .slot-einstellung-zeile { grid-template-columns: 1fr 1fr 60px 32px; gap: .3rem; }
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

:root {
    /* =====================================================
       LITAuftragOnline Markenfarben
       ===================================================== */

    --lit-blau: #1770B8;
    --lit-blau-dunkel: #11588F;
    --lit-blau-hell: #E8F2FA;
    --lit-orange: #EB5005;
    --lit-orange-dunkel: #C94300;
    --lit-orange-hell: #FFF0E8;
    --lit-grau: #565655;
    --lit-anthrazit: #252B32;
    --lit-anthrazit-dunkel: #1B2026;
    /* Oberfläche */

    --lit-hintergrund: #F4F6F8;
    --lit-oberflaeche: #FFFFFF;
    --lit-text: #292D32;
    --lit-text-dezent: #68727C;
    --lit-rahmen: #DCE1E6;
    /* Zustände */

    --lit-erfolg: #287D4D;
    --lit-warnung: #B77900;
    --lit-fehler: #C9363E;
    --lit-radius: 0.65rem;
    --lit-schatten: 0 2px 8px rgba(25, 35, 45, 0.09);
}

/* =========================================================
   Buttons
   ========================================================= */

.btn {
    min-height: 44px;
    padding: 0.55rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.96rem;
    font-weight: 600;
}

.btn-primary {
    color: #ffffff;
    background-color: var(--lit-blau);
    border-color: var(--lit-blau);
}

    .btn-primary:hover,
    .btn-primary:focus {
        color: #ffffff;
        background-color: var(--lit-blau-dunkel);
        border-color: var(--lit-blau-dunkel);
    }

.btn-danger {
    font-weight: 600;
}

.btn-outline-secondary {
    color: var(--lit-grau);
    border-color: #ADB5BD;
}

    .btn-outline-secondary:hover {
        color: #ffffff;
        background-color: var(--lit-grau);
        border-color: var(--lit-grau);
    }


/* Optionaler LIT-Aktionsbutton */

.btn-lit-orange {
    color: #ffffff;
    background-color: var(--lit-orange);
    border-color: var(--lit-orange);
}

    .btn-lit-orange:hover,
    .btn-lit-orange:focus {
        color: #ffffff;
        background-color: var(--lit-orange-dunkel);
        border-color: var(--lit-orange-dunkel);
    }
