:root{--ink:#17312f;--muted:#64748b;--line:#dbe7e5;--paper:#fff;--wash:#f2f8f7;--brand:#0f766e;--brand-2:#14b8a6;--danger:#b91c1c;--radius:22px;--shadow:0 18px 55px rgba(18,76,70,.10)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(circle at 10% 5%,#dff7f2 0,transparent 28%),linear-gradient(180deg,#f8fbfb,#edf5f4);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.site-header{width:min(1080px,calc(100% - 32px));margin:16px auto 0;padding:12px 18px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.75);border-radius:18px;box-shadow:0 8px 30px rgba(15,118,110,.08);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:38px;height:38px;object-fit:contain;background:#fff;border-radius:11px;padding:3px}.brand span{display:flex;flex-direction:column}.brand strong{font-size:.98rem;line-height:1.2}.brand small{color:var(--brand);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.status{display:flex;align-items:center;gap:7px;color:var(--brand);font-size:.7rem;font-weight:800;text-transform:uppercase}.status i{width:8px;height:8px;border-radius:99px;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.shell{width:min(860px,calc(100% - 32px));margin:38px auto 80px}.shell.narrow{width:min(680px,calc(100% - 32px))}.hero{text-align:center;margin:0 auto 28px}.hero h1{font-size:clamp(1.7rem,5vw,3rem);letter-spacing:-.045em;margin:.35rem 0}.hero p{color:var(--muted);margin:.5rem auto;max-width:600px;line-height:1.6}.eyebrow{color:var(--brand);font-weight:850;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}.stepper{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:32px 0;list-style:none;position:relative}.stepper:before{content:"";position:absolute;top:17px;left:12.5%;right:12.5%;height:2px;background:var(--line)}.stepper li{text-align:center;color:#94a3b8;font-weight:750;font-size:.72rem;z-index:1}.stepper li span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e2ecea;color:#71807e;margin:0 auto 8px;border:4px solid #f2f8f7}.stepper li.active{color:var(--brand)}.stepper li.active span{background:var(--brand);color:white;box-shadow:0 0 0 5px rgba(15,118,110,.12)}.card{background:var(--paper);border:1px solid rgba(15,118,110,.10);border-radius:var(--radius);padding:clamp(22px,5vw,40px);box-shadow:var(--shadow)}.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:26px}.section-heading>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#def4f0;color:var(--brand);font-weight:900}.section-heading h1,.section-heading h2{margin:0;font-size:1.25rem}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:.86rem}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--wash);padding:5px;border-radius:14px;margin-bottom:24px}.segmented input{position:absolute;opacity:0}.segmented span{display:block;text-align:center;padding:12px;border-radius:10px;color:var(--muted);font-size:.85rem;font-weight:800;cursor:pointer}.segmented input:checked+span{background:#fff;color:var(--brand);box-shadow:0 4px 15px rgba(15,118,110,.10)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid.single{grid-template-columns:1fr}.form-grid label{display:flex;flex-direction:column;gap:7px;color:#334155;font-size:.78rem;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cfdedc;background:#fbfdfd;border-radius:12px;padding:12px 13px;color:var(--ink);font:inherit;min-height:46px;outline:none}.form-grid textarea{min-height:90px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 4px rgba(20,184,166,.10);background:#fff}.form-grid select:disabled,.form-grid input:disabled{opacity:.6}.full{grid-column:1/-1}.conditional{display:grid;grid-template-columns:1fr 1fr;gap:17px;background:#f8fbfb;border:1px dashed #bdd8d5;padding:16px;border-radius:14px}.button{border:0;border-radius:12px;padding:13px 19px;font:inherit;font-size:.84rem;font-weight:850;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:linear-gradient(135deg,var(--brand),#0d9488);box-shadow:0 8px 20px rgba(15,118,110,.22)}.button.ghost{color:var(--ink);background:#eff5f4}.button.wide{width:100%;margin-top:4px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.actions.centered{justify-content:center}.patient-chip{display:flex;justify-content:space-between;gap:14px;background:#eff9f7;border-left:4px solid var(--brand);border-radius:10px;padding:13px 15px;margin-bottom:22px}.patient-chip span{color:var(--muted);font-size:.8rem}.summary{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}.summary>div{padding:13px 0;border-bottom:1px solid #edf2f1}.summary dt{color:var(--muted);font-size:.72rem;margin-bottom:5px}.summary dd{margin:0;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.notice{background:#eff9f7;border:1px solid #cce9e5;color:#255b56;padding:13px 15px;border-radius:12px;font-size:.78rem;line-height:1.5;margin-top:22px}.notice.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.success{text-align:center}.success-icon{width:68px;height:68px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#dcfce7;color:#15803d;font-size:2rem;font-weight:900}.success h2,.ticket-card h1{margin:.5rem 0}.success>p{color:var(--muted)}.booking-code{display:inline-block;background:#eaf7f5;border:2px dashed var(--brand);color:var(--brand);font-size:clamp(1.45rem,6vw,2.4rem);font-weight:950;letter-spacing:.08em;border-radius:15px;padding:14px 22px;margin:12px 0;overflow-wrap:anywhere}.ticket-card{text-align:center}.ticket-card .summary{text-align:left;margin-top:24px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);opacity:0;background:#17312f;color:white;border-radius:12px;padding:13px 18px;box-shadow:var(--shadow);z-index:100;font-size:.82rem;max-width:calc(100% - 32px);transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}.toast.error{background:var(--danger)}.loading{position:fixed;inset:0;background:rgba(241,248,247,.78);backdrop-filter:blur(5px);z-index:90;display:grid;place-content:center;text-align:center}.loading[hidden]{display:none}.loading span{width:42px;height:42px;border:4px solid #cce8e4;border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:auto}.loading p{font-size:.8rem;font-weight:800;color:var(--brand)}@keyframes spin{to{transform:rotate(360deg)}}.display-list{display:grid;gap:10px}.display-row{display:flex;justify-content:space-between;padding:15px;background:var(--wash);border-radius:12px;font-weight:800}.muted{color:var(--muted)}
@media(max-width:640px){.site-header{margin-top:8px;width:calc(100% - 16px)}.status{font-size:0}.status i{margin-right:3px}.shell{margin-top:28px}.stepper li{font-size:.62rem}.card{border-radius:18px}.form-grid,.conditional,.summary{grid-template-columns:1fr}.full{grid-column:auto}.actions{flex-direction:column-reverse}.actions .button{width:100%}.patient-chip{flex-direction:column}.hero p{font-size:.86rem}}@media print{body{background:#fff}.site-header,.actions,.stepper,.toast{display:none}.shell{margin:0;width:100%}.card{box-shadow:none;border:0}}
.ticket-qr{display:block;width:180px;height:180px;margin:16px auto 6px;border:8px solid #fff;border-radius:12px;box-shadow:0 8px 24px rgba(15,118,110,.12)}.ticket-qr-note{text-align:center;color:var(--muted);font-size:.9rem;margin:0 0 18px}
.referral-actions{display:flex;gap:10px}.referral-dialog{width:min(1050px,calc(100% - 24px));border:0;border-radius:20px;padding:0;color:var(--ink);box-shadow:0 30px 90px rgba(15,48,45,.28)}.referral-dialog::backdrop{background:rgba(15,35,33,.56);backdrop-filter:blur(4px)}.referral-dialog header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.referral-dialog h2{margin:4px 0 0;font-size:1.2rem}.referral-dialog h2 small{color:var(--brand);font-size:.72rem}.dialog-close{border:0;background:var(--wash);border-radius:50%;width:38px;height:38px;font-size:1.4rem;color:var(--ink);cursor:pointer}.table-wrap{overflow:auto;max-height:65vh}.referral-dialog table{border-collapse:collapse;width:100%;font-size:.78rem}.referral-dialog th,.referral-dialog td{text-align:left;padding:13px;border-bottom:1px solid #e8efee;white-space:pre-line}.referral-dialog th{position:sticky;top:0;background:#f3f8f7;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.button.compact{padding:8px 12px;font-size:.72rem}@media(max-width:640px){.referral-actions{flex-direction:column}.referral-dialog th:nth-child(3),.referral-dialog td:nth-child(3),.referral-dialog th:nth-child(5),.referral-dialog td:nth-child(5){display:none}}
