.appointment-details{color:var(--cargo-ink);min-width:0;max-width:100%;font:14px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
.appointment-details header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--cargo-line);padding-bottom:14px}
.appointment-details h2{font-size:22px;margin:0}.appointment-details h3{font-size:16px;margin:22px 0 10px}
.appointment-details button,.appointment-details input,.appointment-details textarea{font:inherit;box-sizing:border-box;max-width:100%}
.appointment-details button{min-height:40px;padding:8px 12px;border:1px solid var(--cargo-control);border-radius:6px;background:var(--cargo-paper);color:var(--cargo-ink);cursor:pointer}
.appointment-details button:disabled{opacity:1;cursor:default}.appointment-details :focus-visible{outline:3px solid var(--cargo-orange);outline-offset:3px}
.appointment-details-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:18px 0}
.appointment-details dt{font-size:12px;color:var(--cargo-ink)}.appointment-details dd{margin:4px 0 0;font-weight:600}.appointment-details ul{padding-left:20px}
.appointment-details-notice:empty{display:none}.appointment-details-notice,.appointment-details-pending{padding:12px;border:1px solid var(--cargo-line);border-radius:7px;background:var(--cargo-soft)}
.appointment-details-notice.error,.appointment-details-notice.warning,.appointment-details-pending{background:var(--cargo-soft);border-color:var(--cargo-line)}.appointment-details-notice.success{background:var(--cargo-soft);border-color:var(--cargo-line)}
.appointment-details-muted{font-size:13px;color:var(--cargo-ink)}.appointment-details-note{white-space:pre-wrap}
.appointment-details details{padding:14px;border:1px solid var(--cargo-line);border-radius:7px;background:var(--cargo-paper);margin:12px 0}.appointment-details summary{cursor:pointer;font-weight:600}
.appointment-details form{display:grid;gap:13px;margin-top:14px}.appointment-details label{display:grid;gap:6px}.appointment-details input:not([type=checkbox]),.appointment-details textarea{width:100%;padding:9px 11px;min-width:0;border:1px solid var(--cargo-control);border-radius:6px}.appointment-details textarea{min-height:85px;resize:vertical}
.appointment-details .appointment-details-choice{display:flex;flex-direction:row;align-items:center;gap:9px;padding:9px 0}.appointment-details-choice input{flex:none;width:18px;height:18px}
.appointment-details-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.appointment-details-history{border-bottom:1px solid var(--cargo-line);padding:12px 0}.appointment-details-history p{margin:7px 0}
@media(max-width:768px){.appointment-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appointment-details details{padding:11px}.appointment-details h2{font-size:20px}}
@media(max-width:420px){.appointment-details-facts{grid-template-columns:minmax(0,1fr)}.appointment-details header{align-items:stretch}.appointment-details header button{width:100%}.appointment-details-actions button{flex:1}}
/* Readable neutral colors for existing disabled controls. */
.cargo-portal button:disabled,.cargo-portal select:disabled{color:var(--cargo-stone);background:var(--cargo-soft);border-color:var(--cargo-control)}
