:root {
  --bg: #f6f9f7;
  --bg-soft: #eef6f2;
  --surface: #ffffff;
  --surface-2: #fbfdfc;
  --text: #0b2331;
  --muted: #667881;
  --line: #dfe8e3;
  --line-strong: #cedbd5;
  --green: #0e9f6e;
  --green-dark: #087c56;
  --green-soft: #e9f7f1;
  --blue-soft: #edf4ff;
  --orange-soft: #fff4e9;
  --sand-soft: #fff6e7;
  --danger: #c95050;
  --shadow: 0 18px 50px rgba(21, 58, 45, .08);
  --shadow-sm: 0 8px 28px rgba(21, 58, 45, .07);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: var(--bg);
  font: 16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::selection { background: #b9ead7; }
a { color: inherit; }
button, input, select { font: inherit; }
button, .button { cursor: pointer; }
svg.icon { width: 1.08em; height: 1.08em; flex: 0 0 auto; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.shell { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(213,225,219,.85);
  backdrop-filter: blur(14px);
}
.nav-wrap { min-height: 74px; display: flex; align-items: center; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 1.18rem; font-weight: 850; letter-spacing: -.035em; flex: 0 0 auto; }
.brand-word { white-space: nowrap; }
.logo-mark { width: 28px; height: 34px; position: relative; display: inline-block; transform: rotate(2deg); }
.logo-mark::before { content: ""; position: absolute; inset: 2px 4px 4px 3px; background: var(--green); border-radius: 65% 35% 68% 32% / 60% 34% 66% 40%; transform: rotate(35deg); }
.logo-mark::after { content: ""; position: absolute; width: 9px; height: 9px; right: 1px; bottom: 3px; border-radius: 50%; background: #a8df80; border: 3px solid white; }
.logo-mark span { position: absolute; width: 10px; height: 6px; border-left: 2px solid rgba(255,255,255,.85); border-bottom: 2px solid rgba(255,255,255,.85); left: 9px; top: 15px; transform: rotate(-20deg); z-index: 2; }
.main-nav { flex: 1; display: flex; align-items: center; gap: 4px; min-width: 0; }
.main-nav a { text-decoration: none; color: #263b45; padding: 10px 11px; border-radius: 10px; font-size: .91rem; font-weight: 650; white-space: nowrap; }
.main-nav a:hover, .main-nav a.active { color: var(--green-dark); background: var(--green-soft); }
.nav-spacer { flex: 1; }
.nav-login { border: 1px solid var(--line-strong); display: inline-flex; align-items: center; gap: 7px; }
.main-nav .nav-cta { color: white; padding: 0 17px; }
.main-nav .nav-cta:hover { color: white; background: var(--green-dark); }
.profile-pill { display: inline-flex; align-items: center; gap: 10px; padding-left: 10px; }
.profile-pill > span:last-child { display: grid; line-height: 1.15; }
.profile-pill strong { font-size: .87rem; }
.profile-pill small { color: var(--muted); font-size: .72rem; margin-top: 3px; }
.nav-toggle { display: none; margin-left: auto; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: white; align-items: center; justify-content: center; }
.nav-toggle svg { width: 21px; height: 21px; }
.nav-toggle-close { display: none; }
.nav-toggle.open .nav-toggle-open { display: none; }
.nav-toggle.open .nav-toggle-close { display: inline-flex; }

/* Buttons */
.button { min-height: 48px; padding: 0 18px; border-radius: 11px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 9px; text-decoration: none; font-weight: 760; transition: .18s ease; }
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--green); color: white; box-shadow: 0 8px 20px rgba(14,159,110,.18); }
.button.primary:hover { background: var(--green-dark); }
.button.secondary { background: white; border-color: var(--line-strong); color: var(--text); }
.button.secondary:hover { border-color: #9fb9ad; background: #fbfdfc; }
.button.light { background: white; color: var(--green-dark); }
.button.small { min-height: 39px; padding: 0 13px; border-radius: 10px; font-size: .9rem; }
.icon-button { width: 38px; height: 38px; border-radius: 10px; border: 0; background: var(--green); color: white; display: grid; place-items: center; }

/* Landing */
.hero-home { background: #fff; border-bottom: 1px solid var(--line); }
.hero-home-grid { min-height: 620px; display: grid; grid-template-columns: 1.03fr .97fr; align-items: stretch; }
.hero-copy { padding: 82px 48px 78px 4px; align-self: center; }
.soft-pill { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: .78rem; font-weight: 760; }
.soft-pill.inverse { background: rgba(255,255,255,.14); color: white; }
.hero-copy h1 { margin: 20px 0 18px; font-size: clamp(3.1rem, 6vw, 5.6rem); line-height: .98; letter-spacing: -.062em; max-width: 9.3ch; }
.lead { margin: 0; max-width: 59ch; color: #4d626c; font-size: clamp(1.04rem, 1.7vw, 1.22rem); }
.hero-benefits { list-style: none; padding: 0; margin: 24px 0 26px; display: grid; gap: 9px; }
.hero-benefits li { display: flex; align-items: center; gap: 9px; color: #52676f; font-size: .95rem; }
.hero-benefits svg { color: var(--green); stroke-width: 2.4; }
.hero-search { max-width: 630px; min-height: 62px; display: flex; align-items: center; gap: 5px; padding: 6px; border: 1px solid var(--line-strong); border-radius: 13px; background: white; box-shadow: var(--shadow-sm); }
.hero-search-icon { display: grid; place-items: center; color: #5d747d; padding-left: 10px; }
.hero-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--text); font-size: .97rem; padding: 0 5px; }
.hero-search .button { min-height: 49px; }
.hero-visual { min-height: 620px; position: relative; overflow: hidden; background: #f0eee7; }
.hero-visual::after { content: ""; position: absolute; inset: auto 0 0 0; height: 28%; background: rgba(218,225,210,.55); }
.hero-note { position: absolute; left: 28px; top: 90px; z-index: 5; font-family: Georgia, serif; font-style: italic; color: #31525a; font-size: 1.18rem; line-height: 1.35; transform: rotate(-7deg); }
.note-arrow { display: block; font-size: 2.2rem; margin: 5px 0 0 54px; }
.laundry-art { position: absolute; inset: 0; }
.wash-bubble { position: absolute; border-radius: 50%; background: rgba(255,255,255,.72); }
.bubble-a { width: 220px; height: 220px; top: 52px; right: 34px; }
.bubble-b { width: 120px; height: 120px; bottom: 96px; left: 34px; }
.basket { position: absolute; width: 330px; height: 300px; right: 54px; bottom: 52px; z-index: 3; }
.towel { position: absolute; left: 24px; width: 276px; height: 58px; border-radius: 18px 18px 12px 12px; box-shadow: 0 12px 18px rgba(72,74,61,.08); transform-origin: center; }
.towel::before { content: ""; position: absolute; inset: 15px 23px auto; height: 2px; background: rgba(255,255,255,.42); border-radius: 2px; }
.towel-1 { bottom: 112px; background: #ede8dc; transform: rotate(2deg); }
.towel-2 { bottom: 159px; background: #b5c9b5; transform: rotate(-2deg); }
.towel-3 { bottom: 205px; background: #f8f4ed; transform: rotate(1deg); }
.towel-4 { bottom: 248px; background: #718c79; transform: rotate(-1deg); }
.basket-body { position: absolute; bottom: 0; left: 0; width: 330px; height: 132px; border-radius: 22px 22px 54px 54px; background: #d6a96e; box-shadow: 0 24px 40px rgba(93,72,45,.18); display: flex; justify-content: center; gap: 35px; overflow: hidden; }
.basket-body::before { content: ""; position: absolute; width: 250px; height: 82px; left: 40px; top: -31px; border: 15px solid #c7945d; border-bottom: 0; border-radius: 120px 120px 0 0; }
.basket-body span { width: 5px; height: 120px; background: rgba(255,255,255,.18); transform: rotate(12deg); margin-top: 14px; }
.washer-illustration { position: absolute; width: 192px; height: 225px; left: 56px; bottom: 28px; z-index: 2; border-radius: 18px; background: #fdfdfc; border: 1px solid #dde3de; box-shadow: 0 18px 35px rgba(57,74,65,.13); }
.washer-controls { height: 48px; border-bottom: 1px solid #e4e9e5; display: flex; align-items: center; gap: 8px; padding: 0 15px; }
.washer-controls i { width: 10px; height: 10px; border-radius: 50%; background: #b9c8c0; }
.washer-window { width: 118px; height: 118px; border: 10px solid #dfe8e5; border-radius: 50%; margin: 28px auto 0; background: #cfe6e4; display: grid; place-items: center; }
.washer-window span { width: 72px; height: 50px; background: #8abeb9; border-radius: 60% 45% 55% 40%; transform: rotate(-16deg); }
.round-badge { position: absolute; z-index: 7; right: 18px; bottom: 68px; width: 128px; height: 128px; border-radius: 50%; background: white; box-shadow: 0 15px 40px rgba(42,74,61,.16); display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--green-dark); line-height: 1.2; font-size: .83rem; }
.round-badge strong { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 4px; }
.process-strip { position: relative; z-index: 10; margin-top: -58px; padding-bottom: 26px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.process-strip article { min-height: 104px; display: flex; align-items: center; gap: 14px; background: white; border: 1px solid var(--line); border-radius: 15px; padding: 18px; box-shadow: var(--shadow-sm); }
.process-strip article > div { display: grid; }
.process-strip strong { font-size: .95rem; }
.process-strip small { color: var(--muted); margin-top: 4px; font-size: .78rem; }
.process-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; }
.process-icon svg { width: 23px; height: 23px; }
.process-icon.blue { background: var(--blue-soft); color: #3178d5; }
.process-icon.green { background: var(--green-soft); color: var(--green); }
.process-icon.mint { background: #e7f9f4; color: #0caa8b; }
.process-icon.sand { background: var(--sand-soft); color: #d99a39; }

.section { padding: 88px 0; }
.section-soft { background: var(--bg); }
.section-kicker { color: var(--green-dark); font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 850; }
.section-head.modern { margin-top: 8px; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.section-head.modern h2, .partner-cta h2, .faq-wrap h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.045em; line-height: 1.05; }
.section-head.modern p, .faq-wrap p { color: var(--muted); margin: 10px 0 0; max-width: 58ch; }
.text-link { color: var(--green-dark); text-decoration: none; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.feature-grid { margin-top: 32px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 25px; box-shadow: var(--shadow-sm); }
.feature-card > span { width: 46px; height: 46px; border-radius: 13px; background: var(--green-soft); color: var(--green-dark); display: grid; place-items: center; }
.feature-card h3 { margin: 18px 0 8px; font-size: 1.12rem; }
.feature-card p { margin: 0; color: var(--muted); font-size: .93rem; }
.partner-cta { padding-top: 0; background: var(--bg); }
.partner-cta-card { min-height: 360px; padding: 54px; border-radius: var(--radius-xl); background: #0d8f65; color: white; display: grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: center; overflow: hidden; position: relative; }
.partner-cta-card::after { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; right: -140px; top: -180px; border: 70px solid rgba(255,255,255,.08); }
.partner-cta-card p { color: rgba(255,255,255,.82); max-width: 55ch; margin: 14px 0 24px; }
.partner-preview { position: relative; z-index: 2; background: white; color: var(--text); border-radius: 20px; padding: 20px; box-shadow: 0 25px 55px rgba(4,63,44,.18); transform: rotate(1deg); }
.preview-top { display: flex; align-items: center; gap: 12px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.preview-top > div { display: grid; }
.preview-top small { color: var(--muted); }
.preview-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 15px; }
.preview-kpis span { padding: 14px; border-radius: 12px; background: var(--bg); color: var(--muted); font-size: .75rem; display: grid; }
.preview-kpis b { color: var(--text); font-size: 1.25rem; }
.faq-wrap { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); padding: 0; }
summary { cursor: pointer; padding: 20px 0; font-weight: 770; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
summary::after { content: "+"; color: var(--green); font-size: 1.25rem; }
details[open] summary::after { content: "–"; }
details p { padding: 0 0 20px; margin: 0; color: var(--muted); }

/* Generic app */
.app-section { min-height: calc(100vh - 74px); padding: 46px 0 78px; background: #f8faf9; }
.app-shell { max-width: 1180px; }
.app-title { margin: 32px 0 24px; }
.app-title .app-heading { margin-top: 7px; }
.app-title p, .dashboard-heading p, .tracking-head p { margin: 7px 0 0; color: var(--muted); }
.app-heading { margin: 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.06; letter-spacing: -.045em; }
.split-title, .dashboard-heading, .tracking-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.booking-steps { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 760px; margin: 0 auto 28px; position: relative; }
.booking-steps::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 16px; height: 2px; background: var(--line); }
.booking-step { position: relative; z-index: 1; display: grid; place-items: center; gap: 7px; color: #9aa7ad; }
.booking-step > span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #e9eeeb; border: 4px solid #f8faf9; font-size: .78rem; font-weight: 800; }
.booking-step.active { color: var(--text); }
.booking-step.active > span { background: #d9e4df; color: #64766f; }
.booking-step.complete > span, .booking-step.active:first-child > span { background: var(--green); color: white; }
.booking-step small { font-size: .78rem; font-weight: 700; }
.booking-step.complete small, .booking-step.active:first-child small { color: var(--green-dark); }
.booking-card, .provider-list-card, .order-summary-card, .status-track-card, .current-status-card, .detail-card, .partner-contact-card, .dashboard-panel, .calendar-card, .admin-info-grid article, .empty-state { background: white; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.booking-card { padding: 30px; }
.choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice label { min-height: 126px; border: 1px solid var(--line); border-radius: 14px; padding: 15px; display: flex; flex-direction: column; gap: 3px; cursor: pointer; background: white; transition: .18s ease; }
.choice label:hover { border-color: #a9c7ba; }
.choice input:checked + label { border-color: var(--green); background: #f2fbf7; box-shadow: inset 0 0 0 1px var(--green); }
.choice-icon { width: 34px; height: 34px; border-radius: 9px; background: #f2f6f4; color: #51666d; display: grid; place-items: center; margin-bottom: 8px; }
.choice input:checked + label .choice-icon { background: var(--green-soft); color: var(--green-dark); }
.choice strong { font-size: .9rem; }
.choice small { color: var(--muted); font-size: .75rem; line-height: 1.35; }
.booking-form-grid { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.35fr; gap: 24px 34px; }
.field { display: grid; gap: 9px; }
.field label, .tip-form label { font-size: .86rem; font-weight: 750; }
.input-with-icon { min-height: 48px; border: 1px solid var(--line-strong); border-radius: 11px; background: white; display: flex; align-items: center; gap: 8px; padding: 0 12px; }
.input-with-icon > svg { color: #82958d; }
.input-with-icon input, .input-with-icon select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); height: 44px; }
.range-field label { display: flex; justify-content: space-between; gap: 12px; }
.range-field label strong { color: var(--text); }
input[type="range"] { width: 100%; accent-color: var(--green); }
.range-scale { display: flex; justify-content: space-between; color: #95a39d; font-size: .72rem; margin-top: -2px; }
.option-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-self: end; }
.switch-card { min-height: 84px; border: 1px solid var(--line); border-radius: 13px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; }
.switch-card > span { display: grid; }
.switch-card strong { font-size: .83rem; }
.switch-card small { color: var(--muted); font-size: .72rem; margin-top: 4px; line-height: 1.3; }
.switch-card input { position: absolute; opacity: 0; pointer-events: none; }
.switch-card i { width: 36px; height: 21px; border-radius: 999px; background: #d8e0dc; position: relative; flex: 0 0 auto; transition: .18s; }
.switch-card i::after { content: ""; position: absolute; width: 17px; height: 17px; left: 2px; top: 2px; background: white; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.18); transition: .18s; }
.switch-card input:checked + i { background: var(--green); }
.switch-card input:checked + i::after { transform: translateX(15px); }
.booking-actions { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.privacy-note { color: var(--muted); display: inline-flex; align-items: center; gap: 7px; font-size: .78rem; }
.privacy-note svg { color: var(--green); }

/* Provider list */
.provider-layout { display: grid; grid-template-columns: 1fr 305px; gap: 22px; align-items: start; }
.provider-list-card { overflow: hidden; }
.list-toolbar { min-height: 74px; padding: 16px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.list-toolbar > span { display: grid; }
.list-toolbar small { color: var(--muted); margin-top: 2px; }
.view-toggle { display: flex; background: #f1f5f3; border-radius: 10px; padding: 3px; }
.view-toggle button { border: 0; background: transparent; border-radius: 8px; padding: 7px 12px; color: #6a7a74; font-weight: 700; font-size: .78rem; }
.view-toggle button.active { background: var(--green); color: white; }
.providers { display: grid; }
.provider { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.provider:last-child { border-bottom: 0; }
.avatar { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; font-weight: 850; letter-spacing: -.03em; color: #38554b; background: #d6e7df; border: 3px solid white; box-shadow: 0 0 0 1px var(--line); }
.avatar.small { width: 34px; height: 34px; font-size: .72rem; border-width: 2px; }
.avatar-1 { background: #f1d7ce; color: #785347; }
.avatar-2 { background: #d7e5ee; color: #466271; }
.avatar-3 { background: #eee2cb; color: #685a40; }
.avatar-4 { background: #e6d9ea; color: #66506b; }
.provider-name-row { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.provider h3 { margin: 0; font-size: 1rem; }
.stars { color: #f2a51e; font-size: .82rem; font-weight: 800; }
.stars small { color: var(--muted); font-weight: 500; }
.provider-location { margin-top: 3px; color: var(--muted); font-size: .78rem; display: flex; align-items: center; gap: 5px; }
.provider-tags { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 6px; }
.provider-tags span { padding: 4px 8px; background: var(--green-soft); color: var(--green-dark); border-radius: 999px; font-size: .68rem; font-weight: 700; }
.provider-price { min-width: 145px; text-align: right; display: grid; justify-items: end; gap: 4px; }
.provider-price > span { color: var(--text); font-size: .86rem; }
.provider-price > span b { font-size: 1rem; }
.provider-price > small { color: var(--muted); font-size: .69rem; }
.provider-price form { margin-top: 5px; }
.order-summary-card { padding: 22px; }
.sticky-card { position: sticky; top: 96px; }
.order-summary-card h3 { margin: 5px 0 16px; font-size: 1.2rem; }
.summary { display: grid; gap: 10px; }
.summary-row { display: flex; justify-content: space-between; align-items: start; gap: 18px; color: var(--muted); font-size: .85rem; }
.summary-row strong { color: var(--text); text-align: right; font-weight: 720; }
.summary-row.total { border-top: 1px solid var(--line); padding-top: 13px; margin-top: 2px; font-size: 1.03rem; }
.summary-row.total strong { color: var(--green-dark); font-size: 1.2rem; }
.summary-hint { margin-top: 18px; padding: 12px; border-radius: 11px; background: #f6f9f7; color: var(--muted); display: flex; gap: 8px; font-size: .74rem; }
.summary-hint svg { color: var(--green); margin-top: 2px; }

/* Tracking */
.tracking-head { margin-bottom: 22px; }
.tracking-head .app-heading { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.status-chip { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: .7rem; font-weight: 800; letter-spacing: 0; }
.status-chip.wait { background: #fff5df; color: #976b17; }
.status-track-card { padding: 24px 18px; margin-bottom: 20px; overflow-x: auto; }
.horizontal-timeline { min-width: 780px; display: grid; grid-template-columns: repeat(7, 1fr); position: relative; }
.horizontal-timeline::before { content: ""; position: absolute; left: 7%; right: 7%; top: 17px; height: 2px; background: var(--line); }
.timeline-step { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; color: #a2ada8; gap: 4px; }
.timeline-step > span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: white; border: 2px solid #dce5e0; }
.timeline-step > span svg { width: 15px; height: 15px; }
.timeline-step strong { font-size: .74rem; }
.timeline-step small { font-size: .65rem; }
.timeline-step.done { color: var(--text); }
.timeline-step.done > span { background: var(--green); border-color: var(--green); color: white; box-shadow: 0 0 0 4px #edf8f4; }
.timeline-step.current strong { color: var(--green-dark); }
.tracking-grid { display: grid; grid-template-columns: 1fr 290px; gap: 20px; align-items: start; }
.tracking-main { display: grid; gap: 20px; }
.current-status-card { padding: 24px; display: grid; grid-template-columns: 72px 1fr; gap: 18px; align-items: start; }
.status-illustration { width: 72px; height: 72px; border-radius: 18px; display: grid; place-items: center; background: var(--blue-soft); color: #3b7bc3; }
.status-illustration svg { width: 36px; height: 36px; }
.current-status-card h2 { margin: 5px 0 8px; font-size: 1.35rem; letter-spacing: -.025em; }
.current-status-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.status-time { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .76rem; margin-top: 10px; }
.detail-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.detail-card { padding: 22px; }
.detail-card h3 { margin: 0 0 16px; font-size: 1rem; }
.partner-contact-card { padding: 20px; position: sticky; top: 96px; }
.partner-profile { display: flex; gap: 12px; align-items: center; margin-top: 10px; }
.partner-profile > div { display: grid; gap: 2px; }
.partner-profile h3 { margin: 0; font-size: 1rem; }
.partner-profile small { color: var(--muted); font-size: .73rem; display: flex; align-items: center; gap: 4px; }
.contact-actions { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tip-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.tip-form select { min-height: 42px; border: 1px solid var(--line-strong); border-radius: 10px; padding: 0 10px; background: white; color: var(--text); }
.empty-state { max-width: 630px; margin: 90px auto; padding: 52px; text-align: center; }
.empty-icon { width: 72px; height: 72px; border-radius: 20px; background: var(--green-soft); color: var(--green-dark); display: grid; place-items: center; margin: 0 auto 18px; }
.empty-icon svg { width: 36px; height: 36px; }
.empty-state h1 { margin: 0; font-size: 2rem; letter-spacing: -.04em; }
.empty-state p { color: var(--muted); margin: 10px auto 22px; }

/* Partner dashboard */
.dashboard-heading { margin-bottom: 24px; }
.online-pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: .76rem; font-weight: 780; }
.online-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(14,159,110,.12); }
.partner-kpi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.kpi-card { min-height: 110px; border-radius: 16px; padding: 18px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); }
.kpi-card > span { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; }
.kpi-card > div { display: grid; }
.kpi-card b { font-size: 1.65rem; line-height: 1; letter-spacing: -.04em; }
.kpi-card small { color: var(--muted); margin-top: 5px; }
.kpi-card.orange { background: #fffaf3; }
.kpi-card.orange > span { background: var(--orange-soft); color: #dd8a25; }
.kpi-card.green { background: #f3fbf7; }
.kpi-card.green > span { background: var(--green-soft); color: var(--green); }
.kpi-card.blue { background: #f4f8ff; }
.kpi-card.blue > span { background: var(--blue-soft); color: #3478c7; }
.partner-dashboard-grid { display: grid; grid-template-columns: 1fr 360px; gap: 20px; align-items: start; }
.dashboard-panel, .calendar-card { padding: 22px; }
.panel-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.panel-head.compact { align-items: center; }
.panel-head h2, .panel-head h3 { margin: 4px 0 0; letter-spacing: -.025em; }
.panel-head h2 { font-size: 1.35rem; }
.partner-order-card { margin-top: 18px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.partner-order-head { padding: 18px; display: flex; justify-content: space-between; align-items: start; gap: 18px; }
.partner-order-head h3 { margin: 10px 0 4px; font-size: 1.12rem; }
.partner-order-head p { margin: 0; color: var(--muted); font-size: .78rem; display: flex; align-items: center; gap: 5px; }
.payout { display: grid; text-align: right; }
.payout small { color: var(--muted); }
.payout strong { color: var(--green-dark); font-size: 1.35rem; }
.partner-order-facts { display: grid; grid-template-columns: repeat(3, 1fr); background: #f8faf9; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.partner-order-facts span { padding: 13px 16px; display: grid; border-right: 1px solid var(--line); }
.partner-order-facts span:last-child { border-right: 0; }
.partner-order-facts small { color: var(--muted); font-size: .7rem; }
.partner-order-facts strong { margin-top: 3px; font-size: .83rem; }
.partner-order-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 18px; }
.success-box { margin: 15px; padding: 13px; border-radius: 12px; background: var(--green-soft); color: var(--green-dark); display: flex; align-items: center; gap: 10px; }
.success-box > span { display: grid; }
.success-box small { color: #4c7466; }
.empty-inline { min-height: 210px; display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--muted); }
.empty-inline > span { width: 52px; height: 52px; border-radius: 14px; background: var(--green-soft); color: var(--green); display: grid; place-items: center; }
.empty-inline strong { color: var(--text); }
.empty-inline p { margin: 3px 0 0; }
.calendar-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin: 18px 0; }
.calendar-week span { min-height: 58px; border-radius: 10px; display: grid; place-items: center; align-content: center; color: var(--muted); }
.calendar-week small { font-size: .67rem; }
.calendar-week b { font-size: .85rem; }
.calendar-week span.active { background: var(--green); color: white; }
.calendar-events { display: grid; gap: 9px; }
.calendar-events div { border-left: 3px solid var(--green); background: #f8faf9; border-radius: 7px; padding: 10px 12px; display: grid; }
.calendar-events strong { font-size: .78rem; }
.calendar-events span { color: var(--muted); font-size: .7rem; margin-top: 2px; }
.calendar-events .available { border-left-color: #91c84a; }

/* Admin */
.admin-kpis { margin-top: 24px; }
.admin-table-card { margin-top: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 13px 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
th { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }
td { font-size: .85rem; }
.admin-info-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.admin-info-grid article { padding: 22px; }
.admin-info-grid article > span { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); }
.admin-info-grid h3 { margin: 15px 0 7px; font-size: 1rem; }
.admin-info-grid p { color: var(--muted); margin: 0; font-size: .84rem; }

/* Footer */
.site-footer { background: white; border-top: 1px solid var(--line); padding: 38px 0 44px; }
.footer-grid { display: flex; justify-content: space-between; gap: 34px; }
.footer-brand p { margin: 9px 0 0; color: var(--muted); font-size: .82rem; }
.footer-links { display: flex; flex-wrap: wrap; align-items: start; gap: 16px; }
.footer-links a { color: var(--muted); text-decoration: none; font-size: .82rem; }
.footer-links a:hover { color: var(--green-dark); }

@media (max-width: 1050px) {
  .hero-home-grid { grid-template-columns: 1fr .88fr; }
  .hero-copy { padding-right: 24px; }
  .hero-visual { min-height: 610px; }
  .basket { transform: scale(.88); transform-origin: bottom right; right: 22px; }
  .washer-illustration { transform: scale(.9); transform-origin: bottom left; left: 26px; }
  .partner-dashboard-grid { grid-template-columns: 1fr 320px; }
  .main-nav a { padding-inline: 8px; font-size: .86rem; }
}

@media (max-width: 900px) {
  .shell { width: min(100% - 28px, 760px); }
  .nav-wrap { min-height: 68px; }
  .nav-toggle { display: inline-flex; }
  .main-nav { display: none; position: absolute; left: 14px; right: 14px; top: 62px; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow); flex-direction: column; align-items: stretch; }
  .main-nav.open { display: flex; }
  .main-nav a, .main-nav .nav-cta { width: 100%; justify-content: flex-start; min-height: 42px; }
  .nav-spacer { display: none; }
  .profile-pill { padding: 9px 8px; border-top: 1px solid var(--line); margin-top: 4px; }
  .hero-home-grid { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { padding: 54px 4px 42px; }
  .hero-copy h1 { font-size: clamp(3rem, 12vw, 5rem); max-width: 10ch; }
  .hero-visual { min-height: 510px; border-radius: 20px; margin-bottom: 66px; }
  .process-strip { margin-top: -44px; grid-template-columns: 1fr 1fr; }
  .feature-grid { grid-template-columns: 1fr; }
  .partner-cta-card { grid-template-columns: 1fr; padding: 38px; }
  .faq-wrap { grid-template-columns: 1fr; gap: 28px; }
  .choice-grid { grid-template-columns: 1fr 1fr; }
  .booking-form-grid { grid-template-columns: 1fr; }
  .provider-layout, .tracking-grid, .partner-dashboard-grid { grid-template-columns: 1fr; }
  .sticky-card, .partner-contact-card { position: static; }
  .partner-kpi-grid { grid-template-columns: 1fr 1fr; }
  .kpi-card.blue { grid-column: 1 / -1; }
  .detail-card-grid { grid-template-columns: 1fr; }
  .admin-info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 22px, 560px); }
  .app-section { padding: 28px 0 58px; }
  .hero-copy { padding-top: 42px; }
  .hero-copy h1 { margin-top: 16px; }
  .lead { font-size: 1rem; }
  .hero-search { min-height: auto; padding: 7px; flex-wrap: wrap; }
  .hero-search-icon { padding-left: 5px; }
  .hero-search input { min-height: 42px; }
  .hero-search .button { width: 100%; }
  .hero-visual { min-height: 420px; }
  .hero-note { top: 34px; left: 20px; font-size: 1rem; }
  .basket { transform: scale(.72); right: -18px; bottom: 12px; }
  .washer-illustration { transform: scale(.68); left: 2px; bottom: 16px; }
  .round-badge { width: 105px; height: 105px; right: 8px; bottom: 48px; font-size: .72rem; }
  .process-strip { grid-template-columns: 1fr; margin-top: -24px; }
  .process-strip article { min-height: 84px; }
  .section { padding: 62px 0; }
  .section-head.modern { align-items: start; flex-direction: column; }
  .partner-cta-card { padding: 30px 22px; border-radius: 22px; }
  .preview-kpis { grid-template-columns: 1fr; }
  .footer-grid { flex-direction: column; }
  .booking-steps { margin-bottom: 18px; }
  .booking-step small { font-size: .65rem; }
  .booking-step > span { width: 28px; height: 28px; }
  .booking-steps::before { top: 14px; }
  .app-title, .split-title, .dashboard-heading, .tracking-head { align-items: start; flex-direction: column; }
  .app-heading { font-size: 2rem; }
  .booking-card { padding: 18px; }
  .choice-grid { grid-template-columns: 1fr; }
  .choice label { min-height: 94px; display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 10px; }
  .choice-icon { grid-row: 1 / 3; margin: 0; align-self: center; }
  .option-stack { grid-template-columns: 1fr; }
  .booking-actions { align-items: stretch; flex-direction: column; }
  .booking-actions .button { width: 100%; }
  .provider { grid-template-columns: auto 1fr; align-items: start; }
  .provider-price { grid-column: 1 / -1; width: 100%; min-width: 0; grid-template-columns: 1fr auto; align-items: center; justify-items: start; text-align: left; padding-left: 64px; }
  .provider-price > small { grid-column: 1; }
  .provider-price form { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .list-toolbar { align-items: start; }
  .view-toggle { display: none; }
  .partner-kpi-grid { grid-template-columns: 1fr; }
  .kpi-card.blue { grid-column: auto; }
  .partner-order-head { flex-direction: column; }
  .payout { text-align: left; }
  .partner-order-facts { grid-template-columns: 1fr; }
  .partner-order-facts span { border-right: 0; border-bottom: 1px solid var(--line); }
  .partner-order-facts span:last-child { border-bottom: 0; }
  .partner-order-actions { flex-direction: column-reverse; }
  .partner-order-actions .button { width: 100%; }
  .current-status-card { grid-template-columns: 1fr; }
  .contact-actions { grid-template-columns: 1fr; }
  .calendar-card { overflow-x: auto; }
  .calendar-week { min-width: 300px; }
  .empty-state { margin: 40px auto; padding: 32px 20px; }
}

/* Admin */
.admin-v2 { background: #f4f7f5; min-height: calc(100vh - 74px); padding-top: 24px; }
.admin-content { min-width: 0; }
.admin-flash { margin-bottom: 16px; min-height: 48px; padding: 10px 14px; display: flex; align-items: center; gap: 9px; background: #e9f7f1; color: #087c56; border: 1px solid #c7eadb; border-radius: 12px; font-size: .84rem; font-weight: 690; }
.admin-flash svg { width: 18px; height: 18px; }
.admin-page-head { min-height: 78px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.admin-page-head h1 { margin: 3px 0 4px; font-size: clamp(1.75rem, 3vw, 2.4rem); line-height: 1.05; letter-spacing: -.045em; }
.admin-page-head p { margin: 0; color: var(--muted); font-size: .88rem; }
.admin-head-actions, .admin-head-pills { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.admin-count-pill { padding: 7px 10px; border: 1px solid var(--line); background: white; border-radius: 999px; color: #51656d; font-size: .75rem; font-weight: 760; }
.admin-count-pill.warn { border-color: #f4d7ab; background: #fff8ee; color: #9a621d; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }
.admin-stat-grid article { min-height: 112px; display: flex; align-items: center; gap: 13px; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-sm); }
.admin-stat-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; }
.admin-stat-icon.green { background: var(--green-soft); color: var(--green-dark); }
.admin-stat-icon.blue { background: var(--blue-soft); color: #3677bd; }
.admin-stat-icon.orange { background: var(--orange-soft); color: #d88b2a; }
.admin-stat-icon.purple { background: #f4efff; color: #7852b7; }
.admin-stat-grid article > div { display: grid; }
.admin-stat-grid small { color: var(--muted); font-size: .7rem; }
.admin-stat-grid strong { font-size: 1.55rem; line-height: 1.1; margin: 3px 0; letter-spacing: -.03em; }
.admin-stat-grid em { font-size: .68rem; color: #8a9b94; font-style: normal; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.8fr); gap: 18px; margin-bottom: 18px; }
.admin-card { background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.admin-card-head { min-height: 74px; padding: 17px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.admin-card-head h2 { margin: 3px 0 0; font-size: 1.12rem; letter-spacing: -.025em; }
.admin-card-head > a { color: var(--green-dark); font-size: .77rem; font-weight: 760; text-decoration: none; }
.review-list { padding: 8px; }
.review-item { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; padding: 10px; color: inherit; text-decoration: none; border-radius: 12px; }
.review-item:hover { background: #f7faf8; }
.review-main { display: grid; min-width: 0; }
.review-main strong { font-size: .84rem; }
.review-main small { color: var(--muted); font-size: .7rem; margin-top: 2px; }
.status-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 24px; padding: 3px 8px; border-radius: 999px; font-size: .66rem; font-weight: 780; white-space: nowrap; }
.status-badge.active { background: #e5f6ef; color: #087c56; }
.status-badge.pending { background: #fff3df; color: #9a621d; }
.status-badge.blocked { background: #fbeaea; color: #a23f3f; }
.admin-empty-small { padding: 24px; text-align: center; color: var(--muted); font-size: .8rem; }
.system-health-card { padding-bottom: 14px; }
.health-list { padding: 8px 16px 11px; display: grid; }
.health-list > div { min-height: 41px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #edf2ef; font-size: .76rem; }
.health-list > div:last-child { border-bottom: 0; }
.health-list > div > span { display: inline-flex; align-items: center; gap: 7px; color: #576a71; }
.health-list strong { font-size: .72rem; font-weight: 760; text-align: right; }
.health-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.health-dot.ok { background: #13a977; box-shadow: 0 0 0 4px #e6f7f1; }
.health-dot.warn { background: #e39a36; box-shadow: 0 0 0 4px #fff3e3; }
.button.full { width: calc(100% - 28px); margin: 0 14px; }
.admin-order-card { overflow: hidden; }
.admin-table { width: 100%; }
.admin-table th { background: #fbfcfb; font-size: .65rem; }
.admin-table td { height: 62px; vertical-align: middle; }
.table-link { color: var(--green-dark); font-weight: 760; font-size: .75rem; text-decoration: none; white-space: nowrap; }
.table-link:hover { text-decoration: underline; }
.admin-list-card { overflow: hidden; }
.admin-list-toolbar { min-height: 61px; padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.admin-search-static { display: inline-flex; align-items: center; gap: 8px; font-weight: 760; font-size: .8rem; }
.admin-search-static svg { color: var(--green); }
.legend { display: flex; flex-wrap: wrap; gap: 11px; color: var(--muted); font-size: .66rem; }
.legend span { display: inline-flex; align-items: center; gap: 5px; }
.dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.dot.active { background: #13a977; }.dot.pending { background: #e39a36; }.dot.blocked { background: #c95050; }
.admin-table.selectable tr.selected td { background: #f1faf6; }
.table-user { display: flex; align-items: center; gap: 10px; min-width: 170px; }
.table-user > span:last-child { display: grid; }
.table-user strong { font-size: .82rem; }
.table-user small { color: var(--muted); font-size: .67rem; margin-top: 2px; }
.cell-sub { display: block; color: var(--muted); font-size: .66rem; margin-top: 3px; }
.table-hint { color: var(--muted); font-size: .67rem; text-align: right; }
.mini-ok { color: #087c56; font-size: .7rem; font-weight: 760; }.mini-warn { color: #a46a1f; font-size: .7rem; font-weight: 760; }
.online-state { display: inline-flex; align-items: center; gap: 6px; font-size: .7rem; font-weight: 720; }
.online-state i { width: 7px; height: 7px; border-radius: 50%; }
.online-state.on i { background: #13a977; }.online-state.off i { background: #aab7b1; }
.profile-editor-head { padding: 17px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line); background: #fcfdfc; }
.profile-identity { display: flex; gap: 11px; align-items: center; min-width: 0; }
.profile-identity > div { min-width: 0; }
.profile-identity h2 { margin: 5px 0 1px; font-size: 1.08rem; letter-spacing: -.025em; }
.profile-identity small { display: block; color: var(--muted); font-size: .67rem; }
.close-detail { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; color: var(--muted); text-decoration: none; font-size: 1.25rem; }
.close-detail:hover { background: #f0f4f2; color: var(--text); }
.admin-form { padding: 17px; display: grid; gap: 18px; }
.form-section { display: grid; gap: 11px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.form-section:last-of-type { padding-bottom: 0; border-bottom: 0; }
.form-section h3 { margin: 0; font-size: .86rem; }
.form-grid { display: grid; gap: 11px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
.form-grid.three { grid-template-columns: repeat(3,1fr); }
.form-grid.address { grid-template-columns: 1.3fr .55fr .8fr; }
.admin-form label { display: grid; gap: 6px; color: #52656d; font-size: .68rem; font-weight: 720; }
.admin-form input:not([type="checkbox"]), .admin-form select, .admin-form textarea { width: 100%; min-height: 41px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--text); padding: 8px 10px; outline: none; }
.admin-form textarea { resize: vertical; min-height: 82px; line-height: 1.4; }
.admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(14,159,110,.09); }
.admin-check { min-height: 54px; display: flex !important; grid-template-columns: none !important; align-items: center; gap: 10px !important; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfb; cursor: pointer; }
.admin-check input { width: 16px; height: 16px; accent-color: var(--green); flex: 0 0 auto; }
.admin-check > span { display: grid; }
.admin-check strong { color: var(--text); font-size: .73rem; }
.admin-check small { margin-top: 2px; color: var(--muted); font-size: .63rem; font-weight: 500; }
.danger-check { border-color: #f0dada; background: #fffafa; }
.check-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.check-grid.vertical { grid-template-columns: 1fr; }
.profile-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.profile-meta-grid span { padding: 10px; border-radius: 10px; background: #f7faf8; display: grid; }
.profile-meta-grid small { color: var(--muted); font-size: .62rem; }.profile-meta-grid strong { margin-top: 3px; font-size: .75rem; }
.admin-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 2px; }
.approval-banner { margin: 12px 12px 0; padding: 11px; border-radius: 11px; background: #fff8ec; border: 1px solid #f2d9ad; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.approval-banner > div { display: grid; }.approval-banner strong { font-size: .76rem; }.approval-banner small { margin-top: 2px; color: #80633c; font-size: .62rem; }
.verification-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; }
.verification-strip span { padding: 9px; border-radius: 9px; background: #f7faf8; display: grid; }
.verification-strip span.ok { background: #eff9f5; }.verification-strip span.wait { background: #fff8ed; }
.verification-strip small { color: var(--muted); font-size: .59rem; }.verification-strip strong { margin-top: 2px; font-size: .68rem; }
.system-settings-form { display: grid; gap: 16px; }
.system-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.settings-card { overflow: hidden; }
.settings-card-head { padding: 17px; display: flex; gap: 11px; align-items: flex-start; border-bottom: 1px solid var(--line); }
.settings-card-head > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--green-soft); color: var(--green-dark); flex: 0 0 auto; }
.settings-card-head h2 { margin: 1px 0 2px; font-size: .96rem; }.settings-card-head p { margin: 0; color: var(--muted); font-size: .67rem; }
.settings-note { padding: 10px 11px; border-radius: 10px; background: #f7faf8; color: var(--muted); font-size: .67rem; line-height: 1.45; }
.system-savebar { position: sticky; bottom: 14px; z-index: 20; padding: 12px 14px; background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 14px 35px rgba(21,58,45,.13); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.system-savebar > div { display: grid; }.system-savebar strong { font-size: .76rem; }.system-savebar small { margin-top: 2px; color: var(--muted); font-size: .65rem; }
.audit-card { overflow: hidden; }
.audit-list { display: grid; }
.audit-entry { min-height: 72px; padding: 12px 17px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.audit-entry:last-child { border-bottom: 0; }
.audit-icon { width: 36px; height: 36px; border-radius: 10px; background: #f2f7f4; color: var(--green-dark); display: grid; place-items: center; }
.audit-entry > div { display: grid; }.audit-entry > div strong { font-size: .78rem; }.audit-entry > div small { color: var(--muted); font-size: .67rem; margin-top: 2px; }
.audit-meta { text-align: right; display: grid; }.audit-meta strong { font-size: .68rem; }.audit-meta small { margin-top: 2px; color: var(--muted); font-size: .62rem; }

@media (max-width: 1120px) {
  .admin-stat-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .admin-v2 { padding-top: 14px; }
  .admin-dashboard-grid, .system-grid { grid-template-columns: 1fr; }
  .admin-page-head { min-height: 0; }
}
@media (max-width: 620px) {
  .admin-page-head { flex-direction: column; }
  .admin-head-actions, .admin-head-pills { justify-content: flex-start; }
  .admin-stat-grid { grid-template-columns: 1fr; }
  .admin-list-toolbar { align-items: flex-start; flex-direction: column; }
  .legend { width: 100%; }
  .form-grid.two, .form-grid.three, .form-grid.address, .check-grid, .verification-strip { grid-template-columns: 1fr; }
  .profile-meta-grid { grid-template-columns: 1fr; }
  .admin-form-actions, .system-savebar, .approval-banner { flex-direction: column; align-items: stretch; }
  .admin-form-actions .button, .system-savebar .button, .approval-banner .button { width: 100%; }
  .audit-entry { grid-template-columns: auto 1fr; }.audit-meta { grid-column: 2; text-align: left; }
}

/* System, Checkout, Recht, Consent, Support */
.button.danger { background:#a93636; border-color:#a93636; color:#fff; }
.button.danger:hover { background:#8f2f2f; }
.withdrawal-link { font-weight:760; }
.floating-help, .floating-cookie { position:fixed; right:18px; z-index:70; display:flex; align-items:center; gap:7px; min-height:42px; padding:0 13px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--text); text-decoration:none; box-shadow:0 10px 28px rgba(19,48,39,.12); font-size:.72rem; font-weight:760; }
.floating-help { bottom:18px; background:var(--green); color:#fff; border-color:var(--green); }
.floating-cookie { bottom:68px; }
.floating-help svg,.floating-cookie svg{width:17px;height:17px;}
.consent-backdrop { position:fixed; inset:0; z-index:90; background:rgba(8,28,22,.28); backdrop-filter:blur(2px); }
.consent-banner { position:fixed; left:50%; bottom:22px; transform:translateX(-50%); width:min(920px,calc(100% - 28px)); z-index:91; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 28px 80px rgba(12,42,32,.24); padding:22px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; }
.consent-copy h2{margin:4px 0 8px;font-size:1.25rem}.consent-copy p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.consent-copy a{color:var(--green-dark)}
.consent-actions{display:flex;gap:8px;align-items:center}.consent-actions form{margin:0}
.legal-page{padding:44px 0 72px;background:linear-gradient(180deg,#f7fbf9 0,#fff 280px)}
.legal-shell{max-width:980px}.legal-head{margin-bottom:20px}.legal-head h1{margin:6px 0 8px;font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.045em}.legal-head p{max-width:760px;margin:0;color:var(--muted);line-height:1.6}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 12px 36px rgba(20,55,43,.06);margin-bottom:16px}.prose h2{font-size:1.05rem;margin:24px 0 8px}.prose h2:first-child{margin-top:0}.prose p{color:#4d6268;line-height:1.7;margin:0 0 12px}.prose a,.legal-card a{color:var(--green-dark)}
.legal-warning{padding:14px 16px;margin:0 0 16px;border:1px solid #edcd9e;background:#fff8ed;border-radius:12px;color:#654c27}.legal-warning strong{display:block;font-size:.84rem}.legal-warning p{margin:4px 0 0;font-size:.72rem;line-height:1.5}.legal-warning.compact{margin:12px 0}
.legal-meta{margin-top:26px!important;padding-top:15px;border-top:1px solid var(--line);font-size:.68rem!important;color:var(--muted)!important}.legal-mini{font-size:.7rem;color:var(--muted)}
.legal-success{margin:0 0 18px}.provider-legal{display:grid;gap:5px;color:#53666d}.provider-legal strong{font-size:.94rem;color:var(--text)}.provider-legal span{font-size:.75rem}.provider-legal small{margin-top:4px;color:var(--muted)}.provider-legal.mini{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.consent-settings{display:grid;gap:10px}.consent-setting{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.consent-setting input{width:18px;height:18px;accent-color:var(--green)}.consent-setting span{display:grid}.consent-setting strong{font-size:.82rem}.consent-setting small{color:var(--muted);font-size:.69rem;margin-top:3px}.consent-setting b{font-size:.64rem;color:var(--green-dark);background:var(--green-soft);padding:5px 7px;border-radius:7px}.consent-setting.disabled{opacity:.62}.consent-settings-actions{display:flex;justify-content:flex-end;margin-top:8px}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:18px;align-items:start}.checkout-main{display:grid;gap:14px}.checkout-main .detail-card{padding:20px}.checkout-main h2{margin:0 0 13px;font-size:1rem}.checkout-total .button.full{width:100%;margin:8px 0 0}.payment-button{min-height:48px;font-weight:820}.price-method{font-size:.68rem;line-height:1.45;color:var(--muted);margin:12px 0}.muted{color:var(--muted);font-size:.74rem;line-height:1.55}
.finance-breakdown{margin:14px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.finance-breakdown div{display:flex;justify-content:space-between;gap:18px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:.72rem}.finance-breakdown div:last-child{border-bottom:0}.finance-breakdown .total{background:#f1faf6;font-weight:800}
.weight-confirm{align-items:end}.weight-confirm label{display:grid;gap:5px;color:var(--muted);font-size:.68rem}.weight-confirm input{min-height:40px;border:1px solid var(--line-strong);border-radius:9px;padding:8px 10px}
.support-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.support-list-card,.chat-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(20,55,43,.05);overflow:hidden}.support-list-card>h2{padding:17px;margin:0;font-size:.95rem}.support-list-card .button.full{width:calc(100% - 28px);margin:0 14px 14px}.ticket-list{display:grid;border-top:1px solid var(--line)}.ticket-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.ticket-row:hover,.ticket-row.active{background:#f1faf6}.ticket-row span{display:grid;min-width:0}.ticket-row strong{font-size:.76rem}.ticket-row small{font-size:.63rem;color:var(--muted);margin-top:3px}.ticket-row b{font-size:.62rem;color:var(--green-dark)}
.chat-head{padding:16px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-head h2{margin:4px 0 0;font-size:1rem}.chat-thread{display:grid;gap:10px;padding:18px;background:#f8fbf9;min-height:260px}.chat-message{max-width:82%;padding:11px 13px;background:#fff;border:1px solid var(--line);border-radius:13px}.chat-message.admin{justify-self:end;background:#eaf8f2;border-color:#cbeadd}.chat-message>div{display:flex;justify-content:space-between;gap:14px}.chat-message strong{font-size:.7rem}.chat-message small{font-size:.6rem;color:var(--muted)}.chat-message p{margin:6px 0 0;font-size:.75rem;line-height:1.5}.chat-reply{display:grid;gap:9px;padding:14px;border-top:1px solid var(--line)}.chat-reply textarea{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:10px;resize:vertical}.chat-reply .button{justify-self:end}
.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.admin-settings-grid>.settings-submit{grid-column:1/-1;display:flex;justify-content:flex-end;position:sticky;bottom:12px;z-index:15;padding:11px;border-radius:13px;background:rgba(255,255,255,.94);border:1px solid var(--line);backdrop-filter:blur(10px)}
.compliance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.compliance-grid>.admin-card{padding:17px}.compliance-grid h2{margin:0 0 12px;font-size:.95rem}.check-list{display:grid;gap:8px}.check-list>div{display:flex;align-items:center;gap:9px;font-size:.72rem}.check-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.68rem;font-weight:850}.check-dot.ok{background:#e8f8f1;color:#087c56}.check-dot.warn{background:#fff2df;color:#a26817}.health-list strong.ok{color:#087c56}.health-list strong.warn{color:#a26817}.legal-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.legal-link-grid a{padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--green-dark);text-decoration:none;font-size:.72rem;font-weight:750}.legal-link-grid a:hover{background:#f1faf6}
.inline-test-mail{display:flex;gap:8px;padding:14px;border-bottom:1px solid var(--line)}.inline-test-mail input{flex:1;min-height:40px;border:1px solid var(--line-strong);border-radius:9px;padding:8px 10px}.approve-form{padding:0 17px 17px}
.status-chip.danger{background:#fff0f0;color:#a93636}.admin-flash.error{background:#fff2f2;border-color:#ebc3c3;color:#913939}

@media (max-width:1000px){.checkout-layout,.support-layout,.admin-settings-grid,.compliance-grid{grid-template-columns:1fr}.admin-settings-grid>.settings-submit{grid-column:auto}.checkout-total{position:static!important}}
@media (max-width:680px){.consent-banner{grid-template-columns:1fr;bottom:10px;padding:17px}.consent-actions{display:grid;grid-template-columns:1fr}.consent-actions .button,.consent-actions form,.consent-actions form .button{width:100%}.floating-help span,.floating-cookie span{display:none}.floating-help,.floating-cookie{width:44px;height:44px;padding:0;justify-content:center}.support-layout{grid-template-columns:1fr}.chat-message{max-width:92%}.legal-card{padding:18px}.legal-link-grid{grid-template-columns:1fr}}

/* Festpreis-Pakete, Anbietergebühr, dynamische Bewertungen */
.full-span{grid-column:1/-1}.field textarea,.admin-form textarea,.review-form textarea{width:100%;border:1px solid var(--line-strong);border-radius:11px;padding:11px 12px;font:inherit;color:var(--text);background:#fff;resize:vertical}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.66rem;line-height:1.45}
.package-provider-list{display:grid;gap:14px}.package-provider-card{display:block;padding:0;overflow:hidden}.provider-card-top{display:flex;gap:13px;align-items:flex-start;padding:17px;border-bottom:1px solid var(--line)}.package-choice-grid{display:grid;gap:0}.package-choice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line);background:#fff}.package-choice-card:hover{background:#fbfefc}.package-choice-card h4{margin:3px 0 8px;font-size:.88rem}.package-choice-price{display:grid;justify-items:end;gap:4px;min-width:145px}.package-choice-price>strong{font-size:1.15rem}.package-choice-price>small{font-size:.62rem;color:var(--muted);margin-bottom:5px}.package-service-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.package-service-list li{display:flex;align-items:center;gap:7px;color:#52666d;font-size:.7rem;line-height:1.35}.package-service-list svg{width:14px;height:14px;color:var(--green);flex:0 0 auto}.package-service-list.large{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}.package-service-list.compact{gap:4px}.package-service-list.compact li{font-size:.66rem}.rating-mini-grid{display:flex;gap:9px;flex-wrap:wrap;padding:11px 17px;background:#f8fbf9}.rating-mini-grid span{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line)}.rating-mini-grid small{font-size:.59rem;color:var(--muted)}.rating-mini-grid strong{font-size:.64rem;color:#916312}.package-title-inline{display:block;margin:0 0 10px;font-size:.88rem}
.partner-package-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr);gap:16px;align-items:start}.package-list-manage{display:grid;gap:10px}.package-manage-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.package-manage-card h3{margin:6px 0 9px;font-size:.86rem}.package-finance-preview{display:grid;gap:7px;min-width:190px;padding-left:14px;border-left:1px solid var(--line)}.package-finance-preview>span{display:flex;justify-content:space-between;gap:12px;font-size:.67rem}.package-finance-preview>span small{color:var(--muted)}.package-finance-preview .net{padding-top:7px;border-top:1px solid var(--line)}.package-finance-preview .net strong{color:var(--green-dark)}.package-builder-section,.ratings-panel{margin-top:18px}.package-builder-form{padding:17px}.package-builder-form h3{margin:0 0 4px}.builder-extras{margin:13px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.builder-extras legend{padding:0 5px;font-size:.7rem;font-weight:760}.fee-preview{display:grid;gap:0;margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.fee-preview>div{display:flex;justify-content:space-between;gap:15px;padding:9px 11px;border-bottom:1px solid var(--line);font-size:.7rem}.fee-preview>div:last-child{border-bottom:0}.fee-preview .net{background:#edf9f4;font-weight:820}.fee-preview .net strong{color:var(--green-dark)}
.rating-topic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:0 17px 17px}.rating-topic-grid article{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.rating-topic-grid small{font-size:.62rem;color:var(--muted)}.rating-topic-grid strong{font-size:1rem;color:#9d6b16}.rating-topic-grid span{font-size:.58rem;color:var(--muted)}.rating-sidebar-topics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.rating-sidebar-topics span{display:grid;padding:8px;border:1px solid var(--line);border-radius:9px}.rating-sidebar-topics small{font-size:.58rem;color:var(--muted)}.rating-sidebar-topics strong{margin-top:2px;font-size:.7rem;color:#9d6b16}
.review-card{margin-top:14px}.review-card h2{margin:4px 0 6px}.review-question-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.star-question{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.star-question legend{padding:0 5px;font-size:.7rem;font-weight:760}.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.star-input input{position:absolute;opacity:0;pointer-events:none}.star-input label{cursor:pointer;font-size:1.55rem;color:#d7ddd9;line-height:1}.star-input label:hover,.star-input label:hover~label,.star-input input:checked~label{color:#e4a933}.submitted-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.submitted-rating-grid span{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px}.submitted-rating-grid small{font-size:.65rem}.submitted-rating-grid strong{color:#e0a22a;letter-spacing:1px}.submitted-rating-grid i{font-style:normal;color:#d5ddd9}.complaint-box{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.complaint-box summary{cursor:pointer;font-size:.7rem;font-weight:760;color:#963c3c}.complaint-box form{margin-top:10px}.payout-customer-card{margin-top:14px}.payout-customer-card p{font-size:.72rem;color:var(--muted);line-height:1.55}.fee-example-admin{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f5fbf8}.fee-example-admin span{font-size:.63rem;color:var(--muted)}.fee-example-admin strong{font-size:.82rem}.catalog-admin-card{padding:17px;margin-bottom:16px}.catalog-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-group{padding:13px;border:1px solid var(--line);border-radius:12px}.catalog-group h3{margin:0 0 9px;font-size:.78rem}.catalog-group .admin-check{margin-bottom:7px}.catalog-group .admin-check:last-child{margin-bottom:0}.inline-actions{display:flex;gap:7px;align-items:center}.inline-actions select{min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:5px 7px}

@media (max-width:1000px){.partner-package-grid{grid-template-columns:1fr}.rating-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-group-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.package-choice-card,.package-manage-card{grid-template-columns:1fr}.package-choice-price{justify-items:start;min-width:0}.package-finance-preview{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid var(--line);min-width:0}.package-service-list.large,.review-question-grid,.submitted-rating-grid{grid-template-columns:1fr}.rating-topic-grid{grid-template-columns:1fr 1fr}.catalog-group-grid{grid-template-columns:1fr}.provider-card-top{flex-direction:column}.inline-actions{align-items:stretch;flex-direction:column}}

/* Persistenz, Authentifizierung, Installer und Marketplace-Backend */
.auth-shell{max-width:760px;margin:0 auto}.auth-card,.auth-wide{max-width:760px;margin:0 auto}.auth-wide{padding:22px}.auth-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 38px rgba(20,55,43,.06)}
.auth-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:.7rem}.auth-links a{color:var(--green-dark);font-weight:750}.security-note{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9;color:var(--muted);font-size:.7rem;line-height:1.5}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f1f5f3;border:1px solid var(--line);border-radius:6px;padding:2px 5px;font-size:.85em}.payout-admin-overview .inline-actions{margin-top:7px}
@media(max-width:700px){.auth-wide,.auth-card{padding:17px}}

/* Marketplace operations */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.metric-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:#fff;border:1px solid var(--line,#e6ece8);border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(18,54,42,.05)}.metric-card small{display:block;color:var(--muted,#68756f);margin-bottom:6px}.metric-card strong{font-size:1.45rem}.order-filter-bar{margin:18px 0}.filter-actions,.admin-actions-row,.inline-actions,.stack-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-actions-row{margin:0 0 18px}.stack-actions{flex-direction:column;align-items:stretch}.responsive-table,.admin-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid var(--line,#e6ece8);text-align:left;vertical-align:top}.data-table td small{display:block;color:var(--muted,#68756f);margin-top:4px}.badge-danger{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff0ef;color:#9a2b20;font-weight:700;font-size:.78rem}.onboarding-progress{margin:18px 0}.progress-track{height:10px;border-radius:999px;background:#edf2ef;overflow:hidden}.progress-track>span{display:block;height:100%;background:#3b8d69}.onboarding-checks{display:grid;gap:8px;margin-top:14px}.onboarding-checks span{background:transparent;height:auto}.document-review-list{display:grid;gap:12px}.admin-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:20px}.empty-state.compact{padding:24px;text-align:center;color:var(--muted,#68756f)}
@media(max-width:900px){.metric-grid,.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-split{grid-template-columns:1fr}}
@media(max-width:560px){.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.data-table{min-width:760px}}

/* Public homepage refresh */
html { scroll-padding-top: 92px; }
#so-funktionierts, #preise, #sicherheit, #waschpartner-werden, #faq { scroll-margin-top: 92px; }

.home-hero-v2 { background: linear-gradient(180deg,#fff 0%,#fbfdfc 100%); border-bottom: 1px solid var(--line); overflow: hidden; }
.home-hero-grid-v2 { width:min(1900px,calc(100% - clamp(40px,5vw,120px))); max-width:none; min-height:0; display:grid; grid-template-columns:minmax(420px,.88fr) minmax(560px,1.12fr); gap:clamp(34px,4vw,72px); align-items:center; }
.home-hero-copy-v2 { width:min(100%,660px); padding:clamp(56px,5vw,84px) 0 clamp(104px,7vw,128px); justify-self:end; align-self:center; position:relative; z-index:2; }
.home-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--green-dark); text-transform: uppercase; letter-spacing: .11em; font-size: .72rem; font-weight: 850; }
.home-hero-copy-v2 h1 { margin: 18px 0 20px; max-width: 10.5ch; font-size: clamp(3.5rem, 6vw, 5.7rem); line-height: .94; letter-spacing: -.065em; }
.home-hero-copy-v2 h1 em { font-style: normal; color: var(--green-dark); }
.home-hero-lead { margin: 0; max-width: 62ch; color: #4f626b; font-size: 1.08rem; line-height: 1.65; }
.home-check-list { list-style: none; padding: 0; margin: 26px 0 28px; display: grid; gap: 9px; }
.home-check-list li { display: flex; align-items: flex-start; gap: 9px; color: #30464f; font-size: .92rem; }
.home-check-list svg { width: 19px; height: 19px; margin-top: 2px; padding: 3px; border-radius: 50%; color: white; background: var(--green); stroke-width: 3; }
.hero-search-v2 { max-width: 640px; }
.home-trust-row { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 18px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.home-trust-row span { display: inline-flex; align-items: center; gap: 6px; }
.home-trust-row svg { color: var(--green); }
.home-hero-media-v2 { position:relative; width:100%; height:clamp(560px,42vw,760px); min-height:0; margin:0; overflow:hidden; border-radius:26px; background:#e9eee9; box-shadow:0 24px 64px rgba(25,65,49,.08); }
.home-hero-media-v2::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,255,255,.18),transparent 28%); pointer-events: none; }
.home-hero-media-v2 picture, .home-hero-media-v2 img { width: 100%; height: 100%; display: block; }
.home-hero-media-v2 img { object-fit:cover; object-position:50% 50%; }
.hero-floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; width: 210px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.8); border-radius: 15px; background: rgba(255,255,255,.92); box-shadow: 0 16px 42px rgba(20,55,43,.14); backdrop-filter: blur(10px); }
.hero-floating-card > span { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--green-soft); color: var(--green-dark); flex: 0 0 auto; }
.hero-floating-card > div { display: grid; }
.hero-floating-card strong { font-size: .82rem; }
.hero-floating-card small { color: var(--muted); font-size: .68rem; line-height: 1.35; }
.hero-floating-card-top { top: 54px; right: 34px; }
.hero-floating-card-bottom { right: 48px; bottom: 118px; }
.home-quick-steps { position: relative; z-index: 5; margin-top: -72px; padding-bottom: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.home-quick-steps > a { min-height: 112px; display: flex; align-items: center; gap: 13px; padding: 18px; background: rgba(255,255,255,.97); border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow-sm); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.home-quick-steps > a:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.home-quick-steps > a > div { display: grid; }
.home-quick-steps strong { font-size: .9rem; }
.home-quick-steps small { margin-top: 3px; color: var(--muted); font-size: .74rem; }

.home-section-heading { display: flex; justify-content: space-between; gap: 34px; align-items: end; margin-bottom: 30px; }
.home-section-heading h2 { margin: 7px 0 0; font-size: clamp(2rem, 4.1vw, 3.45rem); line-height: 1.02; letter-spacing: -.05em; }
.home-section-heading p { max-width: 66ch; margin: 10px 0 0; color: var(--muted); }
.home-process-section { background: white; }
.home-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; counter-reset: steps; }
.home-process-grid article { position: relative; min-height: 270px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: linear-gradient(180deg,#fff,#fbfdfc); }
.home-step-number { position: absolute; right: 15px; top: 9px; color: #edf2ef; font-size: 3.8rem; font-weight: 900; letter-spacing: -.08em; }
.home-step-icon { position: relative; width: 49px; height: 49px; border-radius: 14px; display: grid; place-items: center; color: var(--green-dark); background: var(--green-soft); }
.home-step-icon svg { width: 24px; height: 24px; }
.home-process-grid h3 { position: relative; margin: 48px 0 9px; font-size: 1.06rem; }
.home-process-grid p { position: relative; margin: 0; color: var(--muted); font-size: .88rem; }

.home-price-section { background: linear-gradient(180deg,#edf7f2 0%,#f8fbf9 100%); }
.home-price-heading p { max-width: 76ch; }
.home-price-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }
.home-price-card { padding: 22px; border: 1px solid rgba(199,220,210,.85); border-radius: 20px; background: rgba(255,255,255,.88); box-shadow: 0 10px 30px rgba(21,58,45,.05); }
.home-price-card:nth-child(2) { transform: translateY(-7px); border-color: #b9dccc; box-shadow: 0 16px 36px rgba(21,80,58,.09); }
.home-package-eyebrow { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: var(--green-dark); background: var(--green-soft); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.home-price-card-head { margin: 14px 0 17px; display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.home-price-card h3 { margin: 0; font-size: 1.04rem; }
.home-price-card small { color: var(--muted); }
.home-price-card-head > strong { white-space: nowrap; font-size: 1.34rem; color: var(--green-dark); }
.home-price-card ul { list-style: none; padding: 14px 0 0; margin: 0; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.home-price-card li { display: flex; align-items: flex-start; gap: 7px; color: #465960; font-size: .78rem; }
.home-price-card li svg { color: var(--green); margin-top: 2px; }
.home-price-explainer { margin-top: 22px; padding: 18px 20px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 15px; align-items: center; border: 1px solid #cfdfd7; border-radius: 17px; background: white; }
.home-price-explainer-icon { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; color: var(--green-dark); background: var(--green-soft); }
.home-price-explainer p { margin: 3px 0 0; color: var(--muted); font-size: .8rem; }
.home-service-chips { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--muted); font-size: .74rem; }
.home-service-chips strong { color: var(--text); margin-right: 3px; }
.home-service-chips span { padding: 6px 10px; border: 1px solid #d5e4dc; border-radius: 999px; background: rgba(255,255,255,.7); }

.home-safety-section { background: white; }
.home-safety-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.home-safety-grid h2 { margin: 8px 0 13px; font-size: clamp(2rem,4vw,3.2rem); line-height: 1.03; letter-spacing: -.05em; }
.home-safety-grid > div:first-child > p { color: var(--muted); margin: 0 0 20px; max-width: 58ch; }
.home-safety-cards { display: grid; gap: 12px; }
.home-safety-cards article { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fbfdfc; }
.home-safety-cards article > span { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: var(--green-dark); background: var(--green-soft); }
.home-safety-cards strong { font-size: .93rem; }
.home-safety-cards p { margin: 3px 0 0; color: var(--muted); font-size: .8rem; }
.partner-cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.button.ghost-light { border-color: rgba(255,255,255,.48); color: white; background: transparent; }
.button.ghost-light:hover { background: rgba(255,255,255,.1); }
.home-provider-calc { display: grid; gap: 0; margin-top: 15px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.home-provider-calc span { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 13px; border-bottom: 1px solid var(--line); }
.home-provider-calc span:last-child { border-bottom: 0; }
.home-provider-calc small { color: var(--muted); }
.home-provider-calc .net { background: #edf9f4; }
.home-provider-calc .net strong { color: var(--green-dark); }
.home-faq-section { background: var(--bg); }

@media (max-width: 1100px) {
  .home-hero-grid-v2 { width:min(100% - 40px,1220px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
  .home-hero-copy-v2 { width:100%; padding-right:0; justify-self:start; }
  .home-hero-media-v2 { height:clamp(520px,56vw,650px); }
  .home-price-grid { grid-template-columns: repeat(2,1fr); }
  .home-price-card:nth-child(2) { transform: none; }
  .home-process-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px) {
  .home-hero-grid-v2 { width:min(100% - 32px,760px); grid-template-columns:1fr; gap:18px; }
  .home-hero-copy-v2 { width:100%; padding:48px 0 34px; justify-self:start; }
  .home-hero-media-v2 { height:clamp(420px,72vw,560px); min-height:0; margin:0; border-radius:22px; }
  .home-hero-media-v2 img { object-position:56% 48%; }
  .home-quick-steps { margin-top: -48px; grid-template-columns: 1fr 1fr; }
  .home-safety-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 680px) {
  .home-hero-copy-v2 h1 { font-size: clamp(3rem,15vw,4.5rem); }
  .home-hero-media-v2 { height:clamp(340px,92vw,460px); min-height:0; }
  .home-hero-media-v2 img { object-position:60% 48%; }
  .hero-floating-card { width: 180px; padding: 10px; }
  .hero-floating-card-top { top: 18px; right: 14px; }
  .hero-floating-card-bottom { right: 14px; bottom: 20px; }
  .home-quick-steps { grid-template-columns: 1fr; margin-top: 16px; }
  .home-section-heading { align-items: flex-start; flex-direction: column; }
  .home-process-grid, .home-price-grid { grid-template-columns: 1fr; }
  .home-process-grid article { min-height: 220px; }
  .home-price-explainer { grid-template-columns: auto 1fr; }
  .home-price-explainer .text-link { grid-column: 1 / -1; }
  .partner-cta-actions .button { width: 100%; }
}

/* Installation gate, demo mode and installer */
.main-nav a[aria-current="location"] { color: var(--green-dark); background: var(--green-soft); }
.demo-nav-badge,
.demo-mode-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: #fff0c9;
  border: 1px solid #efd78f;
  color: #7a5700;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.demo-mode-banner {
  position: sticky;
  top: 74px;
  z-index: 76;
  background: #fff8df;
  border-bottom: 1px solid #eddca5;
  color: #604900;
}
.demo-mode-banner-inner {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding-block: 7px;
}
.demo-mode-banner p { margin: 0; font-size: .78rem; line-height: 1.4; }
.demo-mode-banner strong { color: #493700; }
.demo-registration-lock,
.demo-login-note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px;
  border: 1px solid #ecd797;
  border-radius: 16px;
  background: #fff9e8;
  color: #5c4809;
  box-shadow: 0 10px 30px rgba(116, 87, 5, .06);
}
.demo-registration-lock > svg { width: 24px; height: 24px; margin-top: 2px; color: #a77a00; }
.demo-registration-lock strong,
.demo-login-note strong { display: block; color: #493700; }
.demo-registration-lock p,
.demo-login-note p { margin: 5px 0 12px; color: #715b20; font-size: .84rem; line-height: 1.55; }
.demo-login-note { margin: 14px 0; }
.demo-login-note .demo-mode-label { flex: 0 0 auto; margin-top: 1px; }
.partner-demo-note { display: inline-flex; align-items: center; color: rgba(255,255,255,.8); font-size: .76rem; font-weight: 650; }

.installer-nav-label,
.installer-nav-version {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #49605a;
  font-size: .78rem;
  font-weight: 760;
}
.installer-nav-label svg { color: var(--green); }
.installer-nav-version { padding: 7px 10px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); }

.installation-gate-page { background: #f4f9f6; }
.installation-gate {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  background:
    radial-gradient(circle at 15% 15%, rgba(14,159,110,.12), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(124,196,157,.14), transparent 30%),
    #f7faf8;
}
.installation-gate-card {
  width: min(620px, 100%);
  padding: clamp(28px, 5vw, 48px);
  border: 1px solid var(--line);
  border-radius: 26px;
  background: white;
  box-shadow: var(--shadow);
  text-align: center;
}
.installation-gate-mark {
  width: 62px;
  height: 68px;
  position: relative;
  display: inline-block;
  margin-bottom: 12px;
}
.installation-gate-mark::before { content:""; position:absolute; inset:4px 9px 8px 7px; background:var(--green); border-radius:65% 35% 68% 32% / 60% 34% 66% 40%; transform:rotate(35deg); }
.installation-gate-mark::after { content:""; position:absolute; width:16px; height:16px; right:1px; bottom:5px; border-radius:50%; background:#a8df80; border:4px solid #fff; }
.installation-gate-mark span { position:absolute; width:17px; height:10px; border-left:3px solid rgba(255,255,255,.9); border-bottom:3px solid rgba(255,255,255,.9); left:20px; top:30px; transform:rotate(-20deg); z-index:2; }
.installation-gate-card h1 { margin: 10px 0 12px; font-size: clamp(2rem, 6vw, 3.1rem); line-height: 1.02; letter-spacing: -.05em; }
.installation-gate-card > p { margin: 0 auto 22px; max-width: 54ch; color: var(--muted); }
.installation-gate-security { margin: 0 0 22px; padding: 14px; border-radius: 14px; background: #f0f8f4; display:flex; gap:12px; text-align:left; color: var(--green-dark); }
.installation-gate-security svg { width: 24px; height: 24px; margin-top:2px; }
.installation-gate-security span { display:grid; }
.installation-gate-security small { color: #60756d; margin-top:3px; line-height:1.4; }
.installation-gate-card .button { min-width: 230px; }
.installation-gate-note { padding: 12px; border:1px solid #eadfc0; border-radius:12px; background:#fffaf0; font-size:.78rem; }

.installer-page { min-height: calc(100vh - 74px); padding: 46px 0 70px; background: linear-gradient(180deg,#f3f9f6 0,#f8faf9 360px); }
.installer-shell { max-width: 1120px; }
.installer-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.installer-hero h1 { margin: 6px 0 7px; font-size: clamp(2.15rem,4vw,3.35rem); line-height:1; letter-spacing:-.05em; }
.installer-hero p { margin:0; max-width:68ch; color:var(--muted); }
.installer-security-badge { flex:0 0 auto; display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid #cde7da; border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
.installer-security-badge svg { color:var(--green); width:24px; height:24px; }
.installer-security-badge span { display:grid; }
.installer-security-badge strong { font-size:.78rem; }
.installer-security-badge small { color:var(--muted); font-size:.66rem; margin-top:2px; }
.installer-check-card,
.installer-card,
.installer-demo-card,
.installer-success-card { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 34px rgba(20,55,43,.055); }
.installer-check-card { padding:22px; margin-bottom:18px; }
.installer-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.installer-section-head h2 { margin:3px 0 0; font-size:1.18rem; letter-spacing:-.025em; }
.installer-section-head > svg { color:var(--green); width:25px; height:25px; }
.installer-check-summary { padding:7px 10px; border-radius:999px; background:var(--green-soft); color:var(--green-dark); font-size:.7rem; font-weight:850; white-space:nowrap; }
.installer-check-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.installer-check-item { min-width:0; display:flex; align-items:center; gap:8px; padding:10px 11px; border:1px solid var(--line); border-radius:11px; background:#fbfdfc; color:#4f625b; font-size:.72rem; font-weight:650; }
.installer-check-item.warn { border-color:#edd6a0; background:#fffaf0; color:#765a17; }
.installer-note { margin:14px 0 0; padding-top:13px; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; }
.installer-form { display:grid; gap:18px; }
.installer-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.installer-card { padding:22px; min-width:0; }
.installer-card .admin-form { gap:15px; padding:0; }
.installer-card .admin-form label > small { color:var(--muted); font-weight:500; font-size:.62rem; line-height:1.4; }
/* Installer: controls stay top-aligned even when a sibling field has helper text. */
.installer-card .admin-form label { align-content:start; align-self:start; }
.installer-card .span-two { grid-column:1/-1; }
.installer-demo-card { padding:20px 22px; border-color:#ead99f; background:linear-gradient(135deg,#fffaf0,#fff 70%); }
.installer-demo-toggle { display:grid; grid-template-columns:auto 1fr; align-items:flex-start; gap:12px; cursor:pointer; }
.installer-demo-toggle > input { position:absolute; opacity:0; pointer-events:none; }
.installer-demo-control { width:44px; height:24px; border-radius:999px; background:#d7dfdb; position:relative; margin-top:1px; transition:.18s ease; }
.installer-demo-control::after { content:""; position:absolute; width:18px; height:18px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.16); transition:.18s ease; }
.installer-demo-toggle input:checked + .installer-demo-control { background:var(--green); }
.installer-demo-toggle input:checked + .installer-demo-control::after { transform:translateX(20px); }
.installer-demo-toggle strong { display:block; color:var(--text); font-size:.9rem; }
.installer-demo-toggle small { display:block; margin-top:4px; color:#6d6550; line-height:1.45; }
.installer-demo-warning { display:flex; align-items:flex-start; gap:8px; margin-top:13px; padding-top:12px; border-top:1px solid #eadfbd; color:#76611d; font-size:.72rem; }
.installer-demo-warning svg { margin-top:1px; flex:0 0 auto; }
.installer-submit-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 18px; border-radius:16px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-sm); }
.installer-submit-row > div { display:grid; }
.installer-submit-row strong { font-size:.82rem; }
.installer-submit-row small { color:var(--muted); font-size:.7rem; margin-top:2px; }
.installer-submit-row .button[disabled] { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
.installer-success-card { padding:24px; }
.installer-demo-credentials { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; margin-top:18px; padding:18px; border:1px solid #ead99f; border-radius:14px; background:#fffaf0; }
.installer-demo-credentials h2 { margin:0 0 7px; font-size:1rem; }
.installer-demo-credentials p { margin:0 0 7px; }
.installer-demo-credentials small { color:#6e5b20; }
.installer-final-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.installer-error { margin-bottom:18px; }
.installer-footer { border-top:1px solid var(--line); background:#fff; }
.installer-footer > .shell { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); }
.installer-footer span { color:var(--text); font-weight:800; }
.installer-footer small { font-size:.7rem; }
.admin-form input::placeholder { color:#9aa9a3; opacity:1; }

@media (max-width: 920px) {
  .installer-form-grid { grid-template-columns:1fr; }
  .installer-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .installer-hero { align-items:flex-start; flex-direction:column; }
  .installer-security-badge { width:100%; }
}
@media (max-width: 680px) {
  .demo-mode-banner { top:64px; }
  .demo-mode-banner-inner { align-items:flex-start; }
  .installer-page { padding-top:28px; }
  .installer-check-grid { grid-template-columns:1fr; }
  .installer-card,.installer-check-card,.installer-demo-card,.installer-success-card { padding:17px; }
  .installer-submit-row { align-items:stretch; flex-direction:column; }
  .installer-submit-row .button { width:100%; }
  .installer-demo-toggle { grid-template-columns:auto 1fr; }
  .installer-demo-toggle > span:last-child { grid-column:2; }
  .installer-footer > .shell { align-items:flex-start; flex-direction:column; justify-content:center; padding-block:14px; }
}
body.demo-mode #startseite,
body.demo-mode #so-funktionierts,
body.demo-mode #preise,
body.demo-mode #sicherheit,
body.demo-mode #waschpartner-werden,
body.demo-mode #faq { scroll-margin-top: 142px; }
#startseite { scroll-margin-top: 92px; }
.admin-flash.warning { background:#fff9ea; border-color:#ecd9a0; color:#765a17; }

/* Bootstrap 6 integration: override current v6 tokens, then layer WaschKreis components on top. */
:root, :host {
  --bs-body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bs-bg-body: var(--bg);
  --bs-fg-body: var(--text);
  --bs-border-color: var(--line);
  --bs-primary-base: var(--green);
  --bs-primary-bg: var(--green);
  --bs-primary-fg: var(--green-dark);
  --bs-primary-fg-emphasis: #064b37;
  --bs-primary-bg-subtle: var(--green-soft);
  --bs-primary-bg-muted: #d7f2e6;
  --bs-primary-border: #78c7a9;
  --bs-primary-focus-ring: rgba(14,159,110,.28);
  --bs-primary-contrast: #fff;
  --bs-link-color: var(--green-dark);
}

.shell-wide { width: min(1500px, calc(100% - 32px)); margin-inline: auto; }
.brand { min-width: 0; }
.brand-logo-picture, .brand-mark-picture { display: inline-flex; align-items: center; }
.brand-logo-image { display: block; width: 154px; height: auto; max-height: 48px; object-fit: contain; }
.brand-mark-image { display: block; width: 38px; height: 38px; object-fit: contain; }
.site-footer .brand-logo-image { width: 168px; }

.app-topbar .nav-wrap { min-height: 72px; gap: 18px; }
.app-topbar .brand-logo-image { width: 146px; }
.app-topbar .main-nav { gap: 3px; }
.app-topbar .main-nav > a { padding-inline: 10px; font-size: .84rem; }
.role-chip {
  display: inline-flex; align-items: center; min-height: 34px; padding: 0 11px;
  border-radius: 999px; border: 1px solid #d8e7df; background: #f1f8f4;
  color: #2d5e4c; font-size: .7rem; font-weight: 850; white-space: nowrap;
}
.admin-role-chip { background: #eaf7f1; color: var(--green-dark); }
.account-menu-toggle {
  display: inline-flex; align-items: center; gap: 9px; padding: 5px 8px 5px 6px;
  border-radius: 13px; text-align: left; transition: .18s ease;
}
.account-menu-toggle:hover, .account-menu-toggle[aria-expanded="true"] { background: #f2f7f4; }
.account-menu-toggle::after { display: none; }
.account-chevron { margin-left: 1px; color: #789087; font-size: .8rem; }

/* Authenticated workspaces use a wider, consistently aligned canvas. */
.page-admin .app-section > .shell.app-shell,
.page-admin .admin-v2 > .shell,
.page-admin .demo-mode-banner > .shell,
.role-admin .app-section > .shell.app-shell { max-width: none; width: min(1500px, calc(100% - 32px)); }
.page-partner .app-section > .shell.app-shell,
.role-partner .app-section > .shell.app-shell,
.page-kunde .app-section > .shell.app-shell,
.page-tracking .app-section > .shell.app-shell,
.role-customer .app-section > .shell.app-shell { max-width: none; width: min(1360px, calc(100% - 32px)); }

.page-admin .admin-content { width: 100%; }
.page-admin .admin-page-head { align-items: center; }
.page-admin .admin-stat-grid { gap: 14px; }
.page-admin .admin-stat-grid article { min-height: 116px; }
.page-admin .admin-dashboard-grid { grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr); gap: 20px; }
.page-admin .admin-card { overflow-wrap: anywhere; }

/* Bootstrap reboot makes controls consistent; retain WaschKreis visual language. */
.form-control, .form-select,
.admin-form input, .admin-form select, .admin-form textarea,
.form-grid input, .form-grid select, .form-grid textarea {
  border-color: var(--line-strong); border-radius: 11px; box-shadow: none;
}
.admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus,
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus {
  border-color: #78c7a9; box-shadow: 0 0 0 3px rgba(14,159,110,.10); outline: 0;
}

/* Avoid old fake logo geometry after the real commercial logo was integrated. */
.logo-mark, .brand-word { display: none !important; }
.installation-gate-mark { width: 84px; height: 84px; background: url('../images/brand/waschkreis-mark.webp') center/contain no-repeat; }
.installation-gate-mark::before, .installation-gate-mark::after, .installation-gate-mark span { display: none; }

@media (max-width: 1280px) {
  .app-topbar .role-chip { display: none; }
}
@media (max-width: 1160px) {
  .app-topbar .nav-toggle { display: inline-flex; }
  .app-topbar .main-nav {
    display: none; position: absolute; left: 16px; right: 16px; top: 66px; z-index: 90;
    padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: white;
    box-shadow: var(--shadow); flex-direction: column; align-items: stretch;
  }
  .app-topbar .main-nav.open { display: flex; }
  .app-topbar .main-nav > a, .app-topbar .main-nav   .app-topbar .nav-spacer { display: none; }
  .app-topbar .account-dropdown { width: 100%; border-top: 1px solid var(--line); padding-top: 8px; margin-top: 3px; }
  .app-topbar .account-menu-toggle { width: 100%; }
}
@media (max-width: 900px) {
  .page-admin .admin-dashboard-grid { grid-template-columns: 1fr; }
  .shell-wide,
  .page-admin .app-section > .shell.app-shell,
  .page-admin .admin-v2 > .shell,
  .page-partner .app-section > .shell.app-shell,
  .page-kunde .app-section > .shell.app-shell,
  .page-tracking .app-section > .shell.app-shell { width: min(100% - 24px, 760px); }
}
@media (max-width: 620px) {
  .brand-logo-image, .app-topbar .brand-logo-image { width: 128px; }
  .site-footer .brand-logo-image { width: 150px; }
}

/* Authenticated workspace refinements */
.admin-workspace-page { background: linear-gradient(180deg,#f8fbf9 0,#f4f8f6 100%); min-height: calc(100vh - 72px); }
.admin-content { min-width:0; }
.admin-content > .admin-page-head:first-child,
.admin-content > .admin-flash + .admin-page-head { margin-top: 0; }
.admin-page-head { gap: 18px; flex-wrap: wrap; }
.admin-head-actions, .stack-actions { flex-wrap: wrap; }
.metric-grid, .admin-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.metric-grid .metric-card, .admin-stat-grid article { min-width: 0; }
.responsive-table { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.data-table, .admin-table { width:100%; }
.admin-split.wide { min-width:0; }

.app-topbar { z-index: 120; }
.demo-mode-banner { z-index: 110; }

@media (max-width: 1180px) {
  .metric-grid, .admin-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
}
@media (max-width: 620px) {
  .metric-grid, .admin-stat-grid { grid-template-columns:1fr; }
}

/* Zentrale Statusmeldungen / SMTP-Zugang */
.wk-toast-stack{position:fixed;top:88px;right:24px;z-index:1200;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.wk-toast{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:start;gap:10px;padding:12px 12px 12px 13px;background:#fff;border:1px solid #dfe8e4;border-radius:14px;box-shadow:0 14px 38px rgba(9,38,47,.16);opacity:0;transform:translateY(-10px) scale(.985);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}
.wk-toast.is-visible{opacity:1;transform:translateY(0) scale(1)}
.wk-toast.is-hiding{opacity:0;transform:translateY(-8px) scale(.985)}
.wk-toast-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e9f8f1;color:#07865d}.wk-toast-icon svg{width:17px;height:17px}
.wk-toast-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.wk-toast-copy strong{font-size:.82rem;color:#082a38}.wk-toast-copy small{font-size:.76rem;line-height:1.4;color:#526a73}
.wk-toast-close{border:0;background:transparent;color:#6e8188;font-size:1.35rem;line-height:1;width:28px;height:28px;border-radius:8px;cursor:pointer}.wk-toast-close:hover{background:#f1f5f3;color:#123640}
.wk-toast-error{border-color:#efc7c7}.wk-toast-error .wk-toast-icon{background:#fff0f0;color:#a93636}.wk-toast-warning{border-color:#eadba9}.wk-toast-warning .wk-toast-icon{background:#fff8df;color:#856718}.wk-toast-info .wk-toast-icon{background:#eef6ff;color:#2766a4}
.admin-flash{transition:opacity .2s ease,transform .2s ease,max-height .25s ease,margin .25s ease,padding .25s ease}.admin-flash.flash-autohide.is-hiding{opacity:0;transform:translateY(-4px);max-height:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden}
.smtp-settings-panel{margin-top:8px;padding:16px;border:1px solid #dfe9e4;border-radius:14px;background:#f8fbf9}.smtp-settings-panel.is-inactive{opacity:.68}.smtp-settings-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.smtp-settings-title>div{display:flex;flex-direction:column;gap:2px}.smtp-settings-title strong{font-size:.88rem;color:#0a2d3b}.smtp-settings-title small{font-size:.73rem;color:#637981}
.smtp-secret-state{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.69rem;font-weight:800;white-space:nowrap}.smtp-secret-state.is-set{background:#e7f8f0;color:#087b56}.smtp-secret-state.is-empty{background:#fff4e7;color:#94631b}
.password-field{display:flex;align-items:stretch;gap:7px}.password-field input{min-width:0;flex:1}.password-toggle{border:1px solid #cfdeda;background:#fff;border-radius:10px;padding:0 12px;font-size:.72rem;font-weight:750;color:#27505b;cursor:pointer}.password-toggle:hover{background:#f1f7f4}.smtp-password-label>small{display:block;margin-top:5px;font-size:.7rem;color:#677c84}.smtp-clear-secret{align-self:end;margin-bottom:1px}
.email-test-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}.email-test-grid .inline-test-mail{display:flex;gap:10px;align-items:center}.email-test-grid .inline-test-mail:first-child{flex-wrap:wrap}.email-test-grid .inline-test-mail small{flex-basis:100%;font-size:.7rem;color:#667b83;line-height:1.35}.email-test-grid input{min-width:0;flex:1}
.button.is-saving{opacity:.78;cursor:wait}
@media(max-width:760px){.wk-toast-stack{top:72px;right:16px;left:16px;width:auto}.email-test-grid{grid-template-columns:1fr}.email-test-grid .inline-test-mail{align-items:stretch;flex-direction:column}.smtp-settings-title{flex-direction:column}.password-field{flex-direction:column}.password-toggle{min-height:42px}.smtp-clear-secret{align-self:stretch}}
@media(prefers-reduced-motion:reduce){.wk-toast,.admin-flash{transition:none!important}}

/* Konsistente Header-Navigation, Arbeitsflächen, Cookie-Modal & Help Center */
:root{
  --workspace-max: 1380px;
  --workspace-gap: 24px;
}

/* Core navigation no longer depends on Bootstrap dropdown JS/CSS. */
.header-dropdown{position:relative;flex:0 0 auto;margin:0;padding:0}
.header-dropdown>summary{list-style:none;cursor:pointer;user-select:none}
.header-dropdown>summary::-webkit-details-marker{display:none}
.header-dropdown-toggle{display:flex;align-items:center;gap:6px;min-height:40px;padding:9px 11px;border-radius:10px;color:#263b45;font-size:.91rem;font-weight:650;white-space:nowrap}
.header-dropdown-toggle:hover,.header-dropdown-toggle.active,.header-dropdown[open]>.header-dropdown-toggle{color:var(--green-dark);background:var(--green-soft)}
.header-dropdown-toggle>span:last-child{font-size:.8rem;transition:transform .16s ease}
.header-dropdown[open]>.header-dropdown-toggle>span:last-child{transform:rotate(180deg)}
.header-submenu{position:absolute;top:calc(100% + 8px);left:0;z-index:260;display:grid;gap:3px;min-width:245px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 52px rgba(13,41,49,.16)}
.header-dropdown:not([open])>.header-submenu{display:none!important}
.header-dropdown[open]>.header-submenu{display:grid}
.header-submenu-end{left:auto;right:0}
.header-submenu a{display:flex!important;align-items:center;gap:9px;min-height:40px;padding:9px 10px!important;border-radius:9px;color:#243a43!important;text-decoration:none;font-size:.8rem!important;font-weight:650!important;white-space:normal!important}
.header-submenu a svg{width:16px;height:16px;flex:0 0 auto}
.header-submenu a:hover,.header-submenu a.active{background:var(--green-soft)!important;color:var(--green-dark)!important}
.header-submenu a.danger-link{color:#9c3737!important}
.header-submenu a.danger-link:hover{background:#fff1f1!important;color:#872c2c!important}
.header-submenu-separator{height:1px;background:var(--line);margin:4px 3px}
.account-dropdown .profile-pill{list-style:none;cursor:pointer}
.account-dropdown[open] .profile-pill{background:#f2f8f5;border-color:#bfd8cd}
.account-submenu{min-width:235px}
.account-chevron{font-size:.8rem;transition:transform .16s ease}
.account-dropdown[open] .account-chevron{transform:rotate(180deg)}

.admin-header-workspace{display:block!important;width:min(var(--workspace-max),calc(100% - 40px))!important;max-width:none!important;padding-top:28px;padding-bottom:64px}
.admin-header-workspace .admin-content{width:100%;min-width:0}
.admin-workspace-page{min-height:calc(100vh - 72px);background:linear-gradient(180deg,#f8fbf9 0,#f4f8f6 100%)}

/* Unified authenticated page canvas. */
.app-section>.shell.app-shell,
.role-customer .app-section>.shell.app-shell,
.role-partner .app-section>.shell.app-shell,
.role-admin .app-section>.shell.app-shell{width:min(var(--workspace-max),calc(100% - 40px));max-width:none;margin-inline:auto}
.page-kunde .app-section>.shell.app-shell,.page-tracking .app-section>.shell.app-shell{width:min(1320px,calc(100% - 40px))}
.app-title,.admin-page-head{margin-bottom:22px}
.app-title.split-title,.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.admin-page-head>div:first-child,.app-title>div:first-child{min-width:0}
.admin-page-head p,.app-title p{max-width:850px}
.admin-card,.detail-card,.metric-card,.order-summary-card,.partner-contact-card{min-width:0}
.responsive-table{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.data-table,.admin-table{min-width:760px}
.summary-row{gap:20px;align-items:flex-start}
.summary-row strong{text-align:right;overflow-wrap:anywhere}

/* Header dimensions and stacking. */
.site-header{z-index:220}
.nav-wrap{min-height:72px;gap:16px}
.app-topbar .shell.shell-wide,.page-admin .site-header .shell{width:min(var(--workspace-max),calc(100% - 40px));max-width:none}
.app-topbar .main-nav{gap:3px;overflow:visible}
.main-nav .header-dropdown{display:flex;align-items:center}
.profile-pill{max-width:260px}
.profile-pill>span:nth-child(2){min-width:0}
.profile-pill strong{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Public partner search. */
.public-search-page{background:linear-gradient(180deg,#f7fbf9 0,#fff 420px);min-height:70vh}
.search-page-head{margin-bottom:18px}
.search-panel{display:grid;gap:8px;max-width:760px;padding:18px;margin:0 0 22px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(18,55,43,.06)}
.search-panel>label{font-size:.72rem;font-weight:800;color:#3d5660}
.search-panel-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.search-panel-row .input-with-icon{min-height:46px}
.search-result-meta{display:flex;gap:10px;align-items:center;margin:24px 0 14px;color:var(--muted);font-size:.82rem}.search-result-meta strong{color:var(--text);font-size:1rem}
.search-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.search-provider-card{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(18,55,43,.055)}
.search-provider-head{display:flex;gap:12px;align-items:flex-start}.search-provider-head h2{margin:0;font-size:1.05rem}.search-provider-head p{display:flex;align-items:center;gap:5px;margin:4px 0;color:var(--muted);font-size:.72rem}.search-provider-head p svg{width:14px;height:14px}
.search-package-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.search-package-item{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border-bottom:1px solid var(--line)}.search-package-item:last-child{border-bottom:0}.search-package-item>div{display:grid;gap:3px}.search-package-item strong{font-size:.76rem}.search-package-item small{color:var(--muted);font-size:.64rem}.search-package-item>span{font-weight:850;white-space:nowrap}
.search-provider-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-provider-actions .settings-note{margin:0}
.search-empty{padding:50px 24px;border:1px dashed #c8dad3;border-radius:18px;background:#fbfdfc;text-align:center}.search-empty .empty-state-icon{width:50px;height:50px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark)}.search-empty .empty-state-icon svg{width:24px;height:24px}
.search-intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.search-intro-grid article{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.search-intro-grid article>svg{width:24px;height:24px;color:var(--green)}.search-intro-grid h3{margin:12px 0 5px;font-size:.9rem}.search-intro-grid p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}

/* Cookie preferences are a real modal, opened from the floating/footer controls. */
.floating-cookie{cursor:pointer;font:inherit}
.cookie-modal-backdrop{position:fixed;inset:0;z-index:980;background:rgba(5,28,23,.42);backdrop-filter:blur(3px)}
.cookie-modal{position:fixed;left:50%;top:50%;z-index:990;width:min(650px,calc(100% - 28px));max-height:min(760px,calc(100vh - 34px));overflow:auto;transform:translate(-50%,-50%);padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(7,33,28,.28)}
.cookie-modal[hidden],.cookie-modal-backdrop[hidden]{display:none!important}
.cookie-modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.cookie-modal-head h2{margin:4px 0 7px;font-size:1.35rem}.cookie-modal-head p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}.cookie-modal-close{flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#526b73;font-size:1.35rem;line-height:1;cursor:pointer}.cookie-modal-close:hover{background:#f3f8f5}
.cookie-preferences-form{display:grid;gap:9px}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:8px}.cookie-modal-foot{display:flex;gap:7px;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:.68rem;color:var(--muted)}.cookie-modal-foot a{color:var(--green-dark)}
body.cookie-modal-open{overflow:hidden}

/* General help center. */
.help-hero{padding:64px 0 52px;background:linear-gradient(180deg,#f0f9f5 0,#f8fbf9 100%);border-bottom:1px solid var(--line)}
.help-shell{width:min(1180px,calc(100% - 40px));max-width:none;margin-inline:auto}.help-hero h1{margin:8px 0 10px;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.05em}.help-hero>div>p{max-width:760px;margin:0 0 22px;color:var(--muted);line-height:1.6}
.help-search-box{display:flex;align-items:center;gap:10px;width:min(720px,100%);min-height:52px;padding:0 15px;border:1px solid #cfded8;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(16,53,42,.07)}.help-search-box svg{width:20px;height:20px;color:var(--green)}.help-search-box input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:.88rem;color:var(--text)}
.help-content-section{padding-top:34px}.help-account-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;margin-bottom:32px;border:1px solid var(--line);border-radius:16px;background:#fff}.help-account-bar>span{display:grid;gap:3px}.help-account-bar strong{font-size:.85rem}.help-account-bar small{font-size:.7rem;color:var(--muted)}
.help-section-head{margin:0 0 14px}.help-section-head h2{margin:4px 0 0;font-size:1.35rem}.help-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.help-topic-card{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.help-topic-card:hover{transform:translateY(-2px);border-color:#b9d8cb;box-shadow:0 10px 26px rgba(17,57,44,.07)}.help-topic-card>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);flex:0 0 auto}.help-topic-card>span svg{width:20px;height:20px}.help-topic-card>div{display:grid;gap:3px}.help-topic-card strong{font-size:.8rem}.help-topic-card small{font-size:.65rem;color:var(--muted);line-height:1.4}
.help-no-results{padding:14px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);font-size:.76rem}.help-faq-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:34px}.help-faq-group{scroll-margin-top:110px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.help-faq-group h2{margin:4px 0 13px;font-size:1.05rem}.help-faq-group details{padding:11px 0;border-top:1px solid var(--line)}.help-faq-group details:first-of-type{border-top:0}.help-faq-group summary{cursor:pointer;font-size:.78rem;font-weight:780;color:#173944}.help-faq-group details p{margin:8px 0 0;color:var(--muted);font-size:.71rem;line-height:1.6}
.help-contact-card{scroll-margin-top:110px;margin-top:34px;padding:22px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,#f3fbf7 0,#fff 65%)}.help-contact-card>div:first-child h2{margin:5px 0 7px}.help-contact-card>div:first-child p{max-width:820px;color:var(--muted);font-size:.75rem;line-height:1.6}.help-contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.help-support-layout{margin-top:18px}

/* Legacy consent banner remains only as a fallback style for old markup. */
.consent-banner,.consent-backdrop{display:none!important}

@media (max-width:1180px){
  .site-header .nav-toggle{display:inline-flex}
  .site-header .main-nav{display:none;position:absolute;left:16px;right:16px;top:66px;z-index:250;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;max-height:calc(100vh - 90px);overflow:auto}
  .site-header .main-nav.open{display:flex}
  .site-header .main-nav>a,.site-header .header-dropdown,.site-header .header-dropdown-toggle,.site-header .account-dropdown{width:100%}
  .site-header .header-dropdown{display:block}
  .site-header .header-dropdown-toggle,.site-header .profile-pill{justify-content:flex-start;width:100%;min-height:42px}
  .site-header .header-submenu{position:static;display:grid;width:100%;min-width:0;margin:5px 0 7px;padding:6px;box-shadow:none;background:#f8fbf9}
  .site-header .header-submenu-end{right:auto}
  .site-header .nav-spacer{display:none}
  .site-header .account-dropdown{border-top:1px solid var(--line);padding-top:7px;margin-top:4px}
  .profile-pill strong{max-width:none}
}
@media (max-width:900px){
  .app-section>.shell.app-shell,.admin-header-workspace,.help-shell{width:min(100% - 24px,760px)!important}
  .search-provider-grid,.help-topic-grid,.help-faq-sections{grid-template-columns:1fr}
  .search-intro-grid{grid-template-columns:1fr}
  .help-account-bar{align-items:flex-start;flex-direction:column}
  .help-account-bar .button{width:100%}
}
@media (max-width:620px){
  .search-panel-row{grid-template-columns:1fr}.search-panel-row .button{width:100%}
  .cookie-modal{padding:17px}.cookie-modal-actions{display:grid;grid-template-columns:1fr}.cookie-modal-actions .button{width:100%}
  .help-hero{padding:42px 0 34px}.help-contact-card{padding:17px}
  .data-table,.admin-table{min-width:680px}
}
.access-denied-card{max-width:720px;margin:60px auto;padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 16px 42px rgba(16,53,42,.08);text-align:center}.access-denied-card h1{margin:8px 0 10px;font-size:clamp(1.7rem,4vw,2.5rem)}.access-denied-card p{max-width:590px;margin:0 auto 20px;color:var(--muted);line-height:1.65}.access-denied-card .inline-actions{justify-content:center}.access-denied-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:var(--green-soft);color:var(--green-dark)}.access-denied-icon svg{width:25px;height:25px}
.account-shell{max-width:900px!important}.account-card{padding:20px}.account-card .summary{max-width:760px}.account-card>p{margin:18px 0 0}

/* Kontoseiten nicht über die ganze Arbeitsfläche strecken. */
.account-shell{max-width:820px!important}
.account-card .summary{max-width:none!important;gap:0}
.account-card .summary-row{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.account-card .summary-row:last-child{border-bottom:0}
.account-card .summary-row strong{text-align:left;justify-self:start}
@media(max-width:620px){.account-card .summary-row{grid-template-columns:1fr;gap:4px}.account-card .summary-row strong{text-align:left}}
.cookie-modal-status{margin:2px 0 0;padding:10px 12px;border-radius:11px;background:#f3f8f5;color:#526b73;font-size:.72rem;line-height:1.5}


/* Konsistente Backend-Arbeitsflächen, Modaldetails und getrennte E-Mail-Bereiche */
:root{--admin-content-max:1380px;--admin-radius:18px}
.page-admin .admin-header-workspace{width:min(var(--admin-content-max),calc(100% - 48px))!important;padding-top:34px;padding-bottom:72px}
.page-admin .admin-page-head{min-height:auto;margin-bottom:24px;align-items:flex-start}
.page-admin .admin-page-head h1{font-size:clamp(1.8rem,2.6vw,2.5rem);margin-top:5px}
.page-admin .admin-page-head p{max-width:820px;font-size:.84rem;line-height:1.55}
.page-admin .admin-card{border-radius:var(--admin-radius);box-shadow:0 12px 34px rgba(13,52,41,.055)}
.admin-list-surface{overflow:hidden}.table-action-col{width:150px}.admin-table td:last-child,.data-table td:last-child{text-align:right}
.admin-panel-padded{padding:0}.admin-panel-padded>.panel-head{padding:18px 20px}.admin-panel-padded>.admin-form{padding:20px}.no-card-padding{padding:18px 20px!important}
.compact-head{min-height:68px;padding:16px 20px}.compact-head h2{font-size:1.06rem;margin:3px 0 0}
.admin-section-grid{display:grid;gap:18px;align-items:start;margin-bottom:18px}.admin-section-grid.two-equal{grid-template-columns:repeat(2,minmax(0,1fr))}.task-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.onboarding-grid{grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr)}.complaint-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.support-split{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}
.admin-detail-panel{min-height:320px;overflow:hidden}.admin-panel-body{padding:20px}.admin-panel-body>h3{margin:24px 0 12px}.admin-panel-body>h3:first-child{margin-top:0}
.admin-empty-panel{min-height:330px;display:grid;place-items:center;align-content:center;text-align:center;padding:48px 28px}.admin-empty-panel h2{margin:14px 0 6px;font-size:1.2rem}.admin-empty-panel p{max-width:520px;margin:0 0 18px;color:var(--muted)}.admin-empty-illustration{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark)}.admin-empty-illustration svg{width:28px;height:28px}.admin-empty-compact{min-height:180px;padding:30px;display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--muted)}.admin-empty-compact.centered{text-align:center;align-items:center}.admin-empty-compact strong{color:var(--text);font-size:.9rem}.admin-empty-compact span{font-size:.75rem;line-height:1.5;max-width:520px}
.entity-list{display:grid}.entity-list-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:12px 18px;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.entity-list-row:first-child{border-top:0}.entity-list-row:hover,.entity-list-row.selected{background:#f2faf6}.entity-list-row>span:nth-child(2){display:grid;gap:3px}.entity-list-row small{color:var(--muted);font-size:.67rem}.entity-list-row b{font-size:.74rem;color:var(--green-dark);padding:6px 9px;border-radius:999px;background:var(--green-soft)}
.notice-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:16px;border:1px solid #ecdca7;border-radius:14px;background:#fff9e8;color:#6e5b1f}.notice-card strong{white-space:nowrap;font-size:.76rem}.notice-card span{font-size:.73rem;line-height:1.5}.filter-card{padding:18px 20px;margin-bottom:18px}.filter-card label,.order-filter-bar label{display:grid;gap:6px;font-size:.68rem;font-weight:720;color:#52656d}.filter-card input,.filter-card select,.order-filter-bar input,.order-filter-bar select{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:8px 10px}.filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.panel-action-row,.panel-footer-action{display:flex;justify-content:flex-end;padding:14px 0 0}.compact-list .audit-entry{padding:11px 15px}
.admin-subnav{display:flex;gap:6px;padding:6px;margin:0 0 20px;border:1px solid var(--line);border-radius:14px;background:#fff;width:max-content;max-width:100%}.admin-subnav a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border-radius:9px;color:#4c6169;text-decoration:none;font-size:.78rem;font-weight:750}.admin-subnav a:hover{background:#f3f8f5}.admin-subnav a.active{background:var(--green-soft);color:var(--green-dark)}.admin-subnav a span{min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:rgba(8,127,86,.1);font-size:.64rem}.admin-stack{display:grid;gap:18px}.static-submit{position:static!important;margin:0!important;justify-content:flex-end!important}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.template-card{min-width:0}.template-card textarea{min-height:190px}.smtp-settings-panel{margin:0;background:#fff;opacity:1!important}.smtp-settings-panel.is-inactive{opacity:.7!important}.smtp-settings-panel>.settings-card-head{justify-content:flex-start}.smtp-settings-panel>.settings-card-head>.smtp-secret-state{margin-left:auto}.email-test-stack{display:grid;gap:12px;padding:18px 20px}.test-action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.test-action-card>div:first-child{display:grid;gap:3px}.test-action-card strong{font-size:.78rem}.test-action-card small{font-size:.66rem;color:var(--muted)}.inline-field-action{display:flex;gap:8px;align-items:center}.inline-field-action input{min-height:40px;min-width:220px;border:1px solid var(--line-strong);border-radius:9px;padding:8px 10px}
/* Modal details for customer/provider profiles. */
.wk-admin-modal-backdrop{position:fixed;inset:0;z-index:900;background:rgba(5,30,26,.46);backdrop-filter:blur(3px)}.wk-admin-modal{position:fixed;z-index:910;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(8,37,31,.28)}.wk-admin-modal-wide{width:min(980px,calc(100% - 32px))}.wk-admin-modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.wk-admin-modal-head h2{margin:4px 0 2px;font-size:1.25rem}.wk-admin-modal-head p{margin:0;color:var(--muted);font-size:.72rem}.modal-close-link{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:#52656d;text-decoration:none;font-size:1.35rem}.modal-close-link:hover{background:#f3f8f5}.modal-form{padding:20px}.modal-actions{position:sticky;bottom:-20px;z-index:2;display:flex;justify-content:flex-end;gap:8px;margin:6px -20px -20px;padding:14px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}.modal-secondary-action{padding:0 20px 20px;display:flex;justify-content:flex-end}
body.admin-modal-open{overflow:hidden}
@media(max-width:980px){.admin-section-grid.two-equal,.task-grid,.onboarding-grid,.complaint-grid,.support-split,.template-grid{grid-template-columns:1fr}.page-admin .admin-header-workspace{width:min(100% - 24px,780px)!important}.admin-subnav{width:100%}.admin-subnav a{flex:1;justify-content:center}.test-action-card{grid-template-columns:1fr}.inline-field-action{align-items:stretch;flex-direction:column}.inline-field-action input{min-width:0}.notice-card{flex-direction:column}.notice-card strong{white-space:normal}}
@media(max-width:620px){.form-grid.two,.form-grid.three{grid-template-columns:1fr!important}.wk-admin-modal,.wk-admin-modal-wide{width:calc(100% - 18px);max-height:calc(100vh - 18px);border-radius:16px}.wk-admin-modal-head{padding:15px}.modal-form{padding:15px}.modal-actions{margin:4px -15px -15px;padding:12px 15px}.admin-page-head>.button{width:100%}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.admin-subnav{overflow-x:auto;justify-content:flex-start}.admin-subnav a{flex:0 0 auto}}

/* Fallback-Konsistenz für Adminmodule mit direkten Kartenüberschriften. */
.admin-card > h2:first-child{
  margin:0;padding:18px 20px 15px;border-bottom:1px solid var(--line);font-size:1.05rem;letter-spacing:-.025em;
}
.admin-card > h2:first-child + .admin-form{padding-top:18px}
.admin-card > h2:first-child + .health-list{padding-top:8px}
.page-admin .admin-card > .legal-warning:first-child{margin:18px 20px}
.page-admin .admin-card > .summary:first-child{padding:18px 20px}
.page-admin .admin-split{align-items:start}
.page-admin .admin-split > .admin-card{min-width:0;overflow:hidden}
.page-admin .empty-state.compact{min-height:180px;margin:0;display:grid;place-items:center;padding:30px;color:var(--muted)}
.page-admin .data-table th,.page-admin .admin-table th{white-space:nowrap}
.page-admin .data-table td,.page-admin .admin-table td{vertical-align:middle}
.page-admin .admin-split.wide{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}
.page-admin .admin-card > .section-kicker:first-child{display:block;padding:18px 20px 0}
.page-admin .admin-card > .section-kicker:first-child + h2{margin:4px 20px 14px;font-size:1.15rem}
.page-admin .admin-card > .section-kicker:first-child ~ .summary{margin:0 20px 16px}
.page-admin .admin-card > .section-kicker:first-child ~ p{margin:14px 20px;color:var(--muted);line-height:1.55}
.page-admin .admin-card > .section-kicker:first-child ~ form:not(.admin-form){margin:16px 20px 20px}
@media(max-width:900px){.page-admin .admin-split.wide{grid-template-columns:1fr}}
.panel-divider{height:1px;background:var(--line);margin:0 20px}.reject-form{display:flex;gap:7px;align-items:center}.reject-form input{min-height:36px;border:1px solid var(--line-strong);border-radius:8px;padding:6px 9px;min-width:160px}
@media(max-width:620px){.document-review-item>.inline-actions,.reject-form{align-items:stretch;flex-direction:column}.reject-form input{min-width:0;width:100%}}
.page-admin .admin-card > form.form-grid{padding:18px 20px}.page-admin .admin-card > form.form-grid label{display:grid;gap:6px;color:#52656d;font-size:.68rem;font-weight:720}.page-admin .admin-card > form.form-grid input,.page-admin .admin-card > form.form-grid select{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:8px 10px}.page-admin .admin-card > form.form-grid .button{min-height:42px}
.admin-card > .settings-note{margin:14px 20px 18px}.admin-card > .responsive-table:first-child{border-radius:inherit;overflow:auto}.admin-card > .panel-head{padding:17px 20px;align-items:center}.admin-card > .panel-head + .responsive-table{border-top:0}

/* Konsistente Verwaltungs-Suche, Filter und Diagnoseflächen */
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-search-filter{padding:18px 20px;margin-bottom:18px}
.admin-search-filter .form-grid{align-items:end}
.filter-button-cell{display:flex;align-items:end;justify-content:flex-end;gap:8px;min-height:100%}
.filter-button-cell .button{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.dashboard-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;margin:0 0 18px}
.dashboard-search-icon,.global-search-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark)}
.dashboard-search-icon svg,.global-search-icon svg{width:18px;height:18px}
.dashboard-search input,.global-search-row input{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;background:#fff}
.global-search-card{padding:18px 20px;margin-bottom:18px}.global-search-card>label{display:block;margin-bottom:7px;color:#52656d;font-size:.7rem;font-weight:760}.global-search-card>small{display:block;margin-top:8px;color:var(--muted);font-size:.67rem}
.global-search-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center}
.search-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.search-result-wide{grid-column:1/-1}.search-result-card{min-width:0;overflow:hidden}
.compact-search-list{display:grid}.compact-search-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 18px;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.compact-search-list>a:first-child{border-top:0}.compact-search-list>a:hover{background:#f2faf6}.compact-search-list span{display:grid;gap:2px}.compact-search-list small{color:var(--muted);font-size:.67rem}.compact-search-list b{font-size:.68rem;color:var(--green-dark);font-weight:780}
/* Diagnosekarten: Beschriftung und Erklärung dürfen nicht zusammenlaufen. */
.email-test-stack .test-action-card{min-height:72px}.email-test-stack .test-action-card>div:first-of-type{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.email-test-stack .test-action-card strong{display:block}.email-test-stack .test-action-card small{display:block;line-height:1.45}.smtp-secret-state{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* Listen/Details und Karten über alle Adminmodule auf denselben Rhythmus bringen. */
.page-admin .admin-card{min-width:0}.page-admin .admin-list-surface,.page-admin .admin-detail-panel{margin-bottom:0}.page-admin .responsive-table{width:100%}.page-admin .admin-table,.page-admin .data-table{width:100%;border-collapse:collapse}.page-admin .admin-table td,.page-admin .admin-table th,.page-admin .data-table td,.page-admin .data-table th{padding-left:16px;padding-right:16px}.page-admin .admin-panel-padded{padding:0}.page-admin .admin-panel-padded>.panel-head{margin:0}.page-admin .admin-panel-padded>.admin-form{padding:18px 20px}.page-admin .admin-page-head+.admin-card:not(.filter-card):not(.dashboard-search){margin-top:0}
@media(max-width:1120px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.search-result-grid{grid-template-columns:1fr}}
@media(max-width:700px){.form-grid.four{grid-template-columns:1fr}.filter-button-cell{display:grid;grid-template-columns:1fr 1fr}.dashboard-search{grid-template-columns:auto minmax(0,1fr)}.dashboard-search .button{grid-column:1/-1}.global-search-row{grid-template-columns:auto minmax(0,1fr)}.global-search-row .button{grid-column:auto}.global-search-row a.button{grid-column:auto}.search-result-grid{gap:12px}}
@media(max-width:520px){.global-search-row{grid-template-columns:1fr}.global-search-icon{display:none}.global-search-row .button,.global-search-row a.button{width:100%}.filter-button-cell{grid-template-columns:1fr}}

/* Header shortcut to the public website while an authenticated workspace stays open. */
.nav-website-link{white-space:nowrap}.nav-website-link span{font-size:.78em;opacity:.7;margin-left:2px}.installer-demo-subtoggle{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}

/* Consent: nicht verfügbare Kategorien sind Statuszeilen, keine scheinbar defekten Checkboxen. */
.consent-setting.unavailable{background:#f8faf9;color:var(--muted)}
.consent-setting.unavailable strong{color:#52656d}
.consent-setting.unavailable b{color:#667981;background:#edf2f0;white-space:nowrap}
.consent-placeholder{width:18px;height:18px;display:grid!important;place-items:center!important;border:1px solid var(--line-strong);border-radius:4px;color:#8ba099;font-size:.72rem;line-height:1}
.consent-settings-actions{gap:8px;flex-wrap:wrap}

/* Zentraler Inhaltsrhythmus für Verwaltungs- und arbeitsorientierte Seiten. */
.workspace-flow{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.workspace-flow > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* Zwei-Spalten-Dashboards sollen Karten nicht künstlich auf die Höhe der längsten Spalte strecken. */
.admin-dashboard-grid{
  align-items:start;
}

/* Sechs Finanzkennzahlen ergeben auf Desktop ein ruhiges 3 × 2 Raster statt 4 + 2. */
.finance-metric-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Leere Tabellenzustände bleiben sichtbar, erzeugen aber keine unnötig hohen Weißflächen. */
.responsive-table td > .admin-empty-compact,
.admin-table-wrap td > .admin-empty-compact{
  min-height:112px;
  padding:22px 16px;
}
.admin-card > .admin-empty-compact{
  min-height:128px;
  padding:24px;
}
.admin-detail-panel > .admin-empty-compact{
  min-height:220px;
  padding:28px 24px;
}
.admin-empty-panel{
  min-height:240px;
  padding:36px 28px;
}

/* Innenabstände wiederkehrender Admin-Karten auf eine gemeinsame Achse legen. */
.page-admin .panel-head,
.page-admin .admin-card-head,
.page-admin .settings-card-head{
  padding-left:20px;
  padding-right:20px;
}
.page-admin .filter-card{
  padding:18px 20px;
}
.page-admin .data-table th,
.page-admin .data-table td,
.page-admin .admin-table th,
.page-admin .admin-table td{
  padding-left:16px;
  padding-right:16px;
}

@media(max-width:980px){
  .finance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .workspace-flow{gap:14px}
  .finance-metric-grid{grid-template-columns:1fr!important}
  .page-admin .filter-card{padding:15px}
}

/* Partner-Dashboard: fehlende Layout-Hooks explizit definieren. */
.partner-dashboard .dashboard-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.partner-dashboard .dashboard-head h1{
  margin:4px 0 5px;
  font-size:clamp(1.9rem,3vw,2.6rem);
  line-height:1.06;
  letter-spacing:-.04em;
}
.partner-dashboard .dashboard-head p{
  margin:0;
  color:var(--muted);
}
.partner-dashboard .metric-grid{
  margin:0;
}
.partner-dashboard .metric-grid article,
.panel-card{
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}
.partner-dashboard .metric-grid article{
  min-height:104px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:13px;
}
.partner-dashboard .metric-grid article>div{
  display:grid;
  gap:2px;
}
.partner-dashboard .metric-grid article>div>strong{
  font-size:1.35rem;
  line-height:1.1;
}
.partner-dashboard .metric-grid article>div>small{
  color:var(--muted);
  font-size:.7rem;
}
.metric-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f2f6f4;
  color:#52676f;
  font-weight:800;
}
.metric-icon.green{background:var(--green-soft);color:var(--green-dark)}
.metric-icon.blue{background:var(--blue-soft);color:#3677bd}
.metric-icon.amber{background:var(--orange-soft);color:#b97620}
.partner-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:18px;
  align-items:start;
}
.panel-card{
  overflow:hidden;
}
.provider-main,
.support-main{
  min-width:0;
}
.provider-main{flex:1}

@media(max-width:980px){
  .partner-main-grid{grid-template-columns:1fr}
  .partner-dashboard .dashboard-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .partner-dashboard .metric-grid{grid-template-columns:1fr!important}
}

/* Direkte Karteninhalte folgen auch außerhalb des Admin-Body demselben Innenraster. */
.admin-card > h2:first-child + .form-grid,
.admin-card > h2:first-child + .check-list,
.admin-card > h2:first-child + .legal-link-grid{
  padding:18px 20px;
}
.admin-settings-grid > .admin-card > .form-grid{
  padding:18px 20px;
}
.admin-settings-grid > .admin-card > .admin-check{
  margin-left:20px;
  margin-right:20px;
  margin-bottom:12px;
}
.admin-settings-grid > .admin-card > .admin-check:last-of-type{
  margin-bottom:20px;
}
.admin-card > h2:first-child + .package-service-list{
  padding:18px 20px 0;
}
.admin-card > .package-service-list + form{
  margin:18px 20px 20px;
}

/* Leistungskatalog-Verwaltung */
.catalog-tabs{margin-bottom:18px}.catalog-tabs a{min-width:0}.panel-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.catalog-manage-grid{align-items:start}.catalog-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.catalog-group-head h3{margin:0}.catalog-manage-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.catalog-manage-row:first-of-type{border-top:0}.catalog-active-toggle{display:grid;place-items:center;margin:0}.catalog-active-toggle input{position:absolute;opacity:0;pointer-events:none}.catalog-active-toggle span{width:34px;height:20px;border-radius:999px;background:#dfe8e3;position:relative;transition:.16s ease}.catalog-active-toggle span::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(12,45,36,.18);transition:.16s ease}.catalog-active-toggle input:checked+span{background:var(--green)}.catalog-active-toggle input:checked+span::after{transform:translateX(14px)}.catalog-active-toggle input:focus-visible+span{outline:3px solid rgba(8,127,86,.18);outline-offset:2px}.catalog-manage-copy{display:grid;gap:3px;min-width:0}.catalog-manage-copy strong{font-size:.76rem}.catalog-manage-copy small{font-size:.64rem;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.catalog-manage-copy code{font-size:.62rem}.catalog-manage-copy em{font-size:.62rem;font-style:normal;color:var(--green-dark)}.catalog-manage-meta{display:grid;justify-items:end;gap:6px}.catalog-manage-meta>span{font-size:.6rem;color:var(--muted);white-space:nowrap}.catalog-config-section[hidden]{display:none!important}.optional-label{font-size:.62rem;color:var(--muted);font-weight:600}.catalog-delete-zone{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;border-top:1px solid #f0d6d6;background:#fff8f8}.catalog-delete-zone>div{display:grid;gap:4px}.catalog-delete-zone strong{font-size:.78rem;color:#7f2f2f}.catalog-delete-zone small{font-size:.66rem;color:#825a5a;line-height:1.45;max-width:570px}.button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.catalog-admin-card>.settings-note{margin-bottom:0}
@media(max-width:860px){.catalog-manage-row{grid-template-columns:auto minmax(0,1fr)}.catalog-manage-meta{grid-column:2;grid-template-columns:1fr auto;align-items:center;justify-items:start}.catalog-delete-zone{align-items:stretch;flex-direction:column}.catalog-delete-zone form .button{width:100%}}
@media(max-width:620px){.panel-head-actions{width:100%;justify-content:stretch}.panel-head-actions .button{flex:1}.catalog-manage-meta{grid-template-columns:1fr;justify-items:start}.catalog-tabs{width:100%;overflow-x:auto}.catalog-tabs a{flex:0 0 auto}}

/* Paketbestand: Anbieter- und Paketinformationen klar zweizeilig statt inline. */
.package-inventory-table{min-width:980px;table-layout:fixed}
.package-inventory-table th:nth-child(1),.package-inventory-table td:nth-child(1){width:19%}
.package-inventory-table th:nth-child(2),.package-inventory-table td:nth-child(2){width:41%}
.package-inventory-table th:nth-child(3),.package-inventory-table td:nth-child(3){width:10%}
.package-inventory-table th:nth-child(4),.package-inventory-table td:nth-child(4){width:12%}
.package-inventory-table th:nth-child(5),.package-inventory-table td:nth-child(5){width:18%}
.package-inventory-table tbody td{padding-top:12px;padding-bottom:12px;vertical-align:top}
.package-cell-stack{display:grid;grid-template-rows:minmax(1.55rem,auto) minmax(1rem,auto);gap:4px;min-width:0;align-content:start}
.package-cell-stack.has-meta{grid-template-rows:auto auto}
.package-cell-stack.align-start{justify-items:start}
.package-cell-stack.payout{justify-items:end;text-align:right}
.package-primary-text{display:block;min-width:0;margin:0;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.package-secondary-text,.package-cell-secondary{display:block;min-width:0;margin:0;color:var(--muted);font-size:.66rem;line-height:1.45;overflow-wrap:anywhere}
.package-secondary-text{white-space:normal}
.package-amount{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.package-inventory-table{min-width:900px}.package-inventory-table th:nth-child(2),.package-inventory-table td:nth-child(2){width:38%}.package-inventory-table th:nth-child(1),.package-inventory-table td:nth-child(1){width:21%}}

/* PStTG / DAC7: getrennte Arbeitsbereiche, Listenansicht und Prüfmodal */
.tax-tabs{margin-bottom:18px}
.tax-quality-card,.tax-report-card,.tax-report-detail{overflow:hidden}
.tax-quality-table{min-width:1020px;table-layout:fixed}
.tax-quality-table th:nth-child(1),.tax-quality-table td:nth-child(1){width:23%}
.tax-quality-table th:nth-child(2),.tax-quality-table td:nth-child(2){width:20%}
.tax-quality-table th:nth-child(3),.tax-quality-table td:nth-child(3){width:16%}
.tax-quality-table th:nth-child(4),.tax-quality-table td:nth-child(4){width:16%}
.tax-quality-table th:nth-child(5),.tax-quality-table td:nth-child(5){width:10%}
.tax-quality-table th:nth-child(6),.tax-quality-table td:nth-child(6){width:15%}
.tax-quality-table tbody td{vertical-align:middle;padding-top:13px;padding-bottom:13px}
.tax-partner-copy{display:grid;gap:3px;min-width:0}
.tax-partner-copy strong{font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.tax-partner-copy small{font-size:.65rem;line-height:1.4;color:var(--muted)}
.tax-quality-progress{display:grid;gap:6px;min-width:130px}
.tax-quality-progress>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tax-quality-progress strong{font-size:.75rem;color:var(--text)}
.tax-quality-progress span{font-size:.62rem;color:var(--muted)}
.tax-quality-meter{display:block;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:#edf2ef;appearance:none}
.tax-quality-meter::-webkit-progress-bar{background:#edf2ef;border-radius:999px}
.tax-quality-meter::-webkit-progress-value{background:var(--green);border-radius:999px}
.tax-quality-meter::-moz-progress-bar{background:var(--green);border-radius:999px}
.tax-review-modal{width:min(900px,calc(100% - 32px))}
.tax-review-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;padding:20px 20px 0}
.tax-review-section{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}
.tax-review-section h3{margin:0 0 14px;font-size:.92rem}
.tax-check-list{gap:10px}
.tax-summary{display:grid;gap:0}
.tax-summary .summary-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center}
.tax-summary .summary-row:last-child{border-bottom:0}
.tax-summary .summary-row strong{text-align:right;overflow-wrap:anywhere}
.tax-review-form{padding-top:18px}
.tax-verified-check{align-self:end;min-height:42px}
.tax-report-create{flex-wrap:nowrap}
.tax-report-create input[type="number"]{width:92px;min-height:38px;border:1px solid var(--line-strong);border-radius:9px;padding:7px 9px;background:#fff}
.tax-report-table{min-width:900px}
@media(max-width:900px){.tax-review-content{grid-template-columns:1fr}.tax-quality-table{min-width:940px}}
@media(max-width:620px){.tax-review-content{padding:15px 15px 0;gap:12px}.tax-review-section{padding:15px}.tax-summary .summary-row{grid-template-columns:1fr;gap:3px}.tax-summary .summary-row strong{text-align:left}.tax-report-create{width:100%;justify-content:flex-end}.tax-tabs{width:100%;overflow-x:auto}.tax-tabs a{flex:0 0 auto}}

/* Einheitliche Inhaltsstruktur im Verwaltungsbereich Finanzen */
.finance-operation-card,.finance-list-card{min-width:0;overflow:hidden}
.finance-operation-card>.admin-form{padding:18px 20px 20px}
.finance-operation-card .admin-form>label{display:grid;gap:6px}
.finance-refund-form textarea{min-height:94px;resize:vertical}
.finance-provider-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px 20px}
.finance-provider-action>div{display:grid;gap:4px;min-width:0}
.finance-provider-action strong{font-size:.8rem;color:var(--text)}
.finance-provider-action small{font-size:.68rem;line-height:1.5;color:var(--muted)}
.finance-sandbox-form .admin-form-actions{padding-top:4px}
.finance-case-table{min-width:900px}
.finance-case-table td{vertical-align:middle}
.finance-cell-stack{display:grid;gap:3px;min-width:0;align-content:center}
.finance-cell-stack strong,.finance-cell-stack span{min-width:0}
.finance-cell-stack small{margin:0!important;color:var(--muted);font-size:.66rem;line-height:1.4;overflow-wrap:anywhere}
.finance-money{white-space:nowrap;font-variant-numeric:tabular-nums}
.finance-detail-modal>.admin-panel-body{padding:20px}
.finance-detail-summary{display:grid;gap:0;margin:0}
.finance-detail-summary .summary-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1fr);gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.finance-detail-summary .summary-row:last-child{border-bottom:0}
.finance-detail-summary .summary-row strong{text-align:right;overflow-wrap:anywhere}
.finance-reason-block{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}
.finance-reason-block>span{display:block;margin-bottom:5px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.finance-reason-block p{margin:0;font-size:.75rem;line-height:1.55;color:var(--text)}
.finance-evidence-section{margin-top:20px}
.finance-evidence-section h3{margin:0 0 10px;font-size:.92rem}
.finance-evidence-section>.admin-empty-compact{min-height:72px;padding:16px 0}
.finance-evidence-form{margin-top:18px;padding:18px 0 0!important;border-top:1px solid var(--line)}
.finance-modal-action-grid{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.finance-modal-action-grid>form,.finance-modal-action-grid>.inline-actions{margin:0}
.finance-submit-provider{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(220px,auto);gap:12px;align-items:end}
.finance-submit-provider label{display:grid;gap:6px;font-size:.68rem;font-weight:720;color:#52656d}
.finance-submit-provider input{min-height:42px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:8px 10px}
.finance-detail-modal>.modal-actions{position:sticky;bottom:0;margin:0;padding:14px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.finance-detail-modal>.modal-actions form{margin:0}
@media(max-width:780px){
  .finance-provider-action{align-items:stretch;flex-direction:column}
  .finance-provider-action .button{width:100%}
  .finance-detail-summary .summary-row{grid-template-columns:1fr;gap:3px}
  .finance-detail-summary .summary-row strong{text-align:left}
  .finance-submit-provider{grid-template-columns:1fr}
}
.finance-payout-table{min-width:1180px}
.finance-ledger-table{min-width:880px}
.finance-billing-table{min-width:980px}
.finance-payout-table td,.finance-ledger-table td,.finance-billing-table td{vertical-align:middle}

/* Abrechnungsdialog und transparente Mail-Queue-Steuerung */
.billing-generate-modal{width:min(720px,calc(100% - 32px))}
.billing-generate-modal .form-section{display:grid;gap:14px}
.billing-generate-modal .form-section>label{display:grid;gap:6px;font-size:.7rem;font-weight:720;color:#52656d}
.billing-generate-modal .form-section input{min-height:42px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:8px 10px}
.mail-worker-card{background:#f8fbf9}
.mail-worker-card .button[disabled]{opacity:.55;cursor:not-allowed}
.mail-worker-note{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f3f8f5}
.mail-worker-note strong{font-size:.75rem;color:var(--text)}
.mail-worker-note span{font-size:.67rem;line-height:1.5;color:var(--muted)}
.mail-worker-note code{font-size:.64rem;color:var(--green-dark);background:#e9f5ef;border-radius:5px;padding:1px 4px}
.mail-queue-counts{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.mail-queue-list .audit-entry{align-items:center}
.mail-queue-list .audit-meta{min-width:150px}
.mail-queue-error{display:block!important;margin-top:4px!important;color:#9f2f2f!important;line-height:1.4!important}
.mail-status-sent{color:var(--green-dark)}
.mail-status-failed{color:#a72828}
.mail-status-sending,.mail-status-queued{color:#8a6418}
@media(max-width:620px){.mail-queue-list .audit-meta{min-width:0}.billing-generate-modal{width:calc(100% - 18px)}}

/* SMTP-Statusbadge und positionsstabile Formularaktionen */
.smtp-settings-panel > .settings-card-head > .smtp-secret-state{
  width:auto;
  min-width:max-content;
  height:auto;
  min-height:28px;
  padding:5px 10px;
  display:inline-flex;
  place-items:initial;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin-left:auto;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
@media(max-width:620px){
  .smtp-settings-panel > .settings-card-head{flex-wrap:wrap}
  .smtp-settings-panel > .settings-card-head > .smtp-secret-state{margin-left:49px}
}
.smtp-settings-panel > .settings-card-head > div{min-width:0;flex:1 1 260px}
.geo-attribution{margin:14px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}

/* HTML-E-Mail-Design und Vorschau */
.email-design-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.email-design-settings,.email-legal-card{min-width:0}
.email-legal-card .admin-form>p:first-child{margin-top:0;color:var(--muted);line-height:1.55}
.compact-check-list{display:grid;gap:8px;margin:4px 0 16px}
.compact-check-list>div{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fbfdfc}
.email-legal-links{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.email-preview-card{overflow:hidden}
.email-preview-card>.panel-head{align-items:end}
.email-preview-select{margin:0}
.email-preview-select label{display:grid;gap:5px;color:#52656d;font-size:.68rem;font-weight:720;min-width:260px}
.email-preview-select select{min-height:38px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;padding:7px 10px}
.email-preview-browser{padding:20px;background:#eaf1ee;border-top:1px solid var(--line)}
.email-preview-browser iframe{display:block;width:100%;height:760px;border:1px solid #cfddd7;border-radius:12px;background:#f2f7f5;box-shadow:0 12px 32px rgba(10,39,50,.08)}
.email-preview-foot{padding:12px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem;line-height:1.5}
.email-marketing-warning{margin-top:18px}
.template-card-head{grid-template-columns:auto minmax(0,1fr) auto}
.template-card-head .button{align-self:center}
@media(max-width:980px){.email-design-grid{grid-template-columns:1fr}.email-preview-browser iframe{height:680px}}
@media(max-width:620px){.email-preview-card>.panel-head{align-items:stretch}.email-preview-select label{min-width:0}.email-preview-browser{padding:10px}.email-preview-browser iframe{height:620px}.template-card-head{grid-template-columns:auto minmax(0,1fr)}.template-card-head .button{grid-column:1/-1;justify-self:start;margin-left:46px}}
