/* AS-CMS Plugin CSS Bundle: 2026-09-10 01:43:58 */

/* === as_captcha.css === */
/* Frontend Captcha styles. Backend views are styled by the active admin theme. */

.as-captcha-widget { max-width: 420px; border: 1px solid currentColor; border-radius: 7px; padding: 15px; margin: 12px 0; }
.as-captcha-widget label { display: flex; flex-direction: column; gap: 9px; }
.as-captcha-widget input { padding: 8px; border: 1px solid currentColor; border-radius: 5px; }
.as-captcha-prompt { font-weight: bold; }
.as-captcha-text-code { display: inline-block; width: max-content; padding: 8px 18px; letter-spacing: 5px; font: bold 24px monospace; border: 1px dashed currentColor; }
.as-captcha-image { display: block; max-width: 100%; height: auto; }
.as-captcha-modal[hidden] { display: none; }
.as-captcha-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 18px; }
.as-captcha-modal-window { position: relative; width: min(440px, 100%); padding: 22px; border-radius: 9px; }
.as-captcha-modal-window h2 { margin: 0 35px 12px 0; }
.as-captcha-modal-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.as-captcha-modal-prompt { font-weight: bold; line-height: 1.45; }
.as-captcha-modal-display { margin: 12px 0; }
.as-captcha-modal-label { display: flex; flex-direction: column; gap: 6px; font-weight: bold; }
.as-captcha-modal-answer { padding: 10px; border: 1px solid currentColor; border-radius: 5px; font-size: 16px; }
.as-captcha-modal-error { min-height: 1.3em; font-weight: bold; }
.as-captcha-modal-actions { display: flex; justify-content: flex-end; gap: 9px; }
.as-captcha-modal-actions button { border: 0; border-radius: 5px; padding: 9px 13px; cursor: pointer; font-weight: bold; }
.as-captcha-modal-cancel { }
.as-captcha-modal-check { }
.as-captcha-modal-check:disabled { opacity: .55; cursor: wait; }

/* === as_captcha_style.css === */
/******************************************
*
* Pluginname: AS Captcha
* Version:    1.2
* Datum:      09.06.2026
* Autor:      Alfred Steckel
* Dateiname:  as_captcha_style.css.php
*
******************************************/
/* Frontend Captcha styles. Backend views are styled by the active admin theme. */

