.frontend-shell {
    --hw-blue: #1d274c;
    --hw-blue-muted: #6e78a1;
    --hw-olive: #666644;
    --hw-olive-light: #efefd7;
    --hw-border: #e1e3eb;
    --hw-page: #eff0f1;
    --hw-error: #622133;
    background: var(--hw-page);
    color: var(--hw-blue);
    font-family: "Euclid", Arial, sans-serif;
}

.frontend-shell .page-wrapper,
.frontend-shell .page-container { background: var(--hw-page); }
.frontend-shell .page-container { padding-left: 0; }
.frontend-shell a { color: var(--hw-olive); }
.frontend-shell a:hover { color: var(--hw-blue); }
.frontend-shell h1,
.frontend-shell h2,
.frontend-shell h3,
.frontend-shell h4 { color: var(--hw-blue); font-weight: 400; }

.frontend-shell .header-desktop3 {
    background: #fff;
    border-bottom: 1px solid var(--hw-border);
    box-shadow: none;
    height: 86px;
}
.frontend-shell .header-desktop3 .section__content {
    position: static;
    transform: none;
    width: 100%;
}
.frontend-shell .header3-wrap {
    align-items: center;
    min-height: 85px;
}
.frontend-shell .header__logo img { max-height: 56px; width: auto; }
.frontend-shell .header__navbar {
    align-items: center;
    gap: 32px;
    margin-left: auto;
    margin-right: 36px;
    position: static;
    transform: none;
    width: auto;
}
.frontend-shell .header__navbar a {
    color: var(--hw-blue);
    font-size: 15px;
    letter-spacing: .02em;
}
.frontend-shell .header__navbar a:hover { color: var(--hw-olive); }
.frontend-shell .frontend-menu-label { color: var(--hw-blue); font-size: 13px; margin-right: 9px; }
.frontend-shell .account-item--style2 .content a { color: var(--hw-blue); }
.frontend-shell .account-dropdown { border-radius: 0; box-shadow: none; border: 1px solid var(--hw-border); }
.frontend-shell .account-dropdown__item a:hover { background: var(--hw-olive-light); }

.frontend-page { padding: 72px 0 96px; }
.frontend-page--compact { padding-top: 48px; }
.frontend-intro { max-width: 760px; margin-bottom: 48px; }
.frontend-eyebrow {
    color: var(--hw-olive);
    display: block;
    font-size: 13px;
    letter-spacing: .12em;
    margin-bottom: 14px;
    text-transform: uppercase;
}
.frontend-title { font-size: clamp(34px, 5vw, 54px); line-height: 1.08; margin: 0 0 18px; }
.frontend-lead { color: var(--hw-blue-muted); font-size: 18px; line-height: 1.55; margin: 0; max-width: 680px; }

.frontend-panel,
.frontend-card,
.frontend-empty {
    background: #fff;
    border: 1px solid var(--hw-border);
    border-radius: 0;
    box-shadow: none;
}
.frontend-panel { padding: 36px; }
.frontend-panel--tint { background: var(--hw-olive-light); border-color: var(--hw-olive-light); }
.frontend-panel__title { font-size: 26px; margin-bottom: 24px; }
.frontend-empty { padding: 36px; }
.frontend-empty h2 { font-size: 24px; margin-bottom: 8px; }
.frontend-empty p { color: var(--hw-blue-muted); margin: 0; }

.frontend-shell .form-control {
    border: 1px solid var(--hw-border);
    border-radius: 0;
    color: var(--hw-blue);
    min-height: 46px;
}
.frontend-shell .form-control:focus {
    border-color: var(--hw-olive);
    box-shadow: 0 0 0 3px rgba(102,102,68,.14);
}
.frontend-shell input[type="checkbox"].form-control {
    display: inline-block;
    min-height: auto;
    width: auto;
}
.frontend-shell .form-control-label,
.frontend-shell label { color: var(--hw-blue); }
.frontend-shell .form-text { color: var(--hw-blue-muted); }
.frontend-shell .invalid-feedback { color: var(--hw-error); }

