/* Kunden-Center · Aufbau (Kopfbereich, Seitenleiste, Übersicht, Abmeldungs-Zusammenfassung). Farben, Radien, Schatten
   und Schriften ausschließlich aus dem Token-Set in customer-center.css (--cc-*). Die Gestaltung „Lebensbuch“ wird in
   customer-center-warm.css verfeinert. */
body.customer-center { background:var(--cc-paper); color:var(--cc-ink); font:400 var(--cc-fs)/1.55 var(--cc-sans); letter-spacing:0; }
body.customer-center[data-experience="portal"]>.portal-header { padding:12px max(24px,calc((100% - 1280px)/2)); background:#fff; border-top:0; border-bottom:1px solid var(--cc-line); box-shadow:none; min-height:84px; }
.customer-center #portal-app { width:100%; max-width:1328px; margin:0 auto; padding:24px 24px 40px; box-sizing:border-box; min-height:0; }
.customer-center :is(button,a,input,select,textarea) { letter-spacing:0; }
.customer-center>.portal-header .portal-brand img { width:245px; height:58px; }
body.customer-center[data-experience="portal"] .public-screen-logo.brand-approved { width:230px; height:64px; }
@media(max-width:650px){body.customer-center[data-experience="portal"]>.portal-header { padding:8px 16px; min-height:80px; }body.customer-center[data-experience="portal"] .public-screen-logo.brand-approved { width:190px; height:60px; }}
.cc-heading { padding:18px 22px; margin:0 0 26px; border:0; background:var(--cc-card); }
.cc-heading>div:first-child { min-width:0; }
.cc-heading h1 { overflow-wrap:anywhere; }
.cc-account { display:flex; align-items:center; gap:14px; max-width:40%; min-width:0; }
.cc-account>span { display:flex; gap:8px; align-items:center; min-width:0; overflow-wrap:anywhere; font-size:var(--cc-fs-sm); }
.cc-account svg,.cc-sidebar-note svg,.cc-contact svg { width:20px; height:20px; flex-shrink:0; }
.cc-layout { grid-template-columns:212px minmax(0,1fr); gap:28px; align-items:start; }
.cc-sidebar { position:sticky; top:20px; min-width:0; }
.cc-mobile-navigation { display:none; }
.cc-sidebar nav { display:flex; flex-direction:column; gap:6px; }
.cc-sidebar nav button { display:flex; align-items:center; gap:10px; width:100%; padding:11px 14px; min-height:46px; border:0; border-radius:12px; background:transparent; color:var(--cc-text); text-align:left; font:400 14.5px/1.4 var(--cc-sans); cursor:pointer; transition:background .15s, color .15s; }
.cc-sidebar nav button:hover { background:var(--cc-soft); color:var(--cc-plum-dark); }
.cc-sidebar nav button[aria-current=page] { background:var(--cc-plum); color:#fff; font-weight:600; box-shadow:0 8px 20px rgba(100,49,130,.22); }
.cc-sidebar nav button>span:first-of-type { flex:1; min-width:0; overflow-wrap:anywhere; }
.cc-sidebar nav button .cc-nav-count { flex:none; min-width:24px; padding:2px 6px; border-radius:var(--cc-pill); background:var(--cc-lilac-soft); color:var(--cc-plum-dark); text-align:center; font-size:var(--cc-fs-xs); font-weight:700; }
.cc-sidebar nav button[aria-current=page] .cc-nav-count { background:rgba(255,255,255,.22); color:#fff; }
.cc-sidebar-note { display:flex; align-items:flex-start; gap:10px; margin:22px 0 0; padding:14px; border-radius:12px; background:var(--cc-soft); color:var(--cc-text); font-size:var(--cc-fs-xs); line-height:1.6; }
.cc-main { padding:0; border:0; background:transparent; min-height:520px; }
.cc-section-heading>[data-center-refresh] { flex:0 0 44px; width:44px; height:44px; padding:10px; }
.cc-section-heading>[data-center-refresh] span { color:inherit; font-size:inherit; }
@media(max-width:650px){.cc-section-heading>[data-center-refresh] span { display:none; }}
/* Kennzahlen */
.cc-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.cc-summary button { display:flex; gap:14px; align-items:center; min-width:0; padding:16px 18px; border:1px solid var(--cc-line); border-radius:var(--cc-radius); background:var(--cc-card); color:var(--cc-plum-dark); text-align:left; cursor:pointer; box-shadow:var(--cc-shadow-soft); transition:transform .18s, box-shadow .18s; }
.cc-summary button:hover { transform:translateY(-2px); box-shadow:var(--cc-shadow-lift); }
.cc-summary button>svg { width:22px; height:22px; color:var(--cc-plum); }
.cc-summary button>span { min-width:0; overflow-wrap:anywhere; color:var(--cc-muted); font:500 var(--cc-fs-sm)/1.5 var(--cc-sans); }
.cc-summary strong { display:block; margin:0 0 1px; color:var(--cc-ink); font:400 30px/1.1 var(--cc-serif); }
/* Aufgaben, Termine, Kontakt */
.cc-priorities { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:26px; margin-bottom:26px; }
.cc-priorities section { min-width:0; padding:var(--cc-card-pad); }
.cc-priorities header,.cc-areas>header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:12px; margin-bottom:6px; border-bottom:1px solid var(--cc-line); }
.cc-main h3 { margin:0; color:var(--cc-ink); font:400 var(--cc-fs-h3)/1.3 var(--cc-serif); }
.cc-empty { max-width:none; }
.cc-task-list,.cc-appointments { list-style:none; margin:0; padding:0; }
.cc-task-list li { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--cc-line); }
.cc-task-list li>svg { color:var(--cc-plum); }.cc-task-list li>div { flex:1; min-width:0; }
.cc-task-list li>.cc-text-button { flex:0 0 36px; height:36px; justify-content:center; border:1px solid var(--cc-line); border-radius:var(--cc-radius-sm); }
.cc-task-list li>.cc-text-button:hover { background:var(--cc-lilac-soft); border-color:var(--cc-plum); }
.cc-task-list strong,.cc-appointments strong { font-size:var(--cc-fs); line-height:1.5; overflow-wrap:anywhere; }
.cc-task-list span { display:block; font-size:var(--cc-fs-xs); color:var(--cc-muted); margin-top:4px; }
.cc-message-alert { display:flex; align-items:center; gap:12px; width:100%; margin:16px 0 0; padding:14px; border:0; border-left:3px solid var(--cc-plum); border-radius:12px; background:var(--cc-lilac-soft); color:var(--cc-plum-dark); text-align:left; font:inherit; cursor:pointer; }
.cc-main>.cc-message-alert { margin:0 0 18px; }
.cc-message-alert span { flex:1; min-width:0; overflow-wrap:anywhere; }.cc-message-alert strong { font-size:14px; }.cc-message-alert small { display:block; margin-top:4px; }
.cc-message-alert>svg:last-child { transform:rotate(180deg); width:16px; }
.cc-appointments li { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--cc-line); }
.cc-appointments li>div { min-width:0; overflow-wrap:anywhere; }
.cc-appointments time { flex:0 0 50px; height:60px; display:flex; flex-direction:column; justify-content:center; text-align:center; border-radius:var(--cc-radius-sm); border-top:3px solid var(--cc-plum); background:var(--cc-lilac-soft); color:var(--cc-plum-dark); }
.cc-appointments time b { font-size:23px; }.cc-appointments time span { font-size:11px; }
.cc-appointments p,.cc-appointments div>span { margin:4px 0 0; color:var(--cc-muted); font-size:var(--cc-fs-xs); line-height:1.6; }
.cc-contact { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; padding:20px; margin-top:24px; border:0; border-left:3px solid var(--cc-lilac); border-radius:var(--cc-radius-lg); background:var(--cc-soft); }
.cc-contact[hidden] { display:none; }.cc-contact>div:first-child { display:flex; align-items:flex-start; gap:14px; min-width:0; flex:1 1 250px; }
.cc-contact h3 { margin-bottom:5px; color:var(--cc-plum-dark); }.cc-contact strong { font-size:var(--cc-fs); }.cc-contact p { color:var(--cc-muted); font-size:var(--cc-fs-sm); margin:3px 0; overflow-wrap:anywhere; }
.cc-contact-actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; max-width:100%; }.cc-contact-actions a { justify-content:flex-start!important; background:#fff; overflow-wrap:anywhere; white-space:normal; max-width:100%; }.cc-contact-actions a span { min-width:0; }
.cc-support { min-width:0; }
.cc-support .cc-contact { display:block; margin-top:22px; padding:16px; }
.cc-support .cc-contact[hidden] { display:none; }
.cc-support .cc-contact-actions { margin-top:14px; }
.cc-preview-notice svg { width:18px; height:18px; flex:none; margin-top:2px; }
.cc-main>.cc-form { max-width:760px; margin-top:20px; }.cc-members { margin-top:0; }
.cc-main>.cc-form,.cc-main>.cc-members { background:transparent; }
.cc-portal-frame { min-height:500px; height:var(--cc-frame-height,1000px); border-radius:var(--cc-radius-lg); background:#fff; }
body.cc-print-studio-open .cc-portal-frame { height:100dvh; border-radius:0; }
body.cc-dialog-open { overflow:hidden; }
body.cc-dialog-open .cc-portal-frame { position:fixed; inset:0; z-index:3000; width:100vw; height:100dvh; min-height:0; margin:0; border:0; border-radius:0; }
body.cc-embedded { display:block; min-height:0; }
body.cc-embedded #portal-app { width:100%; min-height:0; padding:0; flex:none; }
@media(max-width:1050px){.cc-priorities { grid-template-columns:minmax(0,1fr); gap:24px; }}
@media(max-width:900px){.customer-center #portal-app { padding:22px 18px; }.cc-layout { grid-template-columns:minmax(0,1fr); gap:20px; }.cc-sidebar { position:static; }.cc-summary button { padding:16px 10px; gap:8px; }.cc-account { flex-direction:column; align-items:flex-end; gap:8px; }}
@media(max-width:650px){
 .customer-center>.portal-header { padding:8px 16px; }
 .customer-center #portal-app { padding:16px 14px 28px; }
 .cc-heading { align-items:center; gap:10px; padding:14px; margin-bottom:16px; }
 .cc-account>span { display:none; }
 .cc-account .button { padding:8px; font-size:12px; }
 .cc-layout { gap:20px; }
 .cc-sidebar { position:static; padding:0 0 16px; }
 .cc-sidebar nav { display:none; }
 .cc-mobile-navigation { display:grid; gap:6px; color:var(--cc-plum-dark); font:600 var(--cc-fs-xs)/1.4 var(--cc-sans); }
 .customer-center .cc-mobile-navigation select { background-color:var(--cc-lilac-soft); color:var(--cc-plum-dark); border-color:var(--cc-line-strong); min-height:46px; font-size:16px; font-weight:600; }
 .cc-sidebar-note { display:none; }
 .cc-section-heading { align-items:center; gap:10px; }
 .cc-section-heading h2 { font-size:22px; }
 .cc-section-heading>.button { font-size:0; width:40px; min-width:40px; padding:10px; }
 .cc-section-heading>.button svg { width:20px; }
 .cc-summary { gap:8px; margin-bottom:22px; }
 .cc-summary button { padding:12px 7px; justify-content:center; }
 .cc-summary button>svg { display:none; }
 .cc-summary button>span { font-size:12px; line-height:1.4; }
 .cc-summary strong { font-size:25px; }
 .cc-priorities header { flex-wrap:wrap; }
 .cc-contact { margin-top:18px; padding:16px; }
 .cc-contact-actions { flex-direction:column; align-items:stretch; width:100%; }
 .cc-contact-actions a { justify-content:flex-start; }
 .cc-task-list li { gap:9px; }
}

/* Abmeldungen: Verlaufsgruppen in den eingebetteten Bereichen und Zusammenfassung in der Übersicht. */
body.cc-embedded[data-portal="deregistration"] .portal-content { display:block; padding:0; margin:0; background:transparent; }
body.cc-embedded[data-portal="deregistration"] .portal-content > aside { display:none; }
body.cc-embedded[data-portal="deregistration"] :is(.dereg-panels,.dereg-history-section) { padding:0; margin:0; background:transparent; border:0; box-shadow:none; }
body.cc-embedded[data-portal="deregistration"] .dereg-history-group { margin:4px 0 16px; }
body.cc-embedded[data-portal="deregistration"] .dereg-history-group > header { padding:9px 0 6px; }
body.cc-embedded[data-portal="deregistration"] .dereg-history-card > header { grid-column:1 / -1; }
body.cc-embedded[data-portal="deregistration"] .dereg-history-card > .dereg-next-step { margin:4px 0; }
body.cc-embedded[data-portal="deregistration"] .dereg-history-card > .button-row { margin:0; }
body.cc-embedded[data-portal="deregistration"] .dereg-request-details { grid-column:1 / -1; margin:0; }
body.cc-embedded[data-portal="deregistration"] .dereg-request-details summary { padding:5px 0; }
@media(max-width:700px){
 body.cc-embedded[data-portal="deregistration"] .dereg-history-card { grid-template-columns:minmax(0,1fr); gap:5px; }
 body.cc-embedded[data-portal="deregistration"] .dereg-history-card > .button-row { justify-content:flex-start; }
 body.cc-embedded[data-portal="deregistration"] .dereg-history-card .button { width:auto; min-height:40px; }
}
body[data-portal="deregistration"] .dereg-history-section { background:transparent; border:0; box-shadow:none; padding:0; }
.dereg-history-group { min-width:0; margin:10px 0 24px; }
.dereg-history-group[hidden] { display:none; }
.dereg-history-group:not(:has(.dereg-history-card:not([hidden]))) { display:none; }
.dereg-history-group > header { padding:12px 0; border-top:1px solid var(--cc-line); }
.dereg-history-group > header h3 { margin:0; font:600 16px/1.4 var(--cc-sans); color:var(--cc-ink); }
.dereg-history-group > header h3 span { margin-left:8px; color:var(--cc-muted); font-size:14px; }
.dereg-history-group > header p { margin:5px 0 0; color:var(--cc-muted); font-size:var(--cc-fs-sm); line-height:1.5; }
.dereg-request-details { margin-top:12px; color:var(--cc-muted); font-size:var(--cc-fs-sm); overflow-wrap:anywhere; }
.dereg-request-details summary { cursor:pointer; color:var(--cc-plum); padding:8px 0; font-weight:600; }
body[data-portal="deregistration"] .dereg-request-details :is(dt,dd) { font-size:var(--cc-fs-xs); white-space:normal; overflow-wrap:anywhere; text-transform:none; }
body[data-portal="deregistration"] .dereg-history-filters button { font-size:var(--cc-fs-xs); min-height:40px; }
body[data-portal="deregistration"] .dereg-history-filters b { font-size:11px; }
body[data-portal="deregistration"] .dereg-tabs button { font-size:var(--cc-fs-sm); }
body[data-portal="deregistration"] .dereg-tabs button.active { color:var(--cc-plum); border-bottom-color:var(--cc-plum); }
.cc-dereg-summary { margin:22px 0; padding:var(--cc-card-pad); }
.cc-dereg-summary header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
.cc-dereg-summary h3 { margin:0; }
.cc-dereg-summary p { color:var(--cc-muted); font-size:var(--cc-fs-sm); }
.cc-dereg-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:20px 0; }
.cc-dereg-counts div { min-width:0; border-left:3px solid var(--cc-lilac); padding-left:12px; }
.cc-dereg-counts [data-state="missing"] { border-color:var(--cc-warn); }
.cc-dereg-counts [data-state="sent"] { border-color:var(--cc-lilac-dark); }
.cc-dereg-counts [data-state="done"] { border-color:var(--cc-ok); }
.cc-dereg-counts dt { font-size:var(--cc-fs-xs); color:var(--cc-muted); overflow-wrap:anywhere; }
.cc-dereg-counts dd { margin:6px 0 0; color:var(--cc-ink); font:400 26px/1.1 var(--cc-serif); }
@media(max-width:600px){
 .cc-dereg-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body[data-portal="deregistration"] .dereg-history-card > header { grid-template-columns:32px minmax(0,1fr); }
 body[data-portal="deregistration"] .dereg-history-card .status { grid-column:2; justify-self:start; }
 body[data-portal="deregistration"] .dereg-history-card .button { white-space:normal; max-width:100%; font-size:12px; }
 body[data-portal="deregistration"] .dereg-tabs b { position:static; margin:0; }
 body[data-portal="deregistration"] .dereg-tabs button { font-size:12px; }
}
