body {
    font-family: Arial, sans-serif;
    margin: 0;
    background: #f4f6f8;
    color: #222;
}

/* ======================
   HEADER
====================== */

.header-bar {
    background: #fff;
    color: #243b50;

    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
    align-items: center;

    padding: 8px 20px;
    border-bottom: 1px solid #dce3e8;
}

/* LINKS */
.header-left {
    display: flex;
    align-items: center;
    gap: 14px;
    font-weight: bold;
    font-size: 18px;
}

/* MITTE */
.header-center {
    text-align: center;
}

.header-page-title {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.15;
    color: #3f9142;
}

.profil-dropdown {
    position: relative;
    display: inline-block;
}

.profil-dropdown > summary {
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.profil-dropdown > summary::-webkit-details-marker {
    display: none;
}

.profil-dropdown > summary::after {
    content: " ▾";
    font-size: 12px;
}

.profil-dropdown[open] > summary::after {
    content: " ▴";
}

.profil-dropdown-menue {
    position: absolute;
    z-index: 1100;
    top: calc(100% + 10px);
    right: 0;
    min-width: 170px;
    padding: 7px 0;
    border: 1px solid #cbd6df;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(24, 43, 61, .2);
}

.profil-dropdown-menue a {
    display: block;
    padding: 10px 15px;
    color: #243b50;
    text-decoration: none;
    white-space: nowrap;
}

.profil-dropdown-menue a:hover {
    background: #edf3f7;
}

/* RECHTS */
.header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    text-align: right;
}

@media (max-width: 780px) {
    .header-bar { grid-template-columns: 1fr auto; gap: 8px 14px; }
    .header-center { grid-column: 1 / -1; grid-row: 2; }
    .header-page-title { font-size: 21px; }
}

.logo img {
    display: block;
    width: auto;
    max-height: 48px;
}

/* ======================
   NAVIGATION
====================== */

.navbar {
    background: #2c5c85;
    padding: 12px 0;
    position: relative;
    z-index: 100;

    display: flex;
    justify-content: center; /* ✅ mittig */
    align-items: center;
    flex-wrap: wrap;
}

.navbar a {
    color: white;
    margin: 0 15px;
    text-decoration: none;
    font-size: 15px;
}

.navbar a:hover {
    text-decoration: underline;
}

.navbar .nav-direktgruppe {
    display: inline-flex;
    align-items: center;
    margin: 0 15px;
}

.navbar .nav-direktgruppe > a {
    margin: 0;
}

.navbar .nav-direktgruppe > .nav-direkt-anlegen {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 50%;
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    transform: translateY(-2px);
    transition: background-color .15s ease, border-color .15s ease;
}

.navbar .nav-direktgruppe > .nav-direkt-anlegen:hover {
    background: #3f9142;
    border-color: #3f9142;
    text-decoration: none;
}

.navbar .nav-aufgaben {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 15px;
}

.navbar .nav-aufgaben > a {
    margin: 0;
}

.navbar .nav-aufgaben > .nav-aufgaben-zaehler {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 23px;
    padding: 3px 7px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    background: #edf5fb;
    color: #234b6d;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
}

.navbar .nav-aufgaben-zaehler span {
    color: #7c8d9b;
}

.navbar .nav-aufgaben-zaehler em {
    color: #855400;
    font-style: normal;
    font-weight: 700;
}

.navbar .nav-aufgaben-zaehler:hover {
    background: #fff4d6;
    border-color: #fff4d6;
    text-decoration: none;
}

.navbar .nav-gruppe {
    color: #cfe0ee;
    margin: 0 2px 0 14px;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.navbar .nav-dropdown {
    position: relative;
    margin: 0 15px;
    color: #fff;
}

.navbar .nav-dropdown > summary {
    cursor: pointer;
    list-style: none;
    font-size: 15px;
    user-select: none;
}

.navbar .nav-dropdown > summary::-webkit-details-marker {
    display: none;
}

.navbar .nav-dropdown > summary::after {
    content: none;
}

.navbar .nav-dropdown[open] > summary::after {
    content: none;
}

.navbar .nav-dropdown-menue {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 10px);
    left: 0;
    min-width: 190px;
    padding: 7px 0;
    border: 1px solid #cbd6df;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(24, 43, 61, .2);
}

.navbar .nav-dropdown-menue a {
    display: block;
    margin: 0;
    padding: 10px 15px;
    color: #243b50;
    white-space: nowrap;
}

.navbar .nav-dropdown-menue a:hover {
    background: #edf3f7;
    text-decoration: none;
}

