:root{--bg:#f6f7fb;--card:#fff;--text:#172033;--muted:#64748b;--brand:#1f4f8f;--line:#e5e7eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}.wrap{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:#111827;color:white;padding:24px;position:sticky;top:0;height:100vh}.logo{font-size:24px;font-weight:900;margin-bottom:8px}.side p{color:#cbd5e1}.nav{display:grid;gap:8px;margin-top:24px}.nav button{background:transparent;color:#dbeafe;border:1px solid transparent;text-align:left;padding:12px;border-radius:14px;cursor:pointer}.nav button.active,.nav button:hover{background:#1f2937;border-color:#334155}.main{padding:28px}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 12px 32px rgba(15,23,42,.06);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:13px;color:var(--muted);font-weight:700}.input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;background:white;font:inherit}textarea{min-height:110px}.btn{border:none;background:var(--brand);color:#fff;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer}.btn.ghost{background:#e2e8f0;color:#111827}.btn.danger{background:#b91c1c}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.hidden{display:none!important}.notice{padding:12px;border-radius:14px;background:#ecfeff;color:#155e75}.list{display:grid;gap:12px}.item{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.small{font-size:12px;color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .panel{width:min(460px,92vw)}@media(max-width:820px){.wrap{grid-template-columns:1fr}.side{position:relative;height:auto}.grid{grid-template-columns:1fr}}

.lead-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#dbeafe;color:#1e3a8a}.lead-status.gebucht{background:#dcfce7;color:#166534}.lead-status.abgelehnt{background:#fee2e2;color:#991b1b}.lead-status.beantwortet{background:#fef3c7;color:#92400e}.lead-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.item a{color:var(--brand);font-weight:800}


/* Hotfix 2B.2 Review: gallery cover image selector */
.gallery-admin-list{display:grid;gap:1rem;margin-top:1.4rem}
.media-admin-card{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1rem;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.media-admin-card.is-hero{border-color:#1f5aa6;box-shadow:0 12px 34px rgba(31,90,166,.14)}
.media-admin-card img{width:150px;height:105px;object-fit:cover;border-radius:14px;background:#eef2f7}
.cover-badge{display:inline-flex;margin-left:.65rem;padding:.25rem .55rem;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:.78rem;font-weight:700}
.media-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}.btn.ghost{background:#eef2f7;color:#0f172a}.btn.danger{background:#fee2e2;color:#991b1b}
@media(max-width:720px){.media-admin-card{grid-template-columns:1fr}.media-admin-card img{width:100%;height:180px}}

/* Sprint 3 Admin Polish */
.lead-card textarea{min-height:74px;margin-top:.3rem}
.lead-card .field{margin-top:.9rem}
.side .nav{max-height:calc(100vh - 190px);overflow:auto;padding-right:3px}

/* Sprint 3.1 Make-first migration-ready notifications */
.field.wide{grid-column:1 / -1}
.code-sample{background:#0f172a;color:#dbeafe;border-radius:14px;padding:14px;white-space:pre-wrap;overflow:auto;font-size:12px;line-height:1.5}
.panel h2 + .small{max-width:900px;line-height:1.55}
@media(max-width:820px){.field.wide{grid-column:auto}}

/* Sprint 4 Admin */
.nav button[data-tab="availability"],.nav button[data-tab="pricing"],.nav button[data-tab="languages"]{border-color:rgba(59,130,246,.18)}
.item button.danger{margin-top:.5rem}
h3{margin-top:1.4rem}

.ai-wizard .wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ai-wizard .wide{grid-column:1/-1}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips label{border:1px solid #d8dee8;border-radius:999px;padding:8px 12px;background:#fff;font-size:14px}.wizard-actions{display:flex;gap:10px;margin:18px 0}.wizard-preview{margin-top:16px}.preview-card{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fff}.preview-card ul{margin-left:18px}@media(max-width:800px){.ai-wizard .wizard-grid{grid-template-columns:1fr}}

/* Sprint 7A Communication Center */
.mc-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.mc-layout{display:grid;grid-template-columns:300px 1fr;gap:1rem}.mc-list{display:grid;gap:.55rem;align-content:start}.mc-template{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;text-align:left;cursor:pointer;display:grid;gap:4px}.mc-template.active,.mc-template:hover{border-color:var(--brand);box-shadow:0 10px 24px rgba(31,79,143,.10)}.mc-template span,.mc-template small{color:var(--muted);font-size:12px}.mc-editor{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.chips span.small{align-self:center}.mc-section textarea#tplBody{min-height:220px}.mc-section .list .item a{word-break:break-all}@media(max-width:920px){.mc-layout{grid-template-columns:1fr}.mc-list{grid-template-columns:1fr 1fr}}@media(max-width:640px){.mc-list{grid-template-columns:1fr}}

/* Sprint 7B/7C UX refinements */
.mc-template-row{display:grid;grid-template-columns:1fr auto;gap:.45rem;align-items:stretch}.order-controls{display:grid;gap:.35rem}.btn.mini{padding:7px 9px;border-radius:10px;font-size:12px}.btn[disabled]{opacity:.45;cursor:not-allowed}.muted-card{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:16px}.mail-preview h3{margin:.2rem 0 1rem}.mail-body{background:white;border:1px solid var(--line);border-radius:14px;padding:14px;line-height:1.55;margin:12px 0}.mail-preview details{margin-top:14px}.automation-table{display:grid;gap:.8rem}.automation-row{display:grid;grid-template-columns:1.4fr 1fr 1.1fr .55fr auto;gap:.75rem;align-items:end;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.automation-row label{display:block;font-size:12px;color:var(--muted);font-weight:800;margin-bottom:5px}.request-card textarea{min-height:86px}.lead-status.draft{background:#fef3c7;color:#92400e}.lead-status.approved{background:#dcfce7;color:#166534}.lead-status.archived{background:#e5e7eb;color:#475569}.lead-status.erledigt{background:#dcfce7;color:#166534}@media(max-width:980px){.automation-row{grid-template-columns:1fr}.mc-template-row{grid-template-columns:1fr}.order-controls{grid-template-columns:auto auto;justify-content:start}}


/* Sprint 8A.1 hierarchical admin navigation */
.nav{gap:14px}.nav-group{display:grid;gap:6px}.nav-heading{margin:8px 8px 2px;color:#93a4bd;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.nav-group button{padding:9px 12px 9px 18px;border-radius:11px;font-size:13px}.nav-group button.active{background:#1f2937;border-color:#3b82f6;color:#fff}.nav-group button:hover{background:#1f2937;border-color:#334155}.side .nav{max-height:calc(100vh - 190px);overflow:auto;padding-right:3px}


/* Sprint 8A2 accordion navigation */
.nav .nav-group{display:grid;gap:4px;margin-bottom:8px}
.nav .nav-heading{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;color:#cbd5e1;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;padding:10px 8px;border-radius:10px;cursor:pointer}
.nav .nav-heading:hover{background:#1f2937;border-color:#334155}
.nav .nav-heading .chev{transition:transform .15s ease;font-size:12px;color:#94a3b8}
.nav .nav-group.open .nav-heading .chev{transform:rotate(90deg)}
.nav .nav-items{display:none;gap:6px;padding-left:8px}
.nav .nav-group.open .nav-items{display:grid}
.nav .nav-items button{padding:10px 12px}
