:root{--bg: #f4f1ea;--surface: #fffdf8;--ink: #17211f;--muted: #69746f;--line: #ded8cc;--green: #147052;--amber: #a86311;--red: #af3328;--radius: 8px;--soft-shadow: 0 8px 24px rgba(29, 34, 31, .08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(135deg,rgba(255,253,248,.88),rgba(244,241,234,.94)),radial-gradient(circle at 12% 0%,rgba(15,111,95,.14),transparent 34%),var(--bg);color:var(--ink);font-family:Avenir Next,Aptos,Segoe UI,ui-sans-serif,system-ui,-apple-system,sans-serif;letter-spacing:0}body{min-width:320px}::selection{background:rgba(15,111,95,.18)}:focus-visible{outline:3px solid rgba(15,111,95,.26);outline-offset:3px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:30px;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700;line-height:1;text-transform:capitalize;white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:rgba(255,255,255,.66)}.status-green{color:var(--green);border-color:rgba(20,112,82,.18);background:#e9f6ef}.status-amber{color:var(--amber);border-color:rgba(168,99,17,.2);background:#fff3de}.display-page{min-height:100vh;min-height:100svh;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(242,247,245,.96)),#f8fbfa;color:#162421;display:flex;flex-direction:column;display:grid;grid-template-rows:auto minmax(0,1fr);padding:32px;padding:clamp(18px,3vw,34px);overflow:hidden}.display-top{display:flex;justify-content:space-between;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;gap:clamp(12px,2.5vw,20px);border-bottom:1px solid #d8e3df;padding-bottom:18px;padding-bottom:clamp(12px,2vw,18px)}.display-header-left{display:flex;align-items:center;justify-content:flex-start;gap:22px;gap:clamp(12px,1.8vw,22px);min-width:0}.display-header-left>*+*{margin-left:22px}.display-logo{display:block;max-width:420px;height:58px;height:clamp(58px,7vw,68px);object-fit:contain;object-position:left center}.display-room-time{display:block;display:grid;grid-template-columns:auto;align-items:stretch;gap:10px}.display-room{color:#0f1f1d;font-size:60px;font-size:clamp(60px,9vw,84px);font-weight:500;font-variant-numeric:tabular-nums;line-height:.95;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 0 0 #0f1f1d}.display-clock{display:flex;align-items:center;justify-content:center;display:grid;place-items:center;min-width:100px;min-width:clamp(100px,11vw,122px);min-height:58px;min-height:clamp(58px,7vw,72px);border:1px solid #cbd9d5;border-radius:14px;background:#fff;color:#31514b;font-size:25px;font-size:clamp(25px,3.1vw,32px);font-weight:600;font-variant-numeric:tabular-nums;padding:0 10px;line-height:1}.display-state{display:block;display:grid;position:relative;align-content:start;gap:22px;gap:clamp(16px,2.4vw,22px);max-width:1200px;width:100%;margin:0 auto;padding:28px 0 36px;padding:clamp(20px,3vw,28px) 0 clamp(28px,3.2vw,36px)}.display-state>*+*{margin-top:22px}.display-name{max-width:100%;font-size:54px;font-size:clamp(54px,7.2vw,88px);font-weight:600;letter-spacing:0;overflow-wrap:break-word;color:#10201d}.booking-display{display:block;display:grid;gap:22px;gap:clamp(17px,2.2vw,22px)}.booking-display>*+*{margin-top:22px}.display-name-with-gender{display:flex;align-items:center;gap:14px}.display-name-with-gender>*+*{margin-left:14px}.display-gender{display:inline-flex;align-items:center;justify-content:center;display:inline-grid;place-items:center;width:56px;height:56px;border-radius:999px;font-size:32px;font-weight:800;line-height:1;flex:0 0 auto}.display-gender-female{border:1px solid #f0bdd0;background:#fff0f6;color:#c02f72}.display-gender-male{border:1px solid #b9d3f6;background:#edf6ff;color:#0d4c97}.display-gender-unknown{border:1px solid #d4e0dc;background:#fff;color:#55706a}.display-programs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:12px}.display-program{margin-right:8px;margin-bottom:8px}.display-program{display:inline-flex;align-items:center;min-height:30px;max-width:100%;border-radius:999px;padding:6px 13px;font-size:14px;font-size:clamp(14px,1.7vw,18px);font-weight:600;line-height:1;overflow-wrap:break-word;overflow-wrap:anywhere}.display-meta{display:block;display:grid;grid-template-columns:1fr;gap:12px}.display-meta>*+*{margin-top:12px}.display-meta-merged{border:1px solid #d4e0dc;border-radius:14px;padding:16px 18px;background:#fff;box-shadow:0 10px 24px rgba(20,46,40,.06)}.display-meta-item{min-height:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.display-meta-item+.display-meta-item{margin-top:12px;padding-top:12px;border-top:1px solid #e2ebe8}.display-meta-label{color:#627a74;font-size:15px;font-size:clamp(15px,1.7vw,20px);font-weight:600}.display-meta-value{margin-top:10px;color:#102f29;font-size:28px;font-size:clamp(28px,3.4vw,30px);line-height:1.05;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:break-word;overflow-wrap:anywhere}.display-meta-booking .display-meta-value{white-space:nowrap}.display-remarks{display:flex;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;border:1px solid #f0d6a1;border-radius:15px;padding:15px 18px;background:#fff7e7;color:#5a3c11}.display-remarks>*+*{margin-left:14px}.display-remarks-icon{display:flex;align-items:center;justify-content:center;display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#d98b20;color:#fff}.display-remarks-label{color:#627a74;font-size:16px;font-weight:600}.display-remarks-value{margin-top:5px;color:#5a3c11;font-size:20px;font-size:clamp(20px,2.6vw,22px);line-height:1.16;font-weight:600;overflow-wrap:break-word;overflow-wrap:anywhere}.display-next-patient{border:1px solid #d7e4e0;border-radius:15px;background:#fff;padding:14px 16px}.display-next-patient-label{color:#627a74;font-size:15px;font-size:clamp(15px,1.7vw,20px);font-weight:600}.display-next-patient-value{margin-top:8px;color:#10201d;font-size:30px;font-size:clamp(30px,2.5vw,64px);font-weight:600;line-height:1.04;overflow-wrap:break-word;overflow-wrap:anywhere}.display-updated-at{position:absolute;right:0;bottom:0;color:#9aaba7;font-size:14px;font-size:clamp(14px,1.4vw,16px);font-weight:600;font-variant-numeric:tabular-nums}.empty-ready{display:block;display:grid;justify-items:center;gap:16px;gap:clamp(10px,1.8vw,16px);width:100%;max-width:880px;width:min(100%,880px);margin:0 auto;padding:24px 28px;padding:clamp(12px,2.2vw,24px) clamp(10px,2.8vw,28px) clamp(16px,2.4vw,24px);border:1px solid #d7e4e0;border-radius:20px;background:linear-gradient(180deg,#fff,#f5faf8);box-shadow:0 18px 40px rgba(16,63,53,.08);text-align:center}.empty-ready>*+*{margin-top:16px}.empty-ready-image-frame{width:100%;max-width:520px;width:min(100%,520px);height:325px;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;display:grid;place-items:center;padding:20px;padding:clamp(12px,2vw,20px)}.empty-ready-image{display:block;width:100%;max-width:460px;width:min(100%,460px);height:auto;object-fit:contain}.empty-ready-title{color:#10312a;font-size:52px;font-size:clamp(52px,6.6vw,72px);font-weight:600;letter-spacing:0}.empty-ready-subtitle{color:#2f6458;font-size:34px;font-size:clamp(34px,3.8vw,42px);font-weight:700;line-height:1.06;letter-spacing:0}.error-text{margin-bottom:16px;color:var(--red);font-weight:700}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:820px){.display-page{padding:24px 26px 22px}.display-top{gap:12px;padding-bottom:12px}.display-header-left>*+*{margin-left:12px}.display-logo{height:58px}.display-state{gap:11px;padding-top:18px}.display-state>*+*{margin-top:11px}.booking-display{gap:11px}.booking-display>*+*{margin-top:11px}.display-gender{width:34px;height:34px;font-size:20px;line-height:1}}@supports (display: grid){.display-state>*+*,.booking-display>*+*,.display-meta>*+*,.empty-ready>*+*{margin-top:0}.display-remarks>*+*{margin-left:0}}@supports (gap: 1rem){.display-header-left>*+*,.display-name-with-gender>*+*{margin-left:0}.display-program{margin-right:0;margin-bottom:0}}