.navbar .nav-dropdown-label {
    display: block;
    padding: 7px 15px 4px;
    color: #667785;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.navbar .nav-dropdown-trenner {
    margin-top: 5px;
    border-top: 1px solid #e3e8ec;
    padding-top: 10px;
}

.navbar .nav-dropdown-rechts {
    right: 0;
    left: auto;
}

.navbar .nav-favoriten .nav-dropdown-menue {
    width: min(360px, 85vw);
    max-height: 65vh;
    overflow-y: auto;
}
.navbar .nav-favoriten .nav-dropdown-menue a {
    overflow: hidden;
    text-overflow: ellipsis;
}
.navbar .nav-favoriten-leer {
    display: block;
    padding: 10px 15px;
    color: #647483;
}
.navbar .nav-favoriten .nav-favoriten-verwalten {
    display: flex;
    justify-content: center;
    border-top: 1px solid #dce3e8;
    color: #b42318;
    font-weight: 700;
}
.navbar .nav-favoriten .nav-favoriten-verwalten svg,
.projekt-favoriten-leiste .projekt-favoriten-verwalten svg {
    display: block;
    width: 18px;
    height: 18px;
}
.projekt-favoriten-leiste {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow-x: auto;
    margin: 8px 0 12px;
    padding: 9px 11px;
    border: 1px solid #d5e3ed;
    border-radius: 9px;
    background: #f4f8fb;
    white-space: nowrap;
}
.projekt-favoriten-leiste strong {
    flex: 0 0 auto;
    color: #235b7e;
}
.projekt-favoriten-leiste a {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid #cbd6df;
    border-radius: 7px;
    background: #fff;
    color: #235b7e;
    text-decoration: none;
}
.projekt-favoriten-leiste a:hover { background: #edf5fb; }
.projekt-favoriten-leiste a.aktiv,
.projekt-favoriten-leiste a.aktiv:hover {
    background: #235b7e;
    border-color: #235b7e;
    color: #fff;
}
.projekt-favoriten-leiste .projekt-favoriten-verwalten {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    color: #b42318;
}

/* ======================
   CONTAINER
====================== */

.container {
    box-sizing: border-box;
    width: 1600px;
    max-width: calc(100% - 40px);
    margin: 30px auto;
    background: #fff;
    padding: 20px;
    border-radius: 5px;
}

/* ======================
   BUTTONS
====================== */

.button,
button {
    display: inline-block;
    padding: 10px 14px;
    background: #2c5c85; /* ✅ Blau */
    border: none;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
}

.button:hover,
button:hover {
    background: #1f3c5a;
}

.button-grau {
    background: #6c757d;
}

.button-rot {
    background: #c62828;
}

.projekt-formular-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 32px;
}

.projekt-editor {
    max-width: 1200px;
    margin: 0 auto;
}

.projekt-editor-kopf {
    margin-bottom: 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #dce2e8;
}

.projekt-editor-kopf h3 {
    margin: 0 0 6px;
    font-size: 24px;
}

.projekt-editor-kopf p {
    margin: 0;
    color: #66717d;
}

.projekt-formular-bereich {
    margin: 0 0 22px;
    padding: 18px 20px 20px;
    border: 1px solid #d8e0e7;
    border-radius: 7px;
    background: #fafbfd;
}

.projekt-formular-bereich legend {
    padding: 0 9px;
    color: #2c5c85;
    font-size: 17px;
    font-weight: bold;
}

.projekt-formular-bereich label {
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
}

.projekt-formular-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
    gap: 18px 24px;
    align-items: end;
}

.projekt-feld-breit {
    grid-column: 1 / -1;
}

.projekt-datumsfeld input {
    max-width: 210px;
}

@media (max-width: 760px) {
    .projekt-formular-grid {
        grid-template-columns: 1fr;
    }

    .projekt-feld-breit {
        grid-column: auto;
    }
}

.projekt-formular-aktionen > button,
.projekt-formular-aktionen > a,
.projekt-formular-aktionen > form > button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    min-height: 38px;
    margin: 0;
    text-align: center;
}

.projekt-formular-aktionen > form {
    margin: 0;
}

.projekt-abbrechen {
    background: #e7c75d;
    color: #3d3212;
}

.projekt-abbrechen:hover {
    background: #d9b944;
}

.projekt-kategorie-auswahl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin-top: 7px;
}

.projekt-formular-bereich .projekt-kategorie-option {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 11px 12px;
    border: 1px solid #d4dce4;
    border-radius: 6px;
    background: #f8fafc;
    cursor: pointer;
    font-weight: normal;
}

