/* iOS look (admin only) */
body.admin-portal { background-color: #f4f6fa !important; color: #1c1c1e; }
body.admin-portal.embedded { background-color: white !important; margin: 0 !important; padding: 0 !important; }
body.admin-portal h2 { font-size: 1.85rem; font-weight: 700; letter-spacing: -.02em; color: #1c1c1e; }
body.admin-portal label { color: #6e6e73; font-weight: 500; }
body.admin-portal .form-control { border-radius: .65rem; border-color: #d1d1d6; }
body.admin-portal .form-control:focus { border-color: #254a96; box-shadow: 0 0 0 .2rem rgba(37,74,150,.2); }
body.admin-portal .btn { border-radius: .65rem; font-weight: 500; }

/* Header logo */
.navbar .navbar-brand { display: flex; align-items: center; padding-top: .25rem; padding-bottom: .25rem; }
.navbar .navbar-logo { height: 46px; width: auto; display: block; }

/* Footer (CI) */
footer.site-footer { background: transparent; border-top: 1px solid #e5e5ea; padding: .9rem 0; margin-top: 2rem; }
footer.site-footer .container { display: flex; justify-content: center; }
footer.site-footer p { margin: 0; font-size: .78rem; color: #8e8e93; }

/* Select dropdowns (CI) */
body.admin-portal select.form-control {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    padding-right: 2.25rem; cursor: pointer;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23254a96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .8rem center; background-size: 14px 14px;
}
body.admin-portal select.form-control:hover:not(:disabled) { border-color: #254a96; }
body.admin-portal select.form-control:disabled {
    cursor: default;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23aeaeb2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
}
body.admin-portal select.form-control::-ms-expand { display: none; }
body.admin-portal select.form-control option:checked { background-color: #254a96; color: #fff; }

/* Custom CI select */
body.admin-portal .ci-select { position: relative; width: 100%; }
body.admin-portal .ci-select .ci-select-native { position: absolute; opacity: 0; pointer-events: none; height: 100%; width: 100%; left: 0; top: 0; }
body.admin-portal .ci-select-button {
    text-align: left; cursor: pointer; padding-right: 2.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23254a96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .8rem center; background-size: 14px 14px;
}
body.admin-portal .ci-select-button:hover:not(:disabled) { border-color: #254a96; }
body.admin-portal .ci-select-button:focus,
body.admin-portal .ci-select.open .ci-select-button { border-color: #254a96; box-shadow: 0 0 0 3px rgba(37,74,150,.18); outline: none; }
body.admin-portal .ci-select.open .ci-select-button { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23254a96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 10l4-4 4 4'/%3E%3C/svg%3E"); }
body.admin-portal .ci-select.disabled .ci-select-button { cursor: default; background-color: #f8f9fb; color: #6c757d;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23aeaeb2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E"); }
body.admin-portal .ci-select-label:empty::before { content: "\00a0"; }
body.admin-portal .ci-select-list {
    display: none; position: absolute; z-index: 2000; left: 0; right: 0; top: calc(100% + .3rem);
    margin: 0; padding: .35rem; list-style: none; background: #fff; border-radius: .85rem;
    box-shadow: 0 10px 30px rgba(16,24,40,.18); max-height: 16rem; overflow-y: auto;
}
body.admin-portal .ci-select.open .ci-select-list { display: block; }
body.admin-portal .ci-select-option { padding: .45rem .75rem; border-radius: .5rem; cursor: pointer; color: #1c1c1e; font-size: .92rem; line-height: 1.5; min-height: calc(1.5em + .9rem); box-sizing: border-box; outline: none; }
body.admin-portal .ci-select-option.selected { color: #254a96; background-color: rgba(37,74,150,.08); }
body.admin-portal .ci-select-option:focus { background-color: rgba(37,74,150,.08); }
body.admin-portal .ci-select-option:hover { background-color: #254a96; color: #fff; }
body.admin-portal .ci-select-option.disabled { color: #aeaeb2; cursor: default; background: none; }
body.admin-portal .ci-select-group { padding: .45rem .75rem .2rem; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #8e8e93; }

/* Navbar dropdown menus (CI) */
body.admin-portal .navbar .dropdown-menu { border: 0; border-radius: .85rem; padding: .4rem; margin-top: .4rem; box-shadow: 0 10px 30px rgba(16,24,40,.15); min-width: 14rem; }
body.admin-portal .navbar .dropdown-item { border-radius: .5rem; padding: .45rem .75rem; font-size: .92rem; color: #1c1c1e; }
body.admin-portal .navbar .dropdown-item:hover,
body.admin-portal .navbar .dropdown-item:focus,
body.admin-portal .navbar .dropdown-item.active,
body.admin-portal .navbar .dropdown-item:active { background-color: #254a96 !important; color: #fff !important; outline: none; }
body.admin-portal .navbar .dropdown-toggle::after { border: 0; width: .5rem; height: .5rem; vertical-align: .15em; margin-left: .4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
body.admin-portal .navbar .show > .dropdown-toggle::after { transform: rotate(-135deg) translateY(-2px); }

body.admin-portal .filter-card,
body.admin-portal fieldset { border: 0; border-radius: 1rem; box-shadow: none; }
body.admin-portal .filter-card-toggle { color: #1c1c1e; }
body.admin-portal .filter-card .filter-reset { color: #254a96 !important; }
body.admin-portal .filter-card .filter-reset-wrapper { display: block !important; width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; text-align: left !important; margin: .75rem 0 0 !important; padding: 0 !important; }
body.admin-portal .filter-card .form-group > label,
body.admin-portal .result-count { color: #6c757d !important; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

/* Tables: grouped list */
body.admin-portal .table-responsive { background: #fff; border-radius: 1rem; }
body.admin-portal .table { margin-bottom: 0; background: transparent; }
body.admin-portal .table-striped tbody tr:nth-of-type(odd) { background-color: transparent; }
body.admin-portal .table thead th { background: #fff; color: #8e8e93; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; border-top: 0; border-bottom: 1px solid #e5e5ea; }
body.admin-portal .table td { border-top: 0; border-bottom: 1px solid #e5e5ea; vertical-align: middle; }
body.admin-portal .table tbody tr:last-child td { border-bottom: 0; }
body.admin-portal .table tbody tr:hover { background-color: rgba(37,74,150,.09); }
body.admin-portal td.actions a { color: #8e8e93; }
body.admin-portal td.actions a.row-delete { color: #aeaeb2; }
body.admin-portal td.actions a:hover { background-color: rgba(37,74,150,.1); color: #254a96; }
body.admin-portal td.actions a.row-delete:hover { background-color: rgba(188,33,75,.1); color: #bc214b; }
body.admin-portal .badge { border-radius: 1rem; }
body.admin-portal .badge-danger { background-color: #bc214b; }
body.admin-portal .badge-light { background-color: #e5e5ea; color: #3a3a3c; }

/* Modals: iOS + compact */
body.admin-portal div.edit-modal { background-color: rgba(0,0,0,.35); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
body.admin-portal div.edit-modal div.form-edit { border-radius: 1rem; padding: 0 1rem .9rem; margin: .75rem 0; box-shadow: 0 12px 40px rgba(0,0,0,.2); }
body.admin-portal div.edit-modal div.form-edit-head { padding: .7rem 15px; margin-bottom: .6rem; }
body.admin-portal div.edit-modal #title { font-size: 1.05rem; font-weight: 600; }
body.admin-portal div.edit-modal a#close { background-color: #e5e5ea; color: #8e8e93; width: 1.75rem; height: 1.75rem; font-size: 1.1rem; }
body.admin-portal div.edit-modal div.form-edit > .row:last-child { margin-top: .25rem; padding-top: .75rem; }
body.admin-portal div.edit-modal .form-group { margin-bottom: .75rem; }
body.admin-portal div.modal-content { border-radius: 1rem; box-shadow: 0 12px 40px rgba(0,0,0,.2); }
body.admin-portal .modal-backdrop.show { opacity: .35; background-color: #000; }
body.admin-portal .modal-header { padding: .7rem 1rem; }
body.admin-portal .modal-body { padding: .9rem 1rem; }
body.admin-portal .modal-footer { padding: .6rem 1rem; }
body.admin-portal .modal-header,
body.admin-portal .modal-footer,
body.admin-portal .form-edit-head,
body.admin-portal .form-edit-footer,
body.admin-portal div.edit-modal div.form-edit > .row:last-child { border-top: 0 !important; border-bottom: 0 !important; }
body.admin-portal .form-edit hr { display: none; }
body.admin-portal .modal-dialog { margin-top: .75rem; margin-bottom: .75rem; }

/* Pagination */
body.admin-portal .filter-card-toggle > span,
body.admin-portal .filter-card-toggle .fa-filter,
body.admin-portal .filter-card-toggle .filter-card-chevron { color: #254a96 !important; }
body.admin-portal .pagination .page-link { font-weight: 600; color: #254a96; }
body.admin-portal .pagination .page-link.active,
body.admin-portal .pagination .page-item.active .page-link { background: #254a96 !important; border-color: #254a96 !important; box-shadow: 0 2px 6px rgba(37,74,150,.35); }

/* Checkboxes */
body.admin-portal .row > [class*="col"]:has(> .form-group > select.form-control, > .form-group > .ci-select) { display: flex; flex-direction: column; }
body.admin-portal .row > [class*="col"] > .form-group { flex: 1 1 auto; display: flex; flex-direction: column; }
body.admin-portal .row > [class*="col"] > .form-group > select.form-control,
body.admin-portal .row > [class*="col"] > .form-group > .ci-select,
body.admin-portal .row > [class*="col"] > .form-group > input.form-control { margin-top: auto; }
body.admin-portal .row > .form-group[class*="col"] { display: flex; flex-direction: column; }
body.admin-portal .row > .form-group[class*="col"] > select.form-control,
body.admin-portal .row > .form-group[class*="col"] > .ci-select,
body.admin-portal .row > .form-group[class*="col"] > input.form-control { margin-top: auto; }
body.admin-portal .row > .form-group[class*="col"] > .btn,
body.admin-portal .row > [class*="col"] > .form-group > .btn { align-self: flex-start; }
body.admin-portal #btnAddInjury, body.admin-portal #btnAddIllness { align-self: flex-start; font-size: .9rem; }
body.admin-portal input[type=checkbox] {
    -webkit-appearance: none; appearance: none;
    width: 1.15rem; height: 1.15rem; margin: 0; flex-shrink: 0;
    border: 1.5px solid #c7c7cc; border-radius: .35rem; background: #fff;
    display: inline-grid; place-content: center; vertical-align: middle;
    cursor: pointer; transition: background-color .15s, border-color .15s, box-shadow .15s;
}
body.admin-portal input[type=checkbox]::after {
    content: ""; width: .32rem; height: .6rem; margin-top: -.12rem;
    border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(0);
    transition: transform .12s ease-in-out;
}
body.admin-portal input[type=checkbox]:checked { background-color: #254a96; border-color: #254a96; }
body.admin-portal input[type=checkbox]:checked::after { transform: rotate(45deg) scale(1); }
body.admin-portal input[type=checkbox]:hover:not(:disabled) { border-color: #254a96; }
body.admin-portal input[type=checkbox]:focus { outline: none; }
body.admin-portal input[type=checkbox]:focus-visible { box-shadow: 0 0 0 .2rem rgba(37,74,150,.25); }
body.admin-portal input[type=checkbox]:disabled { cursor: default !important; opacity: .55; }
body.admin-portal input[type=checkbox]:disabled + label,
body.admin-portal input[type=checkbox]:disabled ~ .form-check-label,
body.admin-portal .form-check:has(input[type=checkbox]:disabled),
body.admin-portal td:has(> input[type=checkbox]:disabled) { cursor: default !important; }

body.admin-portal .form-check { display: inline-flex; align-items: center; padding-left: 0; margin-right: 1.25rem; }
body.admin-portal .form-check .form-check-input { position: static; margin: 0 .5rem 0 0; }
body.admin-portal .form-check .form-check-label { font-size: .9rem; font-weight: 500; color: #6e6e73; cursor: pointer; margin: 0; }

/* Titelbereich Erhebungsbögen */
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) h2.title { font-size: 1.3rem; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; margin: .25rem 0 .75rem; text-wrap: balance; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .intro { margin-bottom: 1.25rem; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .intro p { font-size: .875rem; line-height: 1.45; color: #6e6e73; margin-bottom: .5rem; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .intro p:last-child { margin-bottom: 0; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .intro b { font-weight: 600; color: #3a3a3c; }
@media (max-width: 575.98px) { body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) h2.title { font-size: 1.2rem; } }

/* Checkboxes Erhebungsbögen (mobile Bedienung) */
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) input[type=checkbox] { width: 1.5rem; height: 1.5rem; border-width: 2px; border-radius: .45rem; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) input[type=checkbox]::after { width: .42rem; height: .8rem; border-width: 0 2.5px 2.5px 0; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .form-check { display: flex; width: 100%; min-height: 48px; margin-right: 0; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .form-check .form-check-input { margin: 0 .85rem 0 0; }
body.admin-portal :is(.add-surveyhealth, .add-surveyhealthlongterm, .add-surveysatisfaction) .form-check .form-check-label { flex: 1 1 auto; padding: .75rem 0; font-size: 1rem; color: #3a3a3c; }

/* Disabled checkboxes: keep readable, highlight checked state */
body.admin-portal input[type=checkbox]:disabled { opacity: 1; background-color: #f2f2f7; border-color: #d1d1d6; }
body.admin-portal input[type=checkbox]:disabled:checked { background-color: #8fa3cc; border-color: #8fa3cc; }

/* Labels wrapping a checkbox (e.g. medical history) */
body.admin-portal label:has(> input[type=checkbox]) { display: flex; align-items: center; gap: .6rem; padding: .45rem .25rem; margin: 0; font-size: .9rem; font-weight: 400; color: #8e8e93; }
body.admin-portal label:has(> input[type=checkbox]:checked) { color: #1c1c1e; font-weight: 600; }

/* Login page (iOS look) */
body:has(.content.login), body:has(.content.connect) { background-color: #f4f6fa !important; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; font-size: .9375rem; line-height: 1.45; }
.content.login { padding-top: 2rem; padding-bottom: 2rem; }

/* Connect page */
.content.connect { padding-top: 2rem; padding-bottom: 2rem; }
.content.connect h2 { font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em; color: #1c1c1e; margin-bottom: 1rem; }
.content.connect .logo img { max-width: 140px; margin-bottom: 1.25rem; }
.content.connect .connect-card { background: #fff; border-radius: 1rem; padding: 1.5rem; box-shadow: 0 4px 24px rgba(16,24,40,.06); color: #3a3a3c; }
.content.connect .connect-card p { margin-bottom: .75rem; }
.content.connect .connect-card a { color: #254a96; font-weight: 600; }
.content.connect label { color: #8e8e93; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.content.connect .form-control { border-radius: .65rem; border-color: #d1d1d6; font-size: .9375rem; }
.content.connect .form-control:focus { border-color: #254a96; box-shadow: 0 0 0 .2rem rgba(37,74,150,.2); }
.content.connect select.form-control { -webkit-appearance: none; appearance: none; padding-right: 2.25rem; cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23254a96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right .8rem center / 14px 14px; }
.content.connect .connect-steps { list-style: none; padding: 0; margin: 0 0 1rem; }
.content.connect .connect-steps li { display: flex; gap: .75rem; align-items: flex-start; padding: .55rem 0; border-bottom: 1px solid #e5e5ea; }
.content.connect .connect-steps li:last-child { border-bottom: 0; }
.content.connect .connect-steps .step-no { flex: 0 0 1.6rem; height: 1.6rem; border-radius: 50%; background: #254a96; color: #fff; font-size: .8rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.content.connect .btn { border-radius: .65rem; font-weight: 600; padding: .55rem 1.5rem; font-size: .875rem; }
.content.connect #btnConnect { background-color: #254a96; border-color: #254a96; color: #fff; min-width: 60%; }
.content.connect #btnConnect:hover, .content.connect #btnConnect:focus { background-color: #1d3b78; border-color: #1d3b78; color: #fff; box-shadow: 0 0 0 .2rem rgba(37,74,150,.25); }
.content.connect .alert { border: 0; border-radius: .75rem; }
.content.login .logo img { max-width: 160px; margin-bottom: 1.25rem; }
.content.login h2 { font-size: 1.85rem; font-weight: 700; letter-spacing: -.02em; color: #1c1c1e; text-align: center; margin-bottom: .25rem; }
.content.login h5 { font-size: 1rem; font-weight: 400; color: #6e6e73; text-align: center; margin-bottom: 1.5rem; }
.content.login .frmLogin { background: #fff; border-radius: 1rem; padding: 1.5rem; box-shadow: 0 4px 24px rgba(16,24,40,.06); }
.content.login label { color: #8e8e93; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.content.login .form-control { border-radius: .65rem; border-color: #d1d1d6; }
.content.login .form-control:focus { border-color: #254a96; box-shadow: 0 0 0 .2rem rgba(37,74,150,.2); }
.content.login .input-group > .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.content.login .input-group-text { border-radius: 0 .65rem .65rem 0; border-color: #d1d1d6; background: #fff; color: #8e8e93; }
.content.login .input-group-text:hover { color: #254a96; text-decoration: none; }
.content.login .btn { border-radius: .65rem; font-weight: 600; padding: .55rem 1.5rem; }
.content.login #btnLogin { min-width: 60%; }
.content.login .alert { border: 0; border-radius: .75rem; }

/* Typography scale (admin) */
body.admin-portal { font-size: .9375rem; line-height: 1.45; }
body.admin-portal h2 { font-size: 1.6rem; margin-bottom: 1rem; }
body.admin-portal h3 { font-size: 1.25rem; font-weight: 600; }
body.admin-portal h4, body.admin-portal legend { font-size: 1.05rem; font-weight: 600; }
body.admin-portal .form-control,
body.admin-portal .ci-select-button { font-size: .9375rem; }
body.admin-portal .table td { font-size: .875rem; }
body.admin-portal .btn { font-size: .875rem; }
body.admin-portal .btn,
.content.login .btn,
.content.connect .btn { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
body.admin-portal .form-group > label,
body.admin-portal .form-group label:not(:has(> input)) { font-size: .8125rem; }
body.admin-portal .form-group > label:not(.form-check-label):not(.custom-file-label),
body.admin-portal .row > .col-12 > label:not(.form-check-label):not(.custom-file-label),
body.admin-portal label.form-check-label:not(.parameters label):not(table label),
body.admin-portal .form-group.parameters > .label { color: #8e8e93; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
body.admin-portal .add-surveyhealth label,
body.admin-portal .add-surveyhealth .label,
body.admin-portal .add-surveyhealthlongterm label,
body.admin-portal .add-surveyhealthlongterm .label,
body.admin-portal .add-surveysatisfaction label,
body.admin-portal .add-surveysatisfaction .label,
.add-surveyhealth .btn,
.add-surveyhealthlongterm .btn,
.add-surveysatisfaction .btn { text-transform: none !important; letter-spacing: normal !important; font-variant: normal !important; }
body.admin-portal .badge { font-size: .72rem; font-weight: 600; }

/* Typography scale (login) */
body:has(.content.login) { font-size: .9375rem; line-height: 1.45; }
.content.login h2 { font-size: 1.6rem; }
.content.login .form-control { font-size: .9375rem; }
.content.login .btn { font-size: .875rem; }
body.admin-portal .form-check:has(> #chkMedicationChange) { margin-bottom: 1rem; }

/* Member info header */
body.admin-portal .member-info { display: flex !important; flex-wrap: wrap; gap: .5rem 0; background: #fff; border-radius: .85rem; padding: .85rem 1rem !important; margin: .75rem 0 1.25rem; box-shadow: 0 1px 3px rgba(16,24,40,.06); width: 100%; }
body.admin-portal .member-info .item { border: 0 !important; border-right: 1px solid #e5e5ea !important; padding: 0 1.25rem 0 0 !important; margin: 0 1.25rem 0 0 !important; line-height: 1.35; }
body.admin-portal .member-info .item:last-child { border-right: 0 !important; padding-right: 0 !important; margin-right: 0 !important; }
body.admin-portal .member-info .item > span:not(.value) { color: #8e8e93; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
body.admin-portal .member-info .item br { display: none; }
body.admin-portal .member-info .item .value { display: block; color: #1c1c1e; font-size: .9375rem; font-weight: 500; }
body.admin-portal .member-info .item .value a { color: #254a96; }
body.admin-portal .member-info:empty { display: none !important; }

body.admin-portal .absence-container a.show-injuries,
body.admin-portal .absence-container a.show-illnesses { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

/* Date select fields */
body.admin-portal input.form-control.date,
body.admin-portal input.form-control.date[readonly] { color: #1c1c1e; background-color: #fff; cursor: pointer; }
body.admin-portal input.form-control.date::placeholder { color: #1c1c1e; opacity: 1; }

/* Image upload sections (Post, Message, Task, TaskStep, Team) */
body.admin-portal #upload-images > hr { display: none; }
body.admin-portal #upload-images { margin-top: 1.5rem; }
body.admin-portal a#added-images-title,
body.admin-portal a#add-image-title {
    display: flex; align-items: center; gap: .5rem;
    background: #fff; border-radius: .85rem; padding: .85rem 1rem; margin-top: .75rem;
    box-shadow: 0 1px 3px rgba(16,24,40,.06); color: #1c1c1e; font-size: .95rem; font-weight: 600;
    transition: background-color .15s;
}
body.admin-portal a#added-images-title::before { content: "\f03e"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #254a96; }
body.admin-portal a#add-image-title::before { content: "\f093"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #254a96; }
body.admin-portal a#added-images-title:hover,
body.admin-portal a#added-images-title:focus,
body.admin-portal a#add-image-title:hover,
body.admin-portal a#add-image-title:focus { background: #fff; color: #1c1c1e; }
body.admin-portal a#added-images-title .icon,
body.admin-portal a#add-image-title .icon {
    margin-left: auto; color: #254a96; font-size: .8rem; width: 1.75rem; height: 1.75rem; border-radius: 50%;
    background: rgba(37,74,150,.08); display: inline-flex; align-items: center; justify-content: center;
}
body.admin-portal .added-images,
body.admin-portal .image-selection,
body.admin-portal .image-cover-selection,
body.admin-portal .logo-selection,
body.admin-portal .teamphoto-selection {
    background: #fff; border-radius: .85rem; padding: 1rem; margin: .5rem 0 0;
    box-shadow: 0 1px 3px rgba(16,24,40,.06);
}
body.admin-portal .added-images { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -.5rem; padding-top: .5rem; }
body.admin-portal .image-selection { border-top-left-radius: 0; border-top-right-radius: 0; margin-top: -.5rem; }
body.admin-portal #upload-images .logo-selection + hr { display: none; }
body.admin-portal #upload-images .teamphoto-selection { margin-top: .75rem; }
body.admin-portal div.added-images div#empty-msg { color: #8e8e93; font-size: .875rem; padding: .5rem 0; margin: 0; }

body.admin-portal .custom-file-label { border-radius: .65rem; border-color: #d1d1d6; font-size: .875rem; color: #6e6e73; height: calc(1.5em + .9rem + 2px); padding: .45rem .75rem; }
body.admin-portal .custom-file-label::after { content: "Durchsuchen" !important; height: calc(1.5em + .9rem); padding: .45rem .9rem; background: #254a96; color: #fff; font-weight: 600; border-radius: 0 .65rem .65rem 0; }
body.admin-portal .custom-file-input:focus ~ .custom-file-label { border-color: #254a96; box-shadow: 0 0 0 .2rem rgba(37,74,150,.2); }

body.admin-portal #placeholderLogo,
body.admin-portal #placeholderTeamphoto,
body.admin-portal #placeholderImageCover,
body.admin-portal #placeholderImage {
    background: #f4f6fa; color: #8e8e93; border: 2px dashed #c7c7cc; border-radius: .85rem;
    flex-direction: column; gap: .5rem; font-size: .875rem; font-weight: 500; transition: border-color .15s, color .15s;
}
body.admin-portal #placeholderLogo::before,
body.admin-portal #placeholderTeamphoto::before,
body.admin-portal #placeholderImageCover::before,
body.admin-portal #placeholderImage::before { content: "\f382"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 1.75rem; color: #254a96; opacity: .7; }
body.admin-portal #placeholderLogo:hover,
body.admin-portal #placeholderTeamphoto:hover,
body.admin-portal #placeholderImageCover:hover,
body.admin-portal #placeholderImage:hover { border-color: #254a96; color: #254a96; }
body.admin-portal #previewLogo,
body.admin-portal #previewTeamphoto,
body.admin-portal #previewImageCover,
body.admin-portal #previewImage { border-radius: .85rem; }
body.admin-portal .preview-logo-container,
body.admin-portal .preview-teamphoto-container,
body.admin-portal .preview-image-cover-container,
body.admin-portal .preview-image-container { max-width: 100%; margin-bottom: 1rem; }
body.admin-portal #placeholderTeamphoto,
body.admin-portal #previewTeamphoto,
body.admin-portal #placeholderImageCover,
body.admin-portal #previewImageCover,
body.admin-portal #placeholderImage,
body.admin-portal #previewImage { max-width: 100%; }

body.admin-portal div.added-image { background: #f4f6fa; border-radius: .85rem; padding: .5rem; margin: .5rem 1rem .5rem 0; }
body.admin-portal div.added-image img { border: 0; border-radius: .6rem; }
body.admin-portal div.added-image .btn.icon-only { width: 2rem; height: 2rem; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
body.admin-portal div.added-image #btnDeleteAddedImage,
body.admin-portal div.added-image #btnDeleteAddedImage .icon { color: #fff !important; }