.frontend-shell .frontend-button,
.frontend-shell .au-btn--green {
    background: var(--hw-olive);
    border: 1px solid var(--hw-olive);
    border-radius: 0;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    text-transform: none;
}
.frontend-shell .frontend-button:hover,
.frontend-shell .au-btn--green:hover { background: var(--hw-blue); border-color: var(--hw-blue); color: #fff; }
.frontend-shell .frontend-button--secondary { background: transparent; border-color: var(--hw-blue-muted); color: var(--hw-blue); }
.frontend-shell .frontend-button--secondary:hover { background: var(--hw-blue); color: #fff; }
.frontend-shell .au-btn-grey {
    background: var(--hw-blue-muted);
    border: 1px solid var(--hw-blue-muted);
    color: #fff;
}
.frontend-shell .au-btn-grey:hover {
    background: var(--hw-blue);
    border-color: var(--hw-blue);
    color: #fff;
}
.frontend-text-link { display: inline-block; text-decoration: underline; text-underline-offset: 3px; }
.frontend-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px; }

.frontend-list { display: grid; gap: 1px; background: var(--hw-border); border: 1px solid var(--hw-border); }
.frontend-list__row { background: #fff; display: grid; gap: 20px; padding: 24px 28px; align-items: center; }
.frontend-list__label { color: var(--hw-blue-muted); display: block; font-size: 12px; letter-spacing: .08em; margin-bottom: 5px; text-transform: uppercase; }
.frontend-list__value { color: var(--hw-blue); }
.frontend-table { background: #fff; border: 1px solid var(--hw-border); }
.frontend-table .table { margin: 0; }
.frontend-table .table thead th { background: var(--hw-olive-light); border: 0; color: var(--hw-blue); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.frontend-table .table td { border-top: 1px solid var(--hw-border); color: var(--hw-blue); vertical-align: middle; }

.frontend-shell .modal-content,
.frontend-shell .modal-header,
.frontend-shell .modal-footer,
.frontend-shell .card { border-radius: 0; box-shadow: none; }
.frontend-shell .modal-content { border: 1px solid var(--hw-border); }
.frontend-shell .modal-header { background: var(--hw-olive-light); border-bottom: 0; }
.frontend-shell .modal-footer { border-top: 1px solid var(--hw-border); }
.frontend-shell .modal-body .card { border: 0; border-top: 1px solid var(--hw-border); }
.frontend-shell .modal-body .card-header { background: transparent; border: 0; color: var(--hw-blue); font-size: 20px; padding-left: 0; }

.frontend-shell .alert { border: 0; border-radius: 0; }
.frontend-shell .alert-danger { background: #f2e7ea; color: var(--hw-error); }
.frontend-shell .alert-success { background: var(--hw-olive-light); color: var(--hw-blue); }
.frontend-shell .footer { background: var(--hw-blue); }
.frontend-shell .copyright p { color: #fff; opacity: .76; }

@media (max-width: 767px) {
    .frontend-page { padding: 48px 0 72px; }
    .frontend-panel { padding: 26px 22px; }
    .frontend-list__row { padding: 20px; }
    .frontend-shell .header-desktop3 { height: 72px; }
    .frontend-shell .header3-wrap { min-height: 71px; }
    .frontend-shell .header__logo img { max-height: 46px; }
    .frontend-shell .frontend-menu-label { display: none; }
}
/* Overlays oberhalb des fixierten Verwaltungs-Headers halten. */
.modal-backdrop {
    z-index: 1290;
}

.modal {
    z-index: 1300;
}

/* Einheitliche CRM-Toasts (SweetAlert2) */
.swal2-container {
    z-index: 1400;
}

.swal2-container .swal2-popup.swal2-toast {
    border: 1px solid #e1e3eb;
    border-left: 4px solid #6e78a1;
    border-radius: 0;
    box-shadow: none;
    color: #1d274c;
    font-family: Euclid, Arial, sans-serif;
}

.swal2-container .swal2-popup.swal2-toast.app-toast--success {
    border-left-color: #666644;
}

.swal2-container .swal2-popup.swal2-toast.app-toast--error {
    border-left-color: #622133;
}

.swal2-container .swal2-popup.swal2-toast .swal2-title {
    color: #1d274c;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
}

.swal2-container .swal2-timer-progress-bar {
    background: #666644;
}

/* Backend header */
.administration-shell {
    --hw-blue: #1d274c;
    --hw-blue-muted: #6e78a1;
    --hw-olive: #666644;
    --hw-olive-light: #efefd7;
    --hw-border: #e1e3eb;
    --hw-page: #eff0f1;
    color: var(--hw-blue);
    font-family: "Euclid", Arial, sans-serif;
}

.administration-header {
    background:#fff;
    border-bottom:1px solid var(--hw-border);
    box-shadow:none;
    position:sticky;
    top:0;
    z-index:1100;
}
.administration-header--development { border-top:3px solid var(--hw-error, #622133); }
.administration-header__inner {
    align-items:stretch;
    display:flex;
    margin:0 auto;
    max-width:1540px;
    min-height:80px;
    padding:0 28px;
}
.administration-header__logo {
    align-items:center;
    display:flex;
    flex:0 0 auto;
    margin-right:34px;
}
.administration-header__logo img { display:block; height:auto; max-width:180px; width:100%; }
.administration-navigation { align-items:stretch; display:flex; min-width:0; }
.administration-navigation__link,
.administration-menu > summary {
    align-items:center;
    border-bottom:3px solid transparent;
    color:var(--hw-blue);
    cursor:pointer;
    display:flex;
    font-size:14px;
    font-weight:400;
    letter-spacing:.01em;
    min-height:80px;
    padding:2px 13px 0;
    text-decoration:none;
    white-space:nowrap;
}
.administration-navigation__link:hover,
.administration-menu > summary:hover { color:var(--hw-olive); text-decoration:none; }
.administration-navigation__link.is-active,
.administration-menu.is-active > summary { border-bottom-color:var(--hw-olive); color:var(--hw-olive); }
.administration-navigation__link:focus-visible,
.administration-menu > summary:focus-visible,
.administration-tool-menu > summary:focus-visible,
.administration-mobile-menu > summary:focus-visible {
    outline:3px solid rgba(110,120,161,.3);
    outline-offset:-4px;
}
.administration-menu,
.administration-tool-menu { position:relative; }
.administration-menu > summary,
.administration-tool-menu > summary,
.administration-mobile-menu > summary { list-style:none; }
.administration-menu > summary::-webkit-details-marker,
.administration-tool-menu > summary::-webkit-details-marker,
.administration-mobile-menu > summary::-webkit-details-marker { display:none; }
.administration-menu > summary::after,
.administration-tool-menu > summary::after { content:"⌄"; font-size:14px; margin-left:7px; transform:translateY(-2px); }
.administration-menu[open] > summary::after,
.administration-tool-menu[open] > summary::after { transform:rotate(180deg) translateY(-2px); }
.administration-menu__panel,
.administration-tool-menu__panel {
    background:#fff;
    border:1px solid var(--hw-border);
    box-shadow:none;
    min-width:225px;
    position:absolute;
    top:calc(100% - 1px);
    z-index:20;
}
.administration-menu__panel--right { right:0; }
.administration-menu__panel a {
    align-items:center;
    border-bottom:1px solid var(--hw-border);
    color:var(--hw-blue);
    display:flex;
    font-size:14px;
    justify-content:space-between;
    padding:12px 15px;
    text-decoration:none;
}
.administration-menu__panel a:last-child { border-bottom:0; }
.administration-menu__panel a:hover,
.administration-menu__panel a:focus { background:var(--hw-olive-light); color:var(--hw-blue); }
.administration-menu__panel a span,
.administration-tool-menu > summary span {
    background:var(--hw-olive-light);
    color:var(--hw-blue);
    font-size:11px;
    line-height:1;
    margin-left:12px;
    min-width:22px;
    padding:5px 6px;
    text-align:center;
}
.administration-header__tools { align-items:stretch; display:flex; margin-left:auto; }
.administration-tool-menu > summary {
    align-items:center;
    color:var(--hw-blue);
    cursor:pointer;
    display:flex;
    font-size:13px;
    min-height:80px;
    padding:0 12px;
    white-space:nowrap;
}
.administration-tool-menu--account > summary { max-width:150px; overflow:hidden; text-overflow:ellipsis; }
.administration-tool-menu__panel { left:auto; min-width:310px; right:0; }
.administration-tool-menu__heading {
    border-bottom:1px solid var(--hw-border);
    color:var(--hw-blue);
    font-size:15px;
    font-weight:400;
    padding:15px 17px;
}
.administration-tool-menu__panel > a {
    align-items:center;
    border-bottom:1px solid var(--hw-border);
    color:var(--hw-blue);
    display:flex;
    font-size:13px;
    justify-content:space-between;
    padding:12px 17px;
}
.administration-tool-menu__panel > a:hover,
.administration-tool-menu__panel > a:focus { background:var(--hw-olive-light); text-decoration:none; }
.administration-tool-menu__panel > a strong { color:var(--hw-olive); font-size:16px; font-weight:400; }
.administration-account { border-bottom:1px solid var(--hw-border); padding:16px 17px; }
.administration-account strong { color:var(--hw-blue); display:block; font-size:14px; font-weight:500; }
.administration-account span { color:var(--hw-blue-muted); display:block; font-size:12px; margin-top:3px; }
.administration-tool-menu__panel form { margin:0; }
.administration-tool-menu__panel button,
.administration-mobile-menu button {
    background:#fff;
    border:0;
    color:var(--hw-blue);
    cursor:pointer;
    font:13px Euclid,Arial,sans-serif;
    padding:12px 17px;
    text-align:left;
    width:100%;
}
.administration-tool-menu__panel button:hover,
.administration-tool-menu__panel button:focus { background:var(--hw-olive-light); }
.administration-mobile-menu { display:none; margin-left:auto; position:relative; }

@media (max-width:1250px) {
    .administration-header__inner { padding:0 18px; }
    .administration-header__logo { margin-right:18px; }
    .administration-navigation__link,
    .administration-menu > summary { padding-left:9px; padding-right:9px; }
    .administration-tool-menu > summary { padding-left:8px; padding-right:8px; }
}

@media (max-width:1100px) {
    .administration-header__inner { align-items:center; min-height:68px; padding:0 18px; }
    .administration-header__logo img { max-width:150px; }
    .administration-navigation,
    .administration-header__tools { display:none; }
    .administration-mobile-menu { display:block; }
    .administration-mobile-menu > summary {
        color:var(--hw-blue);
        cursor:pointer;
        font-size:14px;
        padding:23px 2px 22px 18px;
    }
    .administration-mobile-menu > summary::before { content:"/"; color:var(--hw-olive); margin-right:8px; }
    .administration-mobile-menu > nav {
        background:#fff;
        border:1px solid var(--hw-border);
        max-height:calc(100vh - 68px);
        min-width:min(360px, calc(100vw - 24px));
        overflow-y:auto;
        position:absolute;
        right:-6px;
        top:100%;
    }
    .administration-mobile-menu nav > a,
    .administration-mobile-menu nav > details > summary,
    .administration-mobile-menu nav > details > a,
    .administration-mobile-menu__tasks > a {
        align-items:center;
        border-bottom:1px solid var(--hw-border);
        color:var(--hw-blue);
        display:flex;
        font-size:14px;
        justify-content:space-between;
        padding:13px 16px;
        text-decoration:none;
    }
    .administration-mobile-menu nav > a.is-active { border-left:3px solid var(--hw-olive); padding-left:13px; }
    .administration-mobile-menu nav > details > summary { cursor:pointer; font-weight:500; list-style:none; }
    .administration-mobile-menu nav > details > summary::after { content:"+"; color:var(--hw-olive); }
    .administration-mobile-menu nav > details[open] > summary::after { content:"−"; }
    .administration-mobile-menu nav > details > a { background:#f8f8f5; padding-left:30px; }
    .administration-mobile-menu nav span { color:var(--hw-olive); font-size:12px; }
    .administration-mobile-menu__tasks { border-top:3px solid var(--hw-olive-light); }
    .administration-mobile-menu__tasks > strong { color:var(--hw-blue); display:block; font-size:14px; font-weight:500; padding:15px 16px 8px; }
    .administration-mobile-menu__tasks > a { border-bottom:0; font-size:13px; padding-bottom:8px; padding-top:8px; }
    .administration-mobile-menu form { border-top:1px solid var(--hw-border); margin:0; }
}
