body {
    font-family: Arial, sans-serif;
    margin: 0;
    background: #f5f7fb;
    color: #1f2937;
}

nav {
    background: #ffffff;
    padding: 16px 24px;
    border-bottom: 1px solid #e5e7eb;
}

nav a {
    text-decoration: none;
    color: #111827;
    margin-right: 12px;
    font-weight: 600;
}

nav a:hover {
    color: #2563eb;
}

hr {
    display: none;
}

body > h1,
body > p,
body > form,
body > div {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

h1 {
    font-size: 42px;
    margin-top: 40px;
    margin-bottom: 24px;
}

p {
    font-size: 16px;
    line-height: 1.6;
}

form {
    background: #ffffff;
    padding: 24px;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    margin-top: 24px;
}

input {
    width: 100%;
    max-width: 420px;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    font-size: 16px;
    box-sizing: border-box;
}

button {
    background: #2563eb;
    color: #ffffff;
    border: none;
    padding: 12px 18px;
    border-radius: 10px;
    font-size: 15px;
    cursor: pointer;
}

button:hover {
    background: #1d4ed8;
}
.page {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
}

.page.page-wide {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.guest-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

.guest-gallery img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.guest-item {
    position: relative;
    display: inline-block;
}

.delete-button {
    position: absolute;
    top: 6px;
    right: 6px;
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    padding: 4px 7px;
    font-size: 12px;
    border-radius: 6px;
    text-decoration: none;
    line-height: 1;
}

.delete-button:hover {
    background: #dc2626;
}
#upload-progress {
    width: 100%;
    max-width: 420px;
    height: 12px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 12px;
}

#upload-progress-bar {
    width: 0;
    height: 100%;
    background: #2563eb;
    transition: width 0.2s ease;
}
.upload-message {
    margin-top: 16px;
    color: #15803d;
}
#file-list {
    margin-top: 12px;
    margin-bottom: 12px;
    font-size: 14px;
    color: #374151;
}
#lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

#lightbox-content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 90vw;
    max-height: 90vh;
    z-index: 10000;
}

#lightbox img {
    max-width: 95vw;
    max-height: 95vh;
    border-radius: 10px;
    display: block;
    cursor: zoom-in;
}

#lightbox-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.85);
    color: white;
    cursor: pointer;
    font-size: 30px;
    line-height: 1;
    z-index: 10005;
    pointer-events: auto;
}
#lightbox-prev,
#lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 48px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    width: 60px;
    height: 80px;
    cursor: pointer;
    z-index: 10001;
}

#lightbox-prev {
    left: 20px;
}

#lightbox-next {
    right: 20px;
}

