/* 1.46.10 MyDoctor sales partners: My agreement, My earnings, Sales kit (pages/myagreement.php, myearnings.php, saleskit.php).
   Colours use the app's theme names, so light and dark both work. */
.sp .sp-body h3 { margin: 1.2rem 0 .4rem; }
.sp .sp-body p { line-height: 1.55; }
.sp .sp-t { width: 100%; border-collapse: collapse; margin: .4rem 0 .8rem; font-size: .92rem; }
.sp .sp-t td { border-bottom: 1px solid var(--line, #d5e3e6); padding: .35rem .5rem; vertical-align: top; }
.sp .sp-t tr:first-child td { font-weight: 600; }
.sp .sp-letter .sp-body { max-height: 70vh; overflow: auto; padding-right: .5rem; user-select: none; -webkit-user-select: none; }
.sp .sp-form { display: grid; gap: .6rem; max-width: 34rem; margin: .4rem 0 1rem; }
.sp .sp-form label { display: grid; gap: .25rem; }
.sp .sp-tick { display: flex !important; gap: .5rem; align-items: flex-start; grid-template-columns: none; }
.sp .sp-tick input { margin-top: .2rem; }
.sp .sp-steps { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .8rem; font-size: .9rem; }
.sp .sp-steps span { padding: .25rem .6rem; border: 1px solid var(--line, #d5e3e6); border-radius: .4rem; color: var(--ink-3, #5b6472); }
.sp .sp-steps .now { border-color: var(--brand, #0B5D61); color: var(--ink, #1d2433); font-weight: 600; }
.sp .sp-steps .done { color: var(--ink-3, #5b6472); text-decoration: line-through; }
.sp .sp-st { font-size: .8rem; font-weight: 600; color: var(--ink-3, #5b6472); }
.sp .sp-st.signed, .sp .sp-st.paid, .sp .sp-st.approved { color: var(--brand, #0B5D61); }
.sp .sp-st.cancelled, .sp .sp-st.void { text-decoration: line-through; }
.sp .sp-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .6rem; margin: .4rem 0 .8rem; }
.sp .sp-tiles div { border: 1px solid var(--line, #d5e3e6); border-radius: .5rem; padding: .6rem .8rem; }
.sp .sp-tiles small { display: block; color: var(--ink-3, #5b6472); }
.sp .sp-tiles b { font-size: 1.25rem; }
.sp .sp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .8rem; margin: .6rem 0 1rem; }
.sp .sp-off { opacity: .6; }
.sp .sp-viewer { display: grid; gap: 12px; justify-items: center; margin: .6rem 0 1rem; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.sp .sp-page { max-width: 100%; height: auto; border: 1px solid var(--line, #d5e3e6); background: #fff; pointer-events: none; }
.sp td.num, .sp th.num { text-align: right; white-space: nowrap; }
@media print { .sp-kit, .sp-letter { display: none !important; } }
.m13-letter{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:6px;align-items:end;border-top:1px solid var(--line,#d5e3e6);padding-top:8px}
.sdk-addr{color:inherit;text-decoration:underline dotted;text-underline-offset:2px}
.sdk-addr-alt{font-size:.85em;margin-left:.3rem}
/* 1.46.11 MyDoctor ID card (My ID card). A card is always light, like a printed card, in both themes. */
.slp-card { max-width: 21rem; margin: .8rem auto; background: #fff; color: #13232C; border: 1px solid #CDD6DB; border-radius: 1rem; overflow: hidden; text-align: center; box-shadow: 0 6px 24px rgba(11,93,97,.12); }
.slp-card-top { background: #0B5D61; color: #fff; padding: .8rem 1rem 1.6rem; }
.slp-brand { font-size: 1.4rem; font-weight: 800; letter-spacing: -.01em; } .slp-brand b { color: #fff; } .slp-brand i { font-style: normal; color: #9fe0dd; }
.slp-card-top small { display: block; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: #cfeceb; }
.slp-photo { width: 7.5rem; height: 9.4rem; object-fit: cover; border-radius: .6rem; margin: -1.1rem auto .4rem; display: block; border: 3px solid #fff; background: #eef6f6; }
.slp-name { font-size: 1.25rem; font-weight: 700; } .slp-role { color: #0B5D61; font-weight: 600; } .slp-terr { font-size: .85rem; color: #5B6B75; }
.slp-qr { margin: .6rem auto .2rem; } .slp-qr svg { width: 9rem; height: 9rem; display: block; margin: 0 auto; } .slp-qr small { color: #5B6B75; }
.slp-meta { font-size: .8rem; color: #5B6B75; margin: .2rem 0 .6rem; }
.slp-foot { font-size: .68rem; color: #5B6B75; background: #F4F7F8; padding: .5rem .8rem; line-height: 1.4; }
.slp-card.off { filter: grayscale(1); opacity: .75; } .slp-void { background: #b3261e; color: #fff; font-weight: 700; padding: .4rem; }
/* 1.46.11 MyDoctor visiting card with QR (My ID and visiting card). Always light, like a printed card, in both themes. */
.slp-vc { max-width: 22rem; margin: .8rem auto; background: #fff; color: #13232C; border: 1px solid #CDD6DB; border-radius: 1rem; overflow: hidden; box-shadow: 0 6px 24px rgba(11,93,97,.12); }
.slp-vc-top { background: #0B5D61; color: #fff; padding: .7rem 1rem; text-align: left; }
.slp-vc-top small { display: block; font-size: .7rem; color: #cfeceb; }
.slp-vc-body { display: flex; gap: .8rem; align-items: center; padding: .9rem 1rem .2rem; text-align: left; }
.slp-vc-photo { width: 4.6rem; height: 5.8rem; object-fit: cover; border-radius: .5rem; border: 1px solid #CDD6DB; flex: none; background: #eef6f6; }
.slp-vc-who { min-width: 0; overflow-wrap: anywhere; }
.slp-vc .slp-name { font-size: 1.15rem; }
.slp-vc-line { font-size: .88rem; color: #44545E; }
.slp-vc .slp-qr { text-align: center; }
.slp-vc .slp-foot { text-align: center; }
.slp-vc.off { filter: grayscale(1); opacity: .75; }
.sp .sp-share { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin: .4rem 0 1rem; }
