/* Medical centre: account type at sign-up, the centre page and the shared reception board. Colours from tokens. */
.acct-types { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-3); }
.acct-type { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--border-strong); border-radius: var(--radius-md, 12px); cursor: pointer; background: var(--surface); }
.acct-type:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.acct-type > span { display: flex; flex-direction: column; gap: 4px; }
.ctr-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ctr-points li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; }
.ctr-points .icon { color: var(--primary); flex: none; margin-top: 3px; }
.ctr-invites { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ctr-invites li { display: flex; align-items: center; gap: 10px; justify-content: space-between; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.ctr-invites form { margin: 0; }

.ctr-desk { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); align-items: start; }
@media (max-width: 1100px) { .ctr-desk { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ctr-desk { grid-template-columns: 1fr; } }
.ctr-col { background: var(--surface-muted); border: 1px solid var(--border); border-radius: var(--radius-lg, 16px); padding: 10px; min-height: 160px; }
.ctr-col header { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 10px; }
.ctr-col h2 { font-size: 15px; margin: 0; }
.ctr-n { font-size: 12px; font-weight: var(--fw-bold); background: var(--surface); border-radius: var(--pill, 999px); padding: 1px 9px; }
.ctr-list { display: grid; gap: 8px; }
.ctr-empty { margin: 8px 6px; font-size: 13px; color: var(--text-subtle); }
.ctr-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md, 12px); padding: 10px 12px; display: grid; gap: 6px; }
.ctr-top { display: flex; align-items: baseline; gap: 10px; }
.ctr-time { font-size: 12px; font-weight: var(--fw-bold); color: var(--text-muted); }
.ctr-name { font-weight: var(--fw-semibold); font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ctr-meta { font-size: 12.5px; color: var(--text-muted); }
.ctr-practice { font-weight: var(--fw-semibold); color: var(--primary); }
.ctr-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.ctr-actions form { margin: 0; }
.is-with_doctor .ctr-card { border-inline-start: 3px solid var(--primary); }
.is-ready .ctr-card { border-inline-start: 3px solid var(--success); }
/* Shared costs */
.ctr-balances { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.ctr-shares { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .85rem; min-width: 300px; }
.ctr-shares li > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-ctr-custom][hidden] { display: none; }
.ctr-exp { min-width: 200px; }
@media (max-width: 720px) { .ctr-shares, .ctr-exp { min-width: 0; } }
.ctr-shares li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: center; }
.text-warning { color: var(--warning); }
/* The centre's home: the steps, in order */
.ctr-steps { list-style: none; margin: 0; padding: 0; }
.ctr-step { display: flex; gap: 14px; align-items: flex-start; padding: 14px var(--card-pad); border-top: 1px solid var(--border); }
.ctr-step:first-child { border-top: 0; }
.ctr-step-n { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: var(--fw-bold); font-size: .85rem; background: var(--surface-sunken); color: var(--text-muted); }
.ctr-step.is-done .ctr-step-n { background: var(--success-soft, var(--primary-soft)); color: var(--success, var(--primary)); }
.ctr-step.is-next { background: var(--primary-soft); }
.ctr-step.is-next .ctr-step-n { background: var(--primary); color: var(--primary-ink); }
.ctr-mini { list-style: none; margin: 0; padding: 0; }
.ctr-mini li { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 10px var(--card-pad); border-top: 1px solid var(--border); font-size: .9rem; }
@media (max-width: 720px) { .ctr-step { flex-wrap: wrap; } .ctr-step > .btn { margin-inline-start: 42px; } }
/* Sign-up and the add-doctor form: blocks hidden by the account type / "I am a doctor too" stay hidden whatever their layout. */
[data-clinic-only][hidden], [data-center-only][hidden], [data-ctr-email][hidden] { display: none !important; }