.projekt-formular-bereich .projekt-kategorie-option:has(input:checked) {
    border-color: #2c5c85;
    background: #eaf3fa;
}

.projekt-formular-bereich .projekt-kategorie-option input {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}

.projekt-formular-bereich .projekt-kategorie-option span,
.projekt-formular-bereich .projekt-kategorie-option small {
    display: block;
}

.projekt-formular-bereich .projekt-kategorie-option span {
    min-width: 0;
    line-height: 1.35;
}

.projekt-formular-bereich .projekt-kategorie-option small {
    margin-bottom: 3px;
    color: #687684;
}

.projekt-feld-kopf {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.projekt-feld-kopf label {
    margin: 0;
}

.projekt-feld-kopf > span {
    color: #687684;
    font-size: 13px;
    font-weight: normal;
}

.projekt-massnahmen-gruppen {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
}

.projekt-massnahmen-gruppe {
    min-width: 0;
    padding: 14px;
    border: 1px solid #d8e0e7;
    border-radius: 7px;
    background: #fff;
}

.projekt-massnahmen-gruppe h4 {
    margin: 0 0 11px;
    padding: 0 0 9px;
    border-bottom: 1px solid #e2e7ec;
    color: #2c5c85;
    font-size: 15px;
}

.projekt-massnahmen-optionen {
    display: grid;
    gap: 8px;
}

@media (max-width: 600px) {
    .projekt-feld-kopf {
        display: block;
    }

    .projekt-feld-kopf > span {
        display: block;
        margin-top: 2px;
    }

    .projekt-massnahmen-gruppen {
        grid-template-columns: minmax(0, 1fr);
    }
}

.stammdaten-editor {
    box-sizing: border-box;
    max-width: 1180px;
    margin: 0 auto 30px;
    padding: 22px;
    border: 1px solid #d6dee6;
    border-radius: 8px;
}

.stammdaten-adresse {
    background: #f5f8fb;
}

.stammdaten-objekt {
    background: #f5f9f4;
}

.stammdaten-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 17px 22px;
}

.stammdaten-grid input[type="date"],
.stammdaten-grid input[type="number"] {
    max-width: 210px;
}

.stammdaten-formular-aktionen {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid #d6dee6;
}

.stammdaten-formular-aktionen > button,
.stammdaten-formular-aktionen > a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    min-height: 38px;
    margin: 0;
    text-align: center;
}

.aktions-dropdown-hinweis {
    display: block;
    padding: 9px 10px;
    color: #777;
    font-size: 13px;
}

@media (max-width: 900px) {
    .stammdaten-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 620px) {
    .stammdaten-grid {
        grid-template-columns: 1fr;
    }
}

.aktions-dropdown {
    position: relative;
    display: inline-block;
}

.aktions-dropdown summary {
    list-style: none;
    min-width: 105px;
    padding: 8px 12px;
    border: 1px solid #aeb9c4;
    border-radius: 4px;
    background: #eef3f8;
    cursor: pointer;
    user-select: none;
}

.aktions-dropdown summary::-webkit-details-marker {
    display: none;
}

.aktions-dropdown summary::after {
    content: "▾";
    float: right;
    margin-left: 12px;
}

.aktions-dropdown[open] summary::after {
    content: "▴";
}

.aktions-dropdown-menue {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    right: 0;
    min-width: 190px;
    padding: 6px;
    border: 1px solid #ccd3da;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

.aktions-dropdown-menue a,
.aktions-dropdown-loeschen {
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #222;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.aktions-dropdown-menue a:hover {
    background: #eef3f8;
}

.aktions-dropdown-menue form {
    margin: 5px 0 0;
    padding-top: 5px;
    border-top: 1px solid #eee;
}

.aktions-dropdown-loeschen {
    color: #b42318;
}

.aktions-dropdown-loeschen:hover {
    background: #fdecea;
}

/* Navigations-Dropdown bewusst von den Tabellen-Aktionsmenüs abgrenzen. */
.navbar details.nav-dropdown > summary,
.navbar details.aktions-dropdown.nav-dropdown > summary {
    box-sizing: border-box;
    min-width: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    line-height: normal;
}

.navbar details.nav-dropdown > summary:hover,
.navbar details.aktions-dropdown.nav-dropdown > summary:hover {
    background: transparent;
    color: #fff;
    text-decoration: underline;
}

.navbar details.nav-dropdown > summary::after,
.navbar details.aktions-dropdown.nav-dropdown > summary::after {
    content: none;
}

/* ======================
   FORMULARE
====================== */

input, textarea, select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

textarea {
    min-height: 100px;
}

.formular-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 20px;
}