#lightbox-prev:hover,
#lightbox-next:hover {
    background: rgba(0,0,0,0.8);
}
#photographer-upload-status {
    margin-top: 12px;
    margin-bottom: 12px;
    color: #15803d;
    font-weight: 600;
}
.page {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================
   SNAVIO UI OPTIMIERUNG V2
   Untergalerien deutlich kleiner
   Originalbilder deutlich größer
   ========================= */

.snavio-folder-grid{
    grid-template-columns:repeat(auto-fill,minmax(110px,1fr)) !important;
    gap:10px !important;
}

.snavio-folder-card{
    border-radius:10px !important;
}

.snavio-folder-thumb{
    aspect-ratio:1 / 0.78 !important;
    font-size:24px !important;
}

.snavio-folder-foot{
    padding:8px 10px !important;
    font-size:12px !important;
    gap:8px !important;
}

.snavio-folder-foot strong,
.snavio-folder-foot span,
.snavio-folder-foot div{
    font-size:12px !important;
    line-height:1.2 !important;
}

/* Bildkarten deutlich größer */
.guest-gallery{
    gap:18px !important;
}

.guest-gallery img{
    width:380px !important;
    height:380px !important;
    max-width:none !important;
    border-radius:14px !important;
    object-fit:cover !important;
}

/* Falls Videos/andere Medien enthalten sind */
.guest-gallery video{
    width:380px !important;
    height:380px !important;
    max-width:none !important;
    border-radius:14px !important;
    object-fit:cover !important;
}

@media (min-width: 1400px) {
    .guest-gallery img,
    .guest-gallery video{
        width:420px !important;
        height:420px !important;
    }
}

@media (max-width: 1100px) {
    .guest-gallery img,
    .guest-gallery video{
        width:280px !important;
        height:280px !important;
    }

    .snavio-folder-grid{
        grid-template-columns:repeat(auto-fill,minmax(100px,1fr)) !important;
    }
}

@media (max-width: 768px) {
    .guest-gallery img,
    .guest-gallery video{
        width:220px !important;
        height:220px !important;
    }

    .snavio-folder-grid{
        grid-template-columns:repeat(auto-fill,minmax(90px,1fr)) !important;
    }
}

/* Paket 596: Snavio UI Foundation – echte Button-Basis ohne pauschales button-Blau */
:root{
  --snavio-primary:#2563eb;
  --snavio-primary-hover:#1d4ed8;
  --snavio-danger:#dc2626;
  --snavio-danger-hover:#b91c1c;
  --snavio-success:#16a34a;
  --snavio-success-hover:#15803d;
  --snavio-surface:#ffffff;
  --snavio-muted-bg:#f8fafc;
  --snavio-border:#d1d5db;
  --snavio-border-soft:#e5e7eb;
  --snavio-text:#111827;
  --snavio-text-muted:#6b7280;
  --snavio-radius-btn:12px;
  --snavio-radius-card:16px;
  --snavio-btn-height:40px;
  --snavio-btn-padding-x:14px;
  --snavio-btn-font-size:13px;
  --snavio-btn-font-weight:700;
}

.btn,
a.btn,
.btn-primary,
.btn-secondary,
.btn-danger,
.btn-success,
.btn-ghost,
.primary-btn,
.secondary-btn,
.danger-btn,
.success-btn,
.head-btn,
.button-link,
.file-picker,
.sidebar-action-button,
.trash-nav-button,
.auth-button,
.admin-finance-small-action,
.admin-finance-reset,
.admin-finance-secondary,
.admin-finance-export-actions a{
  min-height:var(--snavio-btn-height);
  height:auto;
  padding:0 var(--snavio-btn-padding-x);
  border-radius:var(--snavio-radius-btn);
  font-size:var(--snavio-btn-font-size);
  font-weight:var(--snavio-btn-font-weight);
  line-height:1.15;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  box-sizing:border-box;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;
  box-shadow:none;
}

.btn-primary,
.primary-btn,
.auth-button,
.admin-finance-small-action,
.admin-finance-filters button,
.admin-finance-export-actions a:first-child,
.landing-home .btn-primary{
  background:var(--snavio-primary);
  border:1px solid var(--snavio-primary);
  color:#fff;
}
.btn-primary:hover,
.primary-btn:hover,
.auth-button:hover,
.admin-finance-small-action:hover,
.admin-finance-filters button:hover,
.admin-finance-export-actions a:first-child:hover,
.landing-home .btn-primary:hover{
  background:var(--snavio-primary-hover);
  border-color:var(--snavio-primary-hover);
  color:#fff;
}

.btn-secondary,
.secondary-btn,
.head-btn,
.button-link,
.file-picker,
.admin-finance-reset,
.admin-finance-secondary,
.admin-finance-export-actions a,
.sidebar-action-button,
.trash-nav-button,
.landing-home .btn-secondary{
  background:var(--snavio-surface);
  border:1px solid var(--snavio-border);
  color:var(--snavio-text);
}
.btn-secondary:hover,
.secondary-btn:hover,
.head-btn:hover,
.button-link:hover,
.file-picker:hover,
.admin-finance-reset:hover,
.admin-finance-secondary:hover,
.admin-finance-export-actions a:hover,
.sidebar-action-button:hover,
.trash-nav-button:hover,
.landing-home .btn-secondary:hover{
  background:var(--snavio-muted-bg);
  border-color:#cbd5e1;
  color:var(--snavio-text);
}

.btn-danger,
.danger-btn,
button.danger,
button[data-action="delete"],
.delete-button,
.image-action-link.danger,
.image-action-link.delete,
.image-action-link[data-action="delete"],
.image-action-delete,
.trash-small-action.danger,
.snavio-lightbox-action-btn.danger{
  background:var(--snavio-danger);
  border:1px solid var(--snavio-danger);
  color:#fff;
}
.btn-danger:hover,
.danger-btn:hover,
button.danger:hover,
button[data-action="delete"]:hover,
.delete-button:hover,
.image-action-link.danger:hover,
.image-action-link.delete:hover,
.image-action-link[data-action="delete"]:hover,
.image-action-delete:hover,
.trash-small-action.danger:hover,
.snavio-lightbox-action-btn.danger:hover{
  background:var(--snavio-danger-hover);
  border-color:var(--snavio-danger-hover);
  color:#fff;
}

.btn-success,
.success-btn,
button.success{
  background:var(--snavio-success);
  border:1px solid var(--snavio-success);
  color:#fff;
}
.btn-success:hover,
.success-btn:hover,
button.success:hover{
  background:var(--snavio-success-hover);
  border-color:var(--snavio-success-hover);
  color:#fff;
}

.btn-ghost,
.image-flag-trigger,
.image-actions-trigger,
summary.image-actions-trigger,
summary.image-flag-trigger{
  background:rgba(255,255,255,.94);
  border:1px solid var(--snavio-border-soft);
  color:var(--snavio-text);
}

.image-actions-flyout,
.image-flag-flyout,
.eventprofis-message-menu-panel,
.customer-message-menu-panel,
.customer-conversation-menu-panel,
.eventprofis-room-menu-panel{
  border-radius:14px;
  border:1px solid var(--snavio-border-soft);
  background:#fff;
  box-shadow:0 16px 42px rgba(15,23,42,.16);
  padding:8px;
  z-index:2147482000;
}

.image-action-link,
.image-actions-flyout button,
.image-actions-flyout a,
.eventprofis-message-menu-panel button,
.eventprofis-message-menu-panel a,
.customer-message-menu-panel button,
.customer-message-menu-panel a,
.customer-conversation-menu-panel button,
.customer-conversation-menu-panel a,
.eventprofis-room-menu-panel button,
.eventprofis-room-menu-panel a{
  width:100%;
  min-height:36px;
  padding:0 10px;
  border-radius:10px;
  border:1px solid transparent;
  background:#fff;
  color:var(--snavio-text);
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  font-size:13px;
  font-weight:700;
  line-height:1.15;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
}
.image-action-link:hover,
.image-actions-flyout button:hover,
.image-actions-flyout a:hover,
.eventprofis-message-menu-panel button:hover,
.eventprofis-message-menu-panel a:hover,
.customer-message-menu-panel button:hover,
.customer-message-menu-panel a:hover,
.customer-conversation-menu-panel button:hover,
.customer-conversation-menu-panel a:hover,
.eventprofis-room-menu-panel button:hover,
.eventprofis-room-menu-panel a:hover{
  background:var(--snavio-muted-bg);
  color:var(--snavio-text);
}

.card,
.main-card,
.sidebar-card,
.upload-card,
.guest-item,
.admin-finance-panel,
.admin-finance-ledger-panel,
.admin-finance-export-panel,
.admin-finance-hero{
  border-radius:var(--snavio-radius-card);
  border:1px solid var(--snavio-border-soft);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}

summary,
.image-flag-trigger,
.image-actions-trigger{cursor:pointer;}
.image-flag-trigger,
.image-actions-trigger{
  width:30px;
  height:30px;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(15,23,42,.10);
}

@media(max-width:700px){
  .btn,
  .primary-btn,
  .secondary-btn,
  .head-btn,
  .button-link,
  .file-picker{min-height:42px;}
}


/* 598: Structural fallback - inner elements inside button-like controls must not create a second button surface. */
:is(.btn,.primary-btn,.secondary-btn,.settings-save-btn,.settings-soft-action,.settings-danger-btn,.contract-btn,.customer-btn,.admin-primary-btn,.legal-btn,.button-link,.file-picker,.head-btn,.sidebar-action-button,.trash-nav-button) :is(span,strong,small,em,svg){
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  color:inherit;
}

/* 717: Zentraler dezenter Hover-Zoom für Galerie- und Portfolio-Bilder ohne Farbwechsel */
:is(.guest-item,.gallery-item,.gallery-card,.snavio-gallery-card,.snavio-photo-card,.profi-portfolio-thumb,.eventprofis-preview-gallery-item,.market-card-image){background:#fff!important;overflow:hidden;}
:is(.guest-item,.gallery-item,.gallery-card,.snavio-gallery-card,.snavio-photo-card,.profi-portfolio-thumb,.eventprofis-preview-gallery-item,.market-card-image) img,
:is(.guest-item,.gallery-item,.gallery-card,.snavio-gallery-card,.snavio-photo-card,.profi-portfolio-thumb,.eventprofis-preview-gallery-item,.market-card-image) video{transition:transform .32s ease!important;will-change:transform;transform-origin:center center;}
:is(.guest-item,.gallery-item,.gallery-card,.snavio-gallery-card,.snavio-photo-card,.profi-portfolio-thumb,.eventprofis-preview-gallery-item,.market-card-image):hover img,
:is(.guest-item,.gallery-item,.gallery-card,.snavio-gallery-card,.snavio-photo-card,.profi-portfolio-thumb,.eventprofis-preview-gallery-item,.market-card-image):hover video{transform:scale(1.018);}



/* 734: PWA-App-Modus Vorbereitung */
.snavio-pwa-install-card{display:none;margin:14px 0;padding:14px 16px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.06);gap:12px;align-items:center;justify-content:space-between;}
html.snavio-pwa-installable .snavio-pwa-install-card{display:flex;}
.snavio-pwa-install-card strong{display:block;font-size:14px;color:#111827;}
.snavio-pwa-install-card span{display:block;font-size:12px;color:#6b7280;line-height:1.4;margin-top:2px;}
.snavio-pwa-install-card button{border:0;border-radius:12px;background:#111827;color:#fff;font-weight:800;padding:10px 13px;white-space:nowrap;cursor:pointer;}
html.snavio-pwa-standalone .app-topbar-wrap{padding-top:max(env(safe-area-inset-top),0px);}
html.snavio-pwa-standalone body{overscroll-behavior-y:none;}
@media (max-width:640px){.snavio-pwa-install-card{align-items:flex-start;flex-direction:column}.snavio-pwa-install-card button{width:100%;}}

/* 735: sichtbarer PWA-App-Modus-Hinweis für iPhone/Android */
.snavio-pwa-install-card{display:none;margin:12px 0 16px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.08);gap:12px;align-items:center;justify-content:space-between;}
html.snavio-pwa-installable .snavio-pwa-install-card,html.snavio-pwa-ios-installable .snavio-pwa-install-card{display:flex;}
.snavio-pwa-install-card strong{display:block;font-size:14px;color:#111827;}
.snavio-pwa-install-card span{display:block;font-size:12px;color:#6b7280;line-height:1.4;margin-top:2px;}
.snavio-pwa-install-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.snavio-pwa-install-main{border:0;border-radius:12px;background:#111827;color:#fff;font-weight:800;padding:10px 13px;white-space:nowrap;cursor:pointer;}
.snavio-pwa-install-close{width:34px;height:34px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#6b7280;font-size:20px;line-height:1;cursor:pointer;}
html.snavio-pwa-standalone body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);}
html.snavio-pwa-standalone .snavio-pwa-install-card{display:none!important;}
@media (max-width:640px){.snavio-pwa-install-card{align-items:flex-start;flex-direction:column}.snavio-pwa-install-actions{width:100%;}.snavio-pwa-install-main{flex:1}.snavio-pwa-install-close{flex:0 0 42px;height:38px;}}


/* 736: PWA-App-Startseite und ruhiger App-Modus */
.snavio-app-home{max-width:1120px;margin:0 auto;padding:22px 18px 42px;}
.snavio-app-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.07);}
.snavio-app-hero{padding:28px;}
.snavio-app-kicker{display:inline-flex;align-items:center;border-radius:999px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:800;padding:7px 11px;margin-bottom:12px;}
.snavio-app-hero h1{margin:0 0 8px;font-size:clamp(28px,4vw,46px);line-height:1.04;color:#111827;letter-spacing:-.04em;}
.snavio-app-hero p{margin:0;max-width:720px;color:#4b5563;font-size:16px;line-height:1.6;}
.snavio-app-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.snavio-app-primary,.snavio-app-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:14px;padding:0 16px;font-weight:850;text-decoration:none;}
.snavio-app-primary{background:#111827;color:#fff;}
.snavio-app-secondary{background:#f3f4f6;color:#111827;}
.snavio-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.snavio-app-tile{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:16px;text-decoration:none;color:#111827;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.snavio-app-tile:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(15,23,42,.08);border-color:#d1d5db;}
.snavio-app-tile strong{display:block;font-size:15px;margin-bottom:6px;}
.snavio-app-tile span{display:block;color:#6b7280;font-size:13px;line-height:1.45;}
.snavio-app-offline-note{margin-top:14px;padding:16px 18px;display:flex;gap:8px;flex-direction:column;}
.snavio-app-offline-note strong{color:#111827;font-size:14px;}
.snavio-app-offline-note span{color:#6b7280;font-size:13px;line-height:1.5;}
html.snavio-pwa-standalone a,html.snavio-pwa-standalone button{-webkit-tap-highlight-color:transparent;}
@media (max-width:900px){.snavio-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.snavio-app-hero{padding:22px;}}
@media (max-width:560px){.snavio-app-home{padding:14px 12px 28px;}.snavio-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.snavio-app-actions a{width:100%;}.snavio-app-hero h1{font-size:32px;}}


/* 738: PWA Install-Hinweis mobil sichtbar, nicht schwarz, nicht dauerhaft versteckt */
.snavio-pwa-install-card{
    display:none;
    position:relative;
    z-index:2147481500;
    margin:14px auto 16px;
    max-width:1180px;
    box-sizing:border-box;
    padding:14px 16px;
    border:1px solid rgba(37,99,235,.20);
    border-radius:20px;
    background:#ffffff;
    box-shadow:0 18px 46px rgba(15,23,42,.14);
    gap:12px;
    align-items:center;
    justify-content:space-between;
}
html.snavio-pwa-installable .snavio-pwa-install-card,
html.snavio-pwa-ios-installable .snavio-pwa-install-card{display:flex!important;}
.snavio-pwa-install-card strong{display:block;font-size:15px;color:#0f172a;font-weight:900;}
.snavio-pwa-install-card span{display:block;font-size:13px;color:#475569;line-height:1.45;margin-top:3px;}
.snavio-pwa-install-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.snavio-pwa-install-main,
.snavio-pwa-install-card button.snavio-pwa-install-main{
    border:0!important;
    border-radius:14px!important;
    background:#2563eb!important;
    color:#ffffff!important;
    font-weight:900!important;
    padding:11px 15px!important;
    white-space:nowrap!important;
    cursor:pointer!important;
    box-shadow:0 12px 26px rgba(37,99,235,.22)!important;
}
.snavio-pwa-install-close,
.snavio-pwa-install-card button.snavio-pwa-install-close{
    width:38px!important;
    height:38px!important;
    border:1px solid #dbe3ef!important;
    border-radius:14px!important;
    background:#ffffff!important;
    color:#334155!important;
    font-size:22px!important;
    line-height:1!important;
    cursor:pointer!important;
    box-shadow:none!important;
}
.snavio-pwa-install-help{
    border:1px solid #dbeafe!important;
    border-radius:14px!important;
    background:#eff6ff!important;
    color:#1d4ed8!important;
    font-weight:900!important;
    padding:11px 13px!important;
    white-space:nowrap!important;
    cursor:pointer!important;
}
body.public-home .snavio-pwa-install-card{
    margin:0 24px 18px;
    max-width:none;
}
@media (max-width:760px){
    body.public-home .snavio-pwa-install-card{margin:10px 16px 14px;}
    .snavio-pwa-install-card{align-items:flex-start;flex-direction:column;padding:13px 14px;}
    .snavio-pwa-install-actions{width:100%;}
    .snavio-pwa-install-main{flex:1;min-height:42px;}
    .snavio-pwa-install-help{flex:1;min-height:42px;}
    .snavio-pwa-install-close{flex:0 0 42px;height:42px!important;}
}
/* Mobile-Menü/CTA: keine schwarzen unlesbaren Buttons */
body.public-home .public-home-nav a,
body.public-home .guest-nav a,
body.public-home .public-home-nav .login-btn,
body.public-home .guest-nav .login-btn{
    color:#0f172a!important;
}
body.public-home .public-home-nav .login-btn,
body.public-home .guest-nav .login-btn,
body.public-home .public-home-nav a[href*="login"],
body.public-home .guest-nav a[href*="login"]{
    background:#2563eb!important;
    color:#ffffff!important;
    border-color:#2563eb!important;
}
html.snavio-pwa-standalone .snavio-pwa-install-card{display:none!important;}


/* 740: PWA rollenbasierter App-Start */
.snavio-app-home-role-provider .snavio-app-hero{background:linear-gradient(135deg,#ffffff,#f8fafc);}
.snavio-app-home-role-provider .snavio-app-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.snavio-app-home-role-provider .snavio-app-tile{min-height:92px;}
html.snavio-pwa-standalone .snavio-app-home{padding-bottom:110px;}
html.snavio-pwa-standalone .snavio-app-hero{margin-top:0;}
@media (max-width:900px){.snavio-app-home-role-provider .snavio-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.snavio-app-home-role-provider .snavio-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.snavio-app-actions{display:grid;grid-template-columns:1fr;}.snavio-app-primary,.snavio-app-secondary{width:100%;box-sizing:border-box;}}

/* 744: global admin button contrast */
/* 855: alte pauschale Admin-Kontrastregel deaktiviert; zentrale Regeln liegen im Layout. */

/* 809: App-Startseite als App-Symbol-Kacheln, reine Layout-Änderung ohne neue Navigation/JS */
.snavio-app-home{
    max-width:1140px;
}
.snavio-app-home-role-provider .snavio-app-hero,
.snavio-app-home-role-customer .snavio-app-hero,
.snavio-app-home-role-public .snavio-app-hero{
    border-color:rgba(99,102,241,.18);
    background:
        radial-gradient(circle at 12% 18%,rgba(96,165,250,.22),transparent 34%),
        radial-gradient(circle at 92% 12%,rgba(168,85,247,.18),transparent 28%),
        linear-gradient(135deg,#ffffff 0%,#f8fbff 54%,#f3f0ff 100%);
}
.snavio-app-home-role-admin .snavio-app-hero{
    border-color:rgba(37,99,235,.16);
    background:linear-gradient(135deg,#ffffff 0%,#eff6ff 58%,#f8fafc 100%);
}
.snavio-app-kicker{
    background:rgba(37,99,235,.10);
    color:#1d4ed8;
    border:1px solid rgba(37,99,235,.14);
}
.snavio-app-grid,
.snavio-app-home-role-provider .snavio-app-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
}
.snavio-app-tile{
    position:relative;
    overflow:hidden;
    min-height:142px!important;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:14px;
    padding:16px;
    border-radius:28px;
    border:1px solid rgba(148,163,184,.22);
    background:
        radial-gradient(circle at 82% 10%,rgba(255,255,255,.98),transparent 28%),
        linear-gradient(145deg,#ffffff 0%,#f8fbff 100%);
    box-shadow:0 18px 44px rgba(15,23,42,.07);
}
.snavio-app-tile::after{
    content:"";
    position:absolute;
    inset:auto -34px -46px auto;
    width:112px;
    height:112px;
    border-radius:999px;
    background:rgba(37,99,235,.08);
    pointer-events:none;
}
.snavio-app-tile:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 55px rgba(37,99,235,.13);
    border-color:rgba(99,102,241,.28);
}
.snavio-app-icon{
    width:56px;
    height:56px;
    border-radius:18px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:#ffffff!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-.03em;
    background:linear-gradient(135deg,#2563eb 0%,#6366f1 52%,#a855f7 100%);
    box-shadow:0 14px 30px rgba(79,70,229,.24);
}
.snavio-app-copy{
    display:block!important;
    position:relative;
    z-index:1;
}
.snavio-app-tile strong{
    font-size:15px;
    margin-bottom:5px;
    letter-spacing:-.01em;
    color:#0f172a;
}
.snavio-app-tile .snavio-app-copy > span{
    color:#64748b;
    font-size:12.5px;
    line-height:1.4;
}
.snavio-app-grid .snavio-app-tile:nth-child(4n+1) .snavio-app-icon{background:linear-gradient(135deg,#2563eb,#06b6d4);}
.snavio-app-grid .snavio-app-tile:nth-child(4n+2) .snavio-app-icon{background:linear-gradient(135deg,#7c3aed,#ec4899);}
.snavio-app-grid .snavio-app-tile:nth-child(4n+3) .snavio-app-icon{background:linear-gradient(135deg,#0ea5e9,#6366f1);}
.snavio-app-grid .snavio-app-tile:nth-child(4n+4) .snavio-app-icon{background:linear-gradient(135deg,#14b8a6,#2563eb);}
.snavio-app-offline-note{
    border-color:rgba(37,99,235,.12);
    background:#ffffff;
}
@media (max-width:980px){
    .snavio-app-grid,
    .snavio-app-home-role-provider .snavio-app-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:720px){
    .snavio-app-home{padding:14px 12px 118px;}
    .snavio-app-hero{padding:20px;border-radius:26px;}
    .snavio-app-hero h1{font-size:30px;}
    .snavio-app-hero p{font-size:14px;line-height:1.5;}
    .snavio-app-grid,
    .snavio-app-home-role-provider .snavio-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .snavio-app-tile{min-height:136px!important;border-radius:24px;padding:14px;}
    .snavio-app-icon{width:50px;height:50px;border-radius:16px;font-size:14px!important;}
    .snavio-app-tile strong{font-size:14px;}
    .snavio-app-tile .snavio-app-copy > span{font-size:12px;}
}
@media (max-width:380px){
    .snavio-app-grid,
    .snavio-app-home-role-provider .snavio-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .snavio-app-tile{min-height:112px!important;}
}

/* 812 final cache-safe app tile override */
@media(max-width:720px){.snavio-app-home .snavio-app-grid,.snavio-app-home .snavio-app-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.snavio-app-home .snavio-app-tile{display:flex!important;flex-direction:column!important;text-align:center!important;align-items:center!important}}
