:root {
    --bg: #F4FAF8;
    --panel: #ffffff;
    --text: #111827;
    --muted: #6B7280;
    --line: #D9E5E2;
    --primary: #0F766E;
    --primary-dark: #102A43;
    --primary-soft: #E4F4F1;
    --ok: #22C55E;
    --warn: #F59E0B;
    --danger: #DC2626;
    --danger-soft: #FEE2E2;
    --shadow: 0 18px 60px rgba(16, 42, 67, .08);
}

* { box-sizing: border-box; }
html { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
body { margin: 0; }
a { color: inherit; }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 22px; background: var(--panel); border-bottom: 1px solid var(--line); }
.topbar strong { display: block; font-size: 18px; }
.topbar span { color: var(--muted); font-size: 13px; }
.topbar nav { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.topbar nav a, .link-button { text-decoration: none; padding: 8px 10px; border-radius: 10px; background: var(--primary-soft); color: var(--primary); font-size: 14px; border: 0; cursor: pointer; font: inherit; }
.admin-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); min-height: calc(100vh - 70px); }
.sidebar { padding: 18px; border-right: 1px solid var(--line); background: #fbfcff; display: flex; flex-direction: column; gap: 8px; }
.sidebar a, .sidebar span { display: block; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: var(--muted); }
.sidebar a.active { background: var(--primary); color: white; }
.content { padding: 28px; }
.page-head { margin-bottom: 24px; }
.page-head h1, .public-card h1 { margin: 6px 0 10px; font-size: clamp(28px, 4vw, 42px); line-height: 1.05; }
.page-head p { max-width: 760px; }
.flex-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.eyebrow { margin: 0; color: var(--primary); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: 12px; }
.grid { display: grid; gap: 16px; }
.cards { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 18px; }
.card, .panel, .public-card { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.card { padding: 18px; }
.card strong { display: block; margin: 8px 0 4px; font-size: 22px; }
.card small, .hint, .muted, .meta-list dt { color: var(--muted); }
.label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.card.ok { border-left: 5px solid var(--ok); }
.card.warn { border-left: 5px solid var(--warn); }
.panel { padding: 20px; margin-top: 18px; }
.panel h2 { margin-top: 0; }
.meta-list { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 8px 14px; }
.meta-list dd { margin: 0; overflow-wrap: anywhere; }
.public-shell { min-height: 100vh; display: grid; place-items: center; padding: 18px; }
.public-card { width: min(620px, 100%); padding: 28px; }
.notice { padding: 12px 14px; border-radius: 12px; background: #fff7db; border: 1px solid #f0d68a; margin-bottom: 14px; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.button, button { display: inline-block; border: 0; border-radius: 12px; padding: 11px 14px; background: var(--primary); color: white; text-decoration: none; font-weight: 700; cursor: pointer; font: inherit; }
.button.secondary, button[disabled] { background: var(--primary-soft); color: var(--primary); }
.button.danger { background: var(--danger-soft); color: var(--danger); }
.form-demo, .stack-form { display: grid; gap: 14px; margin: 18px 0; }
.form-demo label, .stack-form label { display: grid; gap: 6px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 11px; font: inherit; background: white; color: var(--text); }
textarea { resize: vertical; }
.inline-form { display: inline; margin: 0; }
.table-panel { overflow-x: auto; padding: 0; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { text-align: left; padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.row-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.debug-box { margin-top: 16px; padding: 14px; border-radius: 12px; background: #151923; color: #e9eefc; overflow: auto; }
.debug-box pre { white-space: pre-wrap; }

@media (max-width: 780px) {
    .topbar { align-items: flex-start; flex-direction: column; }
    .admin-layout { grid-template-columns: 1fr; }
    .sidebar { border-right: 0; border-bottom: 1px solid var(--line); flex-direction: row; overflow-x: auto; }
    .sidebar span, .sidebar a { white-space: nowrap; }
    .content { padding: 18px; }
    .cards { grid-template-columns: 1fr; }
    .meta-list { grid-template-columns: 1fr; }
    .flex-head { flex-direction: column; }
}

.filter-form { display: grid; grid-template-columns: minmax(220px, 1fr) 180px auto auto; gap: 12px; align-items: end; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.status-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-badge.active { background: #e8f6ef; color: var(--ok); }
.status-badge.inactive { background: #eef0f4; color: var(--muted); }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 18px; align-items: start; }
.qr-panel { position: sticky; top: 18px; }
.qr-preview { display: grid; place-items: center; padding: 12px; background: white; border: 1px solid var(--line); border-radius: 16px; margin-bottom: 16px; }
.qr-preview svg { max-width: 100%; height: auto; }
.compact-actions { margin-top: 0; justify-content: flex-end; }
button.danger { background: var(--danger-soft); color: var(--danger); }

@media (max-width: 980px) {
    .filter-form, .detail-grid, .form-grid.two, .form-grid.three { grid-template-columns: 1fr; }
    .qr-panel { position: static; }
}

.machine-summary { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fbfcff; margin: 14px 0 18px; }
.machine-summary strong { font-size: 18px; }
.machine-summary span, .machine-summary small { color: var(--muted); }
.public-form { display: grid; gap: 16px; margin-top: 18px; }
.public-form label { display: grid; gap: 7px; font-weight: 700; }
.public-form input, .public-form select, .public-form textarea { font-size: 16px; padding: 13px; }
.public-two { grid-template-columns: 1fr 1fr; }
.hp-field { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.privacy-box { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: #fbfcff; }
.privacy-box p { margin-top: 0; color: var(--muted); }
.check-label { display: flex !important; grid-template-columns: none !important; align-items: flex-start; gap: 10px !important; font-weight: 700; }
.check-label input { width: auto; margin-top: 4px; }
.full-button { width: 100%; padding: 14px 16px; font-size: 17px; }
.danger-notice { background: var(--danger-soft); border-color: #f4b8c4; }
.danger-notice ul { margin: 8px 0 0; padding-left: 20px; }
.tight { margin-top: -10px; }
.ticket-number-box { display: grid; gap: 5px; padding: 18px; border-radius: 16px; border: 1px solid var(--line); background: var(--primary-soft); margin: 18px 0; }
.ticket-number-box span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.ticket-number-box strong { font-size: clamp(28px, 8vw, 44px); color: var(--primary); overflow-wrap: anywhere; }
.public-meta { margin-top: 18px; }
.ticket-status { background: var(--primary-soft); color: var(--primary); }

@media (max-width: 620px) {
    .public-shell { display: block; padding: 0; background: var(--panel); }
    .public-card { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; padding: 20px; }
    .public-two { grid-template-columns: 1fr; }
}

.ticket-filter-form { grid-template-columns: repeat(4, minmax(170px, 1fr)); }
.filter-actions { align-self: end; }
.small-button { padding: 8px 10px; border-radius: 10px; font-size: 13px; }
.ticket-detail-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.photo-card { margin: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fbfcff; }
.photo-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eef0f4; }
.photo-card figcaption { padding: 12px; overflow-wrap: anywhere; }
.quick-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.timeline { display: grid; gap: 12px; }
.timeline-item { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcff; }
.timeline-item strong, .timeline-item span { display: block; }
.timeline-item p { margin-bottom: 0; }
.status-neu { background: #e8eef8; color: var(--primary); }
.status-in-pruefung { background: #fff7db; color: var(--warn); }
.status-rueckfrage { background: #fff7db; color: var(--warn); }
.status-erstattet, .status-erledigt { background: #e8f6ef; color: var(--ok); }
.status-abgelehnt, .status-spam-oder-missbrauch { background: var(--danger-soft); color: var(--danger); }

@media (max-width: 980px) {
    .ticket-filter-form, .ticket-detail-layout { grid-template-columns: 1fr; }
}
.dashboard-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.dashboard-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.panel-head-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 20px 20px 0; }
.panel-head-row h2 { margin: 0; }
.form-span-2 { grid-column: span 2; }
.form-span-3 { grid-column: span 3; }
.report-filter-form { grid-template-columns: 220px 180px 180px auto; }
.report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.report-table { margin-top: 0; }
.report-table h2 { padding: 20px 20px 0; }
.template-help { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; background: #fbfcff; }
.template-list { display: grid; gap: 12px; margin-top: 12px; }
.template-list article { border-top: 1px solid var(--line); padding-top: 10px; }
.template-list pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; color: var(--muted); margin-bottom: 0; }
code { background: var(--primary-soft); color: var(--primary); border-radius: 6px; padding: 2px 5px; }
@media (max-width: 1200px) { .dashboard-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 980px) { .dashboard-summary-grid, .report-grid, .report-filter-form { grid-template-columns: 1fr; } .form-span-2, .form-span-3 { grid-column: auto; } }

.privacy-actions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.danger-zone { border: 1px solid #f4b8c4; border-radius: 16px; padding: 14px; background: var(--danger-soft); }
.delete-photo-form { margin-top: 10px; }
.privacy-box details { margin: 8px 0 12px; }
.privacy-box summary { cursor: pointer; font-weight: 700; color: var(--primary); }

.privacy-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; color: var(--text); font-weight: 700; }
.privacy-consent input { width: auto; flex: 0 0 auto; margin-top: 3px; }
.privacy-consent span { line-height: 1.4; }
@media (max-width: 980px) { .privacy-actions-grid { grid-template-columns: 1fr; } }

.list-summary-row { padding: 16px 20px 0; }
.list-summary-row p { margin: 0; }
.pagination { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pagination-bottom { justify-content: flex-end; padding: 14px 20px 20px; }
@media (max-width: 780px) {
    .list-summary-row { align-items: flex-start; flex-direction: column; }
    .pagination-bottom { justify-content: flex-start; }
}

.admin-footer { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }


/* VendCare CI v0.10 */
html { background: var(--bg); }
a { color: var(--primary-dark); }
.brand-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--primary-dark); text-decoration: none; }
.brand-logo__icon { width: 38px; height: 38px; flex: 0 0 auto; }
.brand-logo__word { font-weight: 800; font-size: 22px; letter-spacing: -.03em; color: var(--primary-dark); }
.brand-logo--compact .brand-logo__icon { width: 30px; height: 30px; }
.brand-logo--compact .brand-logo__word { font-size: 18px; }
.public-brand { margin-bottom: 26px; }
.topbar { background: rgba(255,255,255,.96); border-bottom-color: var(--line); box-shadow: 0 8px 24px rgba(16, 42, 67, .05); }
.topbar-brand { display: grid; gap: 4px; }
.topbar-brand > span { margin-left: 48px; color: var(--muted); font-size: 13px; }
.topbar nav a, .link-button { background: var(--primary-soft); color: var(--primary-dark); }
.topbar nav a:hover, .link-button:hover, .sidebar a:hover { background: #D8F3EF; }
.sidebar { background: #FFFFFF; }
.sidebar-logo { padding: 4px 8px 14px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.sidebar a.active { background: var(--primary); color: #fff; }
.content { background: linear-gradient(180deg, #F4FAF8 0%, #FFFFFF 38%, #FFFFFF 100%); }
.button, button { background: var(--primary); color: #fff; }
.button:hover, button:hover { filter: brightness(.96); }
.button.secondary, button[disabled] { background: var(--primary-soft); color: var(--primary-dark); }
.button.danger, button.danger { background: var(--danger-soft); color: var(--danger); }
.eyebrow { color: var(--primary); }
.public-shell { background: radial-gradient(circle at top left, #D8F3EF 0, #F4FAF8 34%, #FFFFFF 100%); }
.public-card, .login-card, .landing-page { background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }
.login-shell { align-content: center; }
.login-card { width: min(500px, 100%); padding: 32px; }
.login-head h1, .landing-hero h1, .error-state h1 { margin: 6px 0 12px; font-size: clamp(32px, 6vw, 58px); line-height: 1; letter-spacing: -.04em; color: var(--primary-dark); }
.login-head p, .lead, .error-state p { color: var(--muted); line-height: 1.6; }
.login-form { margin-top: 22px; }
.login-foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 22px; color: var(--muted); font-size: 13px; }
.login-foot a { color: var(--primary-dark); font-weight: 700; text-decoration: none; }
.landing-shell { display: block; padding: 28px; }
.landing-page { width: min(1120px, 100%); margin: 0 auto; padding: clamp(28px, 5vw, 58px); }
.landing-hero { max-width: 760px; }
.landing-hero .lead { font-size: clamp(18px, 2.2vw, 23px); margin: 0; }
.landing-actions { align-items: center; margin-top: 28px; }
.landing-note { color: var(--muted); }
.landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 42px; }
.landing-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #FBFFFE; }
.landing-grid span { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-dark); font-weight: 800; }
.landing-grid h2 { margin: 14px 0 8px; color: var(--primary-dark); font-size: 19px; }
.landing-grid p { margin: 0; color: var(--muted); line-height: 1.5; }
.error-state { max-width: 620px; }
.notice { background: #FFF7DB; border-color: #F6D98B; }
.card, .panel, .public-card { border-color: var(--line); }
.card.ok { border-left-color: var(--ok); }
.card.warn { border-left-color: var(--warn); }
.status-neu { background: #E5E7EB; color: var(--primary-dark); }
.status-in-pruefung, .status-rueckfrage { background: #FEF3C7; color: #92400E; }
.status-erstattet { background: #DCFCE7; color: #166534; }
.status-erledigt { background: var(--primary-soft); color: var(--primary-dark); }
.status-abgelehnt { background: #FEE2E2; color: var(--danger); }
.status-spam-oder-missbrauch { background: #E5E7EB; color: var(--muted); }
.ticket-number-box { background: var(--primary-soft); }
.ticket-number-box strong { color: var(--primary-dark); }
.machine-summary, .privacy-box, .timeline-item, .template-help, .photo-card { background: #FBFFFE; }
@media (max-width: 780px) {
    .landing-shell { padding: 0; }
    .landing-page, .login-card { min-height: 100vh; width: 100%; border: 0; border-radius: 0; box-shadow: none; padding: 24px; }
    .landing-grid { grid-template-columns: 1fr; }
    .topbar-brand > span { margin-left: 0; }
    .sidebar-logo { display: none; }
}

/* VendCare v0.11 Betreiberbranding */
.tenant-logo-preview-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #FBFFFE; }
.tenant-logo-preview { display: block; width: min(260px, 100%); max-height: 110px; object-fit: contain; object-position: left center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px; }
.compact-check { margin-top: 4px; font-weight: 600 !important; color: var(--muted); }
.tenant-admin-brand { display: flex; align-items: center; gap: 12px; }
.tenant-admin-brand img { width: 42px; height: 42px; object-fit: contain; border-radius: 10px; background: #fff; border: 1px solid var(--line); padding: 5px; }
.tenant-admin-brand strong { color: var(--primary-dark); font-size: 17px; }
.public-operator-brand { display: grid; gap: 8px; justify-items: start; margin-bottom: 24px; }
.public-operator-brand img { display: block; max-width: min(260px, 78vw); max-height: 92px; object-fit: contain; object-position: left center; }
.public-operator-brand > span { color: var(--muted); font-weight: 700; font-size: 14px; }
.public-powered { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; text-align: center; }
@media (max-width: 620px) {
    .public-operator-brand img { max-height: 78px; }
}

/* VendCare v0.12 Mail-Outbox */
.mail-status-box { padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #FBFFFE; line-height: 1.6; }
.mail-test-form input[type="email"] { min-width: min(320px, 100%); }
.table-wrap td .status-badge { white-space: nowrap; }

/* VendCare v0.13 Plattformverwaltung */
.platform-shell .topbar,
.platform-topbar { background: #102A43; }
.platform-banner { background: #F4FAF8; border: 1px solid #D9E5E2; color: #102A43; padding: 10px 14px; border-radius: 14px; margin-bottom: 18px; font-weight: 650; }
.platform-login-card .brand-logo { margin-bottom: 14px; }
.platform-metrics { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.compact-metrics { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: 18px; }
.sidebar-meta { margin-top: 24px; padding: 12px; border-radius: 14px; background: rgba(15, 118, 110, .08); font-size: 13px; }
.sidebar-meta strong, .sidebar-meta span { display: block; overflow-wrap: anywhere; }
.status-active { background: #E7F7F4; color: #0F766E; }
.status-inactive { background: #F3F4F6; color: #6B7280; }
.status-suspended { background: #FEF2F2; color: #DC2626; }
.actions-cell { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; }
.form-grid textarea { width: 100%; border: 1px solid var(--line, #D9E5E2); border-radius: 12px; padding: 10px 12px; font: inherit; }
.link-button.danger { color: #DC2626; }
@media (max-width: 760px) { .platform-layout { grid-template-columns: 1fr; } .platform-sidebar { display: none; } }

/* VendCare v0.14 Pakete und Limits */
.subscription-panel { margin-bottom: 22px; }
.subscription-panel .form-grid { margin-top: 14px; }
.status-trial { background: #FEF3C7; color: #92400E; }
.status-cancelled { background: #F3F4F6; color: #6B7280; }
.status-suspended, .status-cancelled { font-weight: 700; }


/* VendCare v0.17 Public Site */
.empty-state { padding: 18px; border: 1px dashed var(--line); border-radius: 16px; background: #FBFFFE; color: var(--muted); line-height: 1.55; }
.empty-state strong { display: block; color: var(--primary-dark); margin-bottom: 4px; }
.empty-state .button { margin-top: 12px; }
.section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.metric-grid { display: grid; gap: 16px; }
.metric-card { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(16, 42, 67, .05); }
.metric-card span { display: block; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.metric-card strong { display: block; margin-top: 8px; font-size: clamp(24px, 4vw, 34px); color: var(--primary-dark); }
.status-pill { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 750; }
.status-pill.status-active, .status-badge.status-active { background: #E7F7F4; color: #0F766E; }
.status-pill.status-inactive, .status-badge.status-inactive { background: #F3F4F6; color: #6B7280; }
.status-pill.status-suspended, .status-badge.status-suspended { background: #FEF2F2; color: #DC2626; }
.status-pill.status-trial, .status-badge.status-trial { background: #FEF3C7; color: #92400E; }
.status-pill.status-cancelled, .status-badge.status-cancelled { background: #F3F4F6; color: #6B7280; }
.status-badge.pending { background: #FEF3C7; color: #92400E; }
.status-badge.sending { background: #E0F2FE; color: #075985; }
.status-badge.sent { background: #DCFCE7; color: #166534; }
.status-badge.failed { background: #FEE2E2; color: #DC2626; }
.table-wrap { width: 100%; overflow-x: auto; }
.pilot-hint { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #FBFFFE; margin-bottom: 18px; }
.pilot-hint strong { color: var(--primary-dark); }
.pilot-hint p { margin: 3px 0 0; color: var(--muted); }
.public-step { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; margin: 0 0 10px; }
.public-step span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-dark); font-weight: 800; font-size: 12px; }
.form-section-title { margin: 10px 0 -4px; color: var(--primary-dark); font-weight: 800; }
.required-hint { color: var(--muted); font-size: 13px; margin: -6px 0 0; }
.card-list-mobile { display: none; }
@media (max-width: 760px) {
    .topbar nav { width: 100%; }
    .topbar nav a, .link-button, .topbar button { flex: 1 1 auto; text-align: center; }
    .table-panel table, .table-wrap table { min-width: 680px; }
    .actions, .row-actions, .button-row, .quick-actions { width: 100%; }
    .actions .button, .actions button, .row-actions .button, .row-actions button, .button-row .button, .button-row button { flex: 1 1 auto; text-align: center; }
    .public-card { padding: 18px; }
    .public-form { gap: 14px; }
    .public-form input, .public-form select, .public-form textarea { min-height: 48px; }
    .full-button { min-height: 52px; }
    .section-head { flex-direction: column; }
}

/* v0.17 public SaaS pages and final logo assets */
.brand-logo img { display:block; height:42px; max-width:240px; object-fit:contain; }
.brand-logo--compact img,
.brand-logo--icon img { width:34px; height:34px; }
.sidebar-logo .brand-logo img { width:42px; height:42px; }
.public-brand .brand-logo img { height:46px; }

.public-site-footer { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--line); display:flex; gap:14px; flex-wrap:wrap; align-items:center; color:var(--muted); font-size:14px; }
.public-site-footer a { color:var(--primary-dark); text-decoration:none; font-weight:650; }
.public-site-footer a:hover { text-decoration:underline; }

.landing-page { width:min(1180px, 100%); }
.landing-top { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:52px; }
.landing-nav { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.landing-nav a { color:var(--muted); font-weight:700; text-decoration:none; }
.landing-nav a:hover { color:var(--primary-dark); }
.landing-hero { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr); gap:34px; align-items:center; max-width:none; }
.landing-hero-copy h1 { margin: 8px 0 16px; font-size: clamp(38px, 6vw, 72px); line-height:.94; letter-spacing:-.055em; color:var(--primary-dark); }
.landing-hero-copy .lead { font-size: clamp(17px, 2vw, 22px); color:var(--muted); max-width:680px; line-height:1.5; }
.hero-panel { background:linear-gradient(180deg, #ffffff 0%, #f4faf8 100%); border:1px solid var(--line); border-radius:26px; padding:24px; box-shadow:0 24px 60px rgba(16,42,67,.10); }
.hero-ticket { border:1px solid var(--line); border-radius:18px; padding:18px; background:#fff; display:grid; gap:12px; }
.hero-ticket-row { display:flex; justify-content:space-between; gap:14px; padding-bottom:10px; border-bottom:1px solid #edf4f2; }
.hero-ticket-row:last-child { border-bottom:0; padding-bottom:0; }
.hero-ticket-row span { color:var(--muted); }
.hero-ticket-row strong { color:var(--primary-dark); text-align:right; }
.hero-check { display:flex; gap:10px; align-items:flex-start; color:var(--muted); margin-top:16px; }
.hero-check b { color:var(--primary-dark); }
.section-block { margin-top:64px; }
.section-head { max-width:760px; margin-bottom:22px; }
.section-head h2 { margin:8px 0 10px; color:var(--primary-dark); font-size:clamp(28px, 4vw, 44px); letter-spacing:-.04em; }
.section-head p { color:var(--muted); line-height:1.55; font-size:17px; }
.value-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.value-card, .usp-card, .pricing-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px; box-shadow:0 10px 32px rgba(16,42,67,.05); }
.value-card h3, .usp-card h3, .pricing-card h3 { margin:0 0 8px; color:var(--primary-dark); }
.value-card p, .usp-card p, .pricing-card p { margin:0; color:var(--muted); line-height:1.55; }
.usp-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.pricing-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.pricing-card { position:relative; display:flex; flex-direction:column; min-height:100%; }
.pricing-card.is-highlighted { border-color:rgba(15,118,110,.35); box-shadow:0 18px 45px rgba(15,118,110,.12); }
.pricing-badge { position:absolute; right:16px; top:16px; padding:5px 10px; border-radius:999px; background:var(--primary-soft); color:var(--primary-dark); font-size:12px; font-weight:800; }
.price { margin:16px 0 8px; color:var(--primary-dark); font-size:30px; line-height:1; font-weight:850; letter-spacing:-.035em; }
.price small { display:block; margin-top:6px; color:var(--muted); font-size:13px; font-weight:700; letter-spacing:0; }
.plan-limits { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:8px; color:var(--text); }
.plan-limits li { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #eef5f3; padding-bottom:8px; }
.plan-limits li:last-child { border-bottom:0; }
.plan-limits span { color:var(--muted); }
.landing-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:28px; border-radius:24px; background:var(--primary-dark); color:#fff; }
.landing-cta h2 { margin:0 0 8px; font-size:30px; letter-spacing:-.03em; }
.landing-cta p { margin:0; color:#d9e8ee; }
.landing-cta .button { background:#fff; color:var(--primary-dark); }
.back-link { color:var(--primary-dark); font-weight:700; text-decoration:none; }
.legal-page { width:min(980px, 100%); margin:0 auto; padding:clamp(24px, 4vw, 52px); background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); }
.legal-hero { margin-bottom:28px; }
.legal-hero h1 { color:var(--primary-dark); font-size:clamp(32px, 5vw, 56px); letter-spacing:-.05em; margin:8px 0 8px; }
.legal-content { box-shadow:none; }
.legal-content h1, .legal-content h2, .legal-content h3 { color:var(--primary-dark); margin-top:1.6em; }
.legal-content h1:first-child, .legal-content h2:first-child { margin-top:0; }
.legal-content p, .legal-content li, .legal-content blockquote { line-height:1.65; color:var(--text); }
.legal-content blockquote { margin:20px 0; padding:16px 18px; border-left:4px solid var(--primary); background:#f4faf8; border-radius:12px; }
.legal-content code { background:#eef7f5; color:var(--primary-dark); border-radius:6px; padding:2px 6px; }
.legal-content a { color:var(--primary); font-weight:700; }

@media (max-width: 1050px) {
    .pricing-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .landing-hero { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
    .landing-top { align-items:flex-start; flex-direction:column; margin-bottom:34px; }
    .landing-nav { width:100%; justify-content:flex-start; }
    .value-grid, .usp-grid, .pricing-grid { grid-template-columns:1fr; }
    .landing-cta { align-items:flex-start; flex-direction:column; }
    .brand-logo img { max-width:220px; }
}

/* VendCare v0.18 Landingdesign, produktreife Texte und Layoutkorrekturen */
.landing-shell { display:block; min-height:100vh; padding:0; background:#fff; place-items:unset; font-family:'Inter', system-ui, -apple-system, sans-serif; }
.landing-shell .landing-page { width:100%; max-width:none; background:#fff; border:0; border-radius:0; box-shadow:none; padding:0; }
.landing-shell h1,.landing-shell h2,.landing-shell h3,.landing-shell h4 { font-family:'Sora', Inter, system-ui, sans-serif; color:#102A43; line-height:1.08; letter-spacing:-.02em; }
.vc-wrap{max-width:1160px;margin:0 auto;padding:0 28px}.vc-eyebrow{font-family:'Inter';font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#0F766E}.vc-muted{color:#6B7280}.vc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Inter';font-weight:600;font-size:15px;padding:13px 22px;border-radius:10px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .18s cubic-bezier(.22,.61,.36,1),background .18s cubic-bezier(.22,.61,.36,1),box-shadow .18s cubic-bezier(.22,.61,.36,1);white-space:nowrap}.vc-btn-primary{background:#0F766E;color:#fff;box-shadow:0 8px 18px -8px rgba(15,118,110,.6)}.vc-btn-primary:hover{background:#0B5751;transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(15,118,110,.7)}.vc-btn-ghost{background:#fff;color:#102A43;border-color:#D4E2DF}.vc-btn-ghost:hover{border-color:#0F766E;color:#0F766E;transform:translateY(-2px)}.vc-btn-light{background:#fff;color:#102A43}.vc-btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(16,42,67,.18)}
.vc-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.vc-logo-mark{width:38px;height:38px;flex:none}.vc-logo-word{font-family:'Sora';font-weight:700;font-size:23px;letter-spacing:-.025em;color:#102A43}.vc-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}.vc-site-header.scrolled{border-color:#E5EDEB;box-shadow:0 1px 2px rgba(16,42,67,.05)}.vc-nav{display:flex;align-items:center;justify-content:space-between;height:74px}.vc-nav-links{display:flex;align-items:center;gap:24px}.vc-nav-links a.vc-link{font-size:15px;font-weight:500;color:#102A43;position:relative;padding:4px 0;text-decoration:none}.vc-nav-links a.vc-link::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:#0F766E;transition:width .22s cubic-bezier(.22,.61,.36,1)}.vc-nav-links a.vc-link:hover::after{width:100%}.vc-nav-toggle{display:none;background:#fff;color:#102A43;border:1px solid #D4E2DF}
.vc-hero{position:relative;overflow:hidden;background:radial-gradient(1100px 540px at 88% -10%,#E3F2EF 0%,rgba(227,242,239,0) 60%),linear-gradient(180deg,#F4FAF8 0%,#FFFFFF 78%)}.vc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:78px 0 92px}.vc-hero h1{font-size:clamp(44px,6vw,76px);font-weight:800;margin:18px 0 22px}.vc-hero h1 .vc-dot{color:#0F766E}.vc-lead{font-size:19px;color:#33414f;max-width:33ch;margin-bottom:34px}.vc-hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.vc-note{font-size:14px;color:#6B7280;max-width:22ch}.vc-ticket-frame{position:relative;padding:26px}.vc-corner{position:absolute;width:30px;height:30px;border:2.5px solid #0F766E;opacity:.55}.vc-tl{top:0;left:0;border-right:none;border-bottom:none;border-top-left-radius:8px}.vc-tr{top:0;right:0;border-left:none;border-bottom:none;border-top-right-radius:8px}.vc-bl{bottom:0;left:0;border-right:none;border-top:none;border-bottom-left-radius:8px}.vc-br{bottom:0;right:0;border-left:none;border-top:none;border-bottom-right-radius:8px}.vc-ticket{background:#fff;border:1px solid #E5EDEB;border-radius:22px;box-shadow:0 28px 60px -22px rgba(16,42,67,.28);overflow:hidden}.vc-ticket-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #E5EDEB;background:#F4FAF8}.vc-ticket-number{font-family:'Sora';font-weight:700;font-size:15px;color:#102A43;letter-spacing:.01em}.vc-ticket-number small{display:block;font-family:'Inter';font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#6B7280}.vc-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px}.vc-pip{width:7px;height:7px;border-radius:50%}.vc-badge-pruefung{background:#FEF3DC;color:#9A6411}.vc-badge-pruefung .vc-pip{background:#F59E0B}.vc-ticket-body{padding:8px 22px 18px}.vc-trow{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #E5EDEB}.vc-trow:last-child{border-bottom:none}.vc-k{font-size:14px;color:#6B7280}.vc-v{font-size:14.5px;font-weight:600;color:#102A43;text-align:right}.vc-ticket-foot{display:flex;gap:11px;align-items:flex-start;padding:15px 22px;background:#F8FCFB;border-top:1px solid #E5EDEB;font-size:13.5px;color:#3a4654}.vc-check{width:22px;height:22px;border-radius:50%;background:#22C55E;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px}.vc-check svg{width:12px;height:12px}.vc-section{padding:96px 0}.vc-section-tight{padding:72px 0}.vc-sec-head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:54px}.vc-sec-head h2{font-size:clamp(30px,3.6vw,44px);font-weight:700;margin:0}.vc-sec-head .vc-eyebrow{margin-bottom:16px;display:block}.vc-lede{font-size:17px;color:#6B7280;padding-bottom:4px}.vc-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.vc-cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.vc-card{position:relative;background:#fff;border:1px solid #E5EDEB;border-radius:16px;padding:30px 28px;transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s cubic-bezier(.22,.61,.36,1),border-color .22s cubic-bezier(.22,.61,.36,1);overflow:hidden}.vc-card::after{content:"";position:absolute;top:14px;right:14px;width:18px;height:18px;border-top:2px solid #0F766E;border-right:2px solid #0F766E;opacity:0;transform:translate(-4px,4px);transition:opacity .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1);border-top-right-radius:5px}.vc-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px -12px rgba(16,42,67,.18);border-color:#D4E2DF}.vc-card:hover::after{opacity:.5;transform:translate(0,0)}.vc-ico{width:42px;height:42px;border-radius:11px;background:#E3F2EF;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.vc-ico svg{width:21px;height:21px;stroke:#0F766E}.vc-card h3{font-size:18px;font-weight:700;margin-bottom:9px}.vc-card p{font-size:15px;color:#6B7280;line-height:1.55}
.vc-process{background:#102A43;color:#fff;position:relative;overflow:hidden}.vc-process::before{content:"";position:absolute;inset:0;opacity:.6;background:radial-gradient(700px 380px at 12% 0%,rgba(15,118,110,.45),transparent 60%)}.vc-process .vc-wrap{position:relative}.vc-process .vc-eyebrow{color:#5FD3C6}.vc-process h2{color:#fff;font-size:clamp(28px,3.4vw,40px);font-weight:700;max-width:18ch;margin:14px 0 8px}.vc-sub{color:#A9BED4;max-width:46ch;margin-bottom:52px}.vc-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.vc-step{position:relative;padding:24px 18px 24px 0}.vc-num{font-family:'Sora';font-weight:700;font-size:14px;color:#102A43;width:34px;height:34px;border-radius:9px;background:#5FD3C6;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.vc-step h4{color:#fff;font-size:15.5px;font-weight:700;margin-bottom:6px;letter-spacing:-.01em}.vc-step p{font-size:13.5px;color:#94AAC2;line-height:1.5}.vc-conn{position:absolute;top:42px;left:42px;right:8px;height:1px;background:linear-gradient(90deg,rgba(95,211,198,.5),rgba(95,211,198,0))}.vc-step:last-child .vc-conn{display:none}.vc-flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 6px;margin-top:46px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12)}.vc-flow-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7E97B3;margin-right:8px;font-weight:600}.vc-pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#dbe6f1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:7px 13px;border-radius:999px}.vc-arr{color:#56708e;font-size:13px}.vc-pricing{background:#F4FAF8}.vc-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.vc-plan{display:grid;grid-template-rows:auto 56px 44px 30px 1fr;background:#fff;border:1px solid #E5EDEB;border-radius:16px;padding:28px 24px;transition:transform .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1)}.vc-plan:hover{transform:translateY(-4px);box-shadow:0 12px 30px -12px rgba(16,42,67,.18)}.vc-featured{border:1.5px solid #0F766E;box-shadow:0 24px 50px -24px rgba(15,118,110,.5);position:relative}.vc-plan-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;min-height:26px}.vc-plan h3{font-size:19px;font-weight:700;margin:0}.vc-tag{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:#0F766E;background:#E3F2EF;padding:5px 11px;border-radius:999px}.vc-desc{font-size:14px;color:#6B7280;margin:0 0 18px}.vc-price{font-family:'Sora';font-weight:700;color:#102A43;font-size:30px;letter-spacing:-.02em;line-height:1}.vc-price-request{font-size:25px}.vc-price-note{font-size:12.5px;color:#6B7280;margin:8px 0 20px}.vc-feat{list-style:none;display:flex;flex-direction:column;gap:0;margin:0;padding:0}.vc-feat li{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding:11px 0;border-bottom:1px solid #E5EDEB}.vc-feat li:last-child{border-bottom:none}.vc-fk{color:#6B7280}.vc-fv{font-weight:600;color:#102A43}.vc-inc{color:#0F766E}.vc-cta-band{background:linear-gradient(120deg,#102A43,#163655);border-radius:28px;padding:48px 52px;display:flex;align-items:center;justify-content:space-between;gap:36px;position:relative;overflow:hidden}.vc-cta-band::before{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(95,211,198,.28),transparent 70%)}.vc-ct,.vc-cta-band .vc-btn{position:relative;z-index:1}.vc-cta-band h2{color:#fff;font-size:clamp(26px,3vw,34px);font-weight:700;margin-bottom:8px}.vc-cta-band p{color:#A9BED4;font-size:16px;max-width:48ch}.vc-footer{background:#fff;border-top:1px solid #E5EDEB;padding:54px 0 40px}.vc-foot-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;flex-wrap:wrap}.vc-blurb{max-width:34ch;font-size:14px;color:#6B7280;margin-top:14px}.vc-foot-links{display:flex;gap:26px;flex-wrap:wrap;align-items:center}.vc-foot-links a{font-size:14.5px;font-weight:500;color:#102A43;text-decoration:none}.vc-foot-links a:hover{color:#0F766E}.vc-foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:34px;padding-top:22px;border-top:1px solid #E5EDEB;flex-wrap:wrap;gap:12px}.vc-foot-bottom span{font-size:13px;color:#6B7280}.vc-reveal{opacity:1;transform:none}.vc-reveal.in{opacity:1;transform:none}.vc-ticket-frame .vc-corner{opacity:.55;transition:opacity .6s cubic-bezier(.22,.61,.36,1) .25s}.vc-ticket-frame.in .vc-corner{opacity:.55}.landing-shell :focus-visible{outline:3px solid rgba(15,118,110,.45);outline-offset:3px;border-radius:6px}
@media(max-width:1000px){.vc-hero-grid{grid-template-columns:1fr;gap:48px;padding:60px 0 72px}.vc-lead{max-width:46ch}.vc-ticket-frame{max-width:460px}.vc-steps{grid-template-columns:repeat(3,1fr);gap:6px 18px}.vc-conn{display:none}.vc-cards-3{grid-template-columns:1fr 1fr}.vc-plans{grid-template-columns:1fr 1fr}.vc-sec-head{grid-template-columns:1fr;gap:14px}}
@media(max-width:720px){.vc-wrap{padding:0 20px}.vc-nav-links{position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid #E5EDEB;box-shadow:0 12px 30px -12px rgba(16,42,67,.18);padding:6px 0;display:none}.vc-nav-links.open{display:flex}.vc-nav-links a.vc-link{width:100%;padding:14px 24px}.vc-nav-links a.vc-link::after{display:none}.vc-nav-links .vc-btn{margin:8px 24px;justify-content:center}.vc-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;cursor:pointer}.vc-nav-toggle svg{width:20px;height:20px;stroke:#102A43}.vc-section{padding:64px 0}.vc-steps{grid-template-columns:1fr 1fr}.vc-cards-3,.vc-cards-2,.vc-plans{grid-template-columns:1fr}.vc-plan{grid-template-rows:auto}.vc-cta-band{flex-direction:column;align-items:flex-start;padding:36px 28px}.vc-hero-cta{gap:14px}}
@media(prefers-reduced-motion:reduce){.landing-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.vc-reveal{opacity:1;transform:none}.vc-ticket-frame .vc-corner{opacity:.55}}

/* v0.18 Admin corrections */
.report-grid{display:grid;grid-template-columns:1fr;gap:18px}.report-table.table-panel{overflow-x:visible}.report-table table{min-width:0}.report-filter-form{grid-template-columns:minmax(220px,1fr) minmax(160px,.5fr) minmax(160px,.5fr) auto}.table-panel.report-table{padding:20px}.table-panel.report-table h2{margin-top:0}.mail-provider-fields{border:1px solid var(--line);border-radius:16px;padding:16px;background:#FBFFFE;margin:10px 0 18px}.mail-provider-fields[hidden]{display:none!important}.mail-status-box.clean-mail-status{background:#FBFFFE;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:16px}.mail-test-form input{min-width:240px}.copy-status{display:inline-flex;align-items:center;color:var(--muted);font-size:13px}.top-action-panel{border-left:5px solid var(--primary)}.top-action-panel .quick-actions{margin-top:16px}.ticket-main-actions{margin-top:0}.platform-mail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.platform-mail-grid .metric-card{box-shadow:0 10px 30px rgba(16,42,67,.05)}
@media(max-width:980px){.report-filter-form{grid-template-columns:1fr}.platform-mail-grid{grid-template-columns:1fr 1fr}.report-table.table-panel{overflow-x:auto}.report-table table{min-width:560px}}
@media(max-width:640px){.platform-mail-grid{grid-template-columns:1fr}.mail-test-form input{min-width:0}}

/* VendCare Admin UI v0.19 */
body.admin-shell{
  --petrol:#0F766E;--petrol-deep:#0B5751;--petrol-soft:#E3F2EF;
  --navy:#102A43;--mint:#F4FAF8;--ink:#111827;--gray:#6B7280;
  --line:#E5EDEB;--line-strong:#D4E2DF;--white:#FFFFFF;
  --success:#22C55E;--amber:#F59E0B;--error:#DC2626;
  --shadow-sm:0 1px 2px rgba(16,42,67,.05);
  --shadow-md:0 12px 30px -12px rgba(16,42,67,.16);
  --r-sm:9px;--r-md:14px;--r-lg:20px;--side:248px;
  --ease:cubic-bezier(.22,.61,.36,1);
  margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--mint);line-height:1.55;-webkit-font-smoothing:antialiased;
}
body.admin-shell *{box-sizing:border-box}
body.admin-shell h1,body.admin-shell h2,body.admin-shell h3,body.admin-shell h4{font-family:'Sora',sans-serif;color:var(--navy);letter-spacing:-.02em;line-height:1.12;margin:0}
body.admin-shell a{color:inherit;text-decoration:none}
body.admin-shell svg{display:block}
body.admin-shell .eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol)}
body.admin-shell .muted{color:var(--gray)}
body.admin-shell .muted-light{color:var(--gray)!important;font-weight:500!important}
body.admin-shell .app{display:grid;grid-template-columns:var(--side) 1fr;min-height:100vh}
body.admin-shell .side{position:fixed;inset:0 auto 0 0;width:var(--side);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 16px;z-index:60}
body.admin-shell .brand{padding:4px 8px 6px;display:flex;flex-direction:column;gap:8px}
body.admin-shell .logo{display:inline-flex;align-items:center;gap:10px}
body.admin-shell .logo .mark{width:34px;height:34px;flex:none}
body.admin-shell .logo .word{font-family:'Sora';font-weight:700;font-size:20px;letter-spacing:-.025em;color:var(--navy)}
body.admin-shell .tenant{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:12.5px;font-weight:600;color:var(--navy);background:var(--mint);border:1px solid var(--line);padding:5px 11px;border-radius:999px}
body.admin-shell .tenant .dot{width:7px;height:7px;border-radius:50%;background:var(--petrol)}
body.admin-shell .side-nav{display:flex;flex-direction:column;gap:3px;margin-top:22px}
body.admin-shell .side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);font-size:14.5px;font-weight:500;color:#41505f;position:relative;transition:background .15s,color .15s}
body.admin-shell .side-nav a svg{width:18px;height:18px;stroke:#7c8a98;stroke-width:1.9;fill:none;transition:stroke .15s;flex:none}
body.admin-shell .side-nav a:hover{background:var(--mint);color:var(--navy)}
body.admin-shell .side-nav a.active{background:var(--petrol);color:#fff;font-weight:600;box-shadow:0 8px 16px -10px rgba(15,118,110,.7)}
body.admin-shell .side-nav a.active svg{stroke:#fff}
body.admin-shell .side-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
body.admin-shell .side-logout{margin:0}.side-logout input[type=hidden]{display:none}
body.admin-shell .side-logout button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);font-size:14.5px;font-weight:500;color:#41505f;background:transparent;border:0;cursor:pointer;text-align:left;font-family:'Inter',system-ui,sans-serif;box-shadow:none;filter:none}
body.admin-shell .side-logout button svg{width:18px;height:18px;stroke:#7c8a98;stroke-width:1.9;fill:none;flex:none}
body.admin-shell .side-logout button:hover{background:#FEF2F2;color:var(--error)}
body.admin-shell .side-logout button:hover svg{stroke:var(--error)}
body.admin-shell .main{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:100vh;background:var(--mint)}
body.admin-shell .topbar{position:sticky;top:0;z-index:50;height:60px;background:rgba(244,250,248,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:none}
body.admin-shell .topbar-left{display:flex;align-items:center;gap:14px}.topbar-right{display:flex;align-items:center;gap:14px}
body.admin-shell .crumb{font-size:13.5px;color:var(--gray);font-weight:500}.crumb b{color:var(--navy);font-weight:600}
body.admin-shell .user{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--navy)}
body.admin-shell .avatar{width:30px;height:30px;border-radius:50%;background:var(--petrol);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
body.admin-shell .burger{display:none;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center;color:var(--navy);box-shadow:none;filter:none;padding:0}
body.admin-shell .burger svg{width:20px;height:20px;stroke:var(--navy);stroke-width:2}
body.admin-shell .content{padding:30px 32px 48px;max-width:1280px;width:100%;background:var(--mint);display:block}
body.admin-shell .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
body.admin-shell .page-head h1{font-size:clamp(26px,3vw,34px);font-weight:800;margin:8px 0 6px}
body.admin-shell .page-head .sub{font-size:15px;color:var(--gray);max-width:62ch;margin:0}.status-line{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:14px;color:var(--gray)}
body.admin-shell .toast{display:flex;align-items:center;gap:12px;background:#ECFDF3;border:1px solid #BBF7D0;color:#15803D;padding:13px 16px;border-radius:var(--r-md);font-size:14px;font-weight:500;margin-bottom:22px}
body.admin-shell .toast .ic{width:22px;height:22px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;flex:none}.toast .ic svg{width:12px;height:12px;stroke:#fff;stroke-width:3.2;fill:none}
body.admin-shell .toast .x{margin-left:auto;cursor:pointer;color:#15803D;opacity:.6;font-size:18px;line-height:1;background:none;border:none;box-shadow:none;filter:none;padding:0}.toast .x:hover{opacity:1}
body.admin-shell .panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:22px 24px;margin-bottom:18px;overflow:hidden}
body.admin-shell .panel.accent{position:relative;border-color:var(--line-strong)}.panel.accent::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--petrol)}
body.admin-shell .panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-head h2,.panel-head h3{font-size:18px;font-weight:700}.panel-head .sub{font-size:13px;color:var(--gray);margin-top:2px}
body.admin-shell .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.row-usage{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.row-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}
body.admin-shell .usage{border:1px solid var(--line);border-radius:var(--r-sm);padding:15px 16px;background:#fff}.usage .k{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}.usage .v{font-family:'Sora';font-weight:700;font-size:24px;color:var(--navy);margin-top:7px;line-height:1}.usage .v small{font-size:15px;color:var(--gray);font-weight:600}.usage .bar{height:5px;border-radius:3px;background:var(--line);margin-top:11px;overflow:hidden}.usage .bar i{display:block;height:100%;border-radius:3px;background:var(--petrol)}
body.admin-shell .kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:16px 16px 14px;border-left:3px solid var(--line-strong);transition:transform .16s var(--ease),box-shadow .16s}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi.c-info{border-left-color:var(--petrol)}.kpi.c-warn{border-left-color:var(--amber)}.kpi.c-ok{border-left-color:var(--success)}.kpi .k{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);line-height:1.3;min-height:26px}.kpi .v{font-family:'Sora';font-weight:700;font-size:30px;color:var(--navy);line-height:1;margin:6px 0 8px;white-space:nowrap}.kpi a{font-size:13px;font-weight:600;color:var(--petrol)}.kpi a:hover{text-decoration:underline}.kpi span.note{font-size:12.5px;color:var(--gray)}.kpi-money{font-size:24px!important}
body.admin-shell .hl .lead-fact{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:4px}.hl .meta{font-size:14px;color:var(--gray)}
body.admin-shell .dl{display:grid;grid-template-columns:auto 1fr;gap:0}.dl div{display:contents}.dl dt{font-size:13.5px;color:var(--gray);padding:9px 18px 9px 0;border-bottom:1px solid var(--line)}.dl dd{font-size:14px;font-weight:600;color:var(--navy);padding:9px 0;border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere}.dl .row:last-child dt,.dl .row:last-child dd{border-bottom:none}
body.admin-shell .t-wrap{overflow-x:auto} body.admin-shell table{width:100%;border-collapse:collapse;font-size:14px;min-width:0} body.admin-shell thead th{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);text-align:left;padding:0 14px 12px;border-bottom:1px solid var(--line);white-space:nowrap} body.admin-shell tbody td{padding:14px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle} body.admin-shell tbody tr:last-child td{border-bottom:none} body.admin-shell tbody tr{transition:background .14s} body.admin-shell tbody tr:hover{background:var(--mint)} body.admin-shell td .vorgang{font-family:'Sora';font-weight:700;color:var(--navy);font-size:14px}.sub2{font-size:12.5px;color:var(--gray)}
body.admin-shell .btn, body.admin-shell a.btn, body.admin-shell button.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter';font-weight:600;font-size:14px;padding:10px 16px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;background:none;transition:transform .16s var(--ease),background .16s,box-shadow .16s,border-color .16s;white-space:nowrap;text-decoration:none;box-shadow:none;filter:none}.btn svg{width:15px;height:15px}.btn-primary{background:var(--petrol)!important;color:#fff!important;box-shadow:0 6px 14px -8px rgba(15,118,110,.6)!important}.btn-primary:hover{background:var(--petrol-deep)!important;transform:translateY(-1px)}.btn-ghost{background:#fff!important;color:var(--navy)!important;border-color:var(--line-strong)!important}.btn-ghost:hover{border-color:var(--petrol)!important;color:var(--petrol)!important}.btn-sm{padding:7px 13px!important;font-size:13px!important}.btn-amber{background:#fff!important;color:#9A6411!important;border-color:#F2D699!important}.btn-amber:hover{background:#FEF8EC!important}.btn-petrol-o{background:#fff!important;color:var(--petrol)!important;border-color:var(--line-strong)!important}.btn-petrol-o:hover{border-color:var(--petrol)!important;background:var(--petrol-soft)!important}.btn-danger-o{background:#fff!important;color:var(--error)!important;border-color:#F3C6C6!important}.btn-danger-o:hover{background:#FEF2F2!important}.btn-danger{background:var(--error)!important;color:#fff!important}.btn-danger:hover{background:#B91C1C!important}
body.admin-shell .badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;white-space:nowrap}.badge .pip{width:7px;height:7px;border-radius:50%;flex:none}.badge.neu{background:#EEF2F5;color:#475569}.badge.neu .pip{background:#94A3B8}.badge.pruefung,.badge.rueckfrage{background:#FEF3DC;color:#9A6411}.badge.pruefung .pip,.badge.rueckfrage .pip{background:var(--amber)}.badge.erstattet{background:#DCFCE7;color:#15803D}.badge.erstattet .pip{background:var(--success)}.badge.erledigt{background:var(--petrol-soft);color:var(--petrol-deep)}.badge.erledigt .pip{background:var(--petrol)}.badge.abgelehnt{background:#FEE2E2;color:#B91C1C}.badge.abgelehnt .pip{background:var(--error)}.badge.spam{background:#EEF2F5;color:#64748B}.badge.spam .pip{background:#94A3B8}.badge.active{background:#DCFCE7;color:#15803D}.badge.active .pip{background:var(--success)}
body.admin-shell .field{margin-bottom:14px}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:6px}.input,.select,.textarea{width:100%;font-family:'Inter';font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 12px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:90px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(15,118,110,.13)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row.three{grid-template-columns:1fr .7fr .8fr}.form-wide{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#3a4654;margin:4px 0 14px}.check input{margin-top:3px;accent-color:var(--petrol);width:16px;height:16px}.actions-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.inline-form{display:inline-flex;margin:0}.inline-form input[type=hidden]{display:none}
body.admin-shell .empty{background:var(--mint);border:1px dashed var(--line-strong);border-radius:var(--r-sm);padding:16px 18px;margin-top:14px}.empty b{display:block;color:var(--navy);font-size:14px;margin-bottom:3px}.empty span{font-size:13px;color:var(--gray)}
body.admin-shell .msg{border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;margin-top:12px;background:#fff}.msg-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}.chip{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748B;background:#EEF2F5;padding:3px 9px;border-radius:999px}.chip.queued{color:#9A6411;background:#FEF3DC}.msg-top .meta{font-size:12px;color:var(--gray)}.msg h4{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:6px}.msg p{font-size:13.5px;color:#3a4654;white-space:pre-line}.disclosure{border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--navy);cursor:pointer;display:flex;align-items:center;gap:8px;margin-top:12px}.disclosure:hover{border-color:var(--petrol);color:var(--petrol)}
body.admin-shell .danger{display:grid;grid-template-columns:1fr 1fr;gap:18px}.danger .box{border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px}.danger .box.red{border-color:#F3C6C6;background:#FEF6F6}.danger .box p{font-size:13px;color:var(--gray);margin-bottom:12px}.danger .box.red label{color:#B91C1C}
body.admin-shell .tl{position:relative;padding-left:24px}.tl::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}.tl-item{position:relative;padding:0 0 20px}.tl-item:last-child{padding-bottom:0}.tl-item::before{content:"";position:absolute;left:-22px;top:4px;width:11px;height:11px;border-radius:50%;background:#fff;border:2.5px solid var(--petrol)}.tl-item.sys::before{border-color:#94A3B8}.tl-item .when{font-size:13px;font-weight:700;color:var(--navy)}.tl-item .who{font-size:12.5px;color:var(--gray);margin-bottom:4px}.tl-item .change{font-size:13.5px;color:#3a4654}.tl-item .change .arr{color:var(--gray);margin:0 5px}.tl-item .extra{font-size:12.5px;color:var(--gray);margin-top:2px}.compact-timeline{margin-top:14px}
body.admin-shell .photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.photo-card{margin:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef0f4}.photo-card figcaption{padding:12px;overflow-wrap:anywhere;font-size:13px}.delete-photo-form{margin-top:10px}.template-list{display:grid;gap:12px;margin-top:12px}.template-list article{border-top:1px solid var(--line);padding-top:10px}.template-list pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--gray);margin-bottom:0}
body.admin-shell .app-foot{border-top:1px solid var(--line);padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--gray);background:var(--mint)}.app-foot a{font-weight:500;color:var(--navy)}.app-foot a:hover{color:var(--petrol)}.app-foot .mid a{margin:0 4px}
body.admin-shell :focus-visible{outline:3px solid rgba(15,118,110,.4);outline-offset:2px;border-radius:6px}.scrim{display:none}
@media(max-width:1100px){body.admin-shell .row-kpi{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){body.admin-shell .app{grid-template-columns:1fr}body.admin-shell .side{transform:translateX(-100%);transition:transform .25s var(--ease)}body.admin-shell .side.open{transform:none;box-shadow:0 20px 50px -20px rgba(16,42,67,.4)}body.admin-shell .main{grid-column:1}body.admin-shell .burger{display:inline-flex}body.admin-shell .scrim.show{display:block;position:fixed;inset:0;background:rgba(16,42,67,.4);z-index:55}body.admin-shell .row-usage{grid-template-columns:1fr 1fr}body.admin-shell .grid-2,body.admin-shell .danger,body.admin-shell .form-row,body.admin-shell .form-row.three{grid-template-columns:1fr}}
@media(max-width:620px){body.admin-shell .topbar,body.admin-shell .content,body.admin-shell .app-foot{padding-left:18px;padding-right:18px}body.admin-shell .row-kpi{grid-template-columns:1fr 1fr}body.admin-shell .page-head{flex-direction:column}body.admin-shell .crumb{font-size:12.5px}body.admin-shell .dl dd{font-size:13.5px}}
@media(max-width:460px){body.admin-shell .row-kpi,body.admin-shell .row-usage{grid-template-columns:1fr}body.admin-shell .user{font-size:0}body.admin-shell .avatar{font-size:13px}}
@media(prefers-reduced-motion:reduce){body.admin-shell *{transition:none!important}}

/* Login polish v0.19 */
.vc-login-head h1{font-family:'Sora',sans-serif;color:#102A43;font-size:clamp(30px,6vw,48px);line-height:1.05;margin:8px 0 12px;letter-spacing:-.04em}.vc-login-head p{color:#6B7280;line-height:1.6;margin:0}.vc-login-form{margin-top:24px}.vc-login-form .field label{display:block;font-size:12.5px;font-weight:600;color:#102A43;margin-bottom:6px}.vc-login-form .field{margin-bottom:15px}.full-login-button{width:100%;justify-content:center;margin-top:4px}.login-card .brand-logo__icon{width:34px;height:34px}.login-card .brand-logo__word{font-size:20px}

/* v0.20 Plattform-Admin UI */
:root{
  --navy-2:#16314C;
  --mint-accent:#5FD3C6;
  --side:252px;
}
.platform-admin-shell{font-family:'Inter',system-ui,sans-serif;color:#111827;background:#F4FAF8;line-height:1.55;-webkit-font-smoothing:antialiased}
.platform-admin-shell h1,.platform-admin-shell h2,.platform-admin-shell h3,.platform-admin-shell h4{font-family:'Sora',sans-serif;color:#102A43;letter-spacing:-.02em;line-height:1.12}
.platform-admin-shell a{color:inherit;text-decoration:none}
.platform-admin-shell svg{display:block}
.platform-admin-shell .eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#0F766E;margin:0}
.platform-admin-shell .app{display:grid;grid-template-columns:252px 1fr;min-height:100vh}
.platform-admin-shell .side{position:fixed;inset:0 auto 0 0;width:252px;background:#102A43;color:#fff;display:flex;flex-direction:column;padding:22px 16px;z-index:60;border-right:0;gap:0}
.platform-admin-shell .side .brand{padding:4px 8px 6px;display:flex;flex-direction:column;gap:10px}
.platform-admin-shell .logo{display:inline-flex;align-items:center;gap:10px}
.platform-admin-shell .logo .mark{width:34px;height:34px;flex:none}
.platform-admin-shell .logo .word{font-family:'Sora';font-weight:700;font-size:20px;letter-spacing:-.025em;color:#fff}
.platform-admin-shell .plat-tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#A9EFE5;background:rgba(95,211,198,.14);border:1px solid rgba(95,211,198,.28);padding:4px 10px;border-radius:999px}
.platform-admin-shell .plat-tag svg{width:12px;height:12px;stroke:#A9EFE5;stroke-width:2;fill:none}
.platform-admin-shell .side-nav{display:flex;flex-direction:column;gap:3px;margin-top:24px}
.platform-admin-shell .side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.74);position:relative;transition:background .15s,color .15s;background:transparent;box-shadow:none}
.platform-admin-shell .side-nav a svg{width:18px;height:18px;stroke:rgba(255,255,255,.5);stroke-width:1.9;fill:none;transition:stroke .15s}
.platform-admin-shell .side-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.platform-admin-shell .side-nav a.active{background:rgba(95,211,198,.13);color:#fff;font-weight:600;box-shadow:none}
.platform-admin-shell .side-nav a.active::before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:3px;border-radius:3px;background:#5FD3C6}
.platform-admin-shell .side-nav a.active svg{stroke:#5FD3C6}
.platform-admin-shell .side-user{margin-top:22px;padding:13px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.platform-admin-shell .side-user .nm{font-size:13.5px;font-weight:700;color:#fff}
.platform-admin-shell .side-user .em{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:1px;overflow-wrap:anywhere}
.platform-admin-shell .side-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.platform-admin-shell .side-logout{margin:0}.platform-admin-shell .side-logout button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.74);background:transparent;border:0;cursor:pointer;font-family:'Inter',system-ui,sans-serif}
.platform-admin-shell .side-logout button svg{width:18px;height:18px;stroke:rgba(255,255,255,.5);stroke-width:1.9;fill:none}
.platform-admin-shell .side-logout button:hover{background:rgba(255,255,255,.06);color:#fff}.platform-admin-shell .side-logout button:hover svg{stroke:#fff}
.platform-admin-shell .main{grid-column:2;display:flex;flex-direction:column;min-width:0}
.platform-admin-shell .topbar{position:sticky;top:0;z-index:50;height:60px;background:rgba(244,250,248,.85);backdrop-filter:blur(10px);border-bottom:1px solid #E5EDEB;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:14px}
.platform-admin-shell .topbar-left{display:flex;align-items:center;gap:14px}.platform-admin-shell .topbar-right{display:flex;align-items:center;gap:14px}
.platform-admin-shell .crumb{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#6B7280;font-weight:500}.platform-admin-shell .crumb b{color:#102A43;font-weight:600}.platform-admin-shell .crumb .scope{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0F766E;background:#E3F2EF;padding:3px 9px;border-radius:999px}
.platform-admin-shell .user{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#102A43}
.platform-admin-shell .avatar{width:30px;height:30px;border-radius:9px;background:#102A43;color:#fff;display:flex;align-items:center;justify-content:center}
.platform-admin-shell .avatar svg{width:16px;height:16px;stroke:#5FD3C6;stroke-width:2;fill:none}
.platform-admin-shell .burger{display:none;width:40px;height:40px;border:1px solid #D4E2DF;border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center;padding:0}
.platform-admin-shell .burger svg{width:20px;height:20px;stroke:#102A43;stroke-width:2}
.platform-admin-shell .content{padding:24px 32px 48px;max-width:1320px;width:100%}
.platform-admin-shell .info-note{display:flex;align-items:center;gap:11px;background:#EEF3F8;border:1px solid #D8E3EF;color:#33455a;padding:11px 15px;border-radius:14px;font-size:13.5px;font-weight:500;margin-bottom:22px}
.platform-admin-shell .info-note .ic{width:20px;height:20px;flex:none;color:#102A43}.platform-admin-shell .info-note .ic svg{width:20px;height:20px;stroke:#102A43;stroke-width:1.9;fill:none}
.platform-admin-shell .page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 22px}.platform-admin-shell .page-head h1{font-size:clamp(26px,3vw,34px);font-weight:800;margin:8px 0 6px}.platform-admin-shell .page-head .sub,.platform-admin-shell .page-head p:not(.eyebrow){font-size:15px;color:#6B7280;max-width:64ch;margin:0}
.platform-admin-shell .panel,.platform-admin-shell .card{background:#fff;border:1px solid #E5EDEB;border-radius:14px;box-shadow:0 1px 2px rgba(16,42,67,.05);padding:22px 24px;margin:0 0 18px}
.platform-admin-shell .panel-head,.platform-admin-shell .section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.platform-admin-shell .panel-head h2,.platform-admin-shell .panel-head h3,.platform-admin-shell .section-head h2,.platform-admin-shell .section-head h3{font-size:18px;font-weight:700;margin:0}.platform-admin-shell .panel-head a.link,.platform-admin-shell .section-head a{font-size:14px;font-weight:600;color:#0F766E}.platform-admin-shell .panel-head a.link:hover,.platform-admin-shell .section-head a:hover{text-decoration:underline}
.platform-admin-shell .btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter';font-weight:600;font-size:14px;padding:10px 16px;border-radius:9px;border:1px solid transparent;cursor:pointer;background:none;transition:transform .16s cubic-bezier(.22,.61,.36,1),background .16s,box-shadow .16s,border-color .16s;white-space:nowrap;text-decoration:none;line-height:1.25}
.platform-admin-shell .btn svg{width:15px;height:15px}.platform-admin-shell .btn-primary{background:#0F766E;color:#fff;box-shadow:0 6px 14px -8px rgba(15,118,110,.6)}.platform-admin-shell .btn-primary:hover{background:#0B5751;transform:translateY(-1px)}.platform-admin-shell .btn-ghost{background:#fff;color:#102A43;border-color:#D4E2DF}.platform-admin-shell .btn-ghost:hover{border-color:#0F766E;color:#0F766E}.platform-admin-shell .btn-danger-o{background:#fff;color:#DC2626;border-color:#F3C6C6}.platform-admin-shell .btn-danger-o:hover{background:#FEF2F2}.platform-admin-shell .btn-sm{padding:7px 13px;font-size:13px}
.platform-admin-shell .button{display:inline-flex;align-items:center;gap:8px;font-family:'Inter';font-weight:600;font-size:14px;padding:10px 16px;border-radius:9px;border:1px solid transparent;cursor:pointer;background:#0F766E;color:#fff;text-decoration:none;line-height:1.25;box-shadow:0 6px 14px -8px rgba(15,118,110,.6)}.platform-admin-shell .button.secondary{background:#fff;color:#102A43;border-color:#D4E2DF;box-shadow:none}.platform-admin-shell .small-button{padding:7px 13px;font-size:13px}
.platform-admin-shell .badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;white-space:nowrap}.platform-admin-shell .badge .pip{width:7px;height:7px;border-radius:50%;flex:none}.platform-admin-shell .badge.active{background:#DCFCE7;color:#15803D}.platform-admin-shell .badge.active .pip{background:#22C55E}.platform-admin-shell .badge.gesperrt{background:#FEE2E2;color:#B91C1C}.platform-admin-shell .badge.gesperrt .pip{background:#DC2626}.platform-admin-shell .badge.inaktiv{background:#EEF2F5;color:#475569}.platform-admin-shell .badge.inaktiv .pip{background:#94A3B8}
.platform-admin-shell .status-pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;white-space:nowrap}.platform-admin-shell .status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#94A3B8}.platform-admin-shell .status-active{background:#DCFCE7;color:#15803D}.platform-admin-shell .status-active::before{background:#22C55E}.platform-admin-shell .status-suspended{background:#FEE2E2;color:#B91C1C}.platform-admin-shell .status-suspended::before{background:#DC2626}.platform-admin-shell .status-inactive{background:#EEF2F5;color:#475569}.platform-admin-shell .status-inactive::before{background:#94A3B8}
.platform-admin-shell .pstats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.platform-admin-shell .pstat{background:#fff;border:1px solid #E5EDEB;border-radius:14px;box-shadow:0 1px 2px rgba(16,42,67,.05);padding:16px 18px}.platform-admin-shell .pstat .k{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6B7280;line-height:1.3;min-height:26px;display:flex;align-items:flex-start;gap:7px}.platform-admin-shell .pstat .k .pip{width:7px;height:7px;border-radius:50%;margin-top:4px;flex:none;background:#CBD5E1}.platform-admin-shell .pstat .k .pip.ok{background:#22C55E}.platform-admin-shell .pstat .k .pip.warn{background:#F59E0B}.platform-admin-shell .pstat .k .pip.err{background:#DC2626}.platform-admin-shell .pstat .v{font-family:'Sora';font-weight:700;font-size:32px;color:#102A43;line-height:1;margin-top:8px}
.platform-admin-shell .t-wrap,.platform-admin-shell .table-wrap{overflow-x:auto}.platform-admin-shell table{width:100%;border-collapse:collapse;font-size:14px}.platform-admin-shell thead th{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6B7280;text-align:left;padding:0 14px 12px;border-bottom:1px solid #E5EDEB}.platform-admin-shell tbody td{padding:15px 14px;border-bottom:1px solid #E5EDEB;color:#111827;vertical-align:middle}.platform-admin-shell tbody tr:last-child td{border-bottom:none}.platform-admin-shell tbody tr{transition:background .14s}.platform-admin-shell tbody tr:hover{background:#F4FAF8}.platform-admin-shell td .mandant{font-family:'Sora';font-weight:700;color:#102A43;font-size:15px}.platform-admin-shell td .sub2{font-size:12.5px;color:#6B7280;margin-top:2px}.platform-admin-shell td .num{font-variant-numeric:tabular-nums;font-weight:600;color:#102A43}.platform-admin-shell .t-actions,.platform-admin-shell .actions-cell{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.platform-admin-shell .actions-cell .inline-form{display:inline;margin:0}
.platform-admin-shell .filterbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.platform-admin-shell .field{display:flex;flex-direction:column;gap:6px}.platform-admin-shell .field label{font-size:12.5px;font-weight:600;color:#102A43}.platform-admin-shell .input,.platform-admin-shell .select,.platform-admin-shell input,.platform-admin-shell select,.platform-admin-shell textarea{font-family:'Inter';font-size:14px;color:#111827;background:#fff;border:1px solid #D4E2DF;border-radius:9px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.platform-admin-shell .select,.platform-admin-shell select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.platform-admin-shell .input:focus,.platform-admin-shell .select:focus,.platform-admin-shell input:focus,.platform-admin-shell select:focus,.platform-admin-shell textarea:focus{outline:none;border-color:#0F766E;box-shadow:0 0 0 3px rgba(15,118,110,.13)}.platform-admin-shell .field.status{min-width:180px}.platform-admin-shell .field.search{flex:1;min-width:240px}.platform-admin-shell .field.search .input{width:100%}.platform-admin-shell .stack-form{display:grid;gap:14px;margin:0}.platform-admin-shell .grid{display:grid;gap:16px}.platform-admin-shell .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-admin-shell .empty,.platform-admin-shell .empty-state{background:#F4FAF8;border:1px dashed #D4E2DF;border-radius:9px;padding:16px 18px;margin-top:0}.platform-admin-shell .empty b,.platform-admin-shell .empty-state strong{display:block;color:#102A43;font-size:14px;margin-bottom:3px}.platform-admin-shell .empty span,.platform-admin-shell .empty-state{font-size:13px;color:#6B7280}.platform-admin-shell .notice{padding:12px 14px;border-radius:14px;background:#EEF3F8;border:1px solid #D8E3EF;color:#33455a;margin-bottom:14px}.platform-admin-shell .app-foot{border-top:1px solid #E5EDEB;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:#6B7280}.platform-admin-shell .app-foot a{font-weight:500;color:#102A43}.platform-admin-shell .app-foot a:hover{color:#0F766E}.platform-admin-shell .app-foot .mid a{margin:0 4px}.platform-admin-shell .scrim{display:none}
.platform-admin-shell :focus-visible{outline:3px solid rgba(15,118,110,.4);outline-offset:2px;border-radius:6px}
@media(max-width:1100px){.platform-admin-shell .pstats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){.platform-admin-shell .app{grid-template-columns:1fr}.platform-admin-shell .side{transform:translateX(-100%);transition:transform .25s cubic-bezier(.22,.61,.36,1)}.platform-admin-shell .side.open{transform:none;box-shadow:0 20px 50px -20px rgba(16,42,67,.55)}.platform-admin-shell .main{grid-column:1}.platform-admin-shell .burger{display:inline-flex}.platform-admin-shell .scrim.show{display:block;position:fixed;inset:0;background:rgba(16,42,67,.45);z-index:55}.platform-admin-shell .pstats{grid-template-columns:repeat(2,1fr)}.platform-admin-shell .grid.two{grid-template-columns:1fr}}
@media(max-width:620px){.platform-admin-shell .topbar,.platform-admin-shell .content,.platform-admin-shell .app-foot{padding-left:18px;padding-right:18px}.platform-admin-shell .page-head{flex-direction:column}.platform-admin-shell .crumb .scope{display:none}.platform-admin-shell .filterbar{flex-direction:column;align-items:stretch}.platform-admin-shell .field.status,.platform-admin-shell .field.search{min-width:0;width:100%}.platform-admin-shell .pstats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.platform-admin-shell .pstats{grid-template-columns:1fr}.platform-admin-shell .user{font-size:0}.platform-admin-shell .avatar{font-size:14px}}
@media(prefers-reduced-motion:reduce){.platform-admin-shell *{transition:none!important}}

/* VendCare v0.21 settings segmentation */
body.admin-shell .settings-page-head{margin-bottom:18px}
body.admin-shell .settings-shell{display:block;width:100%}
body.admin-shell .subnav{display:flex;align-items:flex-end;gap:24px;border-bottom:1px solid var(--line);margin:0 0 18px;overflow:visible}
body.admin-shell .subnav button{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--gray);cursor:pointer;font-family:'Inter',system-ui,sans-serif;font-size:14px;font-weight:700;padding:0 0 12px;box-shadow:none;filter:none;border-radius:0;white-space:nowrap}
body.admin-shell .subnav button:hover{color:var(--navy);background:transparent;filter:none}
body.admin-shell .subnav button.active{color:var(--petrol);border-bottom-color:var(--petrol)}
body.admin-shell .settings-unsaved{display:inline-flex;align-items:center;gap:8px;background:#FEF3DC;border:1px solid #F2D699;color:#9A6411;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;margin:0 0 16px}
body.admin-shell .settings-unsaved[hidden]{display:none!important}
body.admin-shell .tabpanel{display:none}.admin-shell .tabpanel.active{display:block}
body.admin-shell .accordion-head{display:none;width:100%;align-items:center;justify-content:space-between;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:none;filter:none;font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:14px;padding:13px 15px;margin-bottom:10px;text-align:left}
body.admin-shell .accordion-body{display:block}
body.admin-shell .settings-form{margin:0}
body.admin-shell .settings-form .panel{margin-bottom:18px}
body.admin-shell .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
body.admin-shell .field label{font-size:12.5px;font-weight:700;color:var(--navy)}
body.admin-shell .field-help{font-size:12.5px;color:var(--gray);margin:0}
body.admin-shell .input,body.admin-shell .select,body.admin-shell .textarea{width:100%;font-family:'Inter',system-ui,sans-serif;font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 12px;transition:border-color .15s,box-shadow .15s}
body.admin-shell .textarea{resize:vertical;min-height:120px;line-height:1.5}
body.admin-shell .select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
body.admin-shell .input:focus,body.admin-shell .select:focus,body.admin-shell .textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(15,118,110,.13)}
body.admin-shell .input:disabled{background:#F8FAF9;color:var(--gray)}
body.admin-shell .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.admin-shell .form-row.three{grid-template-columns:1fr .7fr .8fr}
body.admin-shell .panel-subhead{border-top:1px solid var(--line);padding-top:16px;margin:2px 0 14px}.panel-subhead h3{font-size:16px}.panel-subhead p{font-size:13px;color:var(--gray);margin:4px 0 0}
body.admin-shell .settings-smtp-fields{margin-top:8px;padding-top:4px}.settings-smtp-fields[hidden]{display:none!important}
body.admin-shell .testmail-row{align-items:end}.field-button{justify-content:flex-end}
body.admin-shell .mail-badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.admin-shell .badge.queued{background:#FEF3DC;color:#9A6411}.admin-shell .badge.queued .pip{background:var(--amber)}
body.admin-shell .badge.sent{background:#DCFCE7;color:#15803D}.admin-shell .badge.sent .pip{background:var(--success)}
body.admin-shell .badge.failed{background:#FEE2E2;color:#B91C1C}.admin-shell .badge.failed .pip{background:var(--error)}
body.admin-shell .badge.sending{background:#E3F2EF;color:#0B5751}.admin-shell .badge.sending .pip{background:var(--petrol)}
body.admin-shell .badge.inaktiv{background:#EEF2F5;color:#475569}.admin-shell .badge.inaktiv .pip{background:#94A3B8}
body.admin-shell .placeholder-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--mint);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 16px;font-size:13px;color:var(--gray)}
body.admin-shell .placeholder-legend span{margin-right:4px;color:#41505f;font-weight:600}
body.admin-shell .placeholder-legend code{background:var(--petrol-soft);color:var(--petrol-deep);border-radius:999px;padding:4px 8px;font-size:12.5px;font-weight:700}
body.admin-shell .template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.template-grid .field{margin-bottom:0}
body.admin-shell .settings-logo-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--mint);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;margin:6px 0 14px}
body.admin-shell .settings-logo-card .label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:8px}
body.admin-shell .tenant-logo-preview{max-width:180px;max-height:70px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
body.admin-shell .compact-check{margin:0}.admin-shell .compact-check input{accent-color:var(--petrol)}
body.admin-shell .actions-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}
body.admin-shell .empty{background:var(--mint);border:1px dashed var(--line-strong);border-radius:var(--r-sm);padding:16px 18px;margin:8px 0 14px}
body.admin-shell .empty b{display:block;color:var(--navy);font-size:14px;margin-bottom:3px}.admin-shell .empty span{font-size:13px;color:var(--gray)}
@media(max-width:920px){body.admin-shell .template-grid{grid-template-columns:1fr}body.admin-shell .settings-logo-card{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){body.admin-shell .subnav{display:none}body.admin-shell .tabpanel{display:block}body.admin-shell .tabpanel:not(.active) .accordion-body{display:none}body.admin-shell .accordion-head{display:flex}body.admin-shell .accordion-head.active{border-color:var(--petrol);color:var(--petrol);background:var(--petrol-soft)}body.admin-shell .form-row,body.admin-shell .form-row.three{grid-template-columns:1fr}body.admin-shell .mail-badge-row{justify-content:flex-start}body.admin-shell .field-button{align-items:flex-start}}

/* VendCare v0.22 fixes */
.login-card .full-login-button,
.public-shell .login-card button.full-login-button,
.public-shell .login-card .btn.btn-primary.full-login-button {
    background: #0F766E !important;
    color: #FFFFFF !important;
    border-color: #0F766E !important;
    box-shadow: 0 8px 18px -8px rgba(15,118,110,.6) !important;
}
.login-card .full-login-button:hover,
.public-shell .login-card button.full-login-button:hover {
    background: #0B5751 !important;
    color: #FFFFFF !important;
}
.platform-admin-shell .platform-mail-actions-panel { overflow: visible; }
.platform-admin-shell .platform-mail-actions {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    gap: 14px;
    align-items: end;
}
.platform-admin-shell .platform-mail-test-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin: 0;
}
.platform-admin-shell .platform-mail-process-form { margin: 0; display: flex; align-items: end; justify-content: flex-end; }
.platform-admin-shell .platform-mail-test-field { margin: 0; }
.platform-admin-shell .platform-mail-actions .btn { min-height: 42px; justify-content: center; }
.platform-admin-shell .platform-mail-mode { font-size: 22px !important; overflow-wrap: anywhere; }
.platform-admin-shell .platform-meta-list { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 0; margin: 0; }
.platform-admin-shell .platform-meta-list div { display: contents; }
.platform-admin-shell .platform-meta-list dt,
.platform-admin-shell .platform-meta-list dd { border-bottom: 1px solid #E5EDEB; padding: 10px 0; margin: 0; }
.platform-admin-shell .platform-meta-list dt { color: #6B7280; font-size: 13.5px; }
.platform-admin-shell .platform-meta-list dd { color: #102A43; font-weight: 600; overflow-wrap: anywhere; }
.platform-admin-shell .badge.queued { background:#FEF3DC; color:#9A6411; }
.platform-admin-shell .badge.queued .pip { background:#F59E0B; }
.platform-admin-shell .badge.sent { background:#DCFCE7; color:#15803D; }
.platform-admin-shell .badge.sent .pip { background:#22C55E; }
.platform-admin-shell .badge.failed { background:#FEE2E2; color:#B91C1C; }
.platform-admin-shell .badge.failed .pip { background:#DC2626; }
.platform-admin-shell .badge.sending { background:#E3F2EF; color:#0B5751; }
.platform-admin-shell .badge.sending .pip { background:#0F766E; }
.platform-admin-shell .platform-mail-table .empty { margin: 0; }
@media(max-width:900px){
    .platform-admin-shell .platform-mail-actions { grid-template-columns: 1fr; }
    .platform-admin-shell .platform-mail-test-form { grid-template-columns: 1fr; }
    .platform-admin-shell .platform-mail-process-form { justify-content: flex-start; }
}
@media(max-width:620px){
    .platform-admin-shell .platform-meta-list { grid-template-columns: 1fr; }
    .platform-admin-shell .platform-meta-list dt { border-bottom: 0; padding-bottom: 2px; }
    .platform-admin-shell .platform-meta-list dd { padding-top: 0; }
}

.product-offer-card {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}
.product-offer-card h3 { margin: 4px 0 6px; }
.product-offer-card p { margin: 0; }
.offer-label {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: #E3F2EF;
    color: #0F766E;
    font-size: 12px;
    font-weight: 700;
}
.offer-price {
    margin-top: 8px !important;
    font-size: 18px;
    font-weight: 800;
    color: #102A43;
}
.poster-color-row .field { min-width: 0; }
.color-input-row {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}
.color-input {
    min-height: 46px;
    padding: 4px;
    cursor: pointer;
}
@media(max-width:760px){
    .product-offer-card {
        flex-direction: column;
        align-items: stretch;
    }
    .color-input-row {
        grid-template-columns: 64px minmax(0, 1fr);
    }
}

body.admin-shell a.button:not(.secondary):not(.danger),
body.admin-shell button.button:not(.secondary):not(.danger) {
    background: var(--petrol) !important;
    color: #fff !important;
    border-color: var(--petrol) !important;
    box-shadow: 0 6px 14px -8px rgba(15,118,110,.6) !important;
}
body.admin-shell a.button:not(.secondary):not(.danger):hover,
body.admin-shell button.button:not(.secondary):not(.danger):hover {
    background: var(--petrol-deep) !important;
    color: #fff !important;
}
body.admin-shell a.button.secondary,
body.admin-shell button.button.secondary {
    background: #fff !important;
    color: var(--navy) !important;
    border: 1px solid var(--line-strong) !important;
    box-shadow: none !important;
}

.subscription-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .9fr);
    gap: 18px;
    margin-bottom: 18px;
}
.subscription-plan-name {
    font-family: 'Sora', sans-serif;
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1;
    font-weight: 800;
    color: var(--navy);
    margin: 4px 0 18px;
}
.subscription-usage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.subscription-usage-grid div {
    border: 1px solid var(--line);
    background: var(--mint);
    border-radius: var(--r-sm);
    padding: 13px 14px;
}
.subscription-usage-grid span {
    display: block;
    color: var(--gray);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.subscription-usage-grid strong {
    display: block;
    color: var(--navy);
    font-size: 17px;
    font-weight: 800;
}
.plan-option-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.plan-option {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 16px;
    cursor: pointer;
    background: #fff;
    min-height: 190px;
}
.plan-option:hover { border-color: var(--petrol); }
.plan-option input { position: absolute; top: 14px; right: 14px; accent-color: var(--petrol); }
.plan-option.current { background: var(--mint); border-color: var(--line-strong); cursor: default; }
.plan-option-title { font-family: 'Sora', sans-serif; font-size: 18px; font-weight: 800; color: var(--navy); padding-right: 28px; }
.plan-option-price { color: var(--petrol); font-size: 19px; font-weight: 800; }
.plan-option-desc { color: var(--gray); font-size: 13.5px; line-height: 1.45; }
.plan-option-limits { margin-top: auto; color: var(--navy); font-size: 13px; font-weight: 700; }
.plan-current-chip { align-self: flex-start; background: var(--petrol-soft); color: var(--petrol-deep); border-radius: 999px; padding: 4px 9px; font-size: 12px; font-weight: 800; }
.danger-subscription-panel { border-color: #F3C6C6; }
.danger-empty { background:#FEF6F6!important; border-color:#F3C6C6!important; }
@media(max-width:1100px){
    .plan-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .subscription-usage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:820px){
    .subscription-grid { grid-template-columns: 1fr; }
}
@media(max-width:620px){
    .plan-option-grid { grid-template-columns: 1fr; }
}

.plan-current-chip.neutral {
    background: #EEF2F5;
    color: #475569;
}
.subscription-current-card .meta-list dd {
    font-variant-numeric: tabular-nums;
}

/* VendCare v0.28 Abrechnung */
.platform-admin-shell .filterbar .chip{display:inline-flex;align-items:center;text-decoration:none;letter-spacing:0;text-transform:none;font-size:13px;padding:8px 12px;border:1px solid #D4E2DF;background:#fff;color:#102A43}
.platform-admin-shell .filterbar .chip.active{background:#0F766E;color:#fff;border-color:#0F766E}
.platform-admin-shell .check-row,body.admin-shell .check-row{display:flex;align-items:flex-start;gap:10px;margin:12px 0 14px;font-size:13.5px;color:#334155}
.platform-admin-shell .check-row input,body.admin-shell .check-row input{width:16px;height:16px;margin-top:2px;accent-color:#0F766E}
.platform-admin-shell .small-v{font-size:18px;line-height:1.2}


/* VendCare v0.33.1 UI-Hotfix: Admin-Hinweisboxen, Formularabstände und Plattformbuttons */
body.admin-shell .info-note,
.platform-admin-shell .info-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    background: #EEF3F8;
    border: 1px solid #D8E3EF;
    color: #33455a;
    padding: 11px 15px;
    border-radius: 14px;
    font-size: 13.5px;
    font-weight: 500;
    margin: 0 0 22px;
    line-height: 1.45;
}
body.admin-shell .info-note .ic,
.platform-admin-shell .info-note .ic {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #102A43;
    margin-top: 1px;
}
body.admin-shell .info-note .ic svg,
.platform-admin-shell .info-note .ic svg {
    width: 20px !important;
    height: 20px !important;
    display: block;
    stroke: #102A43;
    stroke-width: 1.9;
    fill: none !important;
}
body.admin-shell .info-note .ic svg circle,
body.admin-shell .info-note .ic svg path,
.platform-admin-shell .info-note .ic svg circle,
.platform-admin-shell .info-note .ic svg path {
    fill: none !important;
}
body.admin-shell .settings-form,
.platform-admin-shell .settings-form {
    display: grid;
    gap: 14px;
}
body.admin-shell .settings-form .field,
.platform-admin-shell .settings-form .field {
    margin-bottom: 0;
}
body.admin-shell .field,
.platform-admin-shell .field {
    gap: 7px;
}
body.admin-shell .check-row,
.platform-admin-shell .check-row {
    align-items: flex-start;
    gap: 10px;
    margin: 2px 0 4px;
    line-height: 1.45;
}
body.admin-shell .check-row input,
.platform-admin-shell .check-row input {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px;
    margin-top: 2px;
}
.platform-admin-shell a.btn-primary,
.platform-admin-shell button.btn-primary,
.platform-admin-shell .btn.btn-primary {
    background: #0F766E !important;
    color: #ffffff !important;
    border-color: #0F766E !important;
    box-shadow: 0 6px 14px -8px rgba(15,118,110,.6) !important;
}
.platform-admin-shell a.btn-primary:hover,
.platform-admin-shell button.btn-primary:hover,
.platform-admin-shell .btn.btn-primary:hover {
    background: #0B5751 !important;
    color: #ffffff !important;
}
.platform-admin-shell a.btn-ghost,
.platform-admin-shell button.btn-ghost,
.platform-admin-shell .btn.btn-ghost {
    background: #ffffff !important;
    color: #102A43 !important;
    border-color: #D4E2DF !important;
}
.platform-admin-shell a.btn-ghost:hover,
.platform-admin-shell button.btn-ghost:hover,
.platform-admin-shell .btn.btn-ghost:hover {
    color: #0F766E !important;
    border-color: #0F766E !important;
}
body.admin-shell .form-row,
.platform-admin-shell .form-row {
    align-items: start;
}
body.admin-shell .form-help,
.platform-admin-shell .form-help {
    font-size: 13px;
    color: #6B7280;
    line-height: 1.45;
    margin: -4px 0 4px;
}


/* VendCare v0.33.2 UI-Fix: stabile Hinweis-Icons, Abrechnungsnavigation und Formularabstände */
body.admin-shell .info-note,
.platform-admin-shell .info-note {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
body.admin-shell .info-note > .ic,
.platform-admin-shell .info-note > .ic {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    flex: 0 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #D7EDEA !important;
    color: #0F766E !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-top: 0 !important;
}
body.admin-shell .info-note > .ic svg,
.platform-admin-shell .info-note > .ic svg {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    stroke: #0F766E !important;
    fill: none !important;
}
body.admin-shell .info-note > .ic svg circle,
body.admin-shell .info-note > .ic svg path,
.platform-admin-shell .info-note > .ic svg circle,
.platform-admin-shell .info-note > .ic svg path {
    fill: none !important;
}
body.admin-shell .billing-note,
.platform-admin-shell .billing-note {
    margin: 0 0 18px !important;
}
body.admin-shell .settings-form,
.platform-admin-shell .settings-form {
    row-gap: 16px !important;
}
body.admin-shell .settings-form .form-row,
.platform-admin-shell .settings-form .form-row {
    gap: 16px 18px !important;
    margin: 0 !important;
}
body.admin-shell .settings-form .field,
.platform-admin-shell .settings-form .field {
    margin: 0 !important;
    gap: 6px !important;
}
body.admin-shell .settings-form .field label,
.platform-admin-shell .settings-form .field label {
    display: block !important;
    margin: 0 0 6px !important;
    line-height: 1.25 !important;
}
.platform-admin-shell .actions-row .btn,
.platform-admin-shell .actions-row a.btn,
.platform-admin-shell .actions-row button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    color: #102A43 !important;
    background: #ffffff !important;
    border: 1px solid #D4E2DF !important;
    text-decoration: none !important;
}
.platform-admin-shell .actions-row .btn.btn-primary,
.platform-admin-shell .actions-row a.btn.btn-primary,
.platform-admin-shell .actions-row button.btn.btn-primary {
    color: #ffffff !important;
    background: #0F766E !important;
    border-color: #0F766E !important;
}
.platform-admin-shell .actions-row .btn.btn-primary:hover,
.platform-admin-shell .actions-row a.btn.btn-primary:hover,
.platform-admin-shell .actions-row button.btn.btn-primary:hover {
    color: #ffffff !important;
    background: #0B5751 !important;
}

/* VendCare v0.34: Rechnungsdaten-Abstände und geplante Aufgaben */
body.admin-shell .billing-profile-form,
.platform-admin-shell .billing-profile-form {
    row-gap: 22px !important;
}
body.admin-shell .billing-profile-form .form-row,
.platform-admin-shell .billing-profile-form .form-row {
    gap: 22px 18px !important;
}
body.admin-shell .billing-profile-form .field,
.platform-admin-shell .billing-profile-form .field {
    gap: 8px !important;
}
body.admin-shell .billing-profile-form .field label,
.platform-admin-shell .billing-profile-form .field label {
    margin: 0 0 8px !important;
    line-height: 1.35 !important;
}
body.admin-shell .billing-profile-form .form-row + .form-row,
.platform-admin-shell .billing-profile-form .form-row + .form-row,
body.admin-shell .billing-profile-form .field + .form-row,
.platform-admin-shell .billing-profile-form .field + .form-row {
    margin-top: 2px !important;
}
.scheduled-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.scheduled-task-card{border:1px solid #D4E2DF;border-radius:16px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:14px}.scheduled-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.scheduled-task-head h3{font-size:18px;margin:0 0 6px}.scheduled-task-head p{font-size:13.5px;color:#6B7280;margin:0;line-height:1.5}.meta-list.compact{grid-template-columns:150px 1fr;margin:0}.meta-list.compact dt,.meta-list.compact dd{font-size:13px}.cron-url-field span{font-size:12.5px;font-weight:700;color:#102A43}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.copy-field{display:grid;gap:8px}.task-output{border:1px solid #E5EDEB;border-radius:12px;padding:10px 12px;background:#F8FBFA}.task-output summary{cursor:pointer;font-size:13px;font-weight:700;color:#102A43}.task-output pre,.code-block{white-space:pre-wrap;overflow:auto;background:#0F172A;color:#E5E7EB;border-radius:12px;padding:12px;font-size:12.5px;line-height:1.5;margin:10px 0 0}.task-output pre.error-output{background:#FEF2F2;color:#991B1B}.scheduled-actions{margin-top:auto}.compact-empty{padding:12px 14px!important}.scheduled-token-panel{border-color:#99D8CF;box-shadow:0 12px 30px -24px rgba(15,118,110,.35)}
@media(max-width:720px){.scheduled-task-grid{grid-template-columns:1fr}.scheduled-task-head{flex-direction:column}.meta-list.compact{grid-template-columns:1fr}.scheduled-actions .inline-form{width:100%}.scheduled-actions .btn{width:100%}}
.copy-field.with-button,.cron-url-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.cron-url-field span{grid-column:1/-1}@media(max-width:720px){.copy-field.with-button,.cron-url-field{grid-template-columns:1fr}.copy-field.with-button .btn,.cron-url-field .btn{width:100%}}

/* v0.36 Rechnungslayout und Rechnungseditor */
.invoice-editor-form .grid.two label,
.invoice-items-editor input,
.invoice-items-editor select,
.invoice-items-editor textarea {
    min-width: 0;
}
.invoice-editor-form label > span {
    display: block;
    margin-bottom: 0.42rem;
    line-height: 1.25;
}
.invoice-editor-form label {
    gap: 0.42rem;
}
.invoice-items-editor table input {
    width: 100%;
    min-width: 110px;
}
.invoice-items-editor table th:first-child,
.invoice-items-editor table td:first-child {
    min-width: 260px;
}
.invoice-items-editor table th:last-child,
.invoice-items-editor table td:last-child {
    min-width: 180px;
}

/* v0.38 öffentliche Registrierung */
.register-shell{background:#F4FAF8;min-height:100vh}.register-page{max-width:1180px;margin:0 auto;padding:42px 24px 72px}.register-logo{display:inline-flex;margin-bottom:22px}.register-logo img{height:42px;width:auto}.register-hero{max-width:780px;margin-bottom:26px}.register-hero h1,.register-result-card h1{font-family:'Sora',Inter,sans-serif;color:#102A43;font-size:clamp(32px,4vw,52px);line-height:1.05;margin:12px 0}.register-hero p,.register-result-card p{font-size:17px;color:#506173;line-height:1.6}.register-alert{border:1px solid #F3C6C6;background:#FEF2F2;color:#991B1B;border-radius:16px;padding:14px 18px;margin:18px 0}.register-alert ul{margin:8px 0 0;padding-left:22px}.register-form{display:grid;gap:18px}.register-card,.register-submit-card,.register-result-card{background:#fff;border:1px solid #D8E7E3;border-radius:20px;padding:24px;box-shadow:0 18px 45px rgba(16,42,67,.06)}.register-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.register-section-head h2{font-family:'Sora',Inter,sans-serif;color:#102A43;margin:0 0 4px;font-size:22px}.register-section-head p{margin:0;color:#6B7280}.register-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.register-plan-option{border:1px solid #D4E2DF;border-radius:16px;padding:18px;display:grid;gap:8px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}.register-plan-option:hover,.register-plan-option.selected{border-color:#0F766E;box-shadow:0 12px 30px -20px rgba(15,118,110,.5);transform:translateY(-1px)}.register-plan-option input{position:absolute;opacity:0;pointer-events:none}.register-plan-option .plan-name{font-weight:800;color:#102A43;font-size:18px}.register-plan-option .plan-price{font-family:'Sora',Inter,sans-serif;font-weight:800;color:#0F766E;font-size:22px}.register-plan-option .plan-desc,.register-plan-option .plan-meta{color:#6B7280;font-size:14px;line-height:1.45}.register-grid{display:grid;gap:14px}.register-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.register-grid label,.register-card>label{display:grid;gap:6px;color:#102A43;font-weight:700;font-size:13px}.register-grid input,.register-grid textarea,.register-card input,.register-card textarea{font:inherit;border:1px solid #D4E2DF;border-radius:12px;padding:12px 13px;background:#fff;color:#111827}.register-grid input:focus,.register-grid textarea:focus{outline:none;border-color:#0F766E;box-shadow:0 0 0 3px rgba(15,118,110,.13)}.register-checks{display:grid;gap:11px;margin-top:18px}.register-checks label{font-size:14px;color:#374151;font-weight:500}.register-checks input{width:auto;margin-right:9px}.register-checks a{color:#0F766E;font-weight:700}.register-submit-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.register-submit-card strong{display:block;color:#102A43;font-size:18px;margin-bottom:3px}.register-submit-card span,.register-muted{color:#6B7280}.register-result-card{max-width:760px;margin:40px auto;text-align:left}.register-result-card.ok{border-left:5px solid #0F766E}.register-result-card.warn{border-left:5px solid #F59E0B}.vc-plan-cta{margin-top:18px;width:100%}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.platform-admin-shell .compact-actions{display:flex;gap:8px;flex-wrap:wrap}.platform-admin-shell .mini-input{width:74px!important;min-width:74px!important;padding:7px 9px!important}.trial-info-panel{border-left:5px solid #0F766E}@media(max-width:720px){.register-grid.two{grid-template-columns:1fr}.register-section-head,.register-submit-card{flex-direction:column;align-items:flex-start}.register-submit-card .vc-btn{width:100%}}

/* v0.39 registration offers */
.offer-card .register-code-actions{display:flex;align-items:end;padding-top:1.6rem}.register-offer-box{display:grid;gap:.35rem;margin-top:1rem;padding:1rem 1.15rem;border:1px solid rgba(15,118,110,.18);border-radius:18px;background:#eefcf8;color:#0f2a3d}.register-offer-box strong{font:700 1.05rem Sora,Inter,sans-serif}.register-offer-box p{margin:.25rem 0 0}.success-panel{border-color:rgba(15,118,110,.2);background:#f1fcf9}.copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.mini-input{max-width:5.5rem}

.offer-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.25rem .65rem;background:#0F766E;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.special-offer-plan{border-color:#0F766E!important;background:linear-gradient(135deg,#eefcf8 0%,#ffffff 70%)!important;cursor:default}.special-offer-plan:hover{transform:none}.special-offer-plan .plan-name{font-size:1.35rem}.special-offer-plan .plan-desc{font-weight:600;color:#102A43}.register-offer-box .offer-badge{margin-bottom:.2rem}

/* v0.39.2 MultiRabatt-Angebote */
.offer-multi-panel{border:1px solid #E5EDEB;border-radius:14px;padding:16px;background:#FBFEFD}.offer-multi-panel .t-wrap{margin-top:10px}.offer-multi-panel table input{min-width:90px}.table-check{display:flex!important;align-items:center!important;gap:8px!important;font-weight:600!important}.table-check input{width:auto!important}.register-plan-grid-offer .register-plan-option{position:relative}.plan-old-price{font-size:.82rem;color:#6B7280;text-decoration:line-through}.special-offer-plan input[type=radio]{position:absolute;opacity:.01;pointer-events:none}.special-offer-plan.selected{box-shadow:0 0 0 3px rgba(15,118,110,.18);border-color:#0F766E!important}.special-offer-plan .plan-price{color:#0F766E}.register-offer-box .muted{color:#38546a}

/* v0.40 System-Sicherheitsstatus */
.platform-admin-shell .system-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 18px}.platform-admin-shell .system-tabs a{display:inline-flex;align-items:center;gap:8px;border:1px solid #D4E2DF;border-radius:999px;padding:8px 13px;background:#fff;color:#102A43;font-size:13.5px;font-weight:700;text-decoration:none}.platform-admin-shell .system-tabs a.active{background:#E3F2EF;border-color:#B8DAD5;color:#0F766E}.platform-admin-shell .security-warning-list{display:grid;gap:10px}.platform-admin-shell .security-warning-item{display:grid;grid-template-columns:auto minmax(160px,.35fr) minmax(0,1fr);gap:12px;align-items:center;border:1px solid #E5EDEB;border-radius:12px;padding:12px;background:#FBFFFE}.platform-admin-shell .security-warning-item strong{color:#102A43}.platform-admin-shell .security-warning-item span:last-child{color:#475569}.platform-admin-shell .security-warning-panel{border-left:5px solid #F59E0B}.platform-admin-shell code{background:#EEF2F5;border-radius:6px;padding:2px 5px}
@media(max-width:760px){.platform-admin-shell .security-warning-item{grid-template-columns:1fr}.platform-admin-shell .system-tabs a{width:100%;justify-content:center}}


/* VendCare v0.41.1 – Mobile Ticketliste und Admin-Menü */
body.admin-shell .panel.table-panel,
body.admin-shell .ticket-table-panel {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0;
    -webkit-overflow-scrolling: touch;
}

body.admin-shell .ticket-table {
    min-width: 1160px;
}

body.admin-shell .ticket-actions-cell,
body.admin-shell .ticket-table thead th:last-child {
    min-width: 142px;
}

body.admin-shell .ticket-row-actions {
    width: max-content;
    max-width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

body.admin-shell .ticket-row-actions .inline-form {
    display: inline-flex;
}

@media (max-width: 920px) {
    body.admin-shell .topbar {
        align-items: center;
        justify-content: flex-start;
        flex-direction: row;
        gap: 12px;
    }

    body.admin-shell .topbar-left {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex: 1 1 auto;
        min-width: 0;
    }

    body.admin-shell .burger {
        flex: 0 0 40px;
        margin: 0;
        align-self: center;
    }

    body.admin-shell .crumb {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.admin-shell .topbar-right {
        margin-left: auto;
        flex: 0 0 auto;
    }
}

@media (max-width: 760px) {
    body.admin-shell .ticket-table-panel {
        margin-left: -18px;
        margin-right: -18px;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    body.admin-shell .ticket-table thead th:last-child,
    body.admin-shell .ticket-actions-cell {
        position: sticky;
        right: 0;
        background: #fff;
        box-shadow: -12px 0 18px -18px rgba(16, 42, 67, .45);
    }

    body.admin-shell .ticket-table thead th:last-child {
        z-index: 3;
    }

    body.admin-shell .ticket-actions-cell {
        z-index: 2;
    }

    body.admin-shell .ticket-row-actions {
        width: 112px;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    body.admin-shell .ticket-row-actions .button,
    body.admin-shell .ticket-row-actions button {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 460px) {
    body.admin-shell .topbar {
        padding-left: 12px;
        padding-right: 12px;
    }

    body.admin-shell .topbar-left {
        gap: 10px;
    }
}

/* VendCare v0.41.2 – Mobile Abo-Paketauswahl */
body.admin-shell .subscription-change-form .plan-option {
    position: relative;
}

body.admin-shell .subscription-change-form .plan-option input[type="radio"] {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--petrol);
    transform: none !important;
    z-index: 2;
}

body.admin-shell .subscription-change-form .plan-option-title {
    padding-right: 0;
}

@media (max-width: 620px) {
    body.admin-shell .subscription-change-form .plan-option {
        padding: 18px 18px 18px 54px;
        min-height: auto;
        overflow: visible;
    }

    body.admin-shell .subscription-change-form .plan-option input[type="radio"] {
        top: 21px !important;
        left: 20px !important;
    }

    body.admin-shell .subscription-change-form .plan-option .plan-current-chip {
        max-width: 100%;
        white-space: normal;
        line-height: 1.25;
    }

    body.admin-shell .subscription-change-form .actions-row .btn,
    body.admin-shell .subscription-change-form .actions-row .button,
    body.admin-shell .subscription-change-form .actions-row button {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 920px) {
    body.admin-shell .topbar {
        justify-content: flex-start !important;
    }

    body.admin-shell .topbar-left {
        justify-content: flex-start !important;
        flex: 1 1 auto;
    }

    body.admin-shell .burger {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* VendCare v0.42 – Ticketübersicht und deutsche Formatierung */
body.admin-shell .content {
    max-width: none;
}

body.admin-shell .ticket-filter-panel,
body.admin-shell .ticket-table-panel {
    width: 100%;
}

body.admin-shell .ticket-filter-form {
    grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(150px, 1fr));
}

body.admin-shell .ticket-filter-form .filter-actions {
    align-self: end;
}

body.admin-shell .ticket-table-panel {
    overflow: hidden;
}

body.admin-shell .ticket-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.admin-shell .ticket-table,
body.admin-shell .ticket-table-compact {
    min-width: 980px;
    width: 100%;
    table-layout: auto;
}

body.admin-shell .ticket-table-compact th,
body.admin-shell .ticket-table-compact td {
    padding: 14px 16px;
    vertical-align: middle;
}

body.admin-shell .ticket-table-compact th:nth-child(1) { width: 15%; }
body.admin-shell .ticket-table-compact th:nth-child(2) { width: 11%; }
body.admin-shell .ticket-table-compact th:nth-child(3) { width: 22%; }
body.admin-shell .ticket-table-compact th:nth-child(4) { width: 19%; }
body.admin-shell .ticket-table-compact th:nth-child(5) { width: 12%; }
body.admin-shell .ticket-table-compact th:nth-child(6) { width: 13%; }
body.admin-shell .ticket-table-compact th:nth-child(7) { width: 8%; }

body.admin-shell .ticket-number-link {
    color: var(--navy);
    font-family: 'Sora', Inter, sans-serif;
    font-size: 13.5px;
    font-weight: 800;
    overflow-wrap: anywhere;
    text-decoration: none;
}

body.admin-shell .ticket-number-link:hover {
    color: var(--petrol);
}

body.admin-shell .ticket-number-cell,
body.admin-shell .ticket-message-cell {
    min-width: 0;
}

body.admin-shell .ticket-number-cell .sub2,
body.admin-shell .ticket-message-cell .sub2,
body.admin-shell .ticket-table-compact td .sub2 {
    display: block;
    margin-top: 4px;
    line-height: 1.35;
}

body.admin-shell .ticket-message-cell strong,
body.admin-shell .ticket-table-compact td strong {
    color: var(--navy);
    display: block;
    font-weight: 700;
    line-height: 1.35;
}

body.admin-shell .ticket-actions-cell,
body.admin-shell .ticket-table thead th:last-child {
    min-width: 104px;
}

body.admin-shell .ticket-row-actions {
    width: auto;
    max-width: none;
    flex-wrap: wrap;
    justify-content: flex-start;
}

body.admin-shell .ticket-row-actions .inline-form {
    display: inline-flex;
}

body.admin-shell .ticket-card-list {
    display: none;
}

body.admin-shell .ticket-empty-state {
    margin: 0 20px 22px;
}

@media (max-width: 1180px) {
    body.admin-shell .ticket-filter-form {
        grid-template-columns: repeat(3, minmax(170px, 1fr));
    }
}

@media (max-width: 820px) {
    body.admin-shell .ticket-table-panel {
        margin-left: 0;
        margin-right: 0;
        border-left: 1px solid var(--line);
        border-right: 1px solid var(--line);
        border-radius: var(--r-md);
        overflow: hidden;
    }

    body.admin-shell .ticket-table-wrap {
        display: none;
    }

    body.admin-shell .ticket-card-list {
        display: grid;
        gap: 12px;
        padding: 0 16px 18px;
    }

    body.admin-shell .ticket-card {
        border: 1px solid var(--line);
        border-radius: var(--r-md);
        background: #fff;
        padding: 16px;
        box-shadow: 0 8px 22px -18px rgba(16,42,67,.35);
    }

    body.admin-shell .ticket-card-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 12px;
    }

    body.admin-shell .ticket-card-main {
        display: grid;
        gap: 4px;
        margin-bottom: 14px;
    }

    body.admin-shell .ticket-card-main strong {
        color: var(--navy);
        font-size: 16px;
        line-height: 1.3;
    }

    body.admin-shell .ticket-card-main span {
        color: var(--gray);
        font-size: 13.5px;
    }

    body.admin-shell .ticket-card-meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
        margin: 0;
        padding: 12px 0 0;
        border-top: 1px solid var(--line);
    }

    body.admin-shell .ticket-card-meta div {
        min-width: 0;
    }

    body.admin-shell .ticket-card-meta dt {
        color: var(--gray);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    body.admin-shell .ticket-card-meta dd {
        color: var(--navy);
        font-size: 13.5px;
        font-weight: 700;
        margin: 2px 0 0;
        overflow-wrap: anywhere;
    }

    body.admin-shell .ticket-card-actions {
        display: flex;
        gap: 9px;
        flex-wrap: wrap;
        margin-top: 14px;
    }

    body.admin-shell .ticket-card-actions .button,
    body.admin-shell .ticket-card-actions button {
        flex: 1 1 130px;
        text-align: center;
        justify-content: center;
    }

    body.admin-shell .ticket-table thead th:last-child,
    body.admin-shell .ticket-actions-cell {
        position: static;
        box-shadow: none;
    }
}

@media (max-width: 620px) {
    body.admin-shell .ticket-filter-form {
        grid-template-columns: 1fr;
    }

    body.admin-shell .ticket-table-panel {
        margin-left: -4px;
        margin-right: -4px;
    }

    body.admin-shell .panel-head-row.list-summary-row {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px 16px 0;
    }

    body.admin-shell .panel-head-row.list-summary-row .pagination {
        justify-content: flex-start;
        width: 100%;
    }

    body.admin-shell .ticket-card-meta {
        grid-template-columns: 1fr;
    }
}

/* VendCare v0.42.1 – Ticketübersicht Layout-Hotfix */
body.admin-shell .ticket-table-compact {
    table-layout: fixed;
}

body.admin-shell .ticket-table-compact th,
body.admin-shell .ticket-table-compact td {
    line-height: 1.35;
    word-break: normal;
    overflow-wrap: normal;
}

body.admin-shell .ticket-table-compact th:nth-child(1) { width: 12%; }
body.admin-shell .ticket-table-compact th:nth-child(2) { width: 10%; }
body.admin-shell .ticket-table-compact th:nth-child(3) { width: 23%; }
body.admin-shell .ticket-table-compact th:nth-child(4) { width: 21%; }
body.admin-shell .ticket-table-compact th:nth-child(5) { width: 12%; }
body.admin-shell .ticket-table-compact th:nth-child(6) { width: 12%; }
body.admin-shell .ticket-table-compact th:nth-child(7) { width: 10%; }

body.admin-shell .ticket-primary {
    display: block !important;
    color: var(--navy);
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

body.admin-shell .ticket-meta-line {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 6px;
    margin-top: 5px;
    color: var(--gray);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    min-width: 0;
}

body.admin-shell .ticket-meta-line span {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

body.admin-shell .ticket-separator {
    color: #9AA6B2;
}

body.admin-shell .ticket-message-cell,
body.admin-shell .ticket-machine-cell,
body.admin-shell .ticket-contact-cell,
body.admin-shell .ticket-number-cell {
    min-width: 0;
}

body.admin-shell .ticket-contact-cell .ticket-primary,
body.admin-shell .ticket-date-cell {
    white-space: nowrap;
}

body.admin-shell .ticket-date-cell {
    color: var(--navy);
    font-variant-numeric: tabular-nums;
}

body.admin-shell .ticket-row-actions {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    align-items: center;
}

body.admin-shell .ticket-row-actions .button,
body.admin-shell .ticket-row-actions button {
    white-space: nowrap;
}

@media (max-width: 1120px) {
    body.admin-shell .ticket-table,
    body.admin-shell .ticket-table-compact {
        min-width: 1080px;
    }
}


/* VendCare v0.42.2 – Angebotsduplikate: keine CSS-Aenderung erforderlich */
.platform-admin-shell .cards-4{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.platform-admin-shell .backup-tabs{margin-top:-8px}.platform-admin-shell .backup-profile-grid form{display:grid;gap:14px}.platform-admin-shell .backup-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.platform-admin-shell .backup-check-grid label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#102A43}.platform-admin-shell .backup-check-grid input{width:auto}.platform-admin-shell .metric-card small{display:block;margin-top:5px;color:#6B7280;font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none}.platform-admin-shell .metric-card .badge{display:inline-flex;margin-top:8px}@media(max-width:1100px){.platform-admin-shell .cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.platform-admin-shell .cards-4,.platform-admin-shell .backup-check-grid{grid-template-columns:1fr}}