.formular-feld-voll {
    grid-column: 1 / -1;
}

/* ======================
   TABELLEN
====================== */

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

.projekt-tabelle-wrap {
    overflow: visible;
}

.adressen-tabelle-wrap {
    overflow: visible;
}

.objekte-tabelle-wrap {
    overflow: visible;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table th {
    background: #eef3f8;
}

table th,
table td {
    border: 1px solid #ddd;
    padding: 10px;
}

/* ======================
   MELDUNGEN
====================== */

.erfolg {
    background: #e7f8e7;
    border: 1px solid #b6e5b6;
    padding: 10px;
    margin-bottom: 15px;
}

.fehler {
    background: #fdecec;
    border: 1px solid #f2b8b5;
    padding: 10px;
    margin-bottom: 15px;
}

.auswahl-suche {
    max-width: 520px;
    margin-bottom: 10px;
}

/* Kompakte, einheitliche Filterkarten auf allen Übersichtsseiten. */
.container .projekt-art-filter,
.container .projekt-status-filter,
.container .objekt-schnellfilter,
.container .beg-filter,
.container .fk-arbeitskarten {
    gap: 8px;
    margin-bottom: 16px;
}

.container .projekt-art-filter a,
.container .projekt-status-filter a,
.container .objekt-schnellfilter a,
.container .beg-filter a,
.container .fk-arbeitskarte {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 7px 10px;
    line-height: 1.25;
}

.container .projekt-art-filter strong,
.container .projekt-status-filter strong,
.container .objekt-schnellfilter strong,
.container .beg-filter strong,
.container .fk-arbeitskarte strong {
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    margin: 0 10px 0 0;
    padding: 0 10px 0 0;
    border-right: 1px solid #cbd5de;
    background: transparent;
    color: #263746;
    font-size: 16px;
    line-height: 1;
}


/* Always-visible logout next to the logo, with keyboard and touch targets. */
.header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}
.header-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff1f2;
    color: #b91c1c;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.header-logout:hover { background: #fee2e2; color: #991b1b; }
