.aftercare-topbar{margin-bottom:18px}
.aftercare-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.aftercare-stat{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:15px 16px}
.aftercare-stat span{display:block;font-size:.75rem;color:var(--muted);font-weight:600}
.aftercare-stat strong{display:block;margin-top:5px;font-size:1.7rem;line-height:1;font-weight:700;letter-spacing:-.04em}
.aftercare-stat.overdue strong{color:#8b4d46}
.aftercare-stat.soon strong{color:#8a6b32}
.aftercare-notice,.aftercare-quiet{font-size:.85rem;line-height:1.5;color:var(--muted);margin:12px 0}
.aftercare-section{margin-top:22px}
.aftercare-section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:9px;min-height:44px}
.aftercare-section-head h2{margin:0;font-size:1rem}
.aftercare-section-head>span{font-size:.8rem;color:var(--muted)}
.aftercare-section-head>.aftercare-group-title{font-size:1rem;color:var(--ink);font-weight:600}
.aftercare-future{border-top:1px solid var(--line);padding-top:8px}
.aftercare-future>summary{cursor:pointer;list-style:none}
.aftercare-future>summary>[data-aftercare-count]{margin-left:auto}
.aftercare-list{display:grid;gap:9px}
.aftercare-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr) auto;grid-template-areas:'customer date actions' 'edit edit edit' 'record record record';align-items:center;column-gap:18px;border:1px solid var(--line);border-left:3px solid var(--line);background:var(--card);border-radius:11px;padding:16px 18px}
.aftercare-card.overdue{border-left-color:#a65f55}
.aftercare-card.today,.aftercare-card.soon{border-left-color:var(--brand-gold)}
.aftercare-date{grid-area:date}
.aftercare-customer{grid-area:customer;min-width:0;overflow-wrap:anywhere}
.aftercare-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.aftercare-actions .btn,.aftercare-controls .btn{min-height:44px}
.aftercare-date span,.aftercare-customer span,.aftercare-customer small,.aftercare-controls label>span,.aftercare-controls>small{display:block;color:var(--muted);font-size:.8rem;line-height:1.45}
.aftercare-date strong{display:block;margin:4px 0 3px;font-size:1rem}
.aftercare-customer>strong{display:block;font-size:1rem;margin-bottom:4px}
.aftercare-customer small{margin-top:5px}
.aftercare-edit{grid-area:edit;margin-top:10px}
.aftercare-edit>summary,.aftercare-service-record>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;color:var(--muted);font-size:.8rem;min-height:44px}
.aftercare-edit>summary:after,.aftercare-service-record>summary:after,.aftercare-future>summary:after{content:'+';margin-left:auto;font-size:1rem;line-height:1;color:var(--muted)}
.aftercare-edit[open]>summary:after,.aftercare-service-record[open]>summary:after,.aftercare-future[open]>summary:after{content:'−'}
.aftercare-edit>summary::-webkit-details-marker,.aftercare-service-record>summary::-webkit-details-marker,.aftercare-future>summary::-webkit-details-marker{display:none}
.aftercare-edit>summary:focus-visible,.aftercare-service-record>summary:focus-visible,.aftercare-future>summary:focus-visible{outline:2px solid var(--brand-gold);outline-offset:3px;border-radius:4px}
.aftercare-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:4px 0 12px;max-width:540px}
.aftercare-controls label{display:grid;gap:5px;min-width:0}
.aftercare-controls input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font-size:16px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:8px 10px}
.aftercare-controls>small{grid-column:1/-1}
.aftercare-controls [data-aftercare-status]:empty{display:none}
.aftercare-service-record{grid-area:record;border-top:1px solid var(--line)}
.aftercare-service-record summary strong{margin-left:auto;color:var(--ink);font-size:.8rem;font-weight:650}
.aftercare-service-record summary:after{margin-left:0}
.aftercare-service-record-body{display:grid;gap:11px;padding:8px 0 2px}
.aftercare-service-facts{display:flex;gap:8px;flex-wrap:wrap}
.aftercare-service-facts>div{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 10px;min-width:120px}
.aftercare-service-facts span,.aftercare-service-findings span{display:block;color:var(--muted);font-size:.75rem}
.aftercare-service-facts strong{display:block;margin-top:3px;font-size:.85rem}
.aftercare-service-findings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.aftercare-service-findings>div{border-left:2px solid var(--line);padding-left:10px}
.aftercare-service-findings p,.aftercare-service-clear{margin:4px 0 0;color:var(--ink);font-size:.85rem;line-height:1.5;overflow-wrap:anywhere}
.aftercare-service-clear{color:var(--muted)}
.aftercare-empty .empty{display:grid;gap:5px}
.aftercare-empty .empty span{color:var(--muted);font-size:.85rem;line-height:1.5}
.aftercare-summary[hidden],.aftercare-section[hidden],.aftercare-empty[hidden]{display:none}
.handover-aftercare-control{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px;margin-top:15px}.handover-aftercare-control label{display:grid;gap:5px}.handover-aftercare-control label>span{color:var(--muted);font-size:.72rem}.handover-aftercare-control input{min-height:40px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:8px 10px}.handover-aftercare-control>.completion-record-status{grid-column:1/-1;min-height:1em}
@media(max-width:700px){
  .aftercare-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'customer customer' 'date actions' 'edit edit' 'record record';row-gap:10px;padding:15px}
  .aftercare-actions{justify-content:flex-start}
  .aftercare-edit{margin-top:0}
}
@media(max-width:600px){
  .aftercare-summary{gap:6px}
  .aftercare-stat{padding:12px 10px}
  .aftercare-stat span{font-size:.75rem}
  .aftercare-stat strong{font-size:1.35rem}
  .aftercare-service-findings{grid-template-columns:1fr}
  .handover-aftercare-control{grid-template-columns:1fr}
  .handover-aftercare-control>.completion-record-status{grid-column:auto}
}
@media(max-width:360px){
  .aftercare-controls{grid-template-columns:minmax(0,1fr)}
}
