/* Persönlich für Sie (Aufgaben, Absprachen & Kosten, Nachrichten, Nachsorge), Ergänzungsdialoge und Verwaltungs-Werkzeuge.
   Im Kunden-Center greifen die Werte aus dem Token-Set --cc-* (customer-center.css); die Fallbacks gelten in der Verwaltung. */
.portal-expansion { padding:24px 0; margin:0 0 24px; border-bottom:1px solid var(--cc-line,#ded5e4); color:var(--cc-ink,var(--ink,#302d36)); }
.portal-expansion h2 { font-size:24px; line-height:1.3; margin:0 0 16px; }
.portal-expansion h3 { font-size:18px; margin:18px 0 10px; }
.portal-expansion label,.px-dialog label,.px-admin label { display:grid; gap:7px; margin:12px 0; font-size:14px; }
.portal-expansion input:not([type=checkbox]),.portal-expansion select,.portal-expansion textarea,.px-dialog input:not([type=checkbox]),.px-dialog select,.px-dialog textarea,.px-admin input:not([type=checkbox]),.px-admin select,.px-admin textarea { width:100%; max-width:100%; min-width:0; padding:10px 12px; color:inherit; background:var(--surface,#fff); border:1px solid var(--cc-line-strong,#cfc7d5); border-radius:var(--cc-radius-sm,6px); font:inherit; box-sizing:border-box; }
.portal-expansion [hidden],.px-dialog [hidden],.px-admin [hidden] { display:none!important; }
.px-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:4px 0 14px; max-width:100%; }
.px-tabs button { flex:0 0 auto; }
.px-tabs button[aria-selected=true] { color:#fff; background:var(--cc-plum,#643182); border-color:var(--cc-plum,#643182); }
.px-task,.px-check { display:flex!important; align-items:flex-start; gap:12px!important; }
.px-task { padding:14px 0; border-bottom:1px solid var(--cc-line,#ded5e4); }
.px-task input,.px-check input { width:18px; height:18px; flex:0 0 18px; margin-top:3px; accent-color:var(--cc-plum,#643182); }
.px-task span { display:grid; gap:5px; }
.px-task small { color:var(--cc-muted,#6a6072); }
.px-prose { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.px-message { border-left:3px solid var(--cc-lilac,#c9b5d2); border-radius:0 12px 12px 0; padding:12px 16px; margin:12px 0; background:var(--surface,#fff); }
.px-message.team { border-color:var(--cc-plum,#643182); }
.px-message header,.px-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.px-message header time { color:var(--cc-muted,#6a6072); font-size:var(--cc-fs-xs,12px); }
.px-message > small { display:block; color:var(--cc-muted,#6a6072); font-size:var(--cc-fs-xs,12px); }
.px-message p,.px-message a,.px-quote dd { overflow-wrap:anywhere; }
.px-cost { display:grid; grid-template-columns:1fr auto; gap:8px; padding:12px 0; border-bottom:1px solid var(--cc-line,#ded5e4); }
.px-cost small { grid-column:1/-1; color:var(--cc-muted,#6a6072); }
.px-quote { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,1fr); gap:12px; margin:0; padding:14px 16px; background:var(--cc-soft,#f6f3f8); }
.px-quote dt { color:var(--cc-muted,#6a6072); font-size:var(--cc-fs-sm,13.5px); }
.px-quote dd { margin:0; text-align:right; }
.portal-expansion details { padding:14px 0; border-top:1px solid var(--cc-line,#ded5e4); }
.portal-expansion summary { cursor:pointer; font-weight:600; color:var(--cc-plum-dark,inherit); }
.px-findings { padding-left:22px; font-size:14px; line-height:1.6; }
.px-findings [data-severity=error] { color:var(--cc-danger,#a52338); font-weight:600; }
.px-findings [data-severity=warning] { color:var(--cc-warn,#805817); }
.px-pdf { display:grid; gap:10px; padding:14px 0; }
.px-pdf small { overflow-wrap:anywhere; font-size:11px; color:var(--cc-muted,#6a6072); }
.px-dialog { width:min(880px,calc(100vw - 24px)); max-height:90dvh; padding:24px; border:1px solid var(--cc-line,#d1c5d8); border-radius:var(--cc-radius-lg,8px); color:var(--cc-ink,#302d36); background:#fff; box-sizing:border-box; overflow:auto; }
.px-dialog::backdrop { background:#24172c88; }
.px-dialog header,.px-dialog footer { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.px-dialog h2 { font-size:24px; }
.px-dialog fieldset { border:0; padding:10px 0; min-width:0; }
.px-dialog legend { font-weight:600; }
.px-dialog footer { margin-top:20px; }
.px-dialog .px-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; padding-left:20px; font-size:14px; }
.px-dialog .px-steps li { padding-left:3px; }
.px-steps .active { color:var(--cc-plum,#643182); font-weight:700; }
.px-motif-preview { display:block; width:100%; max-height:240px; object-fit:contain; background:var(--cc-soft,#f6f3f8); }
.px-wizard-preview { max-width:100%; overflow:auto; }
.px-timeline { list-style:none; border-left:2px solid var(--cc-lilac,#c9b5d2); padding-left:24px; margin-left:8px; }
.px-timeline li { margin:0 0 24px; }
.px-timeline time { color:var(--cc-plum,#643182); font-weight:600; }
.px-album { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:20px; }
.px-album figure { margin:0; min-width:0; }
.px-album img { display:block; width:100%; height:220px; object-fit:contain; background:var(--cc-soft,#f4f1f6); }
.px-album figcaption { padding:12px 0; overflow-wrap:anywhere; }
.px-admin { max-height:70vh; overflow:auto; padding:0 8px 10px 0; }
.px-admin article { padding:12px 0; border-bottom:1px solid var(--cc-line,#ded5e4); }
.px-next-action { padding: 14px 16px; margin-bottom: 18px; border-left:3px solid var(--cc-lilac,#c9b5d2); background:var(--cc-soft,transparent); }
.px-next-action h3 { color: var(--cc-plum-dark,#713180); font-size: 16px; margin: 0 0 10px; }
.px-next-action p, .px-next-action strong { overflow-wrap: anywhere; }
@media(max-width:600px) { .portal-expansion { padding:18px 0; } .portal-expansion h2 { font-size:21px; } .px-dialog { padding:16px; } .px-cost { grid-template-columns:1fr; } .px-steps { gap:12px; font-size:12px; } }
.family-inbox { max-width:1200px; }
.family-inbox .section-toolbar { display:flex; flex-wrap:wrap; gap:18px; align-items:end; }
.family-inbox .section-toolbar>label:first-child { display:grid; gap:7px; width:min(100%,460px); }
.family-inbox input[type="search"] { box-sizing:border-box; width:100%; min-height:42px; padding:10px 12px; border:1px solid var(--cc-line-strong,#c8c1ce); border-radius:var(--cc-radius-sm,6px); font:inherit; color:inherit; background:var(--surface,#fff); }
.family-inbox input[type="checkbox"] { accent-color:var(--cc-plum,#643182); }
.family-inbox-row { display:flex; justify-content:space-between; gap:18px; width:100%; padding:18px 12px; border:0; border-bottom:1px solid var(--cc-line,#ddd5e2); background:transparent; color:inherit; text-align:left; cursor:pointer; }
.family-inbox-row:hover { background:var(--cc-soft,#f5f0f8); }
.family-inbox-row>span { display:grid; gap:6px; min-width:0; overflow-wrap:anywhere; }
.family-inbox-row small,.family-inbox-row time { font-size:12px; }
.family-inbox-row>span:last-child { flex:none; text-align:right; }
.px-messages { max-height:55vh; overflow-y:auto; padding:12px; }
.px-message { max-width:90%; }
.px-message:not(.team) { margin-left:auto; }
@media(max-width:600px){.family-inbox-row{flex-direction:column}.family-inbox-row>span:last-child{text-align:left}.px-message{max-width:100%}}