.header-logout:focus-visible { outline: 3px solid #2c5c85; outline-offset: 3px; }
.header-logout svg { flex-shrink: 0; }
@media (max-width: 760px) {
    .header-bar { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 10px 12px; }
    .header-left { gap: 9px; font-size: 15px; overflow-wrap: anywhere; }
    .header-left .logo img { max-width: 88px; max-height: 40px; height: auto; }
    .header-right { grid-column: 2; grid-row: 1; gap: 8px; }
    .header-center { grid-row: 2; grid-column: 1 / -1; text-align: center; }
    .header-center:not(:has(*)):empty { display: none; }
    .header-logout { padding: 0 9px; }
}


/* Shared action colors override legacy per-page and inline color rules. */
:is(button, input, a).button-speichern {
    background: #237a3b !important;
    color: #fff !important;
    border-color: #237a3b !important;
}
:is(button, input, a).button-speichern:hover { background: #195c2c !important; }
:is(button, input, a).button-abbrechen {
    background: #f2d36b !important;
    color: #3d3212 !important;
    border-color: #d3b447 !important;
}
:is(button, input, a).button-abbrechen:hover { background: #e4c253 !important; }
:is(button, input, a).button-loeschen {
    background: #b91c1c !important;
    color: #fff !important;
    border-color: #b91c1c !important;
}
:is(button, input, a).button-loeschen:hover { background: #991b1b !important; }
:is(.button-speichern, .button-abbrechen, .button-loeschen):focus-visible {
    outline: 3px solid #1f3c5a;
    outline-offset: 3px;
}
:is(.button-speichern, .button-abbrechen, .button-loeschen):disabled {
    opacity: .55;
    cursor: not-allowed;
}

.faelligkeitswahl input[type="date"] { width: 100%; }
.faelligkeits-schnellwahl { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.faelligkeits-schnellwahl button {
    padding: 5px 8px;
    border: 1px solid #c6d1da;
    border-radius: 999px;
    background: #f6f8fa;
    color: #34495e;
    font-size: 12px;
    line-height: 1.2;
    cursor: pointer;
}
.faelligkeits-schnellwahl button:hover,
.faelligkeits-schnellwahl button:focus-visible { border-color: #2c5c85; background: #eaf2f8; }
.faelligkeits-schnellwahl button[data-faelligkeit="leer"] { color: #6b7280; }

/* Persönliches Dashboard */
.dashboard-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.dashboard-kopf h2{margin:0 0 5px}.dashboard-kopf p,.dashboard-boxkopf p{margin:0;color:#667085}.dashboard-kopfaktionen{display:flex;flex-wrap:wrap;gap:8px}.dashboard-kennzahlen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-kennzahlen a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:15px 17px;border:1px solid #d8e0e7;border-left:5px solid #3975a6;border-radius:10px;background:#fff;color:#263746;text-decoration:none}.dashboard-kennzahlen a:hover{border-color:#89aeca;box-shadow:0 3px 12px rgba(31,52,72,.08)}.dashboard-kennzahlen span{font-weight:700}.dashboard-kennzahlen strong{grid-row:1/3;grid-column:2;font-size:1.8rem;line-height:1}.dashboard-kennzahlen small{color:#667085}.dashboard-kennzahlen .ist-neu{border-left-color:#2d8a47;background:#f7fcf8}.dashboard-kennzahlen .ist-kritisch{border-left-color:#b42318;background:#fffafa}.dashboard-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:18px}.dashboard-box{padding:18px;border:1px solid #d8e0e7;border-radius:10px;background:#fff}.dashboard-boxkopf{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.dashboard-boxkopf h3,.dashboard-versand h3{margin:0 0 4px}.dashboard-boxkopf>a{white-space:nowrap;color:#24567d;font-weight:700}.dashboard-aufgabenliste{display:grid;gap:7px}.dashboard-aufgabe{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 12px;border-left:4px solid #91a4b5;border-radius:7px;background:#f7f9fb;color:#263746;text-decoration:none}.dashboard-aufgabe:hover{background:#eef4f8}.dashboard-aufgabe.ueberfaellig{border-left-color:#b42318;background:#fff7f7}.dashboard-aufgabe-titel{font-weight:700}.dashboard-aufgabe-projekt{grid-row:2;color:#667085;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-aufgabe-datum{grid-row:1/3;grid-column:2;align-self:center;font-size:.82rem;font-weight:700;white-space:nowrap}.dashboard-aufgabe.ueberfaellig .dashboard-aufgabe-datum{color:#b42318}.dashboard-neuigkeiten ol{list-style:none;margin:0;padding:0}.dashboard-neuigkeiten li{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px;padding:0 0 13px}.dashboard-neuigkeiten li:not(:last-child)::before{content:"";position:absolute;top:12px;bottom:0;left:5px;border-left:2px solid #d8e0e7}.dashboard-neu-punkt{position:relative;z-index:1;width:10px;height:10px;margin-top:4px;border-radius:50%;background:#3975a6}.dashboard-neuigkeiten li div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.dashboard-neuigkeiten time{grid-column:2;color:#7a8793;font-size:.76rem;white-space:nowrap}.dashboard-neuigkeiten li a{font-weight:700;color:#24567d;text-decoration:none;overflow-wrap:anywhere}.dashboard-neuigkeiten li div>span:last-child{grid-column:1/3;color:#667085;font-size:.83rem}.dashboard-leer{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:22px;border-radius:8px;background:#f7f9fb;color:#667085}.dashboard-leer strong{color:#34495e}.dashboard-leer .button{margin-top:8px;color:#fff}.dashboard-projekte{margin-bottom:18px}.dashboard-projektliste{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.dashboard-projektliste>a{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid #dce3e8;border-radius:8px;color:#263746;text-decoration:none}.dashboard-projektliste>a:hover{border-color:#3975a6;background:#f5f9fc}.dashboard-projektliste strong{color:#24567d}.dashboard-projektliste small{color:#667085}.dashboard-versand{border-color:#e2b75a;background:#fffaf0}.dashboard-versand form{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid #ead49e}.dashboard-versand form p{margin:0}.dashboard-versand form div{display:flex;gap:7px;white-space:nowrap}@media(max-width:950px){.dashboard-kennzahlen{grid-template-columns:repeat(2,1fr)}.dashboard-raster{grid-template-columns:1fr}}@media(max-width:620px){.dashboard-kopf,.dashboard-boxkopf,.dashboard-versand form{display:block}.dashboard-kopfaktionen,.dashboard-versand form div{margin-top:12px}.dashboard-kennzahlen{grid-template-columns:1fr}.dashboard-aufgabe{grid-template-columns:1fr}.dashboard-aufgabe-datum{grid-row:auto;grid-column:auto}.dashboard-neuigkeiten li div{grid-template-columns:1fr}.dashboard-neuigkeiten time,.dashboard-neuigkeiten li div>span:last-child{grid-column:1}.dashboard-boxkopf>a{display:inline-block;margin-top:7px}}
.dashboard-neu-details{grid-column:1/3;margin:4px 0 0;color:#44576a;font-size:.86rem;line-height:1.4;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-neuigkeiten li{padding-bottom:16px}.meine-projekte-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.meine-projekte-karte{display:flex;flex-direction:column;padding:17px;border:1px solid #d8e0e7;border-radius:10px;background:#fff}.meine-projekte-karte h3{margin:10px 0 4px}.meine-projekte-karte h3 a{color:#24567d;text-decoration:none}.meine-projekte-karte p{margin:5px 0;color:#667085}.meine-projekte-badges{display:flex;flex-wrap:wrap;gap:5px}.meine-projekte-badges span{padding:3px 8px;border-radius:999px;background:#edf5fb;color:#24567d;font-size:.76rem;font-weight:700}.meine-projekte-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:14px;color:#667085;font-size:.84rem}.meine-projekte-aktionen{display:flex;gap:14px;margin-top:auto;padding-top:16px}.meine-projekte-aktionen a{font-weight:700;color:#24567d}@media(max-width:620px){.dashboard-neu-details{grid-column:1}.meine-projekte-raster{grid-template-columns:1fr}}
.dashboard-neu-meta{grid-column:1/3;color:#667085;font-size:.83rem}@media(max-width:620px){.dashboard-neu-meta{grid-column:1}}

/* Zusätzliche Smartphone-Bedienelemente bleiben am Desktop unsichtbar. */
.mobile-nav-toggle,.gp-mobile-tools{display:none}
.gp-filterbereich{display:contents}

/* Einheitliche Smartphone-Ansicht inklusive größerer Display-/Textskalierung. */
@media (max-width: 760px) {
/* Wird ausschließlich bis 760 px geladen und angewendet. */
.header-bar{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;padding:8px 10px}
.header-left{grid-column:1;grid-row:1;min-width:0}
.header-left>span{display:none}
.header-left .logo img{max-width:48px;max-height:36px}
.header-center{grid-column:2;grid-row:1;text-align:left;min-width:0}
.header-page-title{display:block;font-size:17px;line-height:1.2;overflow-wrap:anywhere}
.header-right{grid-column:3;grid-row:1;gap:4px}
.header-right .profil-dropdown>summary{font-size:0;min-height:44px;display:flex;align-items:center;padding:0 6px}
.header-right .profil-dropdown>summary::before{content:'Profil';font-size:12px}
.header-right .profil-dropdown>summary::after{font-size:10px}
.header-logout{min-width:40px;min-height:44px;padding:0;justify-content:center}
.header-logout span{display:none}
.mobile-ui-ready .mobile-nav-toggle{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:0 9px;border:1px solid #cbd6df;border-radius:8px;background:#edf4f9;color:#25465f;font-size:17px}
.mobile-nav-toggle span{font-size:12px}
.mobile-ui-ready .navbar.mobile-panel-ready:not(.is-open){display:none}
.mobile-ui-ready .navbar{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:8px 10px;max-height:65svh;overflow-y:auto;justify-content:flex-start}
.mobile-ui-ready .navbar>a,.mobile-ui-ready .navbar .nav-dropdown>summary,.mobile-ui-ready .navbar .nav-aufgaben>a{display:flex;align-items:center;box-sizing:border-box;min-height:44px;margin:0;padding:10px 12px;font-size:16px}
.mobile-ui-ready .navbar .nav-dropdown{margin:0;width:100%}
.mobile-ui-ready .navbar .nav-dropdown-menue{position:static;min-width:0;box-shadow:none;margin:0 0 5px;width:auto}
.mobile-ui-ready .navbar .nav-dropdown-menue a{white-space:normal;min-height:44px;box-sizing:border-box}
.mobile-ui-ready .navbar .nav-aufgaben{justify-content:space-between;margin:0}
.container{padding:12px 10px;box-sizing:border-box;min-width:0;width:100%}
.mobile-ui-ready .gp-mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.gp-mobile-tools button{min-height:44px;padding:10px 14px;border:1px solid #b9cad6;border-radius:9px;background:#fff;color:#25465f;font-size:16px;font-weight:700}
.gp-mobile-tools span{color:#667785;font-size:14px;white-space:nowrap}
.mobile-ui-ready .gp-filterbereich{display:block;min-width:0}
.mobile-ui-ready .gp-filterbereich.mobile-panel-ready:not(.is-open){display:none}
.mobile-ui-ready .gp-filter input,.mobile-ui-ready .gp-filter select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;font-size:16px}
.mobile-ui-ready .gp-filter .button,.mobile-ui-ready .gp-reiter a{min-height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.mobile-ui-ready .gp-filter .gp-hinweis{display:none}
.mobile-ui-ready .gp-tabelle .gp-mailzeile{grid-template-columns:minmax(0,1fr) auto;border-radius:12px;padding:5px 0}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td{padding:5px 12px;overflow-wrap:anywhere}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(1){order:1;grid-column:1;font-size:12px;color:#667785;white-space:nowrap;overflow-wrap:normal}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(2){order:2;grid-column:2;font-size:12px;text-align:right}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(1)::before,.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(2)::before{display:none}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(4){order:3;grid-column:1/-1;padding-top:3px}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(5){order:4;grid-column:1/-1}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(6){order:5;grid-column:1/-1}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(3){order:6;grid-column:1/-1;border-top:1px solid #edf1f4;margin-top:4px}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(7){order:7;grid-column:1;display:flex;align-items:center;gap:8px}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td:nth-child(8){order:8;grid-column:1/-1}
.mobile-ui-ready .gp-tabelle .gp-mailzeile .gp-person::before{display:inline;margin-right:7px;font-size:11px}
.mobile-ui-ready .gp-person-name{display:inline;font-size:14px}
.mobile-ui-ready .gp-person-email{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.mobile-ui-ready .gp-betreff{min-height:44px;font-size:17px;line-height:1.35;overflow-wrap:anywhere}
.mobile-ui-ready .gp-betreff-status{font-size:12px}
.mobile-ui-ready .gp-mailaktionen>a,.mobile-ui-ready .gp-anlagen-popup{min-height:44px;display:inline-flex;align-items:center}
.mobile-ui-ready .gp-mehr{min-width:44px;min-height:44px}
.mobile-ui-ready .gp-vorschau{font-size:16px;line-height:1.6;padding:14px;max-width:100%;box-sizing:border-box}
.mobile-ui-ready .gp-seiten a{min-height:44px;display:flex;align-items:center}
.mobile-ui-ready .gp-wiedervorlage select,.mobile-ui-ready .gp-wiedervorlage input{min-height:44px;font-size:16px}
@media(max-width:360px){.header-bar{grid-template-columns:48px minmax(0,1fr)}.header-right{grid-column:2}.header-center{grid-column:1/-1;grid-row:2}.header-page-title{font-size:18px}}

.mobile-ui-ready .login-box{width:100%;max-width:420px;box-sizing:border-box;margin:24px auto;padding:20px}
.mobile-ui-ready .login-box input,.mobile-ui-ready .login-box button{box-sizing:border-box;min-height:44px;font-size:16px}

.mobile-ui-ready .gp-tabelle{overflow:visible}
.mobile-ui-ready .gp-tabelle table{display:block;min-width:0;width:100%;background:transparent}
.mobile-ui-ready .gp-tabelle thead{display:none}
.mobile-ui-ready .gp-tabelle tbody{display:flex;flex-direction:column;gap:10px}
.mobile-ui-ready .gp-tabelle .gp-mailzeile{display:grid;background:#fff;border:1px solid #dce3e8}
.mobile-ui-ready .gp-tabelle .gp-mailzeile td{display:block;width:auto;min-width:0;border:0}
.mobile-ui-ready .gp-filter{display:grid;grid-template-columns:minmax(0,1fr)}
.mobile-ui-ready .gp-projektfilter{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;width:100%}
.mobile-ui-ready .gp-filtergruppen{display:block}
.mobile-ui-ready .gp-filtergruppen .gp-reiter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}
.mobile-ui-ready .gp-filtergruppen>.gp-reiter+.gp-reiter{border-left:0;padding-left:0}

}

/* Compact mail list: desktop keeps its original table and controls. */
.gp-mobile-controls,.gp-mobile-action-label,.gp-mobile-attachment{display:none}
@media(max-width:760px){
.mobile-ui-ready .gp-tabelle .gp-mobile-card{grid-template-columns:minmax(0,1fr) auto;gap:0;padding:10px 0;cursor:pointer}
.mobile-ui-ready .gp-tabelle .gp-mobile-card td{padding:3px 12px}
.mobile-ui-ready .gp-tabelle .gp-mailzeile.gp-mobile-card td::before{display:none}
.mobile-ui-ready .gp-tabelle .gp-mobile-card td:nth-child(5){order:1;grid-column:1;grid-row:1;overflow:hidden}
.mobile-ui-ready .gp-mobile-card .gp-person-name{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-ui-ready .gp-tabelle .gp-mobile-card td:nth-child(1){order:2;grid-column:2;grid-row:1;align-self:start;font-size:11px;text-align:right}
.mobile-ui-ready .gp-tabelle .gp-mobile-card td:nth-child(4){order:3;grid-column:1/-1;padding-top:3px}
.mobile-ui-ready .gp-mobile-card .gp-betreff{display:block;width:100%;min-height:44px;font-size:16px;line-height:1.35}
.mobile-ui-ready .gp-mobile-card .gp-betreff strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mobile-ui-ready .gp-mobile-card .gp-betreff-status{display:none}
.mobile-ui-ready .gp-tabelle .gp-mobile-card td:nth-child(3){order:4;grid-column:1/-1;display:flex;align-items:center;gap:8px;border:0;margin:0;font-size:12px}
.mobile-ui-ready .gp-mobile-card .gp-objektlink{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667785;font-weight:400}
.mobile-ui-ready .gp-mobile-card .gp-objekt-ort{display:none}
.mobile-ui-ready .gp-mobile-card .gp-mobile-attachment{display:inline-flex;flex:none;color:#667785}
.mobile-ui-ready .gp-mobile-card .gp-mobile-attachment svg{width:16px;height:16px}
.mobile-ui-ready .gp-tabelle .gp-mobile-card:not(.gp-mobile-open) td:nth-child(2),
.mobile-ui-ready .gp-tabelle .gp-mobile-card:not(.gp-mobile-open) td:nth-child(6),
.mobile-ui-ready .gp-tabelle .gp-mobile-card:not(.gp-mobile-open) td:nth-child(7),
.mobile-ui-ready .gp-tabelle .gp-mobile-card:not(.gp-mobile-open) td:nth-child(8),
.mobile-ui-ready .gp-mobile-card:not(.gp-mobile-open) .gp-person-email,
.mobile-ui-ready .gp-mobile-card:not(.gp-mobile-open) .mail-uhrzeit{display:none}
.mobile-ui-ready .gp-tabelle .gp-mobile-open td:nth-child(2){order:5;grid-column:1/-1;text-align:left;font-size:12px}
.mobile-ui-ready .gp-tabelle .gp-mobile-open td:nth-child(6){order:6;grid-column:1/-1}
.mobile-ui-ready .gp-tabelle .gp-mobile-open td:nth-child(7){order:7;grid-column:1/-1;font-size:12px}
.mobile-ui-ready .gp-tabelle .gp-mobile-open td:nth-child(8){order:8;grid-column:1/-1}
.mobile-ui-ready .gp-mobile-open .gp-betreff strong{-webkit-line-clamp:unset}
.mobile-ui-ready .gp-mobile-open .gp-person-name,.mobile-ui-ready .gp-mobile-open .gp-person-email{white-space:normal;overflow-wrap:anywhere}
.mobile-ui-ready .gp-mobile-open .gp-objekt-ort{display:block}
.mobile-ui-ready .gp-tabelle .gp-mailzeile.gp-mobile-open td:nth-child(6)::before{display:block;content:'An'}
.mobile-ui-ready .gp-tabelle .gp-mailzeile.gp-mobile-open td:nth-child(7)::before{display:inline;content:'Anlagen';margin-right:8px}
.mobile-ui-ready .gp-mobile-open .gp-betreff-status{display:block;font-size:12px}
.mobile-ui-ready .gp-mobile-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.mobile-ui-ready .gp-mobile-controls>a,.mobile-ui-ready .gp-mobile-controls>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:8px 12px;border:1px solid #b9cad6;border-radius:7px;background:#f5f8fa;color:#25465f;font:14px system-ui;text-decoration:none}
.mobile-ui-ready .gp-mobile-card:not(.gp-mobile-more) .gp-mailaktionen{display:none}
.mobile-ui-ready .gp-mobile-more .gp-mailaktionen{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin-top:8px}
.mobile-ui-ready .gp-mobile-more .gp-mailaktionen>a,.mobile-ui-ready .gp-mobile-more .gp-mailaktionen>button{display:flex;justify-content:flex-start;gap:10px;flex:auto;width:100%;height:auto;min-height:44px;padding:8px!important;white-space:normal;text-align:left;font:14px system-ui}
.mobile-ui-ready .gp-mobile-action-label{display:inline}
.mobile-ui-ready .gp-mobile-card:not(.gp-mobile-more)+.gp-vorschauzeile .mail-kontakt-aktionen{display:none}
.mobile-ui-ready .gp-vorschauzeile .gp-vorschau{padding:8px}
}
