/* Customer dossier: one prominent balance and a compact supporting summary. */
.dossier-balances { display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);border:1px solid var(--line);border-radius:10px;background:var(--app-panel);margin-bottom:24px; }
.dossier-balance-main { padding:22px 24px;min-width:0; }
.dossier-balances span { display:block;color:var(--ink-muted);font-size:var(--font-meta-size); }
.dossier-balances strong { display:block;font-variant-numeric:tabular-nums;font-weight:500; }
.dossier-balance-main strong { margin:8px 0;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em; }
.dossier-balances small { display:block;color:var(--ink-muted);font-size:var(--font-meta-size);line-height:1.5; }
.dossier-balances .is-due { color:var(--ink); }
.dossier-balance-main small.is-due { font-weight:500; }
.dossier-balance-secondary { display:grid;grid-template-columns:1fr;border-left:1px solid var(--line); }
.has-refund .dossier-balance-secondary { grid-template-columns:1fr 1fr; }
.dossier-balance-secondary>div { min-width:0;padding:22px 20px; }
.dossier-balance-secondary>div+div { border-left:1px solid var(--line); }
.dossier-balance-secondary strong { margin:8px 0;font-size:1.15rem;letter-spacing:-.02em;overflow-wrap:anywhere; }
.dossier-balance-refund:not(.is-due) strong { color:var(--ink-muted); }
.dossier-balance-refund.is-due strong { font-size:1.35rem; }
.dossier-history .collection-toolbar { padding:12px 16px; }
.dossier-history .tabs { gap:4px; }
.dossier-history .tabs button { white-space:nowrap; }
.dossier-history .tab-count { font-variant-numeric:tabular-nums; }
.customer-records tbody tr:hover,.customer-records tbody tr:focus-within { background:var(--interaction-hover); }
.customer-records td { vertical-align:top; }
.customer-records td:first-child a { font-weight:500;text-decoration:none;text-underline-offset:3px; }
.dossier-facts { padding:22px; }
.dossier-facts h2 { margin:0; }
.dossier-facts .dossier-contact { display:grid;grid-template-columns:1fr;gap:15px;margin:20px 0; }
.dossier-contact dt,.dossier-facts .dossier-contact dt { margin:0 0 4px; }
.dossier-contact dd { line-height:1.6; }
.dossier-address-note { border-top:1px solid var(--line);padding-top:14px;color:var(--ink-muted);font-size:var(--font-meta-size); }
.dossier-address-note summary { cursor:pointer; }
.dossier-address-note p { margin:8px 0 0;font-size:var(--font-meta-size); }
.dossier-facts h3 { border-top:1px solid var(--line);padding-top:18px;margin-top:20px; }
.dossier-facts h3+p { margin-top:10px; }
.dossier-back { margin:0 0 18px; }
.dossier-back a { color:var(--ink-muted);text-decoration:none;font-size:var(--font-body-size); }
.dossier-back a::before { content:'‹';margin-right:8px; }
.dossier-back a:hover { color:var(--ink);text-decoration:underline;text-underline-offset:4px; }
.customer-collection .customer-table td { padding-block:18px; }
.customer-collection .customer-table tr:is(:hover,:focus-within) { background:var(--interaction-hover); }
.customer-collection .avatar { flex-shrink:0;width:38px;height:38px;border-radius:50%;font-size:1rem; }
.customer-collection .customer-name { display:flex;align-items:center;gap:12px; }
.customer-collection .customer-edit { width:1%; }
.customer-collection .customer-edit .rk-button { min-width:max-content;white-space:nowrap; }
.customer-collection .customer-edit .rk-button__label { white-space:nowrap;overflow-wrap:normal; }
.customer-collection .customer-table td[data-label="E-mail"] { overflow-wrap:anywhere; }
.customer-collection .customer-name strong { font-weight:500; }
.customer-collection .collection-count { color:var(--ink-muted);font-size:var(--font-meta-size); }
@media(max-width:1100px) {
 .dossier-facts .dossier-contact { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px; }
}
@media(max-width:680px) {
 .dossier-balances { grid-template-columns:minmax(0,1fr); }
 .dossier-balance-main { padding:20px 18px; }
 .dossier-balance-secondary { border-left:0;border-top:1px solid var(--line); }
 .dossier-balance-secondary>div { padding:16px 18px; }
 .dossier-balance-secondary strong { font-size:1.05rem; }
 .dossier-balance-refund.is-due strong { font-size:1.15rem; }
 .dossier-facts .dossier-contact { grid-template-columns:1fr;gap:15px; }
 .dossier-history .collection-toolbar { padding:10px; }
 .customer-collection .customer-table { display:block;min-width:0; }
 .customer-collection .customer-table thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
 .customer-collection .customer-table tbody { display:block; }
 .customer-collection .customer-table tr { display:grid;grid-template-columns:minmax(0,1fr) auto;padding:18px;gap:10px 12px;border-bottom:1px solid var(--line); }
 .customer-collection .customer-table tr:last-child { border-bottom:0; }
 .customer-collection .customer-table td { display:block;border:0;padding:0;min-width:0; }
 .customer-collection .customer-table td[data-label] { grid-column:1 / -1;padding-left:50px;color:var(--ink-muted); }
 .customer-collection .customer-table td[data-label]::before { content:attr(data-label);display:block;font-size:var(--font-meta-size);margin-bottom:3px; }
 .customer-collection .customer-table .customer-edit { grid-column:2;grid-row:1;width:auto; }
 .customer-collection .customer-edit .rk-button { min-width:44px;min-height:44px; }
 .customer-collection .customer-edit .rk-button__label { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
}

.customer-records td:first-child a:is(:hover,:focus-visible) { text-decoration:underline; }