.as-captcha-widget { max-width: 420px; border: 1px solid currentColor; border-radius: 7px; padding: 15px; margin: 12px 0; }
.as-captcha-widget label { display: flex; flex-direction: column; gap: 9px; }
.as-captcha-widget input { padding: 8px; border: 1px solid currentColor; border-radius: 5px; }
.as-captcha-prompt { font-weight: bold; }
.as-captcha-text-code { display: inline-block; width: max-content; padding: 8px 18px; letter-spacing: 5px; font: bold 24px monospace; border: 1px dashed currentColor; }
.as-captcha-image { display: block; max-width: 100%; height: auto; }
.as-captcha-modal[hidden] { display: none; }
.as-captcha-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 18px; }
.as-captcha-modal-window { position: relative; width: min(440px, 100%); padding: 22px; border-radius: 9px; }
.as-captcha-modal-window h2 { margin: 0 35px 12px 0; }
.as-captcha-modal-close { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.as-captcha-modal-prompt { font-weight: bold; line-height: 1.45; }
.as-captcha-modal-display { margin: 12px 0; }
.as-captcha-modal-label { display: flex; flex-direction: column; gap: 6px; font-weight: bold; }
.as-captcha-modal-answer { padding: 10px; border: 1px solid currentColor; border-radius: 5px; font-size: 16px; }
.as-captcha-modal-error { min-height: 1.3em; font-weight: bold; }
.as-captcha-modal-actions { display: flex; justify-content: flex-end; gap: 9px; }
.as-captcha-modal-actions button { border: 0; border-radius: 5px; padding: 9px 13px; cursor: pointer; font-weight: bold; }
.as-captcha-modal-cancel { }
.as-captcha-modal-check { }
.as-captcha-modal-check:disabled { opacity: .55; cursor: wait; }

/* Backend: Abstand zwischen Captcha-Eingabebereich und Aktionsbutton. */
.adm_content-area form:has(.as-captcha-widget) > .adm_button {
    margin-top: 12px;
}
/* Backend: Farben kommen aus dem aktiven Admin-Theme. */
.adm_content-area .as-captcha-widget {
    color: inherit;
    background: transparent;
    border-color: currentColor;
}

.adm_content-area .as-captcha-widget input[type="text"] {
    color: inherit;
    background: inherit;
}

.adm_content-area .as-captcha-text-code {
    color: inherit;
    background: transparent;
    border-color: currentColor;
}

/* === as_chatbox.css === */
﻿/********************************************************
*
* Pluginname:   AS Chatbox
* Ordner:       as_chatbox
* Datei:        as_chatbox.css
* Version:      2.0
* Datum:        10.08.2026
* Autor:        Alfred Steckel
*
*********************************************************/
.as-chatbox {
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--button-bg, #1794DD) 22%, #d9e2e8);
    background: linear-gradient(180deg, var(--bg-light, #fff) 0%, color-mix(in srgb, var(--bg-light, #fff) 95%, var(--text-dark, #222)) 100%);
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(25, 55, 75, .08);
    overflow: hidden;
    color: var(--text-dark, inherit);
    font-family: inherit;
    font-size: 14px;
    margin-bottom: 15px;
}

.as-chatbox.link-navigation.link-layout-card {
    margin-bottom: 15px;
}

.as-chatbox-kopf {
    margin: -14px -14px 12px;
    background: var(--button-bg, #1794DD);
    color: var(--button-text, #fff);
    font-weight: bold;
    padding: 9px 12px;
    line-height: 1.25;
}

.as-chatbox-nachrichten {
    overflow-y: auto;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 18%, transparent);
    border-radius: 8px;
    background: var(--bg-light, #fff);
    scroll-behavior: smooth;
}

.as-chatbox-eintrag {
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 12%, transparent);
    border-radius: 5px;
    padding: 6px;
    margin-bottom: 7px;
}

.as-chatbox-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    color: inherit;
    margin-bottom: 4px;
    opacity: .78;
}

.as-chatbox-text {
    color: inherit;
    line-height: 1.35;
    word-wrap: break-word;
}

.as-chatbox-text a {
    color: var(--button-bg, #1794DD);
    text-decoration: underline;
}

.as-chatbox-bbcode-underline {
    text-decoration: underline;
}

.as-chatbox-bbcode-strike {
    text-decoration: line-through;
}

.as-chatbox-quote {
    margin: 6px 0;
    padding: 6px 8px;
    border-left: 3px solid var(--button-bg, #1794DD);
    background: color-mix(in srgb, var(--button-bg, #1794DD) 8%, var(--bg-light, #fff));
    color: inherit;
}

.as-chatbox-code {
    margin: 6px 0;
    padding: 6px 8px;
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 18%, transparent);
    border-radius: 4px;
    background: color-mix(in srgb, var(--bg-light, #fff) 92%, var(--text-dark, #222));
    overflow-x: auto;
    white-space: pre-wrap;
    font-family: Consolas, monospace;
    font-size: 13px;
}

.as-chatbox-leer {
    color: inherit;
    font-style: italic;
    padding: 8px;
    opacity: .72;
}

.as-chatbox-formular {
    padding: 8px 0 0;
    background: transparent;
    border-top: 0;
}

.as-chatbox-formular textarea {
    width: 100%;
    min-height: 60px;
    resize: vertical;
    padding: 6px;
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 30%, transparent);
    border-radius: 4px;
    background: var(--bg-light, #fff);
    color: inherit;
    font-family: inherit;
    font-size: 14px;
    box-sizing: border-box;
}

.as-chatbox-bbcode-box {
    margin-top: 6px;
}

.as-chatbox-bbcode-kopf {
    cursor: pointer;
    font-weight: bold;
    padding: 6px 8px;
    background: color-mix(in srgb, var(--bg-light, #fff) 94%, var(--text-dark, #222));
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 24%, transparent);
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    color: inherit;
}

.as-chatbox-bbcode-kopf:hover {
    background: color-mix(in srgb, var(--button-bg, #1794DD) 8%, var(--bg-light, #fff));
}

.as-chatbox-bbcode-kopf:focus {
    outline: 2px solid var(--button-bg, #1794DD);
    outline-offset: 2px;
}

.as-chatbox-bbcode-pfeil {
    font-size: 12px;
    margin-left: 8px;
}

.as-chatbox-bbcode-inhalt {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.45s ease, opacity 0.35s ease;
}

.as-chatbox-bbcode-inhalt.offen {
    max-height: 500px;
    opacity: 1;
}

.as-chatbox-bbcode-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding-top: 6px;
}

.as-chatbox .as-chatbox-bbcode-button {
    border: 1px solid color-mix(in srgb, var(--button-bg, #1794DD) 35%, transparent);
    background: var(--button-bg, #1794DD);
    color: var(--button-text, #fff);
    border-radius: 4px;
    padding: 3px 6px;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.2;
    font-weight: bold;
    text-shadow: none;
}

.as-chatbox .as-chatbox-bbcode-button:hover,
.as-chatbox .as-chatbox-bbcode-button:focus {
    background: var(--button-hover-bg, color-mix(in srgb, var(--button-bg, #1794DD) 82%, #000));
    color: var(--button-text, #fff);
    outline: none;
}

.as-chatbox-smilie-box {
    margin-top: 6px;
}

.as-chatbox-smilie-kopf {
    cursor: pointer;
    font-weight: bold;
    padding: 6px 8px;
    background: color-mix(in srgb, var(--bg-light, #fff) 94%, var(--text-dark, #222));
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 24%, transparent);
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}

.as-chatbox-smilie-kopf:hover {
    background: color-mix(in srgb, var(--button-bg, #1794DD) 8%, var(--bg-light, #fff));
}

.as-chatbox-smilie-kopf:focus {
    outline: 2px solid var(--button-bg, #1794DD);
    outline-offset: 2px;
}

.as-chatbox-smilie-pfeil {
    font-size: 12px;
    margin-left: 8px;
}

.as-chatbox-smilie-inhalt {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.45s ease, opacity 0.35s ease;
}

.as-chatbox-smilie-inhalt.offen {
    max-height: 500px;
    opacity: 1;
}

.as-chatbox-smilie-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding-top: 6px;
}

.as-chatbox-smiley-button {
    border: 1px solid color-mix(in srgb, var(--text-dark, #222) 22%, transparent);
    background: var(--bg-light, #fff);
    color: inherit;
    border-radius: 4px;
    padding: 4px 6px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.1;
}

.as-chatbox-smiley-button img {
    max-width: 24px;
    max-height: 24px;
    vertical-align: middle;
}

.as-chatbox-smilie-inline,
.as-chatbox .as-smilies-inline {
    max-width: 32px;
    max-height: 32px;
    vertical-align: middle;
}

.as-chatbox-smiley-button:hover {
    background: color-mix(in srgb, var(--button-bg, #1794DD) 10%, var(--bg-light, #fff));
    color: inherit;
}

.as-chatbox-formular button[type="submit"] {
    margin-top: 6px;
    width: 100%;
    border: 0;
    border-radius: 4px;
    background: var(--button-bg, #1794DD);
    color: var(--button-text, #fff);
    padding: 7px 10px;
    cursor: pointer;
    font-weight: bold;
}

.as-chatbox-formular button[type="submit"]:hover {
    background: var(--button-hover-bg, color-mix(in srgb, var(--button-bg, #1794DD) 82%, #000));
    color: var(--button-text, #fff);
}

.chatbox-group-grid {
    margin-top: 8px;
}

.chatbox-gruppenrechte-tabelle {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.chatbox-gruppenrechte-tabelle th,
.chatbox-gruppenrechte-tabelle td {
    padding: 6px 8px;
    border-bottom: 1px solid #e2e8ef;
    vertical-align: middle;
}

.chatbox-gruppenrechte-tabelle th {
    text-align: left;
    background: #f4f7fa;
    color: #222;
    font-weight: bold;
}

.chatbox-gruppenrechte-tabelle th:first-child,
.chatbox-gruppenrecht-check {
    width: 84px;
    text-align: center;
}

.chatbox-gruppenrecht-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    vertical-align: middle;
}

.chatbox-gruppenrecht-text label {
    display: block;
    cursor: pointer;
    line-height: 1.35;
}

.chatbox-gruppenrecht-name {
    display: inline-block;
    margin-right: 8px;
}

.chatbox-gruppenrecht-hinweis {
    color: #666;
    white-space: nowrap;
}

/* === as_documents.css === */
.as-doc-admin,
.as-doc-front {
    font-family: Arial, sans-serif;
    color: #252525;
}

.as-doc-head,
.as-doc-front-head {
    padding: 12px;
    background: #f3f6f8;
    border: 1px solid #d5dde4;
    border-left: 4px solid #2e7fc1;
    margin-bottom: 12px;
}

.as-doc-head h3,
.as-doc-front-head h1 {
    margin: 0;
}

.as-doc-head p,
.as-doc-front-head p,
.as-doc-small,
.as-doc-meta {
    color: #666;
    margin: 4px 0;
    font-size: 13px;
}

.as-doc-layout {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 12px;
}

.as-doc-sidebar,
.as-doc-box,
.as-doc-item {
    border: 1px solid #d5dde4;
    background: #fff;
    border-radius: 4px;
}

.as-doc-sidebar {
    padding: 8px;
}

.as-doc-sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.as-doc-sidebar li {
    margin: 0 0 6px 0;
}

.as-doc-nav,
.as-doc-cat-nav a {
    display: block;
    padding: 8px 10px;
    margin-bottom: 6px;
    background: #edf2f6;
    color: #234;
    text-decoration: none !important;
    border-radius: 4px;
}

.as-doc-footer {
    margin-top: 12px;
    padding: 6px 0;
    background: #f4f4f4;
    border: 1px solid #d5dde4;
    text-align: center;
    font-size: 12px;
    color: #666;
}

.as-doc-nav.active,
.as-doc-cat-nav a.active {
    background: #2e7fc1;
    color: #fff !important;
}

.as-doc-box {
    padding: 12px;
    margin-bottom: 12px;
}

.as-doc-form label,
.as-doc-row-form label {
    display: block;
    font-weight: bold;
    margin: 9px 0 4px;
}

.as-doc-form input[type="text"],
.as-doc-form input[type="number"],
.as-doc-form input[type="file"],
.as-doc-form select,
.as-doc-form textarea,
.as-doc-row-form input[type="text"],
.as-doc-row-form select,
.as-doc-row-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #c8d0d8;
    border-radius: 4px;
    padding: 7px;
}

.as-doc-check,
.as-doc-permissions label {
    font-weight: normal !important;
}

.as-doc-permissions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.as-doc-permission-panel {
    margin-top: 8px;
    border: 1px solid #d5dde4;
    border-radius: 4px;
    background: #f8fafb;
}

.as-doc-permission-panel summary {
    padding: 8px 10px;
    cursor: pointer;
    font-weight: bold;
    color: #234;
}

.as-doc-permission-panel .as-doc-permissions {
    padding: 10px;
    border-top: 1px solid #d5dde4;
    background: #fff;
}

.as-doc-button,
.as-doc-row-form button {
    display: inline-block;
    border: 0;
    border-radius: 4px;
    background: #2e7fc1;
    color: #fff !important;
    padding: 8px 11px;
    margin-top: 8px;
    text-decoration: none !important;
    cursor: pointer;
}

.as-doc-button-light {
    background: #e6ebef;
    color: #223 !important;
}

.as-doc-button-danger,
.as-doc-link-danger {
    background: #b84545;
    color: #fff !important;
}

.as-doc-message {
    padding: 8px 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.as-doc-message-info {
    background: #eef8ff;
    border: 1px solid #aad2ee;
}

.as-doc-message-error {
    background: #fff1f1;
    border: 1px solid #e0a0a0;
}

.as-doc-table {
    width: 100%;
    border-collapse: collapse;
}

.as-doc-table th,
.as-doc-table td {
    border-bottom: 1px solid #e3e7eb;
    padding: 8px;
    text-align: left;
    vertical-align: top;
}

.as-doc-edit-grid {
    display: grid;
    grid-template-columns: minmax(140px, 1.4fr) minmax(130px, 1fr) minmax(140px, 1fr) 120px 120px;
    gap: 8px;
    align-items: start;
}

.as-doc-inline-form {
    margin-top: 6px;
}

.as-doc-cat-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.as-doc-cat-nav a {
    display: inline-block;
    margin-bottom: 0;
}

.as-doc-accordion {
    display: grid;
    gap: 10px;
}

.as-doc-category {
    border: 1px solid #d5dde4;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
}

.as-doc-category-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 0;
    background: #edf2f6;
    color: #234;
    cursor: pointer;
    text-align: left;
    font: inherit;
    font-weight: bold;
}

.as-doc-category-toggle::after {
    content: "+";
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #c9d3dc;
    color: #2e7fc1;
    text-align: center;
    line-height: 22px;
    font-weight: bold;
}

.as-doc-category-toggle[aria-expanded="true"] {
    background: #2e7fc1;
    color: #fff;
}

.as-doc-category-toggle[aria-expanded="true"]::after {
    content: "-";
    color: #2e7fc1;
}

.as-doc-category-title {
    min-width: 0;
    overflow-wrap: anywhere;
}

.as-doc-category-count {
    margin-left: auto;
    color: inherit;
    font-size: 12px;
    font-weight: normal;
    white-space: nowrap;
}

.as-doc-category-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 480ms ease;
}

.as-doc-category-panel-inner {
    padding: 12px;
}

.as-doc-item {
    padding: 12px;
    margin-bottom: 10px;
}

.as-doc-item h2 {
    font-size: 18px;
    margin: 0 0 4px 0;
}

.as-doc-empty {
    padding: 14px;
    border: 1px dashed #ccd4dc;
    background: #f8fafb;
}

@media (max-width: 900px) {
    .as-doc-layout,
    .as-doc-permissions,
    .as-doc-edit-grid {
        grid-template-columns: 1fr;
    }
}

/* === as_donate.css === */
.as-donate-admin,
.as-donate-front {
    font-family: Arial, sans-serif;
    color: #252525;
}

.as-donate-head,
.as-donate-front-head {
    padding: 12px;
    background: #f3f7f5;
    border: 1px solid #d5e1db;
    border-left: 4px solid #2f8f67;
    margin-bottom: 12px;
}

.as-donate-head h3,
.as-donate-front-head h2 {
    margin: 0;
}

.as-donate-front-head p,
.as-donate-small {
    color: #666;
    margin: 5px 0;
    font-size: 13px;
}

.as-donate-layout {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 12px;
}

.as-donate-sidebar,
.as-donate-box,
.as-donate-front {
    border: 1px solid #d5e1db;
    background: #fff;
    border-radius: 4px;
}

.as-donate-sidebar {
    padding: 8px;
}

.as-donate-sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.as-donate-sidebar li {
    margin: 0 0 6px 0;
}

.as-donate-nav {
    display: block;
    padding: 8px 10px;
    background: #edf5f1;
    color: #21352d;
    text-decoration: none !important;
    border-radius: 4px;
}

.as-donate-nav.active {
    background: #2f8f67;
    color: #fff !important;
}

.as-donate-footer {
    margin-top: 12px;
    padding: 6px 0;
    background: #f4f4f4;
    border: 1px solid #d5e1db;
    text-align: center;
    font-size: 12px;
    color: #666;
}

.as-donate-box,
.as-donate-front {
    padding: 12px;
    margin-bottom: 12px;
}

.as-donate-form label,
.as-donate-provider-form label {
    display: block;
    font-weight: bold;
    margin: 9px 0 4px;
}

.as-donate-form input[type="text"],
.as-donate-form input[type="number"],
.as-donate-form textarea,
.as-donate-provider-form input[type="text"],
.as-donate-provider-form input[type="number"],
.as-donate-provider-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #c8d5cf;
    border-radius: 4px;
    padding: 7px;
}

.as-donate-check {
    font-weight: normal !important;
}

.as-donate-check-inline {
    align-self: end;
}

.as-donate-button,
.as-donate-row-form button,
.as-donate-pay {
    display: inline-block;
    border: 0;
    border-radius: 4px;
    background: #2f8f67;
    color: #fff !important;
    padding: 8px 12px;
    margin-top: 8px;
    text-decoration: none !important;
    cursor: pointer;
}

.as-donate-link-danger {
    border: 0;
    background: #b84545;
    color: #fff;
    padding: 7px 10px;
    border-radius: 4px;
    cursor: pointer;
}

.as-donate-message {
    padding: 8px 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.as-donate-message-info {
    background: #eef8f3;
    border: 1px solid #aadbc4;
}

.as-donate-message-error {
    background: #fff1f1;
    border: 1px solid #e0a0a0;
}

.as-donate-grid-form,
.as-donate-provider-grid,
.as-donate-row-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(110px, 1fr));
    gap: 8px;
    align-items: end;
}

.as-donate-provider-grid {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
}

.as-donate-row-form input {
    width: 100%;
    box-sizing: border-box;
}

.as-donate-table {
    width: 100%;
    border-collapse: collapse;
}

.as-donate-table th,
.as-donate-table td {
    border-bottom: 1px solid #e3e9e6;
    padding: 8px;
    text-align: left;
    vertical-align: top;
}

.as-donate-inline-form {
    margin-top: 6px;
}

.as-donate-provider-form {
    padding: 10px;
    border: 1px solid #e0e8e4;
    border-radius: 4px;
    margin-bottom: 8px;
}

.as-donate-amounts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 12px 0;
}

.as-donate-amount {
    border: 1px solid #c8d5cf;
    background: #edf5f1;
    color: #21352d;
    border-radius: 4px;
    padding: 8px 12px;
    cursor: pointer;
}

.as-donate-amount.active {
    background: #2f8f67;
    color: #fff;
}

.as-donate-custom {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
}

.as-donate-custom input {
    width: 110px;
    border: 1px solid #c8d5cf;
    border-radius: 4px;
    padding: 7px;
}

.as-donate-providers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.as-donate-thanks,
.as-donate-empty {
    margin-top: 12px;
    color: #555;
}

@media (max-width: 900px) {
    .as-donate-layout,
    .as-donate-grid-form,
    .as-donate-provider-grid,
    .as-donate-row-form {
        grid-template-columns: 1fr;
    }
}

/* === as_eigene_seiten.css === */
﻿/* Grundlayout */
.seiten-plugin {
    font-family: Arial, sans-serif;
    color: #222;
    background: #fff;
    padding: 15px;
}

.seiten-header {
    margin-bottom: 1em;
    border-bottom: 2px solid #007acc;
}

.seiten-header h3 {
    margin: 0;
    color: #007acc;
}

/* Flex Container */
.container-flex {
    display: flex;
    gap: 20px;
}

/* Sidebar */
.sidebar {
    width: 220px; /* fixe Sidebar-Breite */
    background: #f5f5f5;
    padding: 15px;
    border-radius: 6px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar ul li {
    margin-bottom: 1em;
}

.sidebar ul li a.button-link {
    display: inline-block; /* block wÃ¤re ok, inline-block ermÃ¶glicht minimale Breite */
    width: 100%;           /* fÃ¼llt die Sidebar-Breite */
    box-sizing: border-box;
    padding: 8px 12px;
    border-radius: 4px;
    text-align: center;
    font-weight: bold;
    white-space: nowrap;   /* verhindert Umbruch */
    overflow: hidden;
    text-overflow: ellipsis; /* falls doch mal zu lang */
}

.sidebar ul li a.button-link.btn-secondary {
    background-color: #555;
    color: #fff;
}

.sidebar ul li a.button-link.btn-secondary:hover {
    background-color: #444;
}

/* Suchformular */
.suchformular {
    background-color: #FAFAFA;
    padding: 10px;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
}

.suchformular input[type="text"] {
    width: 90%;
    padding: 6px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.suchformular label {
    display: block;
    margin-bottom: 5px;
    font-weight: normal;
    font-size: 0.9em;
}

.suchformular .suchbutton {
    background-color: #DDDDDD;
    border-radius: 5px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
    color: black;
    border: none;
    padding: 7px 12px;
    cursor: pointer;
    width: 100%;
    font-weight: bold;
}

.suchformular .suchbutton:hover {
    background-color: #BBBBBB;
}

/* Content Area */
.content-area {
    flex: 1 1 auto;
	/*background-color: #D5E1F0;*/
}

/* Frontend-Tabellen aus dem Editor duerfen nicht vom aktiven Theme blau eingefaerbt werden. */
.content-area .eigene-seite figure.table > table,
.content-area .eigene-seite-kategorie figure.table > table {
    width: 100%;
    border-collapse: collapse;
}

.content-area .eigene-seite figure.table > table th,
.content-area .eigene-seite figure.table > table td,
.content-area .eigene-seite-kategorie figure.table > table th,
.content-area .eigene-seite-kategorie figure.table > table td {
    padding: 10px;
    border: 1px solid #d7e0e8;
    vertical-align: top;
    color: inherit;
}

.content-area .eigene-seite figure.table > table th,
.content-area .eigene-seite-kategorie figure.table > table th {
    background: transparent;
    color: inherit;
}

.content-area .eigene-seite figure.table > table .as-editor-align-left,
.content-area .eigene-seite-kategorie figure.table > table .as-editor-align-left {
    text-align: left;
}

.content-area .eigene-seite figure.table > table .as-editor-align-right,
.content-area .eigene-seite-kategorie figure.table > table .as-editor-align-right {
    text-align: right;
}

.content-area .eigene-seite figure.table > table .as-editor-align-center,
.content-area .eigene-seite-kategorie figure.table > table .as-editor-align-center {
    text-align: center;
}

.content-area .eigene-seite figure.table > table .as-editor-align-justify,
.content-area .eigene-seite-kategorie figure.table > table .as-editor-align-justify {
    text-align: justify;
}

.content-area .eigene-seite figure.table > table .as-editor-align-right > *,
.content-area .eigene-seite-kategorie figure.table > table .as-editor-align-right > * {
    margin-left: auto;
    margin-right: 0;
}

.content-area .eigene-seite figure.table > table .as-editor-align-center > *,
.content-area .eigene-seite-kategorie figure.table > table .as-editor-align-center > * {
    margin-left: auto;
    margin-right: auto;
}

/* Tabellen */
.notes-table {
    width: 100%;
    border-collapse: collapse;
    /*margin-top: 1em;*/
}

.notes-table th,
.notes-table td {
    border: 1px solid #ddd;
    padding: 8px;
    vertical-align: top;
    text-align: left;
}

/* Angepasste Ãœberschriften */
.notes-table th {
    background: #3399ff;  /* helleres Blau */
    color: #fff;       /* weiÃŸ */
    cursor: pointer;
    user-select: none;
}

.notes-table tr.notes-row-overdue {
    background: #ffdddd;
}

.notes-table tr.notes-row-today {
    background: #fff9d9;
}

.notes-table tr.notes-row-future {
    background: #e7f5e7;
}

.notes-table td.action-links a {
    margin-right: 6px;
    text-decoration: none;
    font-size: 1.1em;
}

.notes-status-done {
    color: green;
    font-weight: bold;
}

.notes-status-open {
    color: red;
    font-weight: bold;
}

/* Formulare */
.note-form {
    max-width: 600px;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.note-form label {
    display: block;
    margin-top: 10px;
    margin-bottom: 4px;
    font-weight: bold;
}

.note-form input[type="text"],
.note-form input[type="datetime-local"],
.note-form select,
.note-form textarea {
    width: 100%;
    padding: 7px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
}

.note-form textarea {
    resize: vertical;
}

.form-row-inline {
    display: flex;
    gap: 15px;
    margin-top: 10px;
}

.form-field-small {
    flex: 1;
}

.btn-primary {
    margin-top: 15px;
    background: #007acc;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
}

.btn-primary:hover {
    background: #005f99;
}

.cancel-link {
    margin-left: 15px;
    color: #777;
    text-decoration: none;
    font-size: 0.9em;
}

.cancel-link:hover {
    text-decoration: underline;
}

.btn-clear-date {
    background: #ccc;
    border: none;
    cursor: pointer;
    margin-left: 5px;
    font-size: 1.1em;
    padding: 0 6px;
    border-radius: 4px;
}

/* Responsive */
@media (max-width: 720px) {
    .container-flex {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        margin-bottom: 15px;
    }
}
/* Backend-Editor: Titel und Schreibbereich nutzen die Formularbreite */
.adm_content-area .adm_form input[name="seiten_header"],
.adm_content-area .adm_form #seiten_body,
.adm_content-area .adm_form .trumbowyg-box,
.adm_content-area .adm_form .trumbowyg-editor-box,
.adm_content-area .adm_form .trumbowyg-editor {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.adm_content-area .adm_form .trumbowyg-editor {
    min-height: 260px;
}

/* === as_formular.css === */
/* AS Formular frontend styles
   Copy this file to themes/<active-theme>/as_formular.css to override it per theme. */

.as-formular-frontend {
    max-width: 720px;
    margin: 18px 0;
    padding: 15px;
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 7px;
    color: #000000;
    font-family: Arial, sans-serif;
    clear: both;
    overflow: hidden;
}

.as-formular-frontend,
.as-formular-frontend * {
    box-sizing: border-box;
}

.as-formular-frontend h3 {
    margin: 0 0 12px 0;
    color: #007ACC;
    line-height: 1.25;
}

.as-formular-frontend form {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    width: 100%;
}

.as-formular-beschreibung {
    margin: 0 0 14px 0;
    line-height: 1.5;
}

.as-formular-feld {
    display: block;
    grid-column: span 12;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    clear: both;
}

.as-formular-breite-100 { grid-column: span 12; }
.as-formular-breite-75 { grid-column: span 9; }
.as-formular-breite-66 { grid-column: span 8; }
.as-formular-breite-50 { grid-column: span 6; }
.as-formular-breite-33 { grid-column: span 4; }
.as-formular-breite-25 { grid-column: span 3; }

.as-formular-feld > label {
    display: block;
    margin: 0 0 4px 0;
    padding: 0;
    font-weight: bold;
    line-height: 1.35;
    color: #000000;
}

.as-formular-feld input[type="text"],
.as-formular-feld input[type="email"],
.as-formular-feld input[type="date"],
.as-formular-feld input[type="time"],
.as-formular-feld input[type="file"],
.as-formular-feld textarea,
.as-formular-feld select {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0;
    padding: 8px 9px;
    border: 1px solid #BBBBBB;
    border-radius: 5px;
    background: #FFFFFF;
    color: #000000;
    font: inherit;
    line-height: 1.35;
}

.as-formular-feld textarea {
    min-height: 90px;
    resize: vertical;
}

.as-formular-checkbox,
.as-formular-radio {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    margin: 4px 0;
    font-weight: normal !important;
    line-height: 1.35;
}

.as-formular-checkbox input,
.as-formular-radio input {
    flex: 0 0 auto;
    width: auto !important;
    margin: 2px 0 0 0 !important;
    padding: 0;
}

.as-formular-hilfe {
    display: block;
    margin-top: 4px;
    color: #666666;
    font-size: 12px;
    line-height: 1.35;
}

.as-formular-button {
    grid-column: span 12;
    justify-self: start;
    margin-top: 2px;
    padding: 9px 16px;
    border: 0;
    border-radius: 5px;
    background: #007ACC;
    color: #FFFFFF;
    font-weight: bold;
    cursor: pointer;
    line-height: 1.2;
}

.as-formular-button:hover {
    background: #769FCF;
}

.as-formular-erfolg,
.as-formular-fehler {
    margin: 0 0 12px 0;
    padding: 10px;
    border-radius: 6px;
    line-height: 1.4;
}

.as-formular-erfolg {
    background: #DFF2BF;
    border: 1px solid #8FBC8F;
    color: #2E5E2E;
}

.as-formular-fehler {
    background: #FFD6D6;
    border: 1px solid #CC7777;
    color: #8A0000;
}

@media (max-width: 640px) {
    .as-formular-frontend {
        max-width: 100%;
        margin: 12px 0;
        padding: 12px;
    }

    .as-formular-button {
        width: 100%;
    }
}
/* Trumbowyg Editor gestalltung */
/*************************************************
 AS-CMS Formular Plugin
 Datei: frontend_editor.css
 Beschreibung:
 Einheitliches Frontend-Design für Trumbowyg
*************************************************/

/* Trumbowyg Icons / Symbolleiste */
.trumbowyg-button-pane {
    background: #f5f5f5 !important;
    border-bottom: 1px solid #cccccc !important;
}

.trumbowyg-button-pane button {
    background: #f5f5f5 !important;
    color: #222222 !important;
    border: none !important;
    box-shadow: none !important;
}

.trumbowyg-button-pane button:hover {
    background: #e0e0e0 !important;
    color: #000000 !important;
}

.trumbowyg-button-pane button.trumbowyg-active {
    background: #d5d5d5 !important;
    color: #000000 !important;
}

.trumbowyg-button-pane button svg,
.trumbowyg-button-pane button svg path {
    fill: #222222 !important;
}


/* ============================================================
   Übernommene CSS-Datei
   Quelle: frontend_editor.css
   ============================================================ */

/*************************************************
 AS-CMS Formular Plugin
 Datei: frontend_editor.css
 Beschreibung:
 Einheitliches Frontend-Design für Trumbowyg
*************************************************/

/* Gesamter Editor */
.trumbowyg-box,
.trumbowyg-editor {
    border: 1px solid #cccccc !important;
    border-radius: 4px;
    background: #ffffff;
}

/* Buttonleiste */
.trumbowyg-button-pane {
    background: #f5f5f5 !important;
    border-bottom: 1px solid #cccccc !important;
}

/* Einzelne Buttons */
.trumbowyg-button-pane button {
    background: transparent !important;
    color: #222222 !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 6px !important;
    margin: 0 !important;
    border-radius: 3px;
    transition: background 0.2s ease;
}

/* Hover */
.trumbowyg-button-pane button:hover {
    background: #e8e8e8 !important;
    color: #000000 !important;
}

/* Aktive Buttons */
.trumbowyg-button-pane button.trumbowyg-active {
    background: #dcdcdc !important;
    color: #000000 !important;
}

/* SVG-Icons */
.trumbowyg-button-pane svg {
    fill: #222222 !important;
}

.trumbowyg-button-pane svg path {
    fill: #222222 !important;
}

/* Dropdowns */
.trumbowyg-button-pane select {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #cccccc !important;
}

/* Eingabebereich */
.trumbowyg-editor {
    min-height: 250px;
    color: #222222;
    background: #ffffff;
}

/* Links im Editor */
.trumbowyg-editor a {
    color: #0066cc;
}

/* Vollbildmodus */
.trumbowyg-fullscreen .trumbowyg-editor,
.trumbowyg-fullscreen .trumbowyg-box {
    background: #ffffff !important;
}

/* Responsive */
@media screen and (max-width: 768px) {

    .trumbowyg-button-pane button {
        padding: 4px !important;
    }

    .trumbowyg-editor {
        min-height: 180px;
    }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_bearbeiten.php
   ============================================================ */

.formular-bearbeiten-box {
    background: #FAFAFA;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    padding: 12px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
}

.formular-bearbeiten-box h4 {
    margin-top: 0;
    color: #007ACC;
}

.formular-formular-zeile {
    margin-bottom: 12px;
}

.formular-formular-zeile label {
    display: block;
    font-weight: bold;
    margin-bottom: 4px;
}

.formular-formular-zeile input[type="text"],
.formular-formular-zeile select,
.formular-formular-zeile textarea {
    width: 96%;
    padding: 7px;
    border: 1px solid #BBBBBB;
    border-radius: 5px;
}

.formular-formular-zeile textarea {
    min-height: 80px;
}

.formular-kleiner-hinweis {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #666666;
}

.formular-shortcode-box {
    display: inline-block;
    margin-top: 6px;
    padding: 6px 8px;
    background: #FDEAB3;
    border: 1px solid #D6B85A;
    border-radius: 5px;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    color: #000000;
}

.formular-checkbox-zeile {
    margin-bottom: 8px;
}

.formular-button {
    background-color: #007ACC;
    color: #FFFFFF;
    border: none;
    border-radius: 5px;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: bold;
}

.formular-button:hover {
    background-color: #769FCF;
}

.formular-abbrechen {
    display: inline-block;
    margin-left: 8px;
    padding: 8px 14px;
    background: #DDDDDD;
    color: #000000;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.formular-abbrechen:hover {
    background: #BBBBBB;
}

.formular-hinweis-ok {
    padding: 10px;
    background: #DFF2BF;
    border: 1px solid #8FBC8F;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #2E5E2E;
}

.formular-hinweis-fehler {
    padding: 10px;
    background: #FFD6D6;
    border: 1px solid #CC7777;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #8A0000;
}

.formular-meta {
    font-size: 12px;
    color: #666666;
    margin-bottom: 12px;
}

.formular-editor-feldliste {
    margin-top: 8px;
    padding: 10px;
    background: #F4F8FC;
    border: 1px solid #C8D8E8;
    border-radius: 6px;
}

.formular-editor-feld-eintrag {
    margin-bottom: 7px;
    padding-bottom: 7px;
    border-bottom: 1px solid #DDE8F2;
}

.formular-editor-feld-eintrag:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.formular-editor-feld-eintrag label {
    display: block;
    font-weight: normal;
    margin-bottom: 0;
}

.formular-editor-feldname {
    font-weight: bold;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_eingabe_ansehen.php
   ============================================================ */

.formular-eingabe-box { background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:12px; box-shadow:0 3px 7px rgba(52,152,219,0.5); }
.formular-eingabe-box h4 { margin-top:0; color:#007ACC; }
.formular-eingabe-meta, .formular-mail-meta { background:#FFFFFF; border:1px solid #CCCCCC; border-radius:6px; padding:10px; margin-bottom:12px; font-size:13px; color:#555555; }
.formular-eingabe-tabelle { width:100%; border-collapse:collapse; margin-top:10px; }
.formular-eingabe-tabelle th, .formular-eingabe-tabelle td { border:1px solid #CCCCCC; padding:8px; text-align:left; vertical-align:top; }
.formular-eingabe-tabelle th { background:#007ACC; color:#FFFFFF; width:220px; }
.formular-eingabe-tabelle tr:nth-child(even) { background:#F5F5F5; }
.formular-button, .formular-abbrechen { display:inline-block; margin-top:12px; margin-right:8px; padding:8px 14px; background:#007ACC; color:#FFFFFF; border:0; border-radius:5px; text-decoration:none; font-weight:bold; cursor:pointer; }
.formular-abbrechen { background:#DDDDDD; color:#000000; }
.formular-button:hover { background:#769FCF; }
.formular-abbrechen:hover { background:#BBBBBB; }
.formular-hinweis-ok { padding:10px; background:#DFF2BF; border:1px solid #8FBC8F; border-radius:6px; margin-bottom:12px; color:#2E5E2E; }
.formular-hinweis-fehler { padding:10px; background:#FFD6D6; border:1px solid #CC7777; border-radius:6px; margin-bottom:12px; color:#8A0000; }


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_eingaben.php
   ============================================================ */

.formular-eingaben-box { background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:12px; box-shadow:0 3px 7px rgba(52,152,219,0.5); }
.formular-eingaben-box h4 { margin-top:0; color:#007ACC; }
.formular-eingaben-tabelle { width:100%; border-collapse:collapse; margin-top:10px; }
.formular-eingaben-tabelle th, .formular-eingaben-tabelle td { border:1px solid #CCCCCC; padding:8px; text-align:left; vertical-align:top; }
.formular-eingaben-tabelle th { background:#007ACC; color:#FFFFFF; }
.formular-eingaben-tabelle tr:nth-child(even) { background:#F5F5F5; }
.formular-aktionen a { display:inline-block; padding:6px 9px; background:#007ACC; color:#FFFFFF; border-radius:5px; text-decoration:none; font-size:12px; font-weight:bold; }
.formular-aktionen a:hover { background:#769FCF; }
.formular-status-neu { font-weight:bold; color:#B00000; }
.formular-status-gelesen { color:#2E5E2E; }
.formular-mail-gesendet { color:#2E5E2E; font-weight:bold; }
.formular-mail-fehler, .formular-mail-ungueltiger_empfaenger { color:#B00000; font-weight:bold; }
.formular-mail-wartet, .formular-mail-nicht_gesendet { color:#666666; }
.formular-hinweis { padding:10px; background:#FDEAB3; border:1px solid #D6B85A; border-radius:6px; }


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_einstellungen.php
   ============================================================ */

.formular-einstellungen-box { background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:12px; box-shadow:0 3px 7px rgba(52,152,219,0.5); }
.formular-einstellungen-box h4 { margin-top:0; color:#007ACC; }
.formular-einstellungen-box fieldset { margin:0 0 16px; padding:14px; background:#FFFFFF; border:1px solid #CCCCCC; border-radius:6px; }
.formular-einstellungen-box legend { padding:0 6px; color:#007ACC; font-weight:bold; }
.formular-einstellungen-zeile { margin-bottom:12px; }
.formular-einstellungen-zeile label { display:block; margin-bottom:4px; font-weight:bold; }
.formular-einstellungen-zeile input[type="text"],
.formular-einstellungen-zeile input[type="email"],
.formular-einstellungen-zeile input[type="number"],
.formular-einstellungen-zeile select,
.formular-einstellungen-zeile textarea { width:96%; max-width:700px; box-sizing:border-box; padding:7px; border:1px solid #BBBBBB; border-radius:5px; }
.formular-einstellungen-zeile textarea { min-height:75px; }
.formular-kleiner-hinweis { display:block; margin-top:4px; color:#666666; font-size:12px; }
.formular-button { padding:8px 14px; background:#007ACC; color:#FFFFFF; border:0; border-radius:5px; font-weight:bold; cursor:pointer; }
.formular-button:hover { background:#769FCF; }
.formular-hinweis-ok { padding:10px; margin-bottom:12px; color:#2E5E2E; background:#DFF2BF; border:1px solid #8FBC8F; border-radius:6px; }
.formular-hinweis-fehler { padding:10px; margin-bottom:12px; color:#8A0000; background:#FFD6D6; border:1px solid #CC7777; border-radius:6px; }
.formular-label-mit-info { position:relative; display:flex; align-items:center; gap:6px; width:fit-content; max-width:100%; margin-bottom:5px; }
.formular-label-mit-info label { margin:0; }
.formular-info-button { flex:0 0 22px; width:22px; height:22px; padding:0; border:1px solid #4F87B8; border-radius:50%; background:#FFFFFF; color:#356D9D; font-size:14px; font-weight:bold; line-height:20px; text-align:center; cursor:pointer; }
.formular-info-button:hover,
.formular-info-button:focus { color:#FFFFFF; background:#4F87B8; outline:none; }
.formular-info-popover { display:none; position:absolute; z-index:20; top:calc(100% + 7px); left:0; width:min(330px, calc(100vw - 54px)); box-sizing:border-box; padding:10px 12px; border:1px solid #B9C9D8; border-radius:5px; background:#FFFFFF; color:#333333; box-shadow:0 4px 14px rgba(0,0,0,.18); font-size:13px; font-weight:normal; line-height:1.45; }
.formular-label-mit-info:hover .formular-info-popover,
.formular-label-mit-info:focus-within .formular-info-popover,
.formular-info-popover.offen { display:block; }


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_feldauswahl.php
   ============================================================ */

.formular-feldauswahl { background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:12px; box-shadow:0 3px 7px rgba(52,152,219,.5); }
.formular-feldauswahl h4 { margin-top:0; color:#007ACC; }
.formular-feldauswahl-liste { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px; }
.formular-feldauswahl-karte { padding:12px; border:1px solid #CCCCCC; border-radius:6px; background:#FFFFFF; }
.formular-feldauswahl-karte h5 { margin:0 0 5px; color:#005B96; font-size:15px; }
.formular-feldauswahl-meta { margin:0 0 10px; color:#666666; font-size:12px; }
.formular-feldauswahl-button { display:inline-block; padding:7px 10px; border-radius:5px; color:#FFFFFF; background:#007ACC; text-decoration:none; font-size:12px; font-weight:bold; }
.formular-feldauswahl-button:hover { background:#769FCF; }


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_felder.php
   ============================================================ */

.as-formular-plugin .content-area { min-width:0; }
.formular-felder-box { width:100%; max-width:100%; min-width:0; box-sizing:border-box; overflow:hidden; background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:10px; box-shadow:0 3px 7px rgba(52,152,219,0.5); }
.formular-felder-box h4 { margin-top:0; color:#007ACC; }
.formular-felder-einleitung { margin-bottom:10px; color:#555555; font-size:13px; }
.formular-felder-tabelle { width:100%; border-collapse:collapse; table-layout:fixed; margin-top:10px; }
.formular-felder-tabelle th, .formular-felder-tabelle td { padding:5px 6px; border:1px solid #CCCCCC; text-align:left; vertical-align:middle; overflow-wrap:anywhere; font-size:12px; }
.formular-felder-tabelle th { color:#FFFFFF; background:#007ACC; }
.formular-felder-tabelle tr:nth-child(even) { background:#F5F5F5; }
.formular-felder-tabelle .spalte-sortierung { width:34px; text-align:center; }
.formular-felder-tabelle .spalte-typ { width:82px; }
.formular-felder-tabelle .spalte-eigenschaften { width:130px; }
.formular-felder-tabelle .spalte-aktionen { width:116px; }
.formular-feld-label { display:block; font-weight:bold; }
.formular-feld-name { display:block; margin-top:1px; color:#666666; font-size:11px; }
.formular-eigenschaft { display:inline-block; margin:1px 2px 1px 0; padding:2px 4px; background:#EAF4FB; border:1px solid #B7D8EF; border-radius:4px; font-size:10px; white-space:nowrap; }
.formular-eigenschaft.inaktiv { color:#8A0000; background:#FFD6D6; border-color:#CC7777; }
.formular-formular-zeile { margin-bottom:12px; }
.formular-formular-zeile label { display:block; margin-bottom:4px; font-weight:bold; }
.formular-formular-zeile input[type="text"], .formular-formular-zeile select, .formular-formular-zeile textarea { width:100%; box-sizing:border-box; padding:7px; border:1px solid #BBBBBB; border-radius:5px; }
.formular-formular-zeile select[multiple] { min-height:190px; }
.formular-formular-zeile textarea { min-height:75px; resize:vertical; }
.formular-formular-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 16px; }
.formular-formular-breit { grid-column:1 / -1; }
.formular-checkboxen { display:flex; flex-wrap:wrap; gap:14px; margin:4px 0 14px; }
.formular-checkboxen label { display:inline-flex; align-items:center; gap:5px; }
.formular-button, .formular-abbrechen, .formular-aktionen button, .formular-aktionen a { display:inline-block; box-sizing:border-box; margin:2px 3px 2px 0; padding:7px 10px; border:0; border-radius:5px; color:#FFFFFF; background:#007ACC; text-decoration:none; font-size:12px; font-weight:bold; cursor:pointer; }
.formular-button:hover, .formular-aktionen button:hover, .formular-aktionen a:hover { background:#769FCF; }
.formular-abbrechen { color:#000000; background:#DDDDDD; }
.formular-abbrechen:hover { background:#BBBBBB; }
.formular-loeschen { background:#B00000 !important; }
.formular-loeschen:hover { background:#D00000 !important; }
.formular-aktionen { white-space:normal; }
.formular-aktionen form { display:inline; margin:0; }
.formular-aktionen button, .formular-aktionen a { width:100%; margin-right:0; text-align:center; }
.formular-hinweis-ok { padding:10px; margin-bottom:12px; color:#2E5E2E; background:#DFF2BF; border:1px solid #8FBC8F; border-radius:6px; }
.formular-hinweis-fehler { padding:10px; margin-bottom:12px; color:#8A0000; background:#FFD6D6; border:1px solid #CC7777; border-radius:6px; }
.formular-hinweis { padding:10px; margin-bottom:12px; background:#FDEAB3; border:1px solid #D6B85A; border-radius:6px; }
.formular-formular-schalter { width:100%; margin-top:14px; padding:10px 12px; border:1px solid #0069A8; border-radius:6px; color:#FFFFFF; background:#007ACC; font-weight:bold; text-align:left; cursor:pointer; }
.formular-formular-schalter:hover { background:#0069A8; }
.formular-formular-schalter::after { content:"+"; float:right; font-size:18px; line-height:14px; }
.formular-formular-schalter[aria-expanded="true"]::after { content:"-"; }
.formular-feld-wrapper { display:none; }
.formular-feld-wrapper.offen { display:block; }
.formular-feld-formular { width:100%; max-width:760px; box-sizing:border-box; margin-top:8px; padding:14px; background:#FFFFFF; border:1px solid #CCCCCC; border-radius:7px; }
.formular-kleiner-hinweis { display:block; margin-top:4px; color:#666666; font-size:12px; }
@media (max-width:800px) {
    .formular-felder-tabelle, .formular-felder-tabelle tbody, .formular-felder-tabelle tr, .formular-felder-tabelle td { display:block; width:100%; box-sizing:border-box; }
    .formular-felder-tabelle thead { display:none; }
    .formular-felder-tabelle tr { margin-bottom:12px; border:1px solid #CCCCCC; border-radius:6px; overflow:hidden; }
    .formular-felder-tabelle td { border-width:0 0 1px; }
    .formular-felder-tabelle td:last-child { border-bottom:0; }
    .formular-felder-tabelle .spalte-sortierung, .formular-felder-tabelle .spalte-typ, .formular-felder-tabelle .spalte-eigenschaften, .formular-felder-tabelle .spalte-aktionen { width:100%; text-align:left; }
    .formular-formular-grid { grid-template-columns:1fr; }
    .formular-formular-breit { grid-column:auto; }
    .formular-formular-schalter { position:sticky; bottom:6px; z-index:2; }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_feldtypen.php
   ============================================================ */

.formular-feldtypen-box { background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:12px; box-shadow:0 3px 7px rgba(52,152,219,.5); }
.formular-feldtypen-box h4 { margin-top:0; color:#007ACC; }
.formular-feldtypen-tabelle { width:100%; border-collapse:collapse; margin:12px 0; }
.formular-feldtypen-tabelle th, .formular-feldtypen-tabelle td { padding:7px; border:1px solid #CCCCCC; text-align:left; }
.formular-feldtypen-tabelle th { color:#FFFFFF; background:#007ACC; }
.formular-feldtypen-formular { max-width:700px; padding:12px; background:#FFFFFF; border:1px solid #CCCCCC; border-radius:6px; }
.formular-feldtypen-zeile { margin-bottom:10px; }
.formular-feldtypen-zeile label { display:block; margin-bottom:4px; font-weight:bold; }
.formular-feldtypen-zeile input[type="text"], .formular-feldtypen-zeile select, .formular-feldtypen-zeile textarea { width:100%; box-sizing:border-box; padding:7px; border:1px solid #BBBBBB; border-radius:5px; }
.formular-feldtypen-zeile textarea { min-height:65px; }
.formular-feldtypen-button { display:inline-block; padding:7px 10px; border:0; border-radius:5px; color:#FFFFFF; background:#007ACC; text-decoration:none; font-weight:bold; cursor:pointer; }
.formular-feldtypen-loeschen { background:#B00000; }
.formular-hinweis-ok { padding:10px; margin-bottom:12px; color:#2E5E2E; background:#DFF2BF; border:1px solid #8FBC8F; border-radius:6px; }
.formular-hinweis-fehler { padding:10px; margin-bottom:12px; color:#8A0000; background:#FFD6D6; border:1px solid #CC7777; border-radius:6px; }
@media (max-width:700px) {
    .formular-feldtypen-tabelle, .formular-feldtypen-tabelle tbody, .formular-feldtypen-tabelle tr, .formular-feldtypen-tabelle td { display:block; width:100%; box-sizing:border-box; }
    .formular-feldtypen-tabelle thead { display:none; }
    .formular-feldtypen-tabelle tr { margin-bottom:10px; border:1px solid #CCCCCC; }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_gestalten.php
   ============================================================ */

.formular-gestalten-box {
    background: #FAFAFA;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    padding: 12px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
}

.formular-gestalten-box h4 {
    margin-top: 0;
    color: #007ACC;
}

.formular-gestalten-meta {
    font-size: 13px;
    color: #555555;
    margin-bottom: 12px;
    padding: 8px;
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-radius: 6px;
}

.formular-gestalten-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.formular-gestalten-links,
.formular-gestalten-rechts {
    flex: 1;
    min-width: 0;
}

.formular-gestalten-hinweis {
    padding: 10px;
    background: #FDEAB3;
    border: 1px solid #D6B85A;
    border-radius: 6px;
    margin-bottom: 12px;
}

.formular-hinweis-ok {
    padding: 10px;
    background: #DFF2BF;
    border: 1px solid #8FBC8F;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #2E5E2E;
}

.formular-hinweis-fehler {
    padding: 10px;
    background: #FFD6D6;
    border: 1px solid #CC7777;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #8A0000;
}

.formular-sortier-liste {
    list-style: none;
    padding: 0;
    margin: 0;
}

.formular-sortier-eintrag {
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
    cursor: move;
    box-shadow: 0 2px 5px rgba(0,0,0,0.12);
}

.formular-sortier-eintrag.dragging {
    opacity: 0.5;
}

.formular-sortier-griff {
    display: inline-block;
    margin-right: 8px;
    color: #007ACC;
    font-weight: bold;
}

.formular-feldname {
    font-size: 12px;
    color: #666666;
}

.formular-button {
    background-color: #007ACC;
    color: #FFFFFF;
    border: none;
    border-radius: 5px;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: bold;
    margin-top: 10px;
}

.formular-button:hover {
    background-color: #769FCF;
}

.formular-abbrechen {
    display: inline-block;
    margin-left: 8px;
    padding: 8px 14px;
    background: #DDDDDD;
    color: #000000;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.formular-abbrechen:hover {
    background: #BBBBBB;
}

.formular-vorschau {
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 7px;
    padding: 15px;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

.formular-vorschau h4,
.formular-vorschau p,
.formular-vorschau .formular-button {
    grid-column: span 12;
}

.formular-vorschau h4 {
    color: #007ACC;
    margin-top: 0;
}

.formular-vorschau-feld {
    grid-column: span 12;
    margin-bottom: 0;
}

.formular-vorschau-breite-100 { grid-column: span 12; }
.formular-vorschau-breite-75 { grid-column: span 9; }
.formular-vorschau-breite-66 { grid-column: span 8; }
.formular-vorschau-breite-50 { grid-column: span 6; }
.formular-vorschau-breite-33 { grid-column: span 4; }
.formular-vorschau-breite-25 { grid-column: span 3; }

.formular-vorschau-feld label {
    display: block;
    font-weight: bold;
    margin-bottom: 4px;
}

.formular-vorschau-feld input,
.formular-vorschau-feld textarea,
.formular-vorschau-feld select {
    width: 96%;
    padding: 7px;
    border: 1px solid #BBBBBB;
    border-radius: 5px;
}

.formular-vorschau-feld textarea {
    min-height: 70px;
}

.formular-vorschau-hilfe {
    display: block;
    margin-top: 3px;
    color: #666666;
    font-size: 12px;
}

.formular-shortcode-box {
    display: inline-block;
    padding: 5px 7px;
    background: #FDEAB3;
    border: 1px solid #D6B85A;
    border-radius: 5px;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    color: #000000;
}

@media (max-width: 850px) {
    .formular-gestalten-layout {
        flex-direction: column;
    }
}

@media (max-width: 700px) {
    .formular-vorschau-feld,
    .formular-vorschau-breite-100,
    .formular-vorschau-breite-75,
    .formular-vorschau-breite-66,
    .formular-vorschau-breite-50,
    .formular-vorschau-breite-33,
    .formular-vorschau-breite-25 {
        grid-column: span 12;
    }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_liste.php
   ============================================================ */

.formular-liste-box {
    background: #FAFAFA;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    padding: 12px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
}

.formular-liste-box h4 {
    margin-top: 0;
    color: #007ACC;
}

.formular-tabelle {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.formular-tabelle th,
.formular-tabelle td {
    border: 1px solid #CCCCCC;
    padding: 8px;
    text-align: left;
    vertical-align: top;
}

.formular-tabelle th {
    background: #007ACC;
    color: #FFFFFF;
}

.formular-tabelle tr:nth-child(even) {
    background: #F5F5F5;
}

.formular-aktionen a {
    display: inline-block;
    margin: 2px 4px 2px 0;
    padding: 5px 8px;
    background: #007ACC;
    color: #FFFFFF;
    text-decoration: none;
    border-radius: 4px;
    font-size: 12px;
}

.formular-aktionen a:hover {
    background: #769FCF;
}

.formular-aktionen a.formular-gestalten-button {
    background: #6A8F2A;
}

.formular-aktionen a.formular-gestalten-button:hover {
    background: #86A83A;
}

.formular-aktionen a.formular-loeschen-button {
    background: #B00000;
}

.formular-aktionen a.formular-loeschen-button:hover {
    background: #D00000;
}

.formular-status-aktiv {
    color: green;
    font-weight: bold;
}

.formular-status-inaktiv {
    color: red;
    font-weight: bold;
}

.formular-shortcode {
    display: inline-block;
    padding: 5px 7px;
    background: #FDEAB3;
    border: 1px solid #D6B85A;
    border-radius: 5px;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    color: #000000;
}

.formular-shortcode-hinweis {
    font-size: 12px;
    color: #666666;
    margin-top: 4px;
}

.formular-hinweis {
    padding: 10px;
    background: #FDEAB3;
    border: 1px solid #D6B85A;
    border-radius: 6px;
    margin-bottom: 12px;
}

.formular-hinweis-ok {
    padding: 10px;
    background: #DFF2BF;
    border: 1px solid #8FBC8F;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #2E5E2E;
}

.formular-hinweis-fehler {
    padding: 10px;
    background: #FFD6D6;
    border: 1px solid #CC7777;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #8A0000;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: formular_neu.php
   ============================================================ */

.formular-neu-box {
    background: #FAFAFA;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    padding: 12px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
}

.formular-neu-box h4 {
    margin-top: 0;
    color: #007ACC;
}

.formular-formular-zeile {
    margin-bottom: 12px;
}

.formular-formular-zeile label {
    display: block;
    font-weight: bold;
    margin-bottom: 4px;
}

.formular-formular-zeile input[type="text"],
.formular-formular-zeile select,
.formular-formular-zeile textarea {
    width: 96%;
    padding: 7px;
    border: 1px solid #BBBBBB;
    border-radius: 5px;
}

.formular-formular-zeile textarea {
    min-height: 80px;
}

.formular-kleiner-hinweis {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #666666;
}

.formular-shortcode-vorschau {
    display: inline-block;
    margin-top: 6px;
    padding: 5px 7px;
    background: #FDEAB3;
    border: 1px solid #D6B85A;
    border-radius: 5px;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    color: #000000;
}

.formular-checkbox-zeile {
    margin-bottom: 8px;
}

.formular-button {
    background-color: #007ACC;
    color: #FFFFFF;
    border: none;
    border-radius: 5px;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: bold;
}

.formular-button:hover {
    background-color: #769FCF;
}

.formular-abbrechen {
    display: inline-block;
    margin-left: 8px;
    padding: 8px 14px;
    background: #DDDDDD;
    color: #000000;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.formular-abbrechen:hover {
    background: #BBBBBB;
}

.formular-hinweis-ok {
    padding: 10px;
    background: #DFF2BF;
    border: 1px solid #8FBC8F;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #2E5E2E;
}

.formular-hinweis-fehler {
    padding: 10px;
    background: #FFD6D6;
    border: 1px solid #CC7777;
    border-radius: 6px;
    margin-bottom: 12px;
    color: #8A0000;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: hilfe_formular.php
   ============================================================ */

.formular-hilfe-box { background:#FAFAFA; border:1px solid #BBBBBB; border-radius:7px; padding:16px; box-shadow:0 3px 7px rgba(52,152,219,0.5); line-height:1.55; }
.formular-hilfe-box h4 { margin-top:0; color:#007ACC; }
.formular-hilfe-box h5 { margin:22px 0 8px; color:#005B96; font-size:16px; }
.formular-hilfe-box h6 { margin:16px 0 6px; color:#333333; font-size:14px; }
.formular-hilfe-box ul, .formular-hilfe-box ol { padding-left:24px; }
.formular-hilfe-box li { margin-bottom:6px; }
.formular-hilfe-nav { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 18px; }
.formular-hilfe-nav a { padding:6px 9px; color:#FFFFFF; background:#007ACC; border-radius:4px; text-decoration:none; font-weight:bold; font-size:12px; }
.formular-hilfe-nav a:hover { background:#769FCF; }
.formular-hilfe-hinweis { padding:10px; margin:10px 0; background:#FDEAB3; border:1px solid #D6B85A; border-radius:6px; }
.formular-hilfe-beispiel { padding:12px; margin:10px 0; background:#FFFFFF; border:1px solid #CCCCCC; border-radius:6px; }
.formular-hilfe-code { display:inline-block; padding:4px 7px; background:#FDEAB3; border:1px solid #D6B85A; border-radius:4px; font-family:Consolas, Monaco, monospace; }
.formular-hilfe-tabelle { width:100%; border-collapse:collapse; margin:10px 0; }
.formular-hilfe-tabelle th, .formular-hilfe-tabelle td { padding:8px; border:1px solid #CCCCCC; text-align:left; vertical-align:top; }
.formular-hilfe-tabelle th { color:#FFFFFF; background:#007ACC; }
.formular-hilfe-tabelle tr:nth-child(even) { background:#F3F3F3; }


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: manage.php
   ============================================================ */

.as-formular-plugin {
    font-family: Arial, sans-serif;
    color: #000000;
    background: #fff;
    padding: 15px;
}

.as-formular-header {
    margin-bottom: 1em;
    border-bottom: 2px solid #007ACC;
}

.as-formular-header h3 {
    margin: 0;
    color: #007ACC;
}

.container-flex {
    display: flex;
    gap: 20px;
}

.sidebar {
    width: 200px;
    background: #f5f5f5;
    padding: 15px;
    border-radius: 6px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar ul li {
    margin-bottom: 1em;
}

.sidebar ul li a {
    display: block;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    background-color: #007ACC;
    color: #FFFFFF;
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.sidebar ul li a:hover {
    background-color: #769FCF;
    color: #FFFFFF;
}

.sidebar ul li a:visited {
    background-color: #769FCF;
    color: #000000;
}

.sidebar ul li a.active {
    background-color: #FDEAB3;
    color: #000000;
}

.sidebar .formular-kontext {
    margin-top: -5px;
    padding: 8px;
    background: #EAF4FB;
    border: 1px solid #B7D8EF;
    border-radius: 5px;
}

.sidebar .formular-kontext strong {
    display: block;
    margin-bottom: 7px;
    color: #005B96;
}

.sidebar .formular-kontext a {
    margin-bottom: 6px;
    padding: 6px 8px;
    font-size: 12px;
}

.suchformular {
    background-color: #FAFAFA;
    padding: 10px;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
    margin-bottom: 15px;
}

.suchformular input[type="text"] {
    width: 90%;
    padding: 6px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.suchformular .suchbutton {
    background-color: #DDDDDD;
    border-radius: 5px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
    color: black;
    border: none;
    padding: 7px 12px;
    cursor: pointer;
    width: 100%;
    font-weight: bold;
}

.suchformular .suchbutton:hover {
    background-color: #BBBBBB;
}

.content-area {
    flex: 1 1 auto;
}

.as-formular-footer {
    margin-top: 2em;
    text-align: center;
    font-size: 0.9em;
    color: #666;
}

@media (max-width: 720px) {
    .container-flex {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        margin-bottom: 15px;
    }
}

/* === as_forum.css === */
/* ============================================================
   Backend: nur Layout, Groessen und Abstaende.
   Keine festen hellen oder dunklen Farben. Flaechen bleiben
   transparent; Rahmen und Schrift folgen dem aktiven Theme.
   ============================================================ */

.as-forum-sidebar-info { margin-top: 20px; }
.as-forum-sidebar-info h4 { margin: 0 0 10px; font-size: 1em; }
.as-forum-sidebar-info > ul { margin: 0; padding: 0; list-style: none; }
.as-forum-sidebar-info > ul > li { margin: 0 0 10px; padding: 0 0 10px; }
.as-forum-sidebar-info > ul > li:last-child { margin-bottom: 0; padding-bottom: 0; }
.as-forum-sidebar-info > ul > li > a { padding: 0; font-weight: bold; }
.as-forum-sidebar-info small { display: block; margin-top: 3px; line-height: 1.3; }
.as-forum-sidebar-info p { margin: 0; font-size: .9em; }

.as-forum-box {
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid currentColor;
    border-radius: 7px;
    color: inherit;
    background: transparent;
}
.as-forum-box h3 { margin-top: 0; color: inherit; }
.as-forum-box p:last-child,
.as-forum-box ul:last-child { margin-bottom: 0; }
.as-forum-box code { color: inherit; background: transparent; }

.as-forum-statistics { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 14px; }
.as-forum-statistics div {
    padding: 18px;
    border: 1px solid currentColor;
    border-radius: 6px;
    text-align: center;
    color: inherit;
    background: transparent;
}
.as-forum-statistics strong { display: block; font-size: 1.8em; }
.as-forum-statistics span { display: block; margin-top: 4px; }

.as-forum-form { max-width: 900px; }
.as-forum-form label { display: block; margin: 0 0 13px; font-weight: bold; }
.as-forum-form input[type="text"],
.as-forum-form input[type="number"],
.as-forum-form textarea,
.as-forum-form select { display: block; width: 100%; box-sizing: border-box; margin-top: 5px; }
.as-forum-form textarea { min-height: 90px; }
.as-forum-form .as-forum-check { font-weight: normal; }
.as-forum-form .as-forum-check input { margin-right: 6px; }

.as-forum-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.as-forum-table-wrap { overflow-x: auto; max-width: 100%; }
.as-forum-table { width: 100%; border-collapse: collapse; color: inherit; background: transparent; }
.as-forum-table th,
.as-forum-table td {
    padding: 7px 8px;
    border: 1px solid currentColor;
    text-align: left;
    vertical-align: top;
    color: inherit;
    background: transparent;
}
.as-forum-table thead,
.as-forum-table tbody,
.as-forum-table tr { color: inherit; background: transparent; }

.as-forum-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-start; }
.as-forum-actions form { margin: 0; }
.as-forum-button { display: inline-block; text-decoration: none; }

.as-forum-help { line-height: 1.55; }
.as-forum-help code { padding: 2px 4px; border: 1px solid currentColor; border-radius: 3px; }
.as-forum-shortcodes { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.as-forum-shortcodes code { display: inline-block; padding: 4px 6px; border: 1px solid currentColor; border-radius: 3px; }

@media (max-width: 900px) {
    .as-forum-statistics { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
    .as-forum-columns { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .as-forum-statistics { grid-template-columns: 1fr; }
}


.as-forum-shortcode-board { margin: 16px 0; padding: 16px; border: 1px solid #d7dde3; border-radius: 6px; background: #fff; }
.as-forum-shortcode-board > header { margin-bottom: 14px; border-bottom: 2px solid #007acc; }
.as-forum-shortcode-board > header h3 { margin: 0 0 6px; color: #007acc; }
.as-forum-shortcode-board > header p { margin: 0 0 10px; }
.as-forum-shortcode-more { margin: 14px 0 0; text-align: right; }
.as-forum-shortcode-more a { color: #007acc; font-weight: bold; }

.as-forum-list-sidebar { padding: 12px; border: 1px solid #ccd6df; border-radius: 6px; background: #fff; }
.as-forum-list-sidebar h3 { margin: 0 0 12px; padding-bottom: 7px; border-bottom: 2px solid #007acc; color: #007acc; font-size: 1.05em; }
.as-forum-list-sidebar ul { margin: 0; padding: 0; list-style: none; }
.as-forum-list-sidebar .as-forum-sidebar-topic { margin: 0 0 13px; padding: 0 0 13px; border-bottom: 1px solid #d5dce3; }
.as-forum-list-sidebar .as-forum-sidebar-topic:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.as-forum-list-sidebar li a { color: #007acc; text-decoration: none; }
.as-forum-list-sidebar li a:hover { color: #000; }
.as-forum-list-sidebar .as-forum-sidebar-topic-title { display: block; margin-bottom: 7px; font-weight: bold; }
.as-forum-list-sidebar .as-forum-sidebar-posts { padding-left: 12px; border-left: 3px solid #dcecf7; }
.as-forum-list-sidebar .as-forum-sidebar-posts li { margin: 0 0 8px; padding: 0; border: 0; }
.as-forum-list-sidebar .as-forum-sidebar-posts li:last-child { margin-bottom: 0; }
.as-forum-list-sidebar .as-forum-sidebar-posts a { display: block; color: #333; font-size: .92em; line-height: 1.35; }
.as-forum-list-sidebar .as-forum-sidebar-posts small { display: block; margin-top: 2px; color: #777; font-size: .78em; line-height: 1.3; }
.as-forum-sidebar-more { display: block; margin-top: 10px; padding: 7px 9px; border-radius: 4px; background: #1794DD; color: #fff; text-align: center; text-decoration: none; font-weight: bold; }
.as-forum-sidebar-more:hover { background: #FDEAB3; color: #000; }

.as-forum-frontend { color: #222; background: #fff; padding: 16px; }
.as-forum-front-header { padding-bottom: 12px; margin-bottom: 16px; border-bottom: 2px solid #007acc; }
.as-forum-front-header h2 { margin: 0 0 6px; color: #007acc; }
.as-forum-front-header p { margin: 0; }
.as-forum-breadcrumb { margin-bottom: 15px; padding: 9px 12px; background: #f2f6fa; border-radius: 4px; }
.as-forum-breadcrumb a { color: #007acc; }
.as-forum-board-row, .as-forum-topic-row { display: flex; justify-content: space-between; gap: 20px; padding: 15px; margin-bottom: 10px; border: 1px solid #d7dde3; border-radius: 6px; color: #222; text-decoration: none; background: #fafcfe; }
.as-forum-board-row:hover, .as-forum-topic-row:hover { border-color: #1794DD; background: #f1f8fd; }
.as-forum-board-row > span:first-child, .as-forum-topic-row > span:first-child { flex: 1; }
.as-forum-board-row > span:last-child, .as-forum-topic-row > span:last-child { min-width: 145px; text-align: right; }
.as-forum-board-row strong, .as-forum-topic-row strong { display: block; color: #007acc; font-size: 1.08em; }
.as-forum-board-row small, .as-forum-topic-row small { display: block; margin-top: 4px; color: #666; }
.as-forum-topic > h3, .as-forum-board > h3, .as-forum-compose > h3 { color: #007acc; }
.as-forum-post { display: grid; grid-template-columns: 170px minmax(0, 1fr); margin-bottom: 12px; border: 1px solid #d7dde3; border-radius: 6px; overflow: hidden; }
.as-forum-post aside { padding: 14px; background: #f2f6fa; }
.as-forum-post aside strong, .as-forum-post aside span { display: block; }
.as-forum-post aside span { margin-top: 6px; color: #666; font-size: .9em; }
.as-forum-post aside small { display: block; margin-top: 5px; color: #777; font-size: .78em; }
.as-forum-author-actions { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #d6dde3; }
.as-forum-author-actions form { margin: 0; }
.as-forum-author-actions .as-forum-compose-toggle,
.as-forum-author-actions button.danger { width: 100%; margin: 0; padding: 6px 8px; border: 0; border-radius: 4px; color: #fff; cursor: pointer; font: inherit; font-size: .85em; font-weight: normal; }
.as-forum-author-actions .as-forum-compose-toggle { background: #1794DD; }
.as-forum-author-actions .as-forum-compose-toggle:hover,
.as-forum-author-actions .as-forum-compose-toggle[aria-expanded="true"] { background: #FDEAB3; color: #000; }
.as-forum-author-actions button.danger { background: #b83a3a; }
.as-forum-author-actions button.danger:hover { background: #8f2929; }
.as-forum-post-body { min-height: 100px; padding: 16px; line-height: 1.55; }
.as-forum-post-body blockquote { margin: 10px 0; padding: 10px 14px; border-left: 4px solid #1794DD; background: #f5f5f5; }
.as-forum-replies { margin-left: 36px; padding-left: 16px; border-left: 3px solid #dbe9f4; }
.as-forum-replies .as-forum-post { box-shadow: 0 1px 3px rgba(0, 0, 0, .05); }
.as-forum-own-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 16px; padding-top: 12px; border-top: 1px solid #e1e5e9; }
.as-forum-own-actions .as-forum-compose-toggle { margin-top: 0; }
.as-forum-compose-toggle { margin-top: 20px; padding: 9px 14px; border: 0; border-radius: 4px; background: #1794DD; color: #fff; cursor: pointer; font: inherit; font-weight: bold; }
.as-forum-compose-toggle:hover, .as-forum-compose-toggle[aria-expanded="true"] { background: #FDEAB3; color: #000; }
.as-forum-compose { margin-top: 20px; padding: 16px; border: 1px solid #d7dde3; border-radius: 6px; background: #f8f9fa; }
.as-forum-compose[hidden] { display: none !important; }
.as-forum-post-edit { margin-top: 12px; }
.as-forum-compose label { display: block; margin-bottom: 12px; font-weight: bold; }
.as-forum-compose input, .as-forum-compose textarea, .as-forum-report input { display: block; width: 100%; margin-top: 5px; padding: 9px; border: 1px solid #bfc8d1; border-radius: 4px; font: inherit; }
.as-forum-compose .trumbowyg-box { width: 100%; margin-top: 5px; background: #fff; }
.as-forum-compose .trumbowyg-editor { position: relative; z-index: 2; min-height: 220px; background: #fff !important; color: #222 !important; cursor: text; pointer-events: auto !important; user-select: text !important; }
.as-forum-compose .trumbowyg-overlay { display: none !important; pointer-events: none !important; }
.as-forum-compose .trumbowyg-box.trumbowyg-disabled .trumbowyg-editor { opacity: 1 !important; pointer-events: auto !important; }
.as-forum-compose button, .as-forum-report button { padding: 8px 12px; border: 0; border-radius: 4px; background: #1794DD; color: #fff; cursor: pointer; }
.as-forum-compose button:hover, .as-forum-report button:hover { background: #FDEAB3; color: #000; }
.as-forum-hint { color: #555; font-size: .92em; }
.as-forum-closed { padding: 9px 12px; color: #721c24; background: #f8d7da; border-radius: 4px; }
.as-forum-report { margin-top: 20px; font-size: .9em; }
.as-forum-report summary { color: #666; cursor: pointer; }
.as-forum-report form { display: flex; gap: 8px; align-items: end; margin-top: 8px; }

@media (max-width: 760px) {
    .as-forum-layout { flex-direction: column; }
    .as-forum-sidebar { width: 100%; flex-basis: auto; }
    .as-forum-statistics, .as-forum-columns { grid-template-columns: 1fr; }
    .as-forum-post { grid-template-columns: 1fr; }
    .as-forum-replies { margin-left: 12px; padding-left: 10px; }
    .as-forum-board-row, .as-forum-topic-row { flex-direction: column; }
    .as-forum-board-row > span:last-child, .as-forum-topic-row > span:last-child { text-align: left; }
    .as-forum-report form { display: block; }
    .as-forum-report button { margin-top: 8px; }
}

.as-forum-board-row { padding-left: calc(15px + (var(--forum-depth, 0) * 22px)); }
.as-forum-board-depth-0 { --forum-depth: 0; }
.as-forum-board-depth-1 { --forum-depth: 1; }
.as-forum-board-depth-2 { --forum-depth: 2; }
.as-forum-board-depth-3 { --forum-depth: 3; }
.as-forum-board-depth-4 { --forum-depth: 4; }
.as-forum-board-depth-5 { --forum-depth: 5; }
.as-forum-subboards { margin: 16px 0 20px; padding: 12px; border: 1px solid #d7dde3; border-radius: 6px; background: #f8fbfd; }
.as-forum-subboards h4 { margin: 0 0 10px; color: #007acc; }
.as-forum-subboards .as-forum-board-row { background: #fff; }

.as-forum-smilie-box { margin: 0 0 10px; }
.as-forum-smilie-box summary { display: inline-block; padding: 7px 11px; border-radius: 4px; background: #1794DD; color: #fff; cursor: pointer; font-weight: bold; }
.as-forum-smilie-box[open] summary,
.as-forum-smilie-box summary:hover { background: #FDEAB3; color: #000; }
.as-forum-smilie-toolbar { display: flex; flex-wrap: wrap; gap: 5px; max-height: 150px; overflow-y: auto; margin-top: 8px; padding: 6px; border: 1px solid #bfc8d1; border-radius: 4px; background: #fff; }
.as-forum-smilie-toolbar .as-forum-smilie-button { margin: 0; padding: 4px 6px; border: 1px solid #ccc; border-radius: 4px; background: #fff; color: #222; font-size: 16px; line-height: 1.1; cursor: pointer; }
.as-forum-smilie-toolbar .as-forum-smilie-button:hover { background: #FDEAB3; color: #000; }
.as-forum-smilie-toolbar .as-forum-smilie-button img { max-width: 24px; max-height: 24px; display: block; }
.as-forum-frontend .as-forum-compose .as-forum-smilie-toolbar .as-forum-smilie-button {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 6px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}
.as-forum-frontend .as-forum-compose .as-forum-smilie-toolbar .as-forum-smilie-button img,
.as-forum-frontend .as-forum-compose .as-forum-smilie-toolbar img {
    width: auto !important;
    height: auto !important;
    max-width: 24px !important;
    max-height: 24px !important;
    vertical-align: middle !important;
}

/* === as_galerie.css === */
/********************************************************
*
* Pluginname:   AS Galerie
* Ordner:       as_galerie
* Datei:        as_galerie.css
* Version:      2.2
* Datum:        09.09.2026
* Autor:        Alfred Steckel
*
*********************************************************/
.zufallsbild-alben {
    margin: 1em 0;
}

.zufallsbild-alben-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.zufallsbild-album-card {
    border: 1px solid #d8d8d8;
    background: #fff;
    padding: 10px;
    border-radius: 6px;
}

.zufallsbild-album-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eee;
    margin-bottom: 8px;
}

.zufallsbild-album-card h3 {
    margin: 0 0 6px;
    font-size: 1.1em;
}

.zufallsbild-album-card p {
    margin: 0 0 8px;
}

.zufallsbild-album-link {
    display: inline-block;
    padding: 6px 10px;
    background: #007acc;
    color: #fff !important;
    text-decoration: none;
    border-radius: 4px;
}

.zufallsbild-album-detail img {
    max-width: 100%;
    height: auto;
    display: block;
}

.zufallsbild-bilder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 22px;
    overflow: visible;
}

.zufallsbild-bild {
    position: relative;
    z-index: 1;
    border: 1px solid #d8d8d8;
    background: #fff;
    padding: 8px;
    border-radius: 6px;
    overflow: visible;
    transition: z-index 0s linear 0s;
}

.zufallsbild-bild:hover,
.zufallsbild-bild:focus-within {
    z-index: 20;
}

.zufallsbild-bild button {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    overflow: visible;
}

.zufallsbild-bild img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 220ms ease, box-shadow 220ms ease;
    transform-origin: center center;
    will-change: transform;
}

.zufallsbild-bild:hover img,
.zufallsbild-bild button:hover img,
.zufallsbild-bild button:focus img {
    transform: scale(var(--zufallsbild-thumb-hover-scale-x, 1.6), var(--zufallsbild-thumb-hover-scale-y, 1.6));
    box-shadow: 0 14px 34px rgba(0,0,0,.35);
}

.zufallsbild-backlink {
    display: inline-block;
    margin-bottom: 12px;
}

.zufallsbild-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.82);
    padding: 18px;
}

.zufallsbild-lightbox.is-open {
    display: flex;
}

.zufallsbild-lightbox img {
    max-width: min(96vw, calc(100vw - 132px));
    max-height: 88vh;
    object-fit: contain;
    background: #fff;
}

.zufallsbild-lightbox-inner {
    position: relative;
    max-width: min(96vw, calc(100vw - 132px));
    max-height: 88vh;
}

.zufallsbild-lightbox-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 12px;
    background: rgba(0,0,0,.62);
    color: #fff;
    font-size: .95em;
    line-height: 1.35;
}

.zufallsbild-lightbox-close,
.zufallsbild-lightbox-nav {
    position: absolute;
    z-index: 2;
    border: 0;
    background: rgba(255,255,255,.14);
    color: rgba(255,255,255,.82);
    cursor: pointer;
    line-height: 1;
}

.zufallsbild-lightbox-close {
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 28px;
}

.zufallsbild-lightbox-nav {
    top: 50%;
    width: 34px;
    height: 52px;
    margin-top: -26px;
    font-size: 32px;
    border-radius: 50%;
    transition: background 160ms ease, color 160ms ease;
}

.zufallsbild-lightbox-prev {
    left: -54px;
}

.zufallsbild-lightbox-next {
    right: -54px;
}

.zufallsbild-lightbox-close:hover,
.zufallsbild-lightbox-close:focus,
.zufallsbild-lightbox-nav:hover,
.zufallsbild-lightbox-nav:focus {
    background: rgba(255,255,255,.24);
    color: #fff;
    outline: 1px solid rgba(255,255,255,.55);
}

.zufallsbild-kommentare {
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid #d8d8d8;
}

.zufallsbild-kommentar {
    border: 1px solid #d8d8d8;
    background: #fff;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
}

.zufallsbild-kommentar-meta {
    font-size: 0.9em;
    color: #555;
    margin-bottom: 5px;
}

.zufallsbild-kommentar-text {
    margin-bottom: 8px;
}

.zufallsbild-kommentar-text img.as-smilies-inline {
    display: inline-block;
    width: auto;
    height: auto;
    max-width: 32px;
    max-height: 32px;
    object-fit: contain;
    vertical-align: middle;
}

.zufallsbild-kommentar-form {
    border: 1px solid #d8d8d8;
    background: #f8f8f8;
    border-radius: 6px;
    padding: 12px;
    margin-top: 12px;
}

.zufallsbild-kommentar-form label {
    display: block;
    font-weight: bold;
    margin-top: 8px;
}

.zufallsbild-kommentar-form input,
.zufallsbild-kommentar-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 7px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
}

.zufallsbild-kommentar-form button {
    margin-top: 10px;
    padding: 7px 12px;
    border: 0;
    border-radius: 4px;
    background: #007acc;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}

.zufallsbild-kommentar-meldung {
    border-left: 4px solid #2e7d32;
    background: #f1faf1;
    padding: 8px 10px;
    margin: 10px 0;
}

.zufallsbild-kommentar-fehler {
    border-left: 4px solid #b83a3a;
    background: #fff1f1;
    padding: 8px 10px;
    margin: 10px 0;
}

.zufallsbild-write-comment-btn,
.zufallsbild-reply-btn,
.zufallsbild-show-comments,
.zufallsbild-show-replies {
    margin: 6px 6px 6px 0;
    padding: 5px 9px;
    border: 1px solid #bbb;
    background: #f2f2f2;
    color: #222;
    cursor: pointer;
}

.zufallsbild-write-comment-btn {
    background: #007acc;
    border-color: #007acc;
    color: #fff;
    font-weight: bold;
}

.zufallsbild-reply-form {
    margin-top: 8px;
}

.zufallsbild-comments-container {
    display: none;
    margin-top: 10px;
}

.zufallsbild-main-comment-form {
    display: none;
}

.zufallsbild-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 16px 0;
}

.zufallsbild-pagination a,
.zufallsbild-pagination span {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #bbb;
    background: #fff;
    color: #222;
    text-decoration: none;
}

.zufallsbild-pagination .is-active {
    background: #007acc;
    border-color: #007acc;
    color: #fff;
    font-weight: bold;
}

.zufallsbild-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: var(--zufallsbild-slider-height, 320px);
    max-height: var(--zufallsbild-slider-height, 320px);
    background: #111;
    border-radius: 10px;
}

.zufallsbild-slider .zufallsbild-slide {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transform: translateX(0) scale(1);
    filter: none;
    clip-path: inset(0 100% 0 0);
    overflow: hidden;
    border-radius: 10px;
    transition: opacity 1200ms ease, transform 1200ms ease, filter 1200ms ease, clip-path 1200ms ease;
}

.zufallsbild-slider .zufallsbild-slide.is-active {
    z-index: 3;
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider .zufallsbild-slide.is-exiting {
    z-index: 2;
    opacity: 0;
}

.zufallsbild-slider img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    transform: scale(1);
    transition: transform var(--zufallsbild-slider-interval, 6000ms) ease;
}

.zufallsbild-slider.effect-none .zufallsbild-slide {
    transition: none;
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider.effect-fade .zufallsbild-slide,
.zufallsbild-slider.effect-crossfade .zufallsbild-slide {
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider.effect-slide .zufallsbild-slide {
    transform: translateX(100%);
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider.effect-slide .zufallsbild-slide.is-active {
    transform: translateX(0);
}

.zufallsbild-slider.effect-slide .zufallsbild-slide.is-exiting {
    transform: translateX(-18%);
    opacity: 0;
}

.zufallsbild-slider.effect-push .zufallsbild-slide {
    transform: translateX(100%);
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider.effect-push .zufallsbild-slide.is-active {
    transform: translateX(0);
}

.zufallsbild-slider.effect-push .zufallsbild-slide.is-exiting {
    transform: translateX(-100%);
    opacity: 1;
}

.zufallsbild-slider.effect-zoom .zufallsbild-slide,
.zufallsbild-slider.effect-kenburns .zufallsbild-slide {
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider.effect-zoom .zufallsbild-slide.is-active img {
    transform: scale(1.06);
}

.zufallsbild-slider.effect-kenburns .zufallsbild-slide.is-active img {
    transform: scale(1.08) translateX(-1.5%);
}

.zufallsbild-slider.effect-blur .zufallsbild-slide {
    filter: blur(12px);
    clip-path: inset(0 0 0 0);
    transform: scale(1.02);
}

.zufallsbild-slider.effect-blur .zufallsbild-slide.is-active {
    filter: blur(0);
    transform: scale(1);
}

.zufallsbild-slider.effect-wipe .zufallsbild-slide {
    opacity: 1;
    clip-path: inset(0 100% 0 0);
}

.zufallsbild-slider.effect-wipe .zufallsbild-slide.is-active {
    clip-path: inset(0 0 0 0);
}

.zufallsbild-slider.effect-wipe .zufallsbild-slide.is-exiting {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

@media (max-width: 640px) {
    .zufallsbild-lightbox {
        padding: 8px;
    }

    .zufallsbild-lightbox img {
        max-width: 100vw;
        max-height: 86vh;
    }

    .zufallsbild-lightbox-inner {
        max-width: 100vw;
    }

    .zufallsbild-lightbox-nav {
        width: 30px;
        height: 46px;
        margin-top: -23px;
        font-size: 28px;
        background: rgba(0,0,0,.3);
    }

    .zufallsbild-lightbox-prev {
        left: 6px;
    }

    .zufallsbild-lightbox-next {
        right: 6px;
    }
}

/* Backend-Verwaltung: aus manage.php ausgelagert */
/* Grundlayout */
.zufallsbild-plugin { font-family: Arial, sans-serif; color: inherit; background: transparent; padding: 15px; }
.zufallsbild-header { margin-bottom: 1em; border-bottom: 1px solid currentColor; }
.zufallsbild-header h3 { margin: 0; color: inherit; }
.container-flex { display: flex; gap: 20px; }
.zufallsbild-plugin .sidebar { width: 200px; background: transparent; color: inherit; padding: 15px; border: 1px solid currentColor; border-radius: 6px; }
.sidebar ul { list-style: none; padding: 0; margin: 0; }
.sidebar ul li { margin-bottom: 1em; }

/* Linkfarben für as-cms */
.sidebar ul li a {
    display: block;
    padding: 8px 12px;
    border: 1px solid currentColor;
    border-radius: 4px;
    text-decoration: none;
    background: transparent;
    color: inherit;
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.sidebar ul li a:hover {
    background: transparent;
    color: inherit;
}
.sidebar ul li a:visited {
    background: transparent;
    color: inherit;
}
.sidebar ul li a.active {
    background: transparent;
    color: inherit;
}

/* Suchformular */
.suchformular { background: transparent; color: inherit; padding: 10px; border: 1px solid currentColor; border-radius: 7px; margin-bottom: 15px; }
.suchformular input[type="text"] { width: 90%; padding: 6px; margin-bottom: 10px; border-radius: 4px; }
.suchformular .suchbutton { border-radius: 5px; padding: 7px 12px; cursor: pointer; width: 100%; font-weight: bold; }

.content-area { flex: 1 1 auto; }
.zufallsbild-footer { margin-top: 2em; text-align: center; font-size: 0.9em; color: inherit; }

.zufallsbild-box {
    background: transparent;
    color: inherit;
    border: 1px solid currentColor;
    border-radius: 7px;
    padding: 12px;
    margin-bottom: 15px;
}

.zufallsbild-statistik {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 15px;
}

.zufallsbild-statistik-box {
    background: transparent;
    color: inherit;
    border: 1px solid currentColor;
    border-radius: 7px;
    padding: 12px;
    min-width: 150px;
}

.zufallsbild-statistik-box strong {
    color: inherit;
}

.zufallsbild-table { width: 100%; border-collapse: collapse; margin: 10px 0; }
.zufallsbild-table th,
.zufallsbild-table td { border: 1px solid currentColor; padding: 8px; text-align: left; vertical-align: top; background: transparent; color: inherit; }
.zufallsbild-table th { background: transparent; color: inherit; }
.zufallsbild-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.zufallsbild-button,
.zufallsbild-button:visited {
    display: inline-block;
    padding: 7px 11px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}
.zufallsbild-message { border-left: 4px solid currentColor; background: transparent; color: inherit; padding: 8px 10px; margin-bottom: 10px; }
.zufallsbild-error { border-left: 4px solid currentColor; background: transparent; color: inherit; padding: 8px 10px; margin-bottom: 10px; }
.zufallsbild-album-cell { display: flex; gap: 10px; align-items: flex-start; min-width: 240px; }
.zufallsbild-album-preview {
    flex: 0 0 74px;
    width: 74px;
    height: 56px;
    border: 1px solid currentColor;
    border-radius: 4px;
    background: transparent;
    overflow: hidden;
}
.zufallsbild-album-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zufallsbild-album-preview.empty { display: flex; align-items: center; justify-content: center; color: inherit; font-size: 11px; text-align: center; padding: 4px; box-sizing: border-box; }
.zufallsbild-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.zufallsbild-card { border: 1px solid currentColor; border-radius: 6px; background: transparent; color: inherit; padding: 8px; }
.zufallsbild-card img { display: block; width: 100%; height: 120px; object-fit: cover; background: transparent; margin-bottom: 8px; }
.zufallsbild-form-row { margin-bottom: 10px; }
.zufallsbild-form-row input[type="text"],
.zufallsbild-form-row input[type="url"],
.zufallsbild-form-row input[type="number"],
.zufallsbild-form-row input[type="date"],
.zufallsbild-form-row select,
.zufallsbild-form-row textarea { width: 100%; box-sizing: border-box; padding: 7px; }
.zufallsbild-upload-dropzone {
    border: 2px dashed currentColor;
    background: transparent;
    color: inherit;
    border-radius: 6px;
    padding: 16px;
    text-align: center;
}
.zufallsbild-upload-dropzone input[type="file"] { display: none; }
.zufallsbild-upload-label {
    display: inline-block;
    padding: 9px 14px;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}
.zufallsbild-upload-list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    text-align: left;
}
.zufallsbild-upload-list li {
    border-bottom: 1px solid currentColor;
    padding: 5px 0;
    font-size: 0.95em;
}
.zufallsbild-upload-meta { margin-top: 8px; color: inherit; }
.zufallsbild-upload-summary {
    margin-top: 10px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}
.zufallsbild-upload-summary span,
.zufallsbild-selection-counter {
    display: inline-block;
    padding: 5px 8px;
    border: 1px solid currentColor;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    font-weight: bold;
}
.zufallsbild-shortcode-box {
    margin: 12px 0;
    padding: 10px;
    border: 1px solid currentColor;
    border-radius: 6px;
    background: transparent;
    color: inherit;
}
.zufallsbild-shortcode-input {
    width: 100%;
    max-width: 360px;
    box-sizing: border-box;
    padding: 6px 8px;
    border-radius: 4px;
    font-family: Consolas, monospace;
}
.zufallsbild-settings-section {
    border: 1px solid currentColor;
    border-radius: 7px;
    background: transparent;
    color: inherit;
    padding: 12px;
    margin: 0 0 14px;
}
.zufallsbild-settings-section legend {
    font-weight: bold;
    color: inherit;
    padding: 0 6px;
}
.zufallsbild-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 14px;
}

@media (max-width: 720px) {
  .container-flex { flex-direction: column; }
  .sidebar { width: 100%; margin-bottom: 15px; }
}

/* Karussell-Verwaltung */
.zufallsbild-heading-actions {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.zufallsbild-heading-actions h3 { margin-top: 0; }
.zufallsbild-inline-form { display: inline; }
.zufallsbild-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px 16px;
}
.zufallsbild-small-field { max-width: 300px; margin-top: 14px; }
.zufallsbild-picker-album {
    margin: 14px 0;
    padding-top: 8px;
    border-top: 1px solid currentColor;
}
.zufallsbild-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}
.zufallsbild-picker-card {
    display: grid;
    gap: 7px;
    padding: 8px;
    border: 1px solid currentColor;
    border-radius: 7px;
    cursor: pointer;
}
.zufallsbild-picker-card:has(input[type="checkbox"]:checked) {
    box-shadow: 0 0 0 3px rgba(0,122,204,.28);
}
.zufallsbild-picker-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 4px;
}
.zufallsbild-picker-card input[type="number"] { width: 70px; }

/* 3D-Karussell im Frontend */
.as-galerie-karussell {
    --as-carousel-card-width: min(320px, 78vw);
    --as-carousel-radius: clamp(310px, 38vw, 570px);
    --ring-angle: 0deg;
    position: relative;
    max-width: 1180px;
    margin: 32px auto;
    overflow: hidden;
    padding: 10px 16px 28px;
    box-sizing: border-box;
}
.as-galerie-karussell-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto 12px;
}
.as-galerie-karussell-top h2 { margin: 0 0 5px; }
.as-galerie-karussell-top p { margin: 0; }
.as-galerie-karussell-nav { display: flex; gap: 8px; flex: 0 0 auto; }
.as-galerie-karussell-nav button {
    width: 44px;
    height: 44px;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font-size: 22px;
    cursor: pointer;
}
.as-galerie-karussell-scene {
    position: relative;
    height: 520px;
    perspective: 1200px;
    perspective-origin: 50% 48%;
    touch-action: pan-y;
}
.as-galerie-karussell-ring {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    transform: translateZ(calc(var(--as-carousel-radius) * -1)) rotateY(var(--ring-angle));
    transition: transform .7s cubic-bezier(.22,1,.36,1);
}
.as-galerie-karussell-item {
    position: absolute;
    width: var(--as-carousel-card-width);
    left: calc(50% - var(--as-carousel-card-width) / 2);
    top: 20px;
    transform: rotateY(var(--item-angle)) translateZ(var(--as-carousel-radius));
    opacity: .08;
    pointer-events: none;
    transition: opacity .55s ease;
    backface-visibility: hidden;
}
.as-galerie-karussell-item.is-near { opacity: .48; }
.as-galerie-karussell-item.is-current { opacity: 1; pointer-events: auto; }
.as-galerie-karussell-card {
    overflow: hidden;
    border: 1px solid rgba(128,128,128,.35);
    border-radius: 14px;
    background: #fff;
    color: #202733;
    box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.as-galerie-karussell-photo { height: 300px; background: #e8eaed; }
.as-galerie-karussell-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.as-galerie-karussell-body { padding: 16px; text-align: center; }
.as-galerie-karussell-body h3 { margin: 0 0 5px; font-size: 1.25em; }
.as-galerie-karussell-role { margin: 0 0 10px; font-weight: 700; opacity: .72; }
.as-galerie-karussell-text { margin: 8px 0; line-height: 1.45; }
.as-galerie-karussell-actions { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.as-galerie-karussell-actions a {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid currentColor;
    border-radius: 6px;
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}
.as-galerie-karussell-actions a:first-child { background: #17324d; border-color: #17324d; color: #fff; }
.as-galerie-karussell-dots { display: flex; justify-content: center; gap: 7px; flex-wrap: wrap; }
.as-galerie-karussell-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: currentColor;
    opacity: .28;
    cursor: pointer;
}
.as-galerie-karussell-dots button.is-current { opacity: 1; transform: scale(1.35); }

@media (max-width: 720px) {
    .as-galerie-karussell { --as-carousel-radius: 330px; padding-left: 8px; padding-right: 8px; }
    .as-galerie-karussell-top { align-items: center; }
    .as-galerie-karussell-scene { height: 510px; }
    .as-galerie-karussell-photo { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
    .as-galerie-karussell-ring,
    .as-galerie-karussell-item { transition: none; }
}

/* === as_highlights.css === */
/******************************
* Pluginname: AS Highlights
* Version:    1.0
* Datum:      09.06.2026
* Autor:      Alfred Steckel
* Dateiname:  as_highlights.css
******************************/

.as-highlights-admin,
.as-highlights-admin * {
    box-sizing: border-box;
}

.as-highlights-admin {
    font-family: Arial, Helvetica, sans-serif;
    color: #222;
    background: #fff;
    padding: 15px;
}

.as-highlights-header {
    margin-bottom: 1em;
    border-bottom: 2px solid #007acc;
}

.as-highlights-header h3 {
    margin: 0 0 8px;
    color: #007acc;
}

.as-highlights-header p {
    display: none;
}

.as-highlights-layout {
    display: flex;
    gap: 20px;
    width: 100%;
}

.as-highlights-sidebar {
    width: 220px;
    flex: 0 0 220px;
    background: #f5f5f5;
    padding: 15px;
    border-radius: 6px;
}

.as-highlights-sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.as-highlights-sidebar li {
    margin-bottom: 1em;
}

.as-highlights-sidebar li:last-child {
    margin-bottom: 0;
}

.as-highlights-sidebar a {
    display: block;
    padding: 8px 12px;
    background: #1794DD;
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

.as-highlights-sidebar a.active,
.as-highlights-sidebar a:hover {
    background: #FDEAB3;
    color: #000;
}

.as-highlights-content {
    flex: 1 1 auto;
    min-width: 0;
}

.as-highlights-footer {
    margin-top: 2em;
    padding: 10px;
    background: #EAEAEA;
    color: #666;
    text-align: center;
    font-size: .9em;
}

.as-highlights-footer p {
    margin: 0;
}

.as-box {
    background: #fff;
    border: 1px solid #d5dce3;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.as-box-kopf {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.as-box h3 {
    margin-top: 0;
    color: #2E7FC0;
}

.as-button,
.as-kleinbutton {
    display: inline-block;
    background: #2E7FC0;
    color: #fff !important;
    border: 0;
    border-radius: 5px;
    padding: 8px 12px;
    text-decoration: none;
    cursor: pointer;
    font-size: 14px;
}

.as-kleinbutton {
    padding: 5px 8px;
    font-size: 13px;
}

.as-button-zweit {
    background: #6d7882;
}

.as-loeschen {
    background: #b33a3a;
}

.as-tabelle-wrap {
    overflow-x: auto;
}

.as-tabelle {
    width: 100%;
    border-collapse: collapse;
}

.as-tabelle th,
.as-tabelle td {
    border-bottom: 1px solid #e1e6eb;
    padding: 9px 8px;
    text-align: left;
    vertical-align: top;
}

.as-tabelle th {
    background: #eef4f9;
    color: #244c68;
}

.as-aktionen {
    white-space: nowrap;
}

.as-aktionen form {
    display: inline-block;
    margin: 0 0 0 4px;
}

.as-status {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 4px;
    font-size: 12px;
}

.as-status-an {
    background: #dff1df;
    color: #256225;
}

.as-status-aus {
    background: #f3dddd;
    color: #7a2222;
}

.as-hinweis {
    padding: 10px 12px;
    border-radius: 6px;
    margin-bottom: 12px;
}

.as-erfolg {
    background: #e3f2df;
    border: 1px solid #b9d9ad;
}

.as-fehler {
    background: #f8e1e1;
    border: 1px solid #e0aaaa;
}

.as-formular label {
    display: block;
    margin-bottom: 12px;
    font-weight: bold;
}

.as-formular input[type="text"],
.as-formular input[type="number"],
.as-formular input[type="date"],
.as-formular textarea,
.as-formular select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 5px;
    padding: 8px;
    border: 1px solid #ccd6df;
    border-radius: 5px;
    font: inherit;
}

.as-zweispaltig {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.as-checkbox {
    font-weight: normal !important;
}

.as-form-actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.as-code {
    background: #f1f4f7;
    border: 1px solid #d5dce3;
    padding: 12px;
    border-radius: 6px;
    overflow-x: auto;
}

.as-hilfe-liste {
    line-height: 1.7;
}

.as-leer {
    color: #666;
    font-style: italic;
}

.as-highlights-frontend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 16px 0;
}

.as-highlight-box {
    background: #fff;
    border: 1px solid #d5dce3;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.as-highlight-art-hervorgehoben {
    border: 2px solid #2e7fc1;
    background: #eef7fd;
    box-shadow: 0 8px 22px rgba(46, 127, 193, .18);
}

.as-highlight-art-kompakt {
    padding: 12px;
}

.as-highlight-art-kompakt .as-highlight-bild {
    max-width: 120px;
}

.as-highlight-art-kompakt .as-highlight-text h3 {
    margin-bottom: 5px;
    font-size: 1.05rem;
}

.as-highlight-art-mehrspaltig {
    flex: 1 1 260px;
}

.as-highlight-bild img {
    display: block;
    width: 100%;
    height: auto;
}

.as-highlight-text {
    padding: 14px;
}

.as-highlight-text h3 {
    margin: 0 0 8px 0;
    color: #2E7FC0;
}

.as-highlight-button {
    display: inline-block;
    margin-top: 8px;
    background: #2E7FC0;
    color: #fff;
    padding: 7px 10px;
    border-radius: 5px;
    text-decoration: none;
}

@media (max-width: 720px) {
    .as-highlights-layout {
        flex-direction: column;
    }

    .as-highlights-sidebar {
        width: 100%;
        flex-basis: auto;
        margin-bottom: 15px;
    }

    .as-zweispaltig {
        grid-template-columns: 1fr;
    }
}

/* === as_knowledge.css === */
.as-knowledge,
.as-knowledge-admin {
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

/* Einheitliches Backend-Grundlayout */
.as-knowledge-plugin { font-family: Arial, sans-serif; color: #222; }
.as-knowledge-header { padding: 12px 16px; background: #f7f9fb; border: 1px solid #cdd5dc; border-radius: 6px 6px 0 0; }
.as-knowledge-header h2 { margin: 0; color: #2e7fc1; font-size: 20px; }
.as-knowledge-layout { display: flex; gap: 14px; align-items: stretch; }
.as-knowledge-sidebar { flex: 0 0 220px; padding: 12px; background: #f7f9fb; border: 1px solid #cdd5dc; border-top: 0; }
.as-knowledge-sidebar ul { margin: 0; padding: 0; list-style: none; }
.as-knowledge-sidebar li { margin-bottom: 8px; }
.as-knowledge-nav-link { display: block; padding: 8px 10px; color: #263746; background: #e6ebef; border-radius: 4px; text-decoration: none; }
.as-knowledge-nav-link:hover, .as-knowledge-nav-link.active { background: #aad2ee; }
.as-knowledge-search-form input[type="search"] { box-sizing: border-box; width: 100%; margin-bottom: 6px; padding: 7px; border: 1px solid #aeb8c2; border-radius: 4px; }
.as-knowledge-content { flex: 1 1 auto; min-width: 0; padding: 14px; border: 1px solid #cdd5dc; border-top: 0; background: #fff; }
.as-knowledge-footer { margin-top: 10px; padding: 7px; color: #66717b; background: #f4f4f4; text-align: center; font-size: 12px; }
.as-knowledge-box { padding: 14px; margin-bottom: 14px; background: #fff; border: 1px solid #cdd5dc; border-radius: 6px; }
.as-knowledge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.as-knowledge-button { display: inline-block; padding: 7px 11px; border: 1px solid #777; border-radius: 4px; cursor: pointer; text-decoration: none; }
.as-knowledge-button-primary { color: #fff; background: #2e7fc1; border-color: #2e7fc1; }
.as-knowledge-message-error { color: #842029; background: #f8d7da; border: 1px solid #f5c2c7; }
.as-knowledge-help li { margin-bottom: 8px; }

@media (max-width: 900px) {
    .as-knowledge-layout { display: block; }
    .as-knowledge-sidebar { border-right: 1px solid #cdd5dc; }
    .as-knowledge-grid { grid-template-columns: 1fr; }
}

.as-knowledge-settings-form { max-width: 1050px; }
.as-knowledge-settings-form fieldset { margin: 0 0 18px; padding: 16px; border: 1px solid #cdd5dc; border-radius: 6px; background: #f9fbfc; }
.as-knowledge-settings-form legend { padding: 0 7px; color: #2e7fc1; font-weight: bold; }
.as-knowledge-settings-form select { box-sizing: border-box; width: 100%; max-width: 620px; padding: 7px; margin: 6px 0 12px; border: 1px solid #aeb8c2; border-radius: 4px; background: #fff; }
.as-knowledge-settings-form select[multiple] { min-height: 160px; }
.as-knowledge-settings-form small { display: block; margin: -7px 0 10px; color: #59636d; }
.as-knowledge-option-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px 14px; margin: 8px 0 14px; }
.as-knowledge-option-grid label { display: flex; gap: 7px; align-items: flex-start; padding: 7px 9px; background: #fff; border: 1px solid #dbe1e6; border-radius: 4px; }
.as-knowledge-option-grid input { margin-top: 2px; }
.as-knowledge-permission-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.as-knowledge-permission-columns h4 { margin: 4px 0 8px; color: #34495e; }
@media (max-width: 800px) { .as-knowledge-permission-columns { grid-template-columns: 1fr; } }
.as-knowledge-permission-dropdown { position: relative; max-width: 680px; margin: 10px 0 14px; }
.as-knowledge-permission-dropdown summary { display: flex; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid #aeb8c2; border-radius: 5px; background: #fff; cursor: pointer; list-style: none; }
.as-knowledge-permission-dropdown summary::-webkit-details-marker { display: none; }
.as-knowledge-permission-dropdown summary::after { content: '▾'; margin-left: auto; }
.as-knowledge-permission-dropdown[open] summary::after { content: '▴'; }
.as-knowledge-permission-dropdown summary span { color: #59636d; font-size: .92em; }
.as-knowledge-permission-menu { max-height: 360px; overflow-y: auto; padding: 10px 12px; border: 1px solid #aeb8c2; border-top: 0; border-radius: 0 0 5px 5px; background: #fff; box-shadow: 0 5px 14px rgba(0,0,0,.09); }
.as-knowledge-permission-menu h4 { margin: 8px 0 5px; color: #2e7fc1; }
.as-knowledge-permission-menu label { display: block; padding: 6px 4px; border-bottom: 1px solid #edf0f2; cursor: pointer; }
.as-knowledge-permission-menu label:hover { background: #f2f8fc; }
.as-knowledge-admin h2,
.as-knowledge h1 {
    margin-top: 0;
}
.as-knowledge-lead,
.as-knowledge-small,
.as-knowledge-breadcrumb,
.as-knowledge-meta,
.as-knowledge-source {
    color: #666;
}
.as-knowledge-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}
.as-knowledge-tabs a,
.as-knowledge-button,
.as-knowledge-more,
.as-knowledge-admin button {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #bbb;
    border-radius: 6px;
    background: #f3f3f3;
    text-decoration: none;
    color: #222;
    cursor: pointer;
}
.as-knowledge-tabs a.active,
.as-knowledge-button {
    background: #ddd;
    font-weight: bold;
}
.as-knowledge-grid,
.as-knowledge-article-layout,
.as-knowledge-front-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    align-items: start;
}
.as-knowledge-front-layout {
    grid-template-columns: 260px minmax(0, 1fr);
}
.as-knowledge-box,
.as-knowledge-front-nav,
.as-knowledge-infobox,
.as-knowledge-list-item {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 14px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
    margin-bottom: 16px;
}
.as-knowledge-admin label {
    display: block;
    font-weight: bold;
    margin-top: 10px;
}
.as-knowledge-admin input[type="text"],
.as-knowledge-admin input[type="number"],
.as-knowledge-admin select,
.as-knowledge-admin textarea,
.as-knowledge-search input[type="text"] {
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    border: 1px solid #bbb;
    border-radius: 5px;
}
.as-knowledge-check {
    font-weight: normal !important;
}
.as-knowledge-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}
.as-knowledge-table th,
.as-knowledge-table td {
    border: 1px solid #ddd;
    padding: 7px;
    vertical-align: top;
}
.as-knowledge-table th {
    background: #f0f0f0;
}
.as-knowledge-inline-form {
    display: inline-block;
    margin-left: 8px;
}
.as-knowledge-message {
    padding: 10px;
    border-radius: 6px;
    background: #eef6ff;
    border: 1px solid #b7d8f5;
    margin: 10px 0;
}
.as-knowledge-tree {
    list-style: none;
    margin: 0;
    padding-left: 16px;
}
.as-knowledge-tree li {
    margin: 5px 0;
}
.as-knowledge-tree a {
    text-decoration: none;
}
.as-knowledge-count {
    color: #777;
    font-size: .9em;
}
.as-knowledge-search {
    margin-top: 16px;
}
.as-knowledge-search button {
    margin-top: 6px;
}
.as-knowledge-infobox img,
.as-knowledge-main-image {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin-bottom: 10px;
}
.as-knowledge-infobox table {
    width: 100%;
    border-collapse: collapse;
}
.as-knowledge-infobox th,
.as-knowledge-infobox td {
    border-bottom: 1px solid #ddd;
    padding: 6px;
    text-align: left;
    vertical-align: top;
}
.as-knowledge-infobox th {
    width: 42%;
    color: #555;
}
.as-knowledge-teaser {
    font-weight: bold;
    font-size: 1.08em;
}
.as-knowledge-tags span {
    display: inline-block;
    padding: 3px 7px;
    margin: 3px;
    border-radius: 12px;
    background: #eee;
}
.as-knowledge-frontend { box-sizing: border-box; width: 100%; max-width: 1080px; margin: 0 auto; color: #20262d; }
.as-knowledge-front-header { margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid #d9e0e7; background: transparent; }
.as-knowledge-front-header h1, .as-knowledge-front-header p { margin: 0; }
.as-knowledge-front-header h1 { font-size: 1.8rem; line-height: 1.2; }
.as-knowledge-front-header h1 a { color: #1f5f96; text-decoration: none; }
.as-knowledge-front-header p { margin-top: 5px; color: #65717d; }
.as-knowledge-search { margin: 0 0 26px; padding: 18px; border: 1px solid #cbd7e2; border-radius: 8px; background: #f5f8fb; }
.as-knowledge-search label { display: block; margin-bottom: 7px; font-weight: 700; }
.as-knowledge-search-row { display: flex; gap: 8px; align-items: stretch; }
.as-knowledge-search input[type="search"] { box-sizing: border-box; min-width: 0; flex: 1 1 auto; padding: 11px 12px; border: 1px solid #98a8b7; border-radius: 5px; background: #fff; font: inherit; }
.as-knowledge-search input[type="search"]:focus { outline: 3px solid rgba(46,127,193,.2); border-color: #2e7fc1; }
.as-knowledge-search button { margin: 0; padding: 10px 18px; border: 0; border-radius: 5px; color: #fff; background: #246da8; font: inherit; font-weight: 700; cursor: pointer; }
.as-knowledge-search button:hover { background: #195b91; }
.as-knowledge-search-reset { display: inline-flex; align-items: center; padding: 9px 12px; color: #425466; text-decoration: none; }
.as-knowledge-search-hint { margin: 8px 0 0; color: #65717d; font-size: .9rem; }
.as-knowledge-breadcrumb { margin: 0 0 10px; color: #59636d; font-size: .93em; }
.as-knowledge-breadcrumb a { color: #3366cc; }
.as-knowledge-back { display: inline-block; margin: 0 0 16px; padding: 8px 12px; border: 1px solid #bdc9d4; border-radius: 5px; color: #1f5f96; background: #fff; font-weight: 700; text-decoration: none; }
.as-knowledge-back:hover { border-color: #8da4b8; background: #f4f7f9; }
.as-knowledge-article-header { margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #aeb8c2; }
.as-knowledge-article-header h1 { margin: 0 0 8px; font-size: 2rem; line-height: 1.2; }
.as-knowledge-article-meta { display: flex; flex-wrap: wrap; gap: 5px 18px; color: #65717d; font-size: .88rem; }
.as-knowledge-article-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
.as-knowledge-article-layout.no-infobox { grid-template-columns: minmax(0, 1fr); }
.as-knowledge-article-body { min-width: 0; }
.as-knowledge-text { line-height: 1.7; }
.as-knowledge-text h2 { margin: 30px 0 10px; padding-bottom: 5px; border-bottom: 1px solid #d6dde4; font-size: 1.45rem; }
.as-knowledge-text h3 { margin: 24px 0 8px; font-size: 1.2rem; }
.as-knowledge-text h4 { margin: 20px 0 6px; font-size: 1.05rem; }
.as-knowledge-text p { margin: 0 0 15px; }
.as-knowledge-teaser { margin: 0 0 18px; padding-left: 14px; border-left: 4px solid #7aa6c9; color: #33414d; font-size: 1.06rem; line-height: 1.55; }
.as-knowledge-toc { margin: 0 0 24px; padding: 14px 16px; border: 1px solid #cbd6df; border-radius: 6px; background: #f7f9fb; }
.as-knowledge-toc > strong { display: block; margin-bottom: 7px; font-size: 1.05rem; }
.as-knowledge-toc ol { margin: 0; padding-left: 22px; }
.as-knowledge-toc li { margin: 4px 0; }
.as-knowledge-toc li.level-3 { margin-left: 18px; }
.as-knowledge-toc li.level-4 { margin-left: 36px; font-size: .94em; }
.as-knowledge-toc a { color: #1f5f96; text-decoration: none; }
.as-knowledge-toc a:hover { text-decoration: underline; }
.as-knowledge-infobox { position: sticky; top: 12px; margin: 0; padding: 0; overflow: hidden; border-color: #b9c6d1; border-radius: 6px; box-shadow: none; }
.as-knowledge-infobox > h2 { margin: 0; padding: 10px 12px; color: #fff; background: #376d97; font-size: 1.05rem; text-align: center; }
.as-knowledge-infobox .as-knowledge-main-image { display: block; width: 100%; margin: 0; border-radius: 0; }
.as-knowledge-infobox table { margin: 0; }
.as-knowledge-infobox th, .as-knowledge-infobox td { padding: 8px 10px; font-size: .92rem; }
.as-knowledge-source, .as-knowledge-tags, .as-knowledge-related { margin-top: 28px; padding-top: 4px; border-top: 1px solid #d6dde4; }
.as-knowledge-source h2, .as-knowledge-tags h2, .as-knowledge-related h2 { margin: 12px 0 10px; font-size: 1.2rem; }
.as-knowledge-source p { overflow-wrap: anywhere; }
.as-knowledge-related ul { margin: 0; padding-left: 20px; }
.as-knowledge-related li { margin: 6px 0; }
.as-knowledge-related a { color: #1f5f96; }
.as-knowledge-tags a { display: inline-block; margin: 3px; padding: 3px 8px; border-radius: 12px; color: #23527c; background: #eef3f7; text-decoration: none; }
.as-knowledge-result-head { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; margin-bottom: 4px; padding-bottom: 10px; border-bottom: 1px solid #d9e0e7; }
.as-knowledge-result-head h2 { margin: 0; font-size: 1.35rem; }
.as-knowledge-result-head p { margin: 0; color: #65717d; white-space: nowrap; }
.as-knowledge-list-item { margin: 0; padding: 17px 2px; border: 0; border-bottom: 1px solid #e1e6eb; border-radius: 0; background: transparent; box-shadow: none; }
.as-knowledge-list-item h3 { margin: 0 0 4px; font-size: 1.18rem; }
.as-knowledge-list-item h3 a { color: #1f5f96; text-decoration: none; }
.as-knowledge-list-item h3 a:hover { text-decoration: underline; }
.as-knowledge-result-meta { margin: 0 0 7px; color: #65717d; font-size: .88rem; }
.as-knowledge-result-excerpt { margin: 0; color: #333d46; line-height: 1.5; }
.as-knowledge-list-item mark { padding: 0 2px; border-radius: 2px; background: #ffec99; color: inherit; }
.as-knowledge-more { display: inline-block; margin-top: 8px; font-weight: 700; color: #1f5f96; text-decoration: none; }
.as-knowledge-pagination a { min-width: 24px; padding: 5px 7px; border: 1px solid #c8d0d8; border-radius: 4px; color: #2e63a3; background: #fff; text-align: center; text-decoration: none; }
.as-knowledge-pagination a.active { color: #fff; background: #2e7fc1; border-color: #2e7fc1; }
.as-knowledge-pagination { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 18px; }
.as-knowledge-empty { padding: 16px; border: 1px dashed #aeb8c2; border-radius: 6px; background: #f8fafc; }
@media (max-width: 900px) {
    .as-knowledge-grid,
    .as-knowledge-article-layout {
        grid-template-columns: 1fr;
    }
    .as-knowledge-infobox { position: static; order: -1; max-width: 420px; }
}
@media (max-width: 560px) {
    .as-knowledge-search-row { flex-wrap: wrap; }
    .as-knowledge-search input[type="search"] { flex-basis: 100%; }
    .as-knowledge-search button { flex: 1 1 auto; }
    .as-knowledge-result-head { display: block; }
    .as-knowledge-result-head p { margin-top: 4px; white-space: normal; }
}

/* Backend-Aufbau nach AS-CMS-Verwaltungsstil */
.as-knowledge-admin-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    padding: 12px 14px;
    margin-bottom: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.as-knowledge-admin-header h2 {
    margin: 0 0 4px 0;
    font-size: 1.35em;
}
.as-knowledge-admin-header .as-knowledge-lead {
    margin: 0;
}
.as-knowledge-admin-badge {
    white-space: nowrap;
    border: 1px solid #bbb;
    border-radius: 20px;
    padding: 6px 12px;
    background: #f3f3f3;
    font-size: .92em;
    font-weight: bold;
}
.as-knowledge-admin-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
.as-knowledge-admin-sidebar {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.as-knowledge-sidebar-title {
    font-weight: bold;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e5e5e5;
}
.as-knowledge-sidebar-button {
    display: block;
    padding: 9px 10px;
    margin-bottom: 8px;
    border: 1px solid #bbb;
    border-radius: 6px;
    background: #f3f3f3;
    color: #222;
    text-decoration: none;
}
.as-knowledge-sidebar-button.active,
.as-knowledge-sidebar-button:hover {
    background: #ddd;
    font-weight: bold;
}
.as-knowledge-sidebar-hint {
    margin-top: 12px;
    font-size: .9em;
    color: #666;
    line-height: 1.4;
}
.as-knowledge-admin-main {
    min-width: 0;
}
.as-knowledge-admin-footer {
    margin-top: 16px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #666;
    text-align: center;
    font-size: .9em;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
@media (max-width: 900px) {
    .as-knowledge-admin-header,
    .as-knowledge-admin-layout {
        display: block;
    }
    .as-knowledge-admin-sidebar {
        margin-bottom: 16px;
    }
    .as-knowledge-admin-badge {
        display: inline-block;
        margin-top: 10px;
    }
}

/* AS-CMS Backendstandard fuer AS Knowledge */
.as-knowledge-admin {
    width: 100%;
    box-sizing: border-box;
}
.as-knowledge-kopfzeile {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 10px 0;
    padding: 6px 10px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background: #f5f5f5;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.3;
}
.as-knowledge-kopfzeile span {
    float: right;
    font-weight: normal;
    color: #666;
    font-size: 13px;
}
.as-knowledge-verwaltung {
    display: table;
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
}
.as-knowledge-sidebar {
    display: table-cell;
    width: 210px;
    min-width: 210px;
    vertical-align: top;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background: #eeeeee;
}
.as-knowledge-arbeitsbereich {
    display: table-cell;
    vertical-align: top;
    box-sizing: border-box;
    padding-left: 12px;
    min-width: 0;
}
.as-knowledge-sidebar-titel {
    margin: 0 0 10px 0;
    padding: 6px 8px;
    border: 1px solid #c7c7c7;
    border-radius: 4px;
    background: #ffffff;
    font-weight: bold;
    text-align: center;
}
.as-knowledge-sidebar-button {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 8px 0;
    padding: 8px 10px;
    border: 1px solid #b8b8b8;
    border-radius: 4px;
    background: #ffffff;
    color: #222222;
    text-decoration: none;
    font-weight: bold;
}
.as-knowledge-sidebar-button:hover,
.as-knowledge-sidebar-button.aktiv {
    background: #dcdcdc;
    border-color: #999999;
    color: #000000;
}
.as-knowledge-sidebar-info {
    margin-top: 12px;
    padding: 8px;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    background: #fafafa;
    color: #666666;
    font-size: 12px;
    line-height: 1.35;
}
.as-knowledge-fusszeile {
    box-sizing: border-box;
    width: 100%;
    margin: 10px 0 0 0;
    padding: 6px 10px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background: #f5f5f5;
    color: #666666;
    font-size: 12px;
    text-align: center;
}
@media (max-width: 900px) {
    .as-knowledge-verwaltung,
    .as-knowledge-sidebar,
    .as-knowledge-arbeitsbereich {
        display: block;
        width: 100%;
    }
    .as-knowledge-arbeitsbereich {
        padding-left: 0;
        margin-top: 10px;
    }
    .as-knowledge-kopfzeile span {
        float: none;
        display: block;
        margin-top: 3px;
    }
}

/* AS-CMS Backendlayout nach Muster ToDo-Manager */
.as-knowledge-plugin {
    width: 100%;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
    color: #222;
}

.as-knowledge-header {
    width: 100%;
    box-sizing: border-box;
    background: #333;
    color: #AAD2EE;
    padding: 8px 12px;
    margin: 0;
    border-radius: 4px 4px 0 0;
    min-height: 34px;
}

.as-knowledge-header h3 {
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 24px;
    color: #AAD2EE;
}

.as-knowledge-header-subtitle {
    position: absolute;
    right: 12px;
    top: 9px;
    font-size: 13px;
    color: #ffffff;
    font-weight: normal;
}

.as-knowledge-plugin .container-flex {
    display: flex;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    background: #F4F4F4;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
}

.as-knowledge-plugin .sidebar {
    width: 220px;
    min-width: 220px;
    box-sizing: border-box;
    background: #444;
    padding: 10px;
    color: #ffffff;
}

.as-knowledge-plugin .sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.as-knowledge-plugin .sidebar li {
    margin: 0 0 9px 0;
    padding: 0;
}

.as-knowledge-plugin .button-link,
.as-knowledge-plugin .btn-secondary {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;
    background: #555;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none;
    border: 1px solid #777;
    border-radius: 4px;
    font-weight: bold;
    font-family: Arial, sans-serif;
}

.as-knowledge-plugin .button-link:hover,
.as-knowledge-plugin .button-link.active {
    background: #AAD2EE;
    color: #222222 !important;
    border-color: #AAD2EE;
}

.as-knowledge-sidebar-note {
    margin-top: 14px !important;
    padding: 8px;
    background: #555;
    border: 1px solid #777;
    border-radius: 4px;
    color: #eeeeee;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
}

.as-knowledge-plugin .content-area {
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
    padding: 12px;
    background: #ffffff;
}

.as-knowledge-footer {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cccccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    font-size: 12px;
    color: #555555;
}

.as-knowledge-plugin button,
.as-knowledge-plugin .as-knowledge-button {
    display: inline-block;
    padding: 8px 12px;
    background: #555;
    color: #ffffff !important;
    border: 1px solid #777;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    font-weight: bold;
}

.as-knowledge-plugin button:hover,
.as-knowledge-plugin .as-knowledge-button:hover {
    background: #AAD2EE;
    color: #222222 !important;
    border-color: #AAD2EE;
}

@media (max-width: 900px) {
    .as-knowledge-plugin .container-flex {
        display: block;
    }

    .as-knowledge-plugin .sidebar {
        width: 100%;
        min-width: 0;
    }

    .as-knowledge-header-subtitle {
        position: static;
        display: block;
        margin-top: 4px;
    }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: categories.php
   ============================================================ */

.as-knowledge-page-title {
    margin: 0 0 12px 0;
    padding: 10px 12px;
    background: #f9f9f9;
    border: 1px solid #ccc;
    border-left: 4px solid #2E7FC1;
    border-radius: 4px;
}

.as-knowledge-page-title h3 {
    margin: 0;
    padding: 0;
    color: #2E7FC1;
    font-size: 18px;
}

.as-knowledge-page-title p {
    margin: 5px 0 0 0;
    color: #555;
    font-size: 13px;
}

.as-knowledge-category-layout {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.as-knowledge-panel {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.as-knowledge-panel-title {
    padding: 8px 10px;
    background: #f0f0f0;
    border-bottom: 1px solid #ccc;
    color: #333;
    font-weight: bold;
}

.as-knowledge-panel-body {
    padding: 10px;
}

.as-knowledge-form label {
    display: block;
    margin: 9px 0 4px 0;
    font-weight: bold;
    color: #333;
}

.as-knowledge-form input[type="text"],
.as-knowledge-form input[type="number"],
.as-knowledge-form select,
.as-knowledge-form textarea {
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.as-knowledge-form textarea {
    resize: vertical;
}

.as-knowledge-small {
    margin: 4px 0 0 0;
    color: #666;
    font-size: 12px;
}

.as-knowledge-check {
    display: flex !important;
    align-items: center;
    gap: 6px;
    font-weight: normal !important;
}

.as-knowledge-action-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.as-knowledge-save-button,
.as-knowledge-delete-button,
.as-knowledge-cancel-button,
.as-knowledge-abort-button {
    display: inline-block;
    padding: 7px 10px;
    border: none;
    border-radius: 4px;
    text-decoration: none !important;
    cursor: pointer;
    font-weight: bold;
    font-size: 13px;
}

.as-knowledge-save-button {
    background: #2E7FC1;
    color: #fff !important;
}

.as-knowledge-save-button:hover {
    background: #1d5a91;
}

.as-knowledge-cancel-button {
    background: #e0e0e0;
    color: #333 !important;
}

.as-knowledge-abort-button {
    background: #f4f4f4;
    color: #333 !important;
    border: 1px solid #bbb;
}

.as-knowledge-abort-button:hover {
    background: #ddd;
}

.as-knowledge-delete-button {
    background: #b84545;
    color: #fff !important;
}

.as-knowledge-message-info,
.as-knowledge-message-error {
    margin: 0 0 10px 0;
    padding: 8px 10px;
    border-radius: 4px;
}

.as-knowledge-message-info {
    background: #eef8ff;
    border: 1px solid #aad2ee;
    color: #24587e;
}

.as-knowledge-message-error {
    background: #fff1f1;
    border: 1px solid #e0a0a0;
    color: #8a2f2f;
}

.as-knowledge-selected-root {
    padding: 0;
    margin: 0;
}

.as-knowledge-category-tree,
.as-knowledge-category-tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.as-knowledge-category-tree {
    margin-top: 6px;
}

.as-knowledge-category-tree ul,
.as-knowledge-category-tree.level-1,
.as-knowledge-category-tree.level-2,
.as-knowledge-category-tree.level-3,
.as-knowledge-category-tree.level-4 {
    margin-left: 20px;
    border-left: 1px solid #d7e6f0;
    padding-left: 10px;
}

.as-knowledge-category-tree li {
    margin: 0;
    padding: 0;
}

.as-knowledge-category-row {
    display: grid;
    grid-template-columns: 24px minmax(160px, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    margin: 0 0 6px 0;
    padding: 7px 8px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.as-knowledge-category-row:hover {
    background: #eef8ff;
    border-color: #aad2ee;
}

.as-knowledge-root-row {
    background: #eef8ff;
    border-color: #aad2ee;
}

.as-knowledge-root-icon {
    color: #2E7FC1;
    font-weight: bold;
    text-align: center;
}

.as-knowledge-drag-handle {
    display: inline-block;
    min-width: 20px;
    color: #2E7FC1;
    font-weight: bold;
    cursor: grab;
    text-align: center;
    user-select: none;
}

.as-knowledge-drag-handle:active {
    cursor: grabbing;
}

.as-knowledge-category-list-item.as-drag-active > .as-knowledge-category-row {
    opacity: 0.55;
}

.as-knowledge-category-list-item.as-drop-before > .as-knowledge-category-row {
    border-top: 4px solid #2E7FC1;
}

.as-knowledge-category-list-item.as-drop-after > .as-knowledge-category-row {
    border-bottom: 4px solid #2E7FC1;
}

.as-knowledge-category-name {
    font-weight: bold;
    color: #333;
}

.as-knowledge-category-meta {
    color: #666;
    font-size: 12px;
    white-space: nowrap;
}

.as-knowledge-category-actions {
    display: flex;
    align-items: center;
    gap: 5px;
}

.as-knowledge-category-actions a {
    color: #2E7FC1 !important;
    text-decoration: none !important;
    font-weight: bold;
    font-size: 12px;
}

.as-knowledge-category-actions a:hover {
    text-decoration: underline !important;
}

.as-knowledge-move-up,
.as-knowledge-move-down {
    display: inline-block;
    min-width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #f4f4f4;
    color: #333;
    cursor: pointer;
    font-size: 11px;
    line-height: 20px;
}

.as-knowledge-move-up:hover,
.as-knowledge-move-down:hover {
    background: #aad2ee;
    border-color: #7daaca;
}

.as-knowledge-empty {
    padding: 14px;
    background: #f9f9f9;
    border: 1px dashed #ccc;
    border-radius: 4px;
    color: #666;
    text-align: center;
}

@media (max-width: 1000px) {
    .as-knowledge-category-layout {
        grid-template-columns: 1fr;
    }

    .as-knowledge-category-row {
        grid-template-columns: 24px 1fr;
    }

    .as-knowledge-category-meta,
    .as-knowledge-category-actions {
        grid-column: 2 / 3;
    }

    .as-knowledge-category-meta {
        white-space: normal;
    }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: list.php
   ============================================================ */

.as-knowledge-list-title {
    margin: 0 0 12px 0;
    padding: 10px 12px;
    background: #f9f9f9;
    border: 1px solid #ccc;
    border-left: 4px solid #2E7FC1;
    border-radius: 4px;
}

.as-knowledge-list-title h3 {
    margin: 0;
    padding: 0;
    color: #2E7FC1;
    font-size: 18px;
}

.as-knowledge-list-title p {
    margin: 5px 0 0 0;
    color: #555;
    font-size: 13px;
}

.as-knowledge-list-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.as-knowledge-panel {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.as-knowledge-panel-title {
    padding: 8px 10px;
    background: #f0f0f0;
    border-bottom: 1px solid #ccc;
    color: #333;
    font-weight: bold;
}

.as-knowledge-panel-body {
    padding: 10px;
}

.as-knowledge-category-picker label {
    display: block;
    margin: 0 0 5px 0;
    font-weight: bold;
    color: #333;
}

.as-knowledge-category-picker select,
.as-knowledge-category-picker input[type="text"] {
    width: 100%;
    padding: 6px;
    margin: 0 0 8px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.as-knowledge-category-picker .as-knowledge-button {
    width: 100%;
    text-align: center;
}

.as-knowledge-suggestion-box {
    display: none;
    margin: -4px 0 8px 0;
    padding: 0;
    border: 1px solid #aad2ee;
    border-radius: 4px;
    background: #fff;
    max-height: 260px;
    overflow-y: auto;
}

.as-knowledge-suggestion-item {
    display: block;
    width: 100%;
    padding: 6px 7px;
    border: 0;
    border-bottom: 1px solid #eee;
    background: #fff;
    text-align: left;
    cursor: pointer;
    color: #333;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.as-knowledge-suggestion-item:hover {
    background: #eef8ff;
    color: #2E7FC1;
}

.as-knowledge-suggestion-item.inactive {
    color: #888;
}

.as-knowledge-selected-category {
    margin-top: 8px;
    padding: 8px;
    background: #eef8ff;
    border: 1px solid #aad2ee;
    border-radius: 4px;
    color: #24587e;
    font-size: 13px;
}

.as-knowledge-message-info,
.as-knowledge-message-error {
    margin: 0 0 10px 0;
    padding: 8px 10px;
    border-radius: 4px;
}

.as-knowledge-message-info {
    background: #eef8ff;
    border: 1px solid #aad2ee;
    color: #24587e;
}

.as-knowledge-message-error {
    background: #fff1f1;
    border: 1px solid #e0a0a0;
    color: #8a2f2f;
}

.as-knowledge-empty {
    padding: 14px;
    background: #f9f9f9;
    border: 1px dashed #ccc;
    border-radius: 4px;
    color: #666;
    text-align: center;
}

.as-knowledge-article-table {
    width: 100%;
    border-collapse: collapse;
}

.as-knowledge-article-table th,
.as-knowledge-article-table td {
    border: 1px solid #ccc;
    padding: 7px;
    vertical-align: top;
}

.as-knowledge-article-table th {
    background: #f0f0f0;
    color: #333;
    text-align: left;
}

.as-knowledge-article-table tr:nth-child(even) td {
    background: #f9f9f9;
}

.as-knowledge-status {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 11px;
    border: 1px solid #ccc;
    background: #f4f4f4;
}

.as-knowledge-status.published {
    background: #e8f6e8;
    border-color: #9dcc9d;
    color: #2d6b2d;
}

.as-knowledge-status.draft {
    background: #fff7e6;
    border-color: #e0c078;
    color: #806000;
}

.as-knowledge-action-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.as-knowledge-button,
.as-knowledge-save-button,
.as-knowledge-danger-button,
.as-knowledge-warning-button,
.as-knowledge-cancel-button {
    display: inline-block;
    padding: 7px 10px;
    border: none;
    border-radius: 4px;
    text-decoration: none !important;
    cursor: pointer;
    font-weight: bold;
    font-size: 13px;
}

.as-knowledge-button,
.as-knowledge-save-button {
    background: #2E7FC1;
    color: #fff !important;
}

.as-knowledge-button:hover,
.as-knowledge-save-button:hover {
    background: #1d5a91;
}

.as-knowledge-warning-button {
    background: #e0a742;
    color: #fff !important;
}

.as-knowledge-danger-button {
    background: #b84545;
    color: #fff !important;
}

.as-knowledge-cancel-button {
    background: #e0e0e0;
    color: #333 !important;
}

.as-knowledge-edit-form label {
    display: block;
    margin: 9px 0 4px 0;
    font-weight: bold;
    color: #333;
}

.as-knowledge-edit-form input[type="text"],
.as-knowledge-edit-form select,
.as-knowledge-edit-form textarea {
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.as-knowledge-edit-form textarea {
    resize: vertical;
}

.as-knowledge-edit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 12px;
}

.as-knowledge-check {
    display: flex !important;
    align-items: center;
    gap: 6px;
    font-weight: normal !important;
}

@media (max-width: 1000px) {
    .as-knowledge-list-layout,
    .as-knowledge-edit-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: register.php
   ============================================================ */

.as-knowledge-register-title {
    margin: 0 0 12px 0;
    padding: 10px 12px;
    background: #f9f9f9;
    border: 1px solid #ccc;
    border-left: 4px solid #2E7FC1;
    border-radius: 4px;
}

.as-knowledge-register-title h3 {
    margin: 0;
    padding: 0;
    color: #2E7FC1;
    font-size: 18px;
}

.as-knowledge-register-title p {
    margin: 5px 0 0 0;
    color: #555;
    font-size: 13px;
}

.as-knowledge-register-panel {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.as-knowledge-register-panel-title {
    padding: 8px 10px;
    background: #f0f0f0;
    border-bottom: 1px solid #ccc;
    color: #333;
    font-weight: bold;
}

.as-knowledge-register-panel-body {
    padding: 10px;
}

.as-knowledge-register-form label {
    display: block;
    margin: 9px 0 4px 0;
    font-weight: bold;
    color: #333;
}

.as-knowledge-register-form input[type="text"],
.as-knowledge-register-form select,
.as-knowledge-register-form textarea {
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

.as-knowledge-register-form textarea {
    resize: vertical;
}

.as-knowledge-register-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 12px;
}

.as-knowledge-small {
    margin: 4px 0 0 0;
    color: #666;
    font-size: 12px;
}

.as-knowledge-check {
    display: flex !important;
    align-items: center;
    gap: 6px;
    font-weight: normal !important;
}

.as-knowledge-action-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.as-knowledge-save-button,
.as-knowledge-reset-button {
    display: inline-block;
    padding: 7px 10px;
    border: none;
    border-radius: 4px;
    text-decoration: none !important;
    cursor: pointer;
    font-weight: bold;
    font-size: 13px;
}

.as-knowledge-save-button {
    background: #2E7FC1;
    color: #fff !important;
}

.as-knowledge-save-button:hover {
    background: #1d5a91;
}

.as-knowledge-reset-button {
    background: #e0e0e0;
    color: #333 !important;
}

.as-knowledge-message-info,
.as-knowledge-message-error {
    margin: 0 0 10px 0;
    padding: 8px 10px;
    border-radius: 4px;
}

.as-knowledge-message-info {
    background: #eef8ff;
    border: 1px solid #aad2ee;
    color: #24587e;
}

.as-knowledge-message-error {
    background: #fff1f1;
    border: 1px solid #e0a0a0;
    color: #8a2f2f;
}

@media (max-width: 1000px) {
    .as-knowledge-register-grid {
        grid-template-columns: 1fr;
    }
}

/* === as_legal.css === */
/*
 * AS Legal
 * Plugin-CSS enthält nur plugin-eigene Sonderdarstellungen.
 * Normale Backend-Formulare, Boxen, Buttons und Meldungen verwenden adm_*.
 */

/* Backend: besondere Editor-Anpassungen */
.as-legal-editor .trumbowyg-box,
.as-legal-editor .trumbowyg-editor,
.as-legal-editor .ck.ck-editor {
    width: 100%;
}

.as-legal-editor .trumbowyg-box,
.as-legal-editor .ck.ck-editor {
    margin-top: 8px;
}

.as-legal-editor .trumbowyg-editor,
.as-legal-editor .ck-editor__editable_inline {
    min-height: 280px;
}

/* Frontend: Rechtstexte */
.as-legal-front,
.as-legal-page {
    color: #1f2933;
    font-family: Arial, sans-serif;
}

.as-legal-page {
    margin: 0 auto;
    max-width: 900px;
    padding: 24px 16px;
}

.as-legal-text {
    line-height: 1.65;
}

.as-legal-text table {
    border-collapse: collapse;
    margin: 14px 0;
    width: 100%;
}

.as-legal-text th,
.as-legal-text td {
    border: 1px solid #c8d1dc;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.as-legal-text th {
    background: #f4f7fb;
    font-weight: 700;
}

.as-legal-empty,
.as-legal-shortcode {
    color: #52606d;
}

.as-legal-footer-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    padding: 14px 8px;
}

.as-legal-footer-links a {
    color: inherit;
    text-decoration: underline;
}

/* Frontend: Cookie-Hinweis */
.as-legal-cookie {
    background: rgba(15, 23, 42, 0.55);
    bottom: 0;
    box-sizing: border-box;
    left: 0;
    overflow-y: auto;
    padding: 16px;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-overflow-scrolling: touch;
    z-index: 9999;
}

.as-legal-cookie-inline {
    background: transparent;
    bottom: auto;
    overflow: visible;
    padding: 16px 0;
    position: static;
    top: auto;
}

.as-legal-cookie-box {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.22);
    margin: 0 auto;
    max-width: 760px;
    padding: 18px;
}

.as-legal-cookie-box h3 {
    margin: 0 0 8px;
}

.as-legal-cookie-options {
    display: grid;
    gap: 10px;
    margin: 14px 0;
}

.as-legal-cookie-option {
    align-items: flex-start;
    border: 1px solid #d8dee6;
    border-radius: 4px;
    display: flex;
    gap: 10px;
    padding: 10px;
}

.as-legal-cookie-option small {
    color: #52606d;
    display: block;
    margin-top: 3px;
}

.as-legal-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.as-legal-cookie button {
    background: #1f6f8b;
    border: 0;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 10px 14px;
}

.as-legal-cookie button:first-child {
    background: #394b59;
}

.as-legal-cookie-saved {
    background: #e7f7e7;
    border: 1px solid #9ad29a;
    border-radius: 6px;
    color: #245f24;
    font-weight: 600;
    margin: 10px 0;
    padding: 8px 10px;
}

.as-legal-single-link {
    color: inherit;
}

@media (max-width: 760px) {
    .as-legal-cookie-actions {
        justify-content: stretch;
    }

    .as-legal-cookie-actions button {
        width: 100%;
    }
}

/* === as_legal_style.css === */
/*
 * AS Legal
 * Plugin-CSS enthält nur plugin-eigene Sonderdarstellungen.
 * Normale Backend-Formulare, Boxen, Buttons und Meldungen verwenden adm_*.
 */

/* Backend: besondere Editor-Anpassungen */
.as-legal-editor .trumbowyg-box,
.as-legal-editor .trumbowyg-editor,
.as-legal-editor .ck.ck-editor {
    width: 100%;
}

.as-legal-editor .trumbowyg-box,
.as-legal-editor .ck.ck-editor {
    margin-top: 8px;
}

.as-legal-editor .trumbowyg-editor,
.as-legal-editor .ck-editor__editable_inline {
    min-height: 280px;
}


/* Backend: Checkboxen in sauberer zweispaltiger Tabelle */
.as-legal-check-table {
    border-collapse: collapse;
    margin: 6px 0 12px;
    width: auto;
}

.as-legal-check-table td {
    border: 0;
    padding: 3px 8px 3px 0;
    text-align: left;
    vertical-align: middle;
}

.as-legal-check-table td:first-child {
    width: 24px;
}

.adm_form .as-legal-check-table input[type="checkbox"] {
    display: block;
    margin: 0;
    width: auto;
}

.adm_form .as-legal-check-table label {
    display: inline;
    margin: 0;
    width: auto;
}

/* Frontend: Rechtstexte */
.as-legal-front,
.as-legal-page {
    color: #1f2933;
    font-family: Arial, sans-serif;
}

.as-legal-page {
    margin: 0 auto;
    max-width: 900px;
    padding: 24px 16px;
}

.as-legal-text {
    line-height: 1.65;
}

.as-legal-text table {
    border-collapse: collapse;
    margin: 14px 0;
    width: 100%;
}

.as-legal-text th,
.as-legal-text td {
    border: 1px solid #c8d1dc;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.as-legal-text th {
    background: #f4f7fb;
    font-weight: 700;
}

.as-legal-empty,
.as-legal-shortcode {
    color: #52606d;
}

.as-legal-footer-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    padding: 14px 8px;
}

.as-legal-footer-links a {
    color: inherit;
    text-decoration: underline;
}

/* Frontend: Cookie-Hinweis */
.as-legal-cookie {
    background: rgba(15, 23, 42, 0.55);
    bottom: 0;
    box-sizing: border-box;
    left: 0;
    overflow-y: auto;
    padding: 16px;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-overflow-scrolling: touch;
    z-index: 9999;
}

.as-legal-cookie-inline {
    background: transparent;
    bottom: auto;
    overflow: visible;
    padding: 16px 0;
    position: static;
    top: auto;
}

.as-legal-cookie-box {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.22);
    margin: 0 auto;
    max-width: 760px;
    padding: 18px;
}

.as-legal-cookie-box h3 {
    margin: 0 0 8px;
}

.as-legal-cookie-options {
    display: grid;
    gap: 10px;
    margin: 14px 0;
}

.as-legal-cookie-option {
    align-items: flex-start;
    border: 1px solid #d8dee6;
    border-radius: 4px;
    display: flex;
    gap: 10px;
    padding: 10px;
}

.as-legal-cookie-option small {
    color: #52606d;
    display: block;
    margin-top: 3px;
}

.as-legal-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.as-legal-cookie button {
    background: #1f6f8b;
    border: 0;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 10px 14px;
}

.as-legal-cookie button:first-child {
    background: #394b59;
}

.as-legal-cookie-saved {
    background: #e7f7e7;
    border: 1px solid #9ad29a;
    border-radius: 6px;
    color: #245f24;
    font-weight: 600;
    margin: 10px 0;
    padding: 8px 10px;
}

.as-legal-single-link {
    color: inherit;
}

@media (max-width: 760px) {
    .as-legal-cookie-actions {
        justify-content: stretch;
    }

    .as-legal-cookie-actions button {
        width: 100%;
    }
}

/* === as_login.css === */
﻿/********************************************************
*
* Pluginname:   Login
* Ordner:       login
* Datei:        as_login.css
* Version:      1.1
* Datum:        27.07.2026
* Autor:        Alfred Steckel
*
*********************************************************/

.login-box,
.login-panel,
.overlay-content {
    box-sizing: border-box;
}

.login-box {
    width: 300px;
    max-width: 100%;
    margin: 20px auto;
    padding: 15px;
}

.login-box input,
.login-box button {
    margin-bottom: 10px;
}

.login-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(127, 127, 127, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
}

.login-panel-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

.login-panel-icon {
    display: none;
}

.login-panel-intro {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
}

.login-primary-button,
.login-logout-button {
    display: block;
    padding: 10px 12px;
    border-radius: 6px;
    background: #007acc;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.login-primary-button:hover,
.login-primary-button:focus-visible,
.login-logout-button:hover,
.login-logout-button:focus-visible {
    background: #005f99;
    color: #fff;
    text-decoration: none;
}

.login-panel-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px 12px;
    padding-top: 1px;
}

.login-panel-links a {
    color: #007acc;
    font-size: 12px;
    line-height: 1.35;
    text-decoration: none;
}

.login-panel-links a:hover,
.login-panel-links a:focus-visible {
    color: #005f99;
    text-decoration: underline;
}

.login-user-box {
    text-align: center;
    min-width: 90px;
}

.login-profile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #007acc;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

a.login-profile-link:hover,
a.login-profile-link:focus-visible {
    color: #005f99;
    text-decoration: underline;
}

.login-last-online {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.35;
}

.login-profile-avatar,
.login-profile-placeholder {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
}

.login-profile-avatar {
    object-fit: cover;
    object-position: 50% 50%;
}

.login-profile-placeholder {
    display: inline-block;
}

.login-post-hint {
    display: inline-block;
    margin-top: 3px;
    padding: 2px 6px;
    color: #007acc;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
}

.login-post-hint:hover,
.login-post-hint:focus-visible {
    color: #005f99;
    text-decoration: underline;
}

.login-message {
    margin: 6px 0 0;
    font-size: 12px;
    font-weight: bold;
}

.overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0, 0, 0, .58);
    z-index: 100000;
}

.overlay-content {
    width: 400px;
    max-width: 90%;
    position: relative;
    padding: 20px 30px;
    border-radius: 8px;
    background: #fff;
    color: #222;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .35);
}

.closebtn {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-size: 26px;
}

.overlay-content h2 {
    margin: 0 0 10px;
    font-size: 24px;
    text-align: center;
}

.overlay-content label {
    display: block;
    margin-top: 5px;
    font-weight: 600;
}

.overlay-content input[type=text],
.overlay-content input[type=password],
.overlay-content input[type=email],
.overlay-content select {
    width: 100%;
    min-height: 40px;
    margin-top: 3px;
    padding: 8px 10px;
    border: 1px solid #aebdca;
    border-radius: 6px;
    box-sizing: border-box;
}

.overlay-content button {
    width: 100%;
    min-height: 40px;
    margin-top: 5px;
    border: 0;
    border-radius: 6px;
    background: #007acc;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}

.overlay-content button:hover,
.overlay-content button:focus-visible {
    background: #005f99;
}

.overlay-content p.error,
.overlay-content p.success {
    font-weight: bold;
    margin: 0 0 5px;
    text-align: center;
}

.password-wrapper {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 10px;
}

.password-wrapper input {
    width: 100%;
    padding-right: 46px;
}

.password-wrapper .toggle-pass,
.password-wrapper .login-password-toggle {
    position: absolute;
    right: 6px;
    top: 50%;
    width: 34px;
    min-height: 30px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: inherit;
    transform: translateY(-50%);
    cursor: pointer;
}

.password-wrapper .login-password-toggle:hover,
.password-wrapper .login-password-toggle:focus-visible {
    background: rgba(0, 0, 0, .08);
}

.overlay-content .login-inline-check {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 8px 0 10px;
    font-weight: 400;
}

.overlay-content .login-inline-check input {
    width: auto;
    min-height: 0;
    margin: 0;
}

.overlay-content .as-captcha-widget {
    margin: 10px 0 12px;
}

/* Backend: Login-Einstellungen */
.login-admin .login-settings-form {
    margin: 0;
    max-width: 980px;
}

.login-admin .login-settings-section {
    margin: 0 0 10px;
}

.login-admin .login-settings-table {
    width: 100%;
    border-collapse: collapse;
}

.login-admin .login-settings-table td {
    padding: 8px 10px;
    vertical-align: middle;
}

.login-admin .login-settings-label {
    width: 280px;
    font-weight: bold;
}

.login-admin .login-settings-field small,
.login-admin .login-section-hint {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.4;
}

.login-admin .login-settings-field input[type=text],
.login-admin .login-settings-field input[type=number],
.login-admin .login-settings-field select,
.login-admin .login-settings-field textarea {
    max-width: 520px;
}

.login-admin .login-settings-field textarea {
    min-height: 76px;
}

.login-admin .login-form-actions {
    margin-top: 12px;
}

.login-admin .login-help p {
    max-width: 820px;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .overlay-content {
        width: min(400px, 100%);
        max-width: 100%;
        padding: 18px;
    }

    .login-admin .login-settings-table,
    .login-admin .login-settings-table tbody,
    .login-admin .login-settings-table tr,
    .login-admin .login-settings-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .login-admin .login-settings-label {
        padding-bottom: 4px;
    }

    .login-admin .login-settings-field {
        padding-top: 4px;
    }

    .login-admin .login-settings-field input[type=text],
    .login-admin .login-settings-field input[type=number],
    .login-admin .login-settings-field select,
    .login-admin .login-settings-field textarea {
        max-width: none;
    }
}

/* === as_navigation_manager.css === */
/********************************************************
*
* Pluginname:   AS Navigationsmanager
* Ordner:       as_navigation_manager
* Datei:        as_navigation_manager.css
* Version:      1.2
* Datum:        04.09.2025
* Autor:        Alfred Steckel
*
*********************************************************/

/* Basis: Linklisten im Backend und Frontend */
.link-menu {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.link-menu ul {
    padding-left: 20px;
    margin-top: 5px;
}

.link-item {
    margin-bottom: 5px;
}

.link-anchor {
    text-decoration: none;
    color: #007acc;
    font-weight: normal;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

.link-anchor:hover {
    text-decoration: underline;
    color: #005f99;
}

.link-icon {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: middle;
    flex: 0 0 auto;
}

/* Frontend-Navigation */
.link-navigation {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    container-type: inline-size;
}

.link-navigation .link-menu-title,
.link-navigation .link-nav-toggle {
    display: none;
}

.link-navigation.link-layout-card {
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--highlight, #2e7fc1) 22%, #d9e2e8);
    border-radius: 10px;
    background: linear-gradient(180deg, #fff 0%, #f5f8fa 100%);
    box-shadow: 0 4px 14px rgba(25, 55, 75, .08);
}

.link-navigation.link-layout-card .link-menu-title {
    display: block;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dbe5ec;
    color: var(--text-dark, #263746);
    font-size: 16px;
    font-weight: 700;
}

.link-navigation.link-layout-card .link-item,
.link-navigation.link-layout-plain .link-item {
    margin: 0 0 6px;
}

.link-navigation.link-layout-card .link-item:last-child,
.link-navigation.link-layout-plain .link-item:last-child {
    margin-bottom: 0;
}

.link-navigation.link-display-button .link-anchor {
    display: flex;
    width: 100%;
    padding: 8px 11px;
    border-radius: 6px;
    box-sizing: border-box;
    background: var(--button-bg, #2e7fc1);
    color: var(--button-text, #fff);
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.link-navigation.link-display-button .link-anchor:hover {
    background: var(--button-hover-bg, #24689f);
    color: var(--button-text, #fff);
    transform: translateY(-1px);
    text-decoration: none;
}

.link-navigation.link-display-text .link-anchor {
    padding: 4px 2px;
}

.link-navigation.link-layout-card .link-menu ul,
.link-navigation.link-layout-plain .link-menu ul {
    padding-left: 14px;
    margin-top: 6px;
}

/* Desktop: Untermenues nur bei Maus- oder Tastaturinteraktion anzeigen. */
.link-navigation .link-item > .link-menu {
    display: none;
}

.link-navigation .link-item:hover > .link-menu,
.link-navigation .link-item:focus-within > .link-menu {
    display: block;
}

/* Bereichsunabhaengig: breite Card/Plain-Menues nebeneinander. */
@container (min-width: 430px) {
    .link-navigation.link-layout-card > .link-menu,
    .link-navigation.link-layout-plain > .link-menu {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 8px;
    }

    .link-navigation.link-layout-card > .link-menu > .link-item,
    .link-navigation.link-layout-plain > .link-menu > .link-item {
        flex: 1 1 150px;
        margin: 0;
    }
}

/* Smartphone: Hamburger-Menue und klickbare Untermenues. */
@media (max-width: 760px) {
    .link-navigation .link-nav-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-height: 44px;
        margin: 0 0 0 auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-sizing: border-box;
        background: var(--nav-bg, var(--button-bg, #2e7fc1));
        color: var(--nav-text, var(--button-text, #fff));
        cursor: pointer;
    }

    .link-navigation .link-nav-toggle-icon {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 24px;
        height: 20px;
        background: transparent !important;
    }

    .link-navigation .link-nav-toggle-line {
        display: block !important;
        width: 24px;
        height: 2px;
        background: currentColor;
        border-radius: 1px;
        flex: 0 0 auto;
    }

    .link-navigation > .link-menu {
        display: none !important;
        flex-direction: column !important;
        width: 100%;
    }

    .link-navigation.is-open > .link-menu,
    .link-navigation.link-nav-open > .link-menu {
        display: block !important;
    }

    .link-navigation > .link-menu > .link-item {
        margin: 0 !important;
    }

    .link-navigation .link-anchor {
        display: flex !important;
        width: 100%;
        box-sizing: border-box;
    }

    .link-navigation .link-item > .link-menu,
    .link-navigation .link-item:hover > .link-menu,
    .link-navigation .link-item:focus-within > .link-menu {
        display: none !important;
        position: static !important;
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .link-navigation .link-item.is-submenu-open > .link-menu {
        display: block !important;
    }
}

/* === as_newsletter.css === */
/******************************
* Pluginname: AS Newsletter
* Version:    1.0
* Datum:      09.06.2026
* Autor:      Alfred Steckel
* Dateiname:  as_newsletter.css
******************************/

.as-newsletter-admin {
    font-family: Arial, sans-serif;
    color: #222;
}

.as-newsletter-header {
    background: #2E7FC0;
    color: #fff;
    padding: 16px 18px;
    border-radius: 8px 8px 0 0;
}

.as-newsletter-header h2 {
    margin: 0 0 4px 0;
    font-size: 22px;
}

.as-newsletter-header p {
    margin: 0;
}

.as-newsletter-layout {
    display: flex;
    gap: 18px;
    background: #f4f7fa;
    border: 1px solid #c8d7e6;
    border-top: 0;
    padding: 16px;
    border-radius: 0 0 8px 8px;
}

.as-newsletter-sidebar {
    width: 210px;
    flex: 0 0 210px;
}

.as-newsletter-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.as-newsletter-sidebar li {
    margin-bottom: 6px;
}

.as-newsletter-sidebar a {
    display: block;
    padding: 9px 11px;
    background: #fff;
    border: 1px solid #c8d7e6;
    border-radius: 6px;
    color: #1d5f94;
    text-decoration: none;
}

.as-newsletter-sidebar li.aktiv a,
.as-newsletter-sidebar a:hover {
    background: #2E7FC0;
    color: #fff;
}

.as-newsletter-content {
    flex: 1;
    min-width: 0;
}

.as-newsletter-box {
    background: #fff;
    border: 1px solid #c8d7e6;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.as-newsletter-box h3 {
    margin-top: 0;
    color: #1d5f94;
}

.as-newsletter-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.as-newsletter-table th,
.as-newsletter-table td {
    border: 1px solid #d9e3ec;
    padding: 8px;
    vertical-align: top;
    text-align: left;
}

.as-newsletter-table th {
    background: #eaf3fb;
    color: #1d5f94;
}

.as-newsletter-form label {
    display: block;
    margin-bottom: 12px;
    font-weight: bold;
}

.as-newsletter-form input[type="text"],
.as-newsletter-form input[type="email"],
.as-newsletter-form select,
.as-newsletter-form textarea,
.as-newsletter-frontend input[type="text"],
.as-newsletter-frontend input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid #b8c9d8;
    border-radius: 5px;
    margin-top: 4px;
    font: inherit;
}

.as-form-actions {
    margin-top: 14px;
}

.as-button,
.as-newsletter-form button,
.as-inline-form button,
.as-newsletter-frontend button {
    display: inline-block;
    background: #2E7FC0;
    color: #fff;
    border: 0;
    border-radius: 5px;
    padding: 8px 12px;
    text-decoration: none;
    cursor: pointer;
    font: inherit;
}

.as-button-secondary {
    background: #667;
}

.as-inline-form {
    display: inline-block;
    margin: 2px 0;
}

.as-inline-form select {
    max-width: 130px;
}

.as-hinweis {
    border-radius: 6px;
    padding: 10px 12px;
    margin-bottom: 12px;
}

.as-erfolg,
.as-newsletter-hinweis {
    background: #e8f7ec;
    border: 1px solid #9fd5aa;
    color: #246b32;
}

.as-fehler,
.as-newsletter-fehler {
    background: #fdeeee;
    border: 1px solid #e0a0a0;
    color: #8a2020;
}

.as-newsletter-frontend {
    background: #fff;
    border: 1px solid #c8d7e6;
    border-radius: 8px;
    padding: 14px;
    margin: 12px 0;
}

.as-newsletter-frontend h3 {
    margin-top: 0;
}

.as-newsletter-frontend label {
    display: block;
    margin-bottom: 10px;
}

@media (max-width: 760px) {
    .as-newsletter-layout {
        display: block;
    }

    .as-newsletter-sidebar {
        width: auto;
        margin-bottom: 14px;
    }

    .as-newsletter-table {
        font-size: 13px;
    }
}

/* === as_poll.css === */
.as-poll-box{
    padding:15px;
    margin:0 0 18px 0;
    border:1px solid #ccd6df;
    border-radius:6px;
    background:#fff;
    color:#222;
    font-family:Arial,sans-serif;
}
.as-poll-box h3{
    margin:0 0 10px 0;
    color:#2E7FC0;
    font-size:20px;
}
.as-poll-beschreibung{
    margin-bottom:12px;
    padding:10px;
    border-radius:5px;
    background:#f5f8fb;
    line-height:1.45;
}
.as-poll-formular{
    margin-top:10px;
}
.as-poll-antwort{
    display:block;
    padding:8px 10px;
    margin-bottom:7px;
    border:1px solid #d6dce2;
    border-radius:5px;
    background:#fafafa;
    cursor:pointer;
}
.as-poll-antwort:hover{
    background:#eef6fd;
}
.as-poll-button{
    display:inline-block;
    margin-top:10px;
    padding:8px 13px;
    border:0;
    border-radius:4px;
    color:#fff;
    background:#2E7FC0;
    font-weight:bold;
    cursor:pointer;
}
.as-poll-button:hover{
    background:#1f6ba8;
}
.as-poll-meldung,
.as-poll-fehler,
.as-poll-hinweis{
    padding:9px 10px;
    margin:10px 0;
    border-radius:5px;
}
.as-poll-meldung{
    background:#dff2bf;
    border:1px solid #8fbc8f;
    color:#2e5e2e;
}
.as-poll-fehler{
    background:#ffd6d6;
    border:1px solid #cc7777;
    color:#8a0000;
}
.as-poll-hinweis{
    background:#fdeab3;
    border:1px solid #d6b85a;
    color:#333;
}
.as-poll-ergebnisse{
    margin-top:15px;
}
.as-poll-ergebnisse h4{
    margin:0 0 10px 0;
    color:#2E7FC0;
}
.as-poll-ergebnis-zeile{
    margin-bottom:10px;
}
.as-poll-ergebnis-kopf{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:4px;
    font-size:13px;
}
.as-poll-ergebnis-balken{
    height:18px;
    background:#d8e8f6;
    border-radius:4px;
    overflow:hidden;
}
.as-poll-ergebnis-balken span{
    display:block;
    height:18px;
    background:#2E7FC0;
}
.as-poll-gesamt{
    font-size:13px;
    color:#555;
}
@media(max-width:600px){
    .as-poll-box{
        padding:10px;
    }
    .as-poll-ergebnis-kopf{
        display:block;
    }
}

.as-poll-torte{
    width:150px;
    height:150px;
    margin:10px auto;
    border-radius:50%;
    border:1px solid #ccd6df;
    box-shadow:0 1px 4px rgba(0,0,0,0.18);
}
.as-poll-legende{
    margin-top:8px;
    font-size:13px;
}
.as-poll-legende-zeile{
    display:block;
    margin:4px 0;
}
.as-poll-legende-zeile .as-poll-legende-farbe{
    display:inline-block;
    width:11px;
    height:11px;
    margin-right:6px;
    border-radius:2px;
    vertical-align:middle;
}
.as-poll-sidebar-box{
    padding:10px;
    font-size:13px;
}
.as-poll-sidebar-box h3{
    font-size:16px;
    margin-bottom:8px;
}
.as-poll-ergebnisse-sidebar h4{
    font-size:14px;
}
.as-poll-ergebnisse-sidebar .as-poll-ergebnis-kopf{
    display:block;
    font-size:12px;
}
.as-poll-ergebnisse-sidebar .as-poll-torte{
    width:110px;
    height:110px;
}
.as-poll-ergebnisse-sidebar .as-poll-legende{
    font-size:12px;
}

.as-poll-torte-bereich{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin:10px 0;
}
.as-poll-torte{
    width:130px;
    height:130px;
    border-radius:50%;
    border:1px solid #ccd6df;
    box-shadow:0 1px 3px rgba(0,0,0,0.15);
    flex:0 0 auto;
}
.as-poll-legende{
    flex:1;
    min-width:160px;
}
.as-poll-legende-zeile{
    display:grid;
    grid-template-columns:16px 1fr auto;
    gap:6px;
    align-items:center;
    margin:5px 0;
    font-size:13px;
}
.as-poll-legende-farbe{
    width:12px;
    height:12px;
    border-radius:3px;
    display:inline-block;
}
.as-poll-sidebar-box{
    padding:10px;
    font-size:13px;
}
.as-poll-sidebar-box h3{
    font-size:16px;
    margin-bottom:8px;
}
.as-poll-sidebar-box .as-poll-ergebnisse h4{
    font-size:14px;
}
.as-poll-sidebar-box .as-poll-ergebnis-kopf{
    display:block;
    font-size:12px;
}
.as-poll-sidebar-box .as-poll-torte-bereich{
    display:block;
    text-align:center;
}
.as-poll-sidebar-box .as-poll-torte{
    width:110px;
    height:110px;
    margin:0 auto 8px auto;
}
.as-poll-sidebar-box .as-poll-legende{
    min-width:0;
    text-align:left;
}
.as-poll-sidebar-box .as-poll-legende-zeile{
    display:grid;
    font-size:12px;
    grid-template-columns:14px minmax(0, 1fr) auto;
    align-items:center;
    writing-mode:horizontal-tb;
}
.as-poll-sidebar-box .as-poll-legende-zeile > span:not(.as-poll-legende-farbe){
    display:block;
    width:auto;
    height:auto;
    margin:0;
    white-space:normal;
    overflow-wrap:break-word;
    writing-mode:horizontal-tb;
}

/* ============================================================
   Backend: nur Layout, Groessen und Abstaende.
   Farben, Flaechen, Rahmen, Tabellen, Formulare und Buttons
   kommen vollstaendig aus dem aktiven Admin-Theme.
   ============================================================ */

.as-poll-panel { margin-bottom: 15px; }
.as-poll-panel h4 { margin-top: 0; }

.as-poll-form { max-width: 860px; }
.as-poll-form label { display: block; margin: 10px 0 4px; }
.as-poll-form input[type="text"],
.as-poll-form input[type="number"],
.as-poll-form input[type="datetime-local"],
.as-poll-form input[type="color"],
.as-poll-form textarea,
.as-poll-form select { width: 100%; box-sizing: border-box; }
.as-poll-form textarea { min-height: 90px; }

.as-poll-zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.as-poll-farben { display: grid; grid-template-columns: repeat(4, minmax(95px, 1fr)); gap: 10px; }
.as-poll-farbe { padding: 8px; }
.as-poll-farbe label { margin: 0 0 5px; font-size: 12px; }
.as-poll-farbe input[type="color"] { display: block; width: 100%; height: 38px; padding: 2px; cursor: pointer; }

.as-poll-button { display: inline-block; margin: 4px 4px 4px 0; text-decoration: none; }
.as-poll-button.klein { padding: 5px 8px; font-size: 12px; }
.as-poll-inline-form { display: inline; }

.as-poll-tabelle { width: 100%; border-collapse: collapse; }
.as-poll-tabelle th,
.as-poll-tabelle td { text-align: left; vertical-align: top; font-size: 13px; }

.as-poll-hinweis,
.as-poll-erfolg,
.as-poll-fehler { margin-bottom: 12px; }

.as-poll-badge { display: inline-block; padding: 4px 7px; border-radius: 4px; font-size: 11px; font-weight: bold; }
.as-poll-help { line-height: 1.55; }
.as-poll-mini { font-size: 12px; opacity: .8; }
.as-poll-ergebnis-zeile { margin: 8px 0; }
.as-poll-ergebnis-balken { height: 18px; border-radius: 4px; overflow: hidden; }
.as-poll-ergebnis-balken span { display: block; height: 18px; }

@media (max-width: 760px) {
    .as-poll-zwei { grid-template-columns: 1fr; }
    .as-poll-farben { grid-template-columns: repeat(2, minmax(90px, 1fr)); }
    .as-poll-tabelle,
    .as-poll-tabelle tbody,
    .as-poll-tabelle tr,
    .as-poll-tabelle td { display: block; width: 100%; }
    .as-poll-tabelle thead { display: none; }
    .as-poll-tabelle tr { margin-bottom: 10px; }
}

/* === as_referenz.css === */
/*
   AS-CMS Plugin-CSS
   Plugin: as_referenz
   Datei: as_referenz.css
   Automatisch erzeugt durch css_umstellung.php
*/


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: manage.php
   ============================================================ */

' . $css . '

/* === as_search.css === */
.as-search-card {
    display: block;
    overflow: hidden;
}

.as-search-card.link-navigation.link-layout-card {
    margin-top: 15px;
}

.as-search-card.link-navigation.link-layout-card .as-search-card-title {
    display: block;
    margin: -14px -14px 12px;
    padding: 9px 12px;
    border-bottom: 0;
    background: var(--button-bg, #1794DD);
    color: var(--button-text, #fff);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
}

.as-search-box {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 14px;
    border-width: 1px;
    border-style: solid;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    box-sizing: border-box;
}

.as-search-card > .as-search-box {
    padding: 5px 0px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.as-search-inputrow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px auto;
    align-items: center;
    gap: 0;
    width: 100%;
    min-width: 0;
    border-width: 1px;
    border-style: solid;
    border-radius: 8px;
    background: transparent;
    overflow: hidden;
}

.as-search-card .as-search-inputrow {
    background: var(--bg-light);
}

.as-search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.as-search-inputrow input[type="search"] {
    min-width: 0;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 10px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.92rem;
    line-height: 1.2;
    outline: 0;
    box-sizing: border-box;
}

.as-search-inputrow input[type="search"]::placeholder {
    color: inherit;
    opacity: 0.66;
}

.as-search-inputrow:focus-within {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.as-search-submit,
.as-search-settings-button {
    cursor: pointer;
}

.as-search-submit {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-left-width: 1px;
    border-left-style: solid;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: 1rem;
    line-height: 1;
}

.as-search-submit:hover,
.as-search-submit:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -4px;
}

.as-search-settings-button {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-left-width: 1px;
    border-left-style: solid;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
}

.as-search-settings-button:hover,
.as-search-settings-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    text-decoration: none;
}

.as-search-settings {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.45rem;
    margin-top: 8px;
    padding: 10px;
    border-width: 1px;
    border-style: solid;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font-size: 0.86rem;
}

.as-search-settings label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.25;
}

.as-search-settings input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 2px;
}

.as-search-settings[hidden] {
    display: none;
}

.as-search-result-list {
    display: grid;
    gap: 0.75rem;
    padding-left: 1.35rem;
}

.as-search-result-list li strong,
.as-search-result-list li small {
    display: block;
}

.as-search-result-list li small {
    opacity: 0.75;
}

.as-search-results {
    margin-top: 12px;
}

.as-search-results:empty {
    display: none;
}

@media (max-width: 520px) {
    .as-search-inputrow {
        grid-template-columns: minmax(0, 1fr) 38px auto;
    }
}

/* === as_vtrack.css === */
/********************************************************
*
* Pluginname:   AS Vtrack
* Ordner:       as_vtrack
* Datei:        as_vtrack.css
* Version:      4.1
* Datum:        09.09.2026
* Autor:        Alfred Steckel
*
*********************************************************/

/* 1. Dashboard - Tortendiagramm (Pie-Chart) */
.as-pie-chart {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin: 15px 0;
    border: 1px solid currentColor;
}
.as-chart-legends {
    list-style: none;
    padding: 10px 0;
    font-size: 13px;
}
.as-chart-legends li {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.vtrack-pie-layout {
    display: flex;
    gap: 22px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
}

.vtrack-color {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 3px;
}

.vtrack-help-body {
    padding: 12px 16px;
    color: inherit;
    line-height: 1.5;
}

/* 2. Tages- und MonatsÃ¼bersicht - Balkendiagramm */
.as-bar-chart-container {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 260px;
    border: 1px solid rgba(120, 130, 145, 0.32);
    padding: 34px 18px 18px;
    max-width: 760px;
    margin: 18px 0 8px;
    border-radius: 8px;
    background: repeating-linear-gradient(to top, rgba(120, 130, 145, 0.16) 0, rgba(120, 130, 145, 0.16) 1px, transparent 1px, transparent 44px), linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.03));
    box-shadow: inset 0 -2px 0 rgba(120, 130, 145, 0.34);
}
.as-bar-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 74px;
    min-width: 54px;
    max-width: 92px;
    height: 100%;
    margin: 0;
}
.as-bar {
    width: clamp(22px, 58%, 42px);
    max-width: 100%;
    background: linear-gradient(180deg, #58a6ff 0%, #2563eb 58%, #1d4ed8 100%);
    border: 1px solid rgba(29, 78, 216, 0.55);
    border-bottom: 0;
    border-radius: 7px 7px 3px 3px;
    position: relative;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 8px 18px rgba(37, 99, 235, 0.22);
    transition: height 0.35s ease, transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 7px;
}

.as-bar[style] {
    height: var(--bar-height, auto);
}
.as-bar:hover {
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52), 0 10px 22px rgba(37, 99, 235, 0.32);
}

.as-bar-value {
    position: absolute;
    top: -22px;
    font-size: 11px;
    font-weight: bold;
    width: 100%;
    text-align: center;
    color: inherit;
}
.as-bar-label {
    font-size: 12px;
    margin-top: 8px;
    opacity: 0.78;
    white-space: nowrap;
}

.vtrack-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 12px;
    margin: 12px 0 20px;
}

.vtrack-collapse {
    margin: 0 0 16px;
}

.vtrack-collapse > summary {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    list-style: none;
}

.vtrack-collapse > summary::-webkit-details-marker {
    display: none;
}

.vtrack-collapse > summary::before {
    content: "+";
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 1px solid currentColor;
    border-radius: 4px;
    color: inherit;
    font-size: 14px;
    line-height: 1;
    opacity: 0.82;
}

.vtrack-collapse[open] > summary::before {
    content: "-";
}

.vtrack-collapse > .adm_table,
.vtrack-collapse > .vtrack-kpis {
    margin-top: 12px;
}

.vtrack-kpi {
    display: grid;
    gap: 3px;
    min-height: 86px;
    border: 1px solid currentColor;
    background: transparent;
    border-radius: 6px;
    padding: 12px 14px;
    align-content: center;
}

.vtrack-kpi-value {
    display: block;
    color: inherit;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.vtrack-kpi-label {
    display: block;
    margin-top: 7px;
    color: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
}

.vtrack-kpi-type {
    display: block;
    color: inherit;
    font-size: 12px;
    line-height: 1.25;
    opacity: 0.72;
}

.vtrack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    align-items: start;
    margin: 12px 0 18px;
}

.vtrack-grid > *,
.vtrack-page-stats > *,
.vtrack-table-box {
    min-width: 0;
}

.vtrack-page-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 12px 0 18px;
}

.vtrack-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.vtrack-table {
    width: 100%;
    font-size: 13px;
    table-layout: auto;
}

.vtrack-table th,
.vtrack-table td {
    vertical-align: top;
}

.vtrack-path {
    max-width: 520px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.vtrack-agent {
    max-width: 460px;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 12px;
    line-height: 1.35;
}

.vtrack-nowrap {
    white-space: nowrap;
}

.vtrack-num {
    text-align: right;
    white-space: nowrap;
}

.vtrack-filter {
    display: flex;
    gap: 8px;
    align-items: end;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.vtrack-settings .adm_box {
    margin-bottom: 14px;
}

.vtrack-settings {
    margin-bottom: 12px;
}

.vtrack-setting-box {
    padding: 10px 14px 14px;
}

.vtrack-setting-box > summary {
    margin: -2px 0 0;
}

.vtrack-field {
    display: grid;
    gap: 6px;
    max-width: 680px;
    margin-top: 12px;
}

.vtrack-choice-field {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    align-items: center;
    max-width: 680px;
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    color: inherit;
}

.vtrack-choice-field legend {
    flex-basis: 100%;
    padding: 0;
    color: inherit;
    font-weight: 700;
    line-height: 1.35;
}

.vtrack-choice-field label {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 28px;
    margin: 0;
    color: inherit;
    line-height: 1.3;
}

.vtrack-choice-field .vtrack-led-radio {
    -webkit-appearance: none;
    appearance: none;
    display: inline-grid;
    place-items: center;
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    margin: 0;
    border: 1px solid #9f211a;
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08), inset 0 0 4px rgba(255, 255, 255, 0.5);
}

.vtrack-choice-field input[type="radio"] + span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0;
    border: 0;
    color: inherit;
}

.vtrack-choice-field input[type="radio"]:checked + span {
    color: inherit;
    text-decoration: none;
}

.vtrack-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 4px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.vtrack-status-active {
    background: #6EBB08;
}

.vtrack-status-inactive {
    background: #E23D30;
}

.vtrack-field label,
.vtrack-check span {
    color: inherit;
    font-weight: 700;
    line-height: 1.35;
}

.vtrack-field select,
.vtrack-field input,
.vtrack-field textarea {
    max-width: 100%;
}

.vtrack-check-list {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.vtrack-check {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    max-width: 760px;
    margin-top: 10px;
    color: inherit;
    line-height: 1.35;
}

.vtrack-check input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    position: static;
    vertical-align: top;
}

.vtrack-check span {
    display: block;
    min-width: 0;
}

.vtrack-check small {
    display: block;
    margin-top: 3px;
    color: inherit;
    font-weight: 400;
    opacity: 0.75;
}

.vtrack-actions {
    margin-top: 0;
}









.as-bar-chart-container {
    gap: 12px;
    border-radius: 8px;
    background: repeating-linear-gradient(to top, rgba(120, 130, 145, 0.16) 0, rgba(120, 130, 145, 0.16) 1px, transparent 1px, transparent 44px), linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.03));
    box-shadow: inset 0 -2px 0 rgba(120, 130, 145, 0.34);
}

.as-bar-value {
    top: -27px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    min-width: 24px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.86);
    color: #fff;
    line-height: 1.35;
    white-space: nowrap;
}

.as-bar-label {
    display: block;
    width: 100%;
    min-height: 34px;
    margin-top: 10px;
    color: inherit;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    opacity: 0.84;
    overflow-wrap: anywhere;
    white-space: normal;
}

.as-bar-chart-container {
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: visible;
}

.as-bar-chart-container {
    position: relative;
    padding-top: 46px;
}

.as-bar-chart-container::before {
    content: 'Zahl = Besucher';
    position: absolute;
    top: 12px;
    left: 16px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.78);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}


.as-bar-chart-container {
    padding-top: 34px;
}

.as-bar-chart-container::before {
    content: none;
}


.as-bar-chart-container {
    padding-top: 34px;
}

.as-bar-chart-container::before {
    content: none;
}



.vtrack-statistics {
    display: grid;
    gap: 14px;
}

.vtrack-stat-section {
    border: 1px solid rgba(120, 130, 145, 0.28);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

.vtrack-stat-section summary {
    cursor: pointer;
    padding: 10px 14px;
    font-weight: 700;
    list-style-position: inside;
}

.vtrack-stat-section[open] summary {
    border-bottom: 1px solid rgba(120, 130, 145, 0.22);
}

.vtrack-stat-section-content {
    padding: 14px;
}

.vtrack-public-page,
.vtrack-public-stat {
    margin: 0 0 24px;
}

.vtrack-public-page > h2,
.vtrack-public-stat > h3 {
    margin: 0 0 16px;
}

.vtrack-public-stat .as-bar-chart-container,
.vtrack-public-stat .vtrack-pie-layout {
    margin-top: 10px;
}

/* Robuste Checkbox-Zeilen im VTrack-Backend */
.adm_content-area .vtrack-settings label.vtrack-check,
.adm_content-area form.vtrack-settings label.vtrack-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    max-width: 760px;
    margin: 10px 0 0 !important;
    line-height: 1.35;
}

.adm_content-area .vtrack-settings label.vtrack-check > input[type="checkbox"],
.adm_content-area form.vtrack-settings label.vtrack-check > input[type="checkbox"] {
    display: inline-block !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    position: static !important;
    vertical-align: top !important;
}

.adm_content-area .vtrack-settings label.vtrack-check > span,
.adm_content-area form.vtrack-settings label.vtrack-check > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0;
}

.vtrack-small-note {
    display: block;
    margin-top: 6px;
    margin-bottom: 3px;
    font-size: 0.88rem;
    line-height: 1.2;
    opacity: 0.72;
}

.vtrack-actions .adm_button {
    margin-top: 0;
}

/* === news.css === */
﻿/* Grundlayout */
.notizzettel-plugin {
    font-family: Arial, sans-serif;
    color: #222;
    background: #fff;
    padding: 15px;
}

.notizzettel-header {
    margin-bottom: 1em;
    border-bottom: 2px solid #007acc;
}

.notizzettel-header h3 {
    margin: 0;
    color: #007acc;
}

/* Flex Container */
.container-flex {
    display: flex;
    gap: 20px;
}

/* Sidebar */
.sidebar {
    width: 220px; /* fixe Sidebar-Breite */
    background: #f5f5f5;
    padding: 15px;
    border-radius: 6px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar ul li {
    margin-bottom: 1em;
}

.sidebar ul li a.button-link {
    display: inline-block; /* block wäre ok, inline-block ermöglicht minimale Breite */
    width: 100%;           /* füllt die Sidebar-Breite */
    box-sizing: border-box;
    padding: 8px 12px;
    border-radius: 4px;
    text-align: center;
    font-weight: bold;
    white-space: nowrap;   /* verhindert Umbruch */
    overflow: hidden;
    text-overflow: ellipsis; /* falls doch mal zu lang */
}

.sidebar ul li a.button-link.btn-secondary {
    background-color: #555;
    color: #fff;
}

.sidebar ul li a.button-link.btn-secondary:hover {
    background-color: #444;
}

/* Suchformular */
.suchformular {
    background-color: #FAFAFA;
    padding: 10px;
    border: 1px solid #BBBBBB;
    border-radius: 7px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
}

.suchformular input[type="text"] {
    width: 90%;
    padding: 6px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.suchformular label {
    display: block;
    margin-bottom: 5px;
    font-weight: normal;
    font-size: 0.9em;
}

.suchformular .suchbutton {
    background-color: #DDDDDD;
    border-radius: 5px;
    box-shadow: 0 3px 7px rgba(52,152,219,0.5);
    color: black;
    border: none;
    padding: 7px 12px;
    cursor: pointer;
    width: 100%;
    font-weight: bold;
}

.suchformular .suchbutton:hover {
    background-color: #BBBBBB;
}

/* Content Area */
.content-area {
    flex: 1 1 auto;
	/*background-color: #D5E1F0;*/
}

/* Tabellen */
.notes-table {
    width: 100%;
    border-collapse: collapse;
    /*margin-top: 1em;*/
}

.notes-table th,
.notes-table td {
    border: 1px solid #ddd;
    padding: 8px;
    vertical-align: top;
    text-align: left;
}

/* Angepasste Überschriften */
.notes-table th {
    background: #3399ff;  /* helleres Blau */
    color: #fff;       /* weiß */
    cursor: pointer;
    user-select: none;
}

.notes-table tr.notes-row-overdue {
    background: #ffdddd;
}

.notes-table tr.notes-row-today {
    background: #fff9d9;
}

.notes-table tr.notes-row-future {
    background: #e7f5e7;
}

.notes-table td.action-links a {
    margin-right: 6px;
    text-decoration: none;
    font-size: 1.1em;
}

.notes-status-done {
    color: green;
    font-weight: bold;
}

.notes-status-open {
    color: red;
    font-weight: bold;
}

/* Formulare */
.note-form {
    max-width: 600px;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.note-form label {
    display: block;
    margin-top: 10px;
    margin-bottom: 4px;
    font-weight: bold;
}

.note-form input[type="text"],
.note-form input[type="datetime-local"],
.note-form select,
.note-form textarea {
    width: 100%;
    padding: 7px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
}

.note-form textarea {
    resize: vertical;
}

.form-row-inline {
    display: flex;
    gap: 15px;
    margin-top: 10px;
}

.form-field-small {
    flex: 1;
}

.btn-primary {
    margin-top: 15px;
    background: #007acc;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
}

.btn-primary:hover {
    background: #005f99;
}

.cancel-link {
    margin-left: 15px;
    color: #777;
    text-decoration: none;
    font-size: 0.9em;
}

.cancel-link:hover {
    text-decoration: underline;
}

.btn-clear-date {
    background: #ccc;
    border: none;
    cursor: pointer;
    margin-left: 5px;
    font-size: 1.1em;
    padding: 0 6px;
    border-radius: 4px;
}

.news-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 24px 0 10px;
}

.news-page-link {
    display: inline-block;
    min-width: 38px;
    padding: 8px 12px;
    border: 1px solid #007acc;
    border-radius: 4px;
    background: #fff;
    color: #005f99;
    text-align: center;
    text-decoration: none;
}

.news-page-link:hover,
.news-page-link.active {
    background: #007acc;
    color: #fff;
}

.news-page-gap {
    padding: 8px 3px;
    color: #555;
}

.news-settings-form {
    max-width: 560px;
    padding: 18px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #f9f9f9;
}

.news-settings-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
}

.news-settings-form input[type="number"] {
    width: 110px;
    padding: 7px;
}

.news-settings-form button {
    padding: 8px 16px;
    border: 0;
    border-radius: 4px;
    background: #007acc;
    color: #fff;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 720px) {
    .container-flex {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        margin-bottom: 15px;
    }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: frontend_news.php
   ============================================================ */

.news-readmore-toggle {
    margin: 10px 0;
    padding: 8px 14px;
    color: #fff;
    background-color: #1769aa;
    border: 1px solid #125487;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.news-readmore-toggle:hover,
.news-readmore-toggle:focus-visible {
    color: #fff;
    background-color: #c62828;
    border-color: #9f2020;
}
.news-comments {
    margin-top: 15px;
    color: #222;
}
.news-comments button,
.news-reply-btn,
.news-submit-comment,
.news-submit-reply,
.news-edit-comment,
.news-delete-comment,
.news-save-edit,
.news-cancel-edit {
    margin: 6px 6px 6px 0;
    padding: 6px 10px;
    cursor: pointer;
    color: #222;
    background: #f2f2f2;
    border: 1px solid #bbb;
}
.news-comment-form,
.news-reply-form,
.news-edit-form {
    margin: 8px 0;
    color: #222;
}
.news-comment-form textarea,
.news-reply-form textarea,
.news-edit-form textarea {
    width: 100%;
    box-sizing: border-box;
    color: #222;
    background: #fff;
    border: 1px solid #bbb;
}
.news-bbcode-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 5px;
}
.news-smilie-box {
    margin: 5px 0;
}
.news-smilie-box summary {
    display: inline-block;
    cursor: pointer;
    padding: 5px 8px;
    color: #222;
    background: #f2f2f2;
    border: 1px solid #bbb;
    border-radius: 3px;
    font-weight: bold;
}
.news-smilie-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 5px;
}
.news-comments .news-smilie-button {
    margin: 0;
    padding: 4px 6px;
    line-height: 1.1;
    color: #222;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
}
.news-comments .news-smilie-button img {
    max-width: 24px;
    max-height: 24px;
    vertical-align: middle;
}
.news-comment-text .as-smilies-inline {
    max-width: 32px;
    max-height: 32px;
    vertical-align: middle;
}
.news-comments .news-bbcode-button {
    margin: 0;
    padding: 4px 7px;
    color: #fff;
    background: #1769aa;
    border: 1px solid #125487;
    border-radius: 3px;
}
.news-comments .news-bbcode-button:hover,
.news-comments .news-bbcode-button:focus-visible {
    color: #000;
    background: #fdeab3;
}
.news-bbcode-underline { text-decoration: underline; }
.news-bbcode-strike { text-decoration: line-through; }
.news-bbcode-quote {
    margin: 6px 0;
    padding: 6px 8px;
    border-left: 3px solid #1794dd;
    background: #eef5fa;
}
.news-bbcode-code {
    overflow-x: auto;
    padding: 6px 8px;
    color: #222;
    background: #eee;
    border: 1px solid #ccc;
}
.news-frontend-edit-button {
    display: inline-block;
    margin: 8px 0;
    padding: 6px 10px;
    color: #fff;
    background: #1769aa;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
}
.news-frontend-edit-button:hover,
.news-frontend-edit-button:focus-visible {
    color: #000;
    background: #fdeab3;
}
.comments-container {
    margin-top: 10px;
    color: #222;
}
.comment {
    border-left: 3px solid #1794DD;
    background: #f8f8f8;
    color: #222;
    margin-top: 8px;
    padding: 8px 10px;
}
.comment.sub-comment {
    background: #fff;
    color: #222;
}
.news-no-comments {
    margin: 8px 0;
    color: #222;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: manage.php
   ============================================================ */

/* Grundlayout */
.news-plugin { font-family: Arial, sans-serif; color: #000000; background: #fff; padding: 15px; }
.news-header { margin-bottom: 1em; border-bottom: 2px solid #007ACC; }
.news-header h3 { margin: 0; color: #007ACC; }
.container-flex { display: flex; gap: 20px; }
.sidebar { width: 200px; background: #f5f5f5; padding: 15px; border-radius: 6px; }
.sidebar ul { list-style: none; padding: 0; margin: 0; }
.sidebar ul li { margin-bottom: 1em; }

/* Linkfarben für as-cms */
.sidebar ul li a {
    display: block;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    background-color: #007ACC;   /* Standard weiß */
    color: #FFFFFF;              /* Linkfarbe */
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.sidebar ul li a:hover {
    background-color: #769FCF;   /* Hover */
    color: #FFFFFF;
}
.sidebar ul li a:visited {
    background-color: #769FCF;   /* Visit */
    color: #000000;
}
.sidebar ul li a.active {
    background-color: #FDEAB3;   /* Link */
    color: #000000;
}

/* Suchformular */
.suchformular { background-color: #FAFAFA; padding: 10px; border: 1px solid #BBBBBB; border-radius: 7px; box-shadow: 0 3px 7px rgba(52,152,219,0.5); margin-bottom: 15px; }
.suchformular input[type="text"] { width: 90%; padding: 6px; margin-bottom: 10px; border: 1px solid #ccc; border-radius: 4px; }
.suchformular .suchbutton { background-color: #DDDDDD; border-radius: 5px; box-shadow: 0 3px 7px rgba(52,152,219,0.5); color: black; border: none; padding: 7px 12px; cursor: pointer; width: 100%; font-weight: bold; }
.suchformular .suchbutton:hover { background-color: #BBBBBB; }

.content-area { flex: 1 1 auto; }
.news-footer { margin-top: 2em; text-align: center; font-size: 0.9em; color: #666; }

@media (max-width: 720px) {
  .container-flex { flex-direction: column; }
  .sidebar { width: 100%; margin-bottom: 15px; }
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: news_archiv.php
   ============================================================ */

.news-body-wrapper { overflow: hidden; max-height: 0; transition: max-height 0.6s ease; }
.news-body-wrapper.open { max-height: 1000px; }
.news-list-container { max-width: 900px; margin:0 auto; font-family:Arial,sans-serif; color:#222; background:#fff; padding:20px; border-radius:8px; }
.news-list-container h2 { color:#007acc; margin-bottom:15px; }
.news-list-container input[type=text], .news-list-container select { width:100%; padding:8px 10px; font-size:1em; border:1px solid #ccc; border-radius:5px; box-sizing:border-box; transition:border-color 0.3s ease; }
.news-list-container input[type=text]:focus, .news-list-container select:focus { border-color:#007acc; outline:none; }
.news-list-container button, .news-list-container a.button-link { margin-top:10px; background-color:#007acc; color:white; border:none; padding:6px 10px; border-radius:5px; cursor:pointer; text-decoration:none; display:inline-block; font-size:0.9em; transition:background-color 0.3s ease; }
.news-list-container button:hover, .news-list-container a.button-link:hover { background-color:#005f99; }
.news-list-container a.icon-link { font-size:20px; margin:0 5px; text-decoration:none; }
.news-list-container a.icon-link.delete { color:red; }
.news-archive-body table { border-collapse: collapse; width: 100%; margin: 10px 0; }
.news-archive-body th, .news-archive-body td { border: 1px solid #007acc; padding: 8px; text-align: left; }
.news-archive-body th { background-color: #e6f2fa; }
.news-archive-body img { max-width: 100%; height: auto; }
.no-archive-row {
    text-align:center;
    font-style:italic;
    color:#666;
    padding:20px;
    background:#fafafa;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: news_cat.php
   ============================================================ */

.news-cat-container {
    font-family: Arial, sans-serif;
    color: #222;
    background: #fff;
    padding: 20px;
    max-width: 900px;
    margin: 0 auto;
}

.news-cat-container h2 {
    color: #007acc;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.news-cat-form {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 123, 204, 0.15);
    margin-bottom: 30px;
    display: none;
}

.news-cat-form label {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}

.news-cat-form input[type="text"],
.news-cat-form textarea,
.news-cat-form select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
    transition: border-color 0.3s ease;
}

.news-cat-form input[type="text"]:focus,
.news-cat-form textarea:focus,
.news-cat-form select:focus {
    border-color: #007acc;
    outline: none;
}

.news-cat-form textarea {
    resize: vertical;
}

.news-cat-form button {
    background-color: #007acc;
    color: white;
    border: none;
    padding: 12px 18px;
    font-size: 1em;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 10px;
}

.news-cat-form button:hover {
    background-color: #005f99;
}

.news-cat-table {
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    table-layout: auto;
}

.news-cat-table th,
.news-cat-table td {
    border: 1px solid #ddd;
    padding: 10px 12px;
    vertical-align: middle;
    text-align: left;
}

.news-cat-table th {
    background-color: #007acc;
    color: white;
}

.news-cat-table tr:nth-child(even) {
    background-color: #f4f8fb;
}

.news-cat-table textarea {
    width: 100%;
    height: 60px;
    resize: vertical;
}

.news-cat-table input[type="text"] {
    width: 100%;
    padding: 6px 8px;
    box-sizing: border-box;
    font-size: 1em;
}

.news-cat-table select {
    width: 100%;
    padding: 6px 8px;
    font-size: 1em;
}

.news-cat-table button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    margin: 0 4px;
}

.news-cat-table button[title="Speichern"] {
    color: #007acc;
}

.news-cat-table button[title="Löschen"] {
    color: #dc3545;
}

.news-cat-table button[disabled] {
    color: #999;
    cursor: not-allowed;
}

.standard-label {
    display: inline-block;
    background: #28a745;
    color: white;
    font-size: 0.75em;
    padding: 3px 6px;
    border-radius: 4px;
    margin-left: 6px;
}

.error {
    color: #dc3545;
    font-weight: bold;
    margin-bottom: 15px;
}

.success {
    color: #28a745;
    font-weight: bold;
    margin-bottom: 15px;
}

.toggle-form-link {
    background-color: #007acc;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 14px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-left: 10px;
    display: inline-block;
}

.toggle-form-link:hover {
    background-color: #005f99;
}

.btn-secondary {
    background: #ccc;
    color: black;
    border: none;
    padding: 10px 18px;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
    margin-left: 10px;
}

.btn-secondary:hover {
    background: #aaa;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: news_edit.php
   ============================================================ */

.news-write-container { max-width: 900px; margin:0 auto; font-family:Arial,sans-serif; color:#222; background:#fff; padding:20px; border-radius:8px; }
.news-write-container h2 { color:#007acc; margin-bottom:15px; }
.news-write-container label { display:block; font-weight:bold; margin-top:15px; margin-bottom:5px; }
.news-write-container .title-option { font-weight:normal; margin-top:6px; margin-bottom:15px; }
.news-write-container input[type=text], .news-write-container select, .news-write-container textarea, .news-write-container input[type=date] {
    width:100%; padding:8px 10px; font-size:1em; border:1px solid #ccc; border-radius:5px; box-sizing:border-box; transition:border-color 0.3s ease;
}
.news-write-container input[type=text]:focus, .news-write-container select:focus, .news-write-container textarea:focus, .news-write-container input[type=date]:focus { border-color:#007acc; outline:none; }
.news-write-container textarea { resize:vertical; min-height:300px; }
.news-write-container .checkbox-group { margin-top:15px; display:flex; gap:20px; flex-wrap:wrap; }
.news-write-container .checkbox-group label { font-weight:normal; }
.news-write-container .action-buttons { margin-top:20px; display:flex; gap:10px; flex-wrap:wrap; }
.news-write-container .action-buttons button { background-color:#007acc; color:white; border:none; padding:12px 18px; font-size:1em; border-radius:5px; cursor:pointer; transition:background-color 0.3s ease; }
.news-write-container .action-buttons button:hover { background-color:#005f99; }
/*Info über  ersteller des Trumbowyg Editors */
.wysiwyg-info_wrappper {width: 100%; text-align: right;}
.news-write-container .wysiwyg-info { font-size: 8px; bottom: 5px; right: 5px; color:#555; }
/*Ab hier ist für den Trumbowyg Editor die Gestalltunng der Tabellen*/
/* Tabellen im Trumbowyg-Editor sichtbar und ansprechend gestalten */
.trumbowyg-editor table {
    border-collapse: collapse;
    width: 100%; /* Tabellen füllen den Editorbereich */
    border: 1px solid #007acc; /* sichtbare Rahmenfarbe */
    margin: 10px 0;
}

.trumbowyg-editor table th,
.trumbowyg-editor table td {
    border: 1px solid #007acc;
    padding: 8px;
    text-align: left;
}

.trumbowyg-editor table th {
    background-color: #e6f2fa;
}

.trumbowyg-editor table tr:hover {
    background-color: #f0f8ff;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: news_function.php
   ============================================================ */

.news-image-library { padding: 10px 15px 15px; }
.news-image-library-path { margin-bottom:8px; font-weight:bold; color:#333; }
.news-image-library-roots,
.news-image-library-folders { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.news-image-library-toolbar { display:flex; gap:10px; margin-bottom:10px; }
.news-image-library-search { flex:1; min-width:0; padding:9px 10px; border:1px solid #bbb; border-radius:4px; }
.news-image-library-close { padding:9px 14px; border:0; border-radius:4px; background:#666; color:#fff; cursor:pointer; }
.news-image-library-root-button,
.news-image-library-folder-button { padding:7px 11px; border:1px solid #bbb; border-radius:4px; background:#f8f8f8; color:#222; cursor:pointer; }
.news-image-library-root-button:hover,
.news-image-library-root-button:focus,
.news-image-library-folder-button:hover,
.news-image-library-folder-button:focus,
.news-image-library-root-button.is-active { border-color:#007acc; box-shadow:0 0 0 2px rgba(0,122,204,.12); outline:none; }
.news-image-library-status { margin-bottom:10px; color:#555; }
.news-image-library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; max-height:55vh; overflow:auto; padding:2px; }
.news-image-library-item { display:flex; flex-direction:column; min-width:0; padding:7px; border:1px solid #ccc; border-radius:5px; background:#fff; color:#222; text-align:left; cursor:pointer; }
.news-image-library-item:hover, .news-image-library-item:focus { border-color:#007acc; box-shadow:0 0 0 2px rgba(0,122,204,.15); outline:none; }
.news-image-library-item img { width:100%; height:105px; object-fit:contain; background:#f3f3f3; border-radius:3px; }
.news-image-library-name, .news-image-library-folder { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-image-library-name { margin-top:6px; font-weight:bold; }
.news-image-library-folder { margin-top:2px; color:#666; font-size:11px; }
.news-image-resize-selected,
.eigene-seiten-image-resize-selected { outline:2px solid #007acc; outline-offset:2px; }
.trumbowyg-box,
.trumbowyg-editor-box { position:relative; }
.news-image-resize-handle,
.eigene-seiten-image-resize-handle { position:absolute; width:18px; height:18px; z-index:9999; border:2px solid #fff; border-radius:3px; background:#007acc; box-shadow:0 0 0 1px #005f99; cursor:nwse-resize; touch-action:none; pointer-events:auto; }


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: news_list.php
   ============================================================ */

.news-list-container {
    max-width: 950px;
    margin: 0 auto;
    font-family: Arial, sans-serif;
    color: #222;
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.news-list-container h2 {
    color: #007ACB;
    margin-bottom: 20px;
    font-size: 1.6em;
    border-bottom: 2px solid #007ACB;
    padding-bottom: 5px;
}
.news-list-container input[type=text],
.news-list-container select {
    width: 100%;
    padding: 8px 12px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.news-list-container input[type=text]:focus,
.news-list-container select:focus {
    border-color: #007ACB;
    outline: none;
    box-shadow: 0 0 5px rgba(0,122,203,0.3);
}
.news-list-container button,
.news-list-container a.button-link {
    margin-top: 8px;
    background-color: #007ACB;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-size: 0.95em;
    transition: background-color 0.3s ease, transform 0.1s ease;
}
.news-list-container button:hover,
.news-list-container a.button-link:hover {
    background-color: #005f99;
    transform: translateY(-1px);
}
.news-list-container table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.news-list-container th,
.news-list-container td {
    padding: 10px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}
.news-list-container th {
    background-color: #007ACB;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.95em;
    cursor: pointer;
}
.news-list-container tr:nth-of-type(odd) td {
    background-color: #f9f9f9;
}
.news-list-container a.icon-link {
    font-size: 20px;
    margin: 0 5px;
    text-decoration: none;
    transition: transform 0.2s ease;
}
.news-list-container a.icon-link:hover {
    transform: scale(1.2);
}
.news-list-container a.icon-link.delete {
    color: red;
}
.news-body-wrapper {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.6s ease;
}
.news-body-wrapper.open {
    max-height: 1000px;
}
.news-body-wrapper div {
    padding: 10px 12px;
    font-size: 0.95em;
    color: #333;
}
.news-list-container select {
    max-width: 180px;
}


/* ============================================================
   Übernommenes Inline-CSS aus PHP-Datei
   Quelle: news_write.php
   ============================================================ */

.news-write-container { max-width: 900px; margin:0 auto; font-family:Arial,sans-serif; color:#222; background:#fff; padding:20px; border-radius:8px; position:relative; }
.news-write-container h2 { color:#007acc; margin-bottom:15px; }
.news-write-container label { display:block; font-weight:bold; margin-top:15px; margin-bottom:5px; }
.news-write-container .title-option { font-weight:normal; margin-top:6px; margin-bottom:15px; }
.news-write-container input[type=text], .news-write-container select, .news-write-container textarea { width:100%; padding:8px 10px; font-size:1em; border:1px solid #ccc; border-radius:5px; box-sizing:border-box; }
.news-write-container .checkbox-group { margin-top:15px; display:flex; gap:20px; flex-wrap:wrap; }
.news-write-container .checkbox-group label { font-weight:normal; }
.news-write-container .action-buttons { margin-top:20px; display:flex; gap:10px; }
.news-write-container .action-buttons button { background-color:#007acc; color:white; border:none; padding:12px 18px; border-radius:5px; cursor:pointer; }
.news-write-container .action-buttons button:hover { background-color:#005f99; }
.news-write-container .wysiwyg-info { font-size: 8px; position: absolute; bottom: 5px; right: 5px; color:#555; }
.trumbowyg-editor table { border-collapse: collapse; width: 100%; border: 1px solid #007acc; margin: 10px 0; }
.trumbowyg-editor table th, .trumbowyg-editor table td { border: 1px solid #007acc; padding: 8px; text-align: left; }
.trumbowyg-editor table th { background-color: #e6f2fa; }
.trumbowyg-editor table tr:hover { background-color: #f0f8ff; }

/* === notifications.css === */
*,*::before,*::after{box-sizing:border-box}
.notifications-layout{display:flex;gap:20px}
.notifications-nav{width:215px;padding:14px;border-radius:6px}
.notifications-nav a{display:block;margin-bottom:10px;padding:8px 10px;border-radius:4px;text-decoration:none;font-weight:bold;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.notifications-content{flex:1;min-width:0}
.notifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;align-items:stretch}
.notifications-number{display:block;font-size:18px;line-height:1.2;font-weight:bold;overflow-wrap:anywhere;word-break:break-word}
.notifications-rule{margin-bottom:12px}
.notifications-rule summary{padding:11px;cursor:pointer;font-weight:bold}
.notifications-form{padding:0 12px 14px}
.notifications-form label{display:block;margin:10px 0 4px;font-weight:bold}
.notifications-form input[type=email],.notifications-form input[type=number],.notifications-form select{width:100%;padding:8px;border-radius:4px}
.notifications-form select[multiple]{min-height:115px}
.notifications-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.notifications-button{margin-top:10px}
.notifications-inline-form{display:inline}
.notifications-table{width:100%;border-collapse:collapse}
.notifications-table th,.notifications-table td{padding:7px;text-align:left;vertical-align:top;font-size:12px}
.notifications-hint{margin-top:12px}
.notifications-help{line-height:1.55}
.notifications-help pre{white-space:pre-wrap;overflow:auto;border-radius:6px;padding:10px}
@media(max-width:760px){.notifications-layout{flex-direction:column}.notifications-nav{width:100%}.notifications-two{grid-template-columns:1fr}.notifications-table,.notifications-table tbody,.notifications-table tr,.notifications-table td{display:block;width:100%}.notifications-table thead{display:none}.notifications-table tr{margin-bottom:10px}.notifications-table td{border-width:0 0 1px}}

/* === style.css === */
.as-plugin-validator * {
    box-sizing: border-box;
}

.as-plugin-validator label {
    display: block;
    margin-bottom: 14px;
    font-weight: 700;
}

.as-plugin-validator-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    margin: 15px 0;
    font-weight: 700;
}

.as-plugin-validator-topline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 10px;
    align-items: stretch;
}

.as-plugin-validator-ready {
    margin: 0;
}

.as-plugin-validator-quality {
    margin: 0;
}

.as-plugin-validator-quality-bar {
    width: 100%;
    height: 16px;
    margin: 8px 0 5px;
    border: 1px solid currentColor;
    overflow: hidden;
}

.as-plugin-validator-quality-fill {
    display: block;
    height: 100%;
}

.as-plugin-validator-quality-red .as-plugin-validator-quality-fill {
    background: #c62828;
}

.as-plugin-validator-quality-orange .as-plugin-validator-quality-fill {
    background: #ef6c00;
}

.as-plugin-validator-quality-yellow .as-plugin-validator-quality-fill {
    background: #f9a825;
}

.as-plugin-validator-quality-lightgreen .as-plugin-validator-quality-fill {
    background: #7cb342;
}

.as-plugin-validator-quality-green .as-plugin-validator-quality-fill {
    background: #2e7d32;
}

.as-plugin-validator-quality-value {
    display: block;
    font-weight: 700;
    text-align: right;
}

.as-plugin-validator-summary span {
    display: inline-block;
}

.as-plugin-validator-summary-form {
    display: inline-flex;
    margin: 0;
}

.as-plugin-validator-success td:first-child,
.as-plugin-validator-warning td:first-child,
.as-plugin-validator-error td:first-child {
    font-weight: 700;
}

.as-plugin-validator-footer {
    margin-top: 14px;
    padding: 7px 10px;
    font-size: .8rem;
    text-align: center;
}

.as-plugin-validator-actions {
    min-width: 220px;
    vertical-align: top;
}

.as-plugin-validator-action-text {
    display: block;
    margin-bottom: 5px;
    line-height: 1.35;
}

.as-plugin-validator-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

.as-plugin-validator-action-form {
    display: inline-flex;
    margin: 0;
}

.as-plugin-validator-small-button {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
}

.as-plugin-validator-manual {
    display: block;
    margin-top: 6px;
}

.as-plugin-validator-code-editor {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    width: 100%;
    min-height: 520px;
    border: 1px solid currentColor;
    overflow: hidden;
}

.as-plugin-validator-line-numbers {
    min-height: 520px;
    max-height: 520px;
    padding: 8px 8px 8px 4px;
    overflow: hidden;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    line-height: 19px;
    text-align: right;
    user-select: none;
    opacity: .75;
    border-right: 1px solid currentColor;
}

.as-plugin-validator-line-numbers span {
    display: block;
    height: 19px;
}

.as-plugin-validator-line-numbers span.is-active {
    font-weight: 700;
    opacity: 1;
}

.as-plugin-validator-editor-form textarea {
    width: 100%;
    max-width: 100%;
    min-height: 520px;
    max-height: 520px;
    margin: 0;
    padding: 8px;
    border: 0;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    line-height: 19px;
    resize: none;
    white-space: pre;
    overflow: auto;
}

.as-plugin-validator-editor-buttons {
    margin-top: 10px;
}

.as-plugin-validator-editor-buttons .adm_button {
    margin-right: 8px;
}

.as-plugin-validator-line-preview {
    margin-bottom: 12px;
}

.as-plugin-validator-line-preview pre {
    overflow: auto;
    padding: 8px;
}

.help {
    padding: 0 14px;
}

@media (max-width: 760px) {
    .as-plugin-validator-topline {
        grid-template-columns: 1fr;
    }
}

/* === user.css === */
/* Frontend profile styles. Backend views are styled by the active admin theme. */

.user-profile-frontend { max-width:920px; margin:20px auto; padding:0; background:#fff; color:#222; border:1px solid #d7dee8; border-radius:8px; font-family:Arial,sans-serif; overflow:hidden; box-shadow:0 10px 26px rgba(20,70,110,.08); }
.user-profile-head { display:flex; gap:18px; align-items:center; padding:22px; background:#f1f7fc; border-bottom:1px solid #d7e7f3; }
.user-avatar-preview { width:112px; height:112px; flex:0 0 112px; border-radius:50%; border:4px solid #fff; background:#2E7FC1; color:#fff; display:flex; align-items:center; justify-content:center; font-size:46px; font-weight:bold; overflow:hidden; box-shadow:0 8px 18px rgba(46,127,193,.22); }
.user-avatar-empty { background:linear-gradient(180deg,#edf4fa 0%,#dbe9f3 100%); color:#7c93a5; }
.user-avatar-preview img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; display:block; }
.user-avatar-placeholder { position:relative; width:70px; height:78px; display:block; }
.user-avatar-placeholder::before { content:""; position:absolute; left:50%; top:4px; width:34px; height:34px; transform:translateX(-50%); border-radius:50%; background:#8ea6b8; }
.user-avatar-placeholder::after { content:""; position:absolute; left:50%; bottom:2px; width:66px; height:38px; transform:translateX(-50%); border-radius:34px 34px 18px 18px; background:#8ea6b8; }
.user-profile-title h2 { margin:0 0 5px; color:#0b5f99; }
.user-profile-title p { margin:0; color:#536879; }
.user-profile-body { padding:22px; }
.user-profile-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:0 18px; }
.user-profile-frontend label { display:block; margin-top:14px; font-weight:bold; }
.user-profile-frontend input, .user-profile-frontend select { width:100%; box-sizing:border-box; padding:9px 10px; margin-top:5px; border:1px solid #b8c4cf; border-radius:5px; font-size:1em; background:#fff; color:#222; }
.user-profile-frontend input[type="file"] { padding:8px; background:#fff; }
.user-profile-frontend button[type="submit"] { margin-top:18px; padding:10px 16px; border:0; border-radius:5px; background:#007acc; color:#fff; cursor:pointer; font-weight:bold; }
.user-profile-frontend button[type="submit"]:hover { background:#005f99; }
.user-photo-area { margin:18px 0 4px; padding:16px; background:#fbfdff; border:1px solid #d8e6f0; border-radius:8px; }
.user-photo-area h3, .user-account-area h3 { margin:0 0 4px; color:#255f83; font-size:1.05em; }
.user-photo-position { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 18px; margin-top:8px; }
.user-photo-position input[type="range"] { padding:0; cursor:pointer; }
.user-remove-photo { display:flex !important; gap:8px; align-items:center; font-weight:normal !important; margin-top:10px !important; }
.user-remove-photo input { width:auto; margin:0; }
.user-account-area { margin-top:20px; padding:16px; background:#f4f8fb; border:1px solid #d8e6f0; border-radius:8px; }
.user-account-area label:first-of-type { margin-top:10px; }
.user-password-field { position:relative; }
.user-password-field input { padding-right:44px; }
.user-password-toggle { position:absolute; right:8px; top:50%; transform:translateY(-35%); width:32px; height:32px; border:0; background:transparent; color:#333; cursor:pointer; font-size:18px; line-height:1; }
.user-password-toggle:hover { color:#007acc; }
.user-profile-hint { color:#666; font-size:12px; margin:6px 0 0; }
.user-profile-message { padding:10px; border-radius:5px; margin:10px 0; font-weight:bold; }
.user-profile-message.success { background:#e6f6e8; color:#1f7a32; }
.user-profile-message.error { background:#fdeaea; color:#b42318; }

@media (max-width: 720px) {
    .user-profile-head { flex-direction:column; text-align:center; }
    .user-profile-grid { grid-template-columns:1fr; }
}
