:root{--ink:#17212b;--muted:#6d7b88;--line:#e3e8ed;--surface:#fff;--soft:#f4f7f8;--accent:#0b7c79;--accent-dark:#075c5a;--danger:#b54747;--shadow:0 18px 50px rgba(23,33,43,.07)}
*{box-sizing:border-box}body{margin:0;background:#f7f9fa;color:var(--ink);font-family:"DM Sans",sans-serif}h1,h2,h3,p{margin:0}button,input,select{font:inherit}.shell{max-width:1180px;margin:auto;padding:0 28px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;text-decoration:none}.brand img{width:38px;height:38px;object-fit:contain}.brand span{font-family:Manrope,sans-serif}.topbar-actions{display:flex;align-items:center;gap:22px;font-size:13px}.session-label{color:var(--muted)}.text-link{color:var(--accent);font-weight:600;text-decoration:none}.hero{display:flex;justify-content:space-between;align-items:end;padding:72px 0 46px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:12px}.hero h1{font:800 clamp(36px,5vw,62px)/1.04 Manrope,sans-serif;letter-spacing:-.045em}.hero h1 span{color:var(--accent)}.hero-copy{max-width:540px;color:var(--muted);font-size:17px;line-height:1.6;margin-top:20px}.hero-note{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:13px;padding-bottom:5px}.pulse{width:8px;height:8px;border-radius:50%;background:#31a66a;box-shadow:0 0 0 5px #e1f3e9}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px}.login-panel{max-width:480px;margin:0 auto 48px}.panel-heading{margin-bottom:25px}.panel-heading h2{font:700 25px/1.2 Manrope,sans-serif;letter-spacing:-.03em}.panel-heading h3{font:700 19px/1.25 Manrope,sans-serif}.panel-heading p:not(.eyebrow){color:var(--muted);margin-top:8px;line-height:1.5;font-size:14px}.compact{margin-bottom:19px}.form-stack{display:flex;flex-direction:column;gap:16px}.form-stack label,.form-row label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.form-stack small{color:var(--muted);font-weight:400}.form-stack input,.form-stack select,.verify-form input{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 13px;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.form-stack input:focus,.form-stack select:focus,.verify-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,124,121,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.button{border:0;border-radius:10px;min-height:45px;padding:0 17px;font-weight:700;cursor:pointer;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:var(--accent)}.button.primary:hover{background:var(--accent-dark)}.button.secondary{color:var(--accent-dark);background:#edf5f4}.button span{font-size:18px;margin-left:7px}.form-status{min-height:20px;margin-top:14px;color:var(--muted);font-size:13px;line-height:1.45}.form-status.error{color:var(--danger)}.form-status.success{color:#197044}.app-view[hidden],.receipt[hidden]{display:none}.app-toolbar{display:flex;justify-content:space-between;align-items:end;margin:0 0 18px}.app-toolbar h2{font:700 28px Manrope,sans-serif;letter-spacing:-.03em}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.slot-list{display:grid;gap:8px;margin-top:18px;max-height:465px;overflow:auto}.slot{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;padding:13px 14px;cursor:pointer;background:#fff;text-align:left}.slot:hover,.slot.selected{border-color:var(--accent);background:#f0f8f7}.slot-main{display:flex;flex-direction:column;gap:4px}.slot-time{font-weight:700}.slot-meta{color:var(--muted);font-size:12px}.slot-capacity{font-size:12px;color:var(--accent);font-weight:700}.selected-slot{background:var(--soft);border-radius:11px;padding:15px;margin-bottom:18px;font-size:13px;line-height:1.55}.selected-slot.empty{color:var(--muted)}fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.verify-panel{margin-top:18px}.verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.verify-form input{height:45px}.receipt{border:1px solid #cce4df;background:#f5fbfa;border-radius:12px;padding:18px;margin-top:17px}.receipt-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:13px}.receipt h4{font:700 16px Manrope,sans-serif}.receipt .number{font:800 24px Manrope;color:var(--accent)}.receipt dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0}.receipt dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.receipt dd{margin:3px 0 0;font-size:14px;font-weight:600}.receipt-actions{display:flex;gap:9px;margin-top:17px}.receipt-token{font-size:11px;color:var(--muted);word-break:break-all;margin-top:14px}footer{display:flex;justify-content:space-between;padding:30px 0 42px;color:#87939c;font-size:12px}@media(max-width:760px){.shell{padding:0 16px}.topbar{height:70px}.topbar-actions{gap:10px}.session-label{display:none}.hero{display:block;padding:52px 0 33px}.hero-note{margin-top:25px}.booking-grid{grid-template-columns:1fr}.panel{padding:21px;border-radius:15px}.app-toolbar{align-items:start}.app-toolbar h2{font-size:22px}.verify-form{grid-template-columns:1fr}.verify-form .button{width:100%}.form-row{grid-template-columns:1fr}footer{display:block}footer span{display:block;margin-top:5px}}
.autocomplete-wrap{position:relative}.autocomplete-input{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 13px;color:var(--ink);outline:none}.autocomplete-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,124,121,.12)}.suggestions{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);max-height:250px;overflow:auto;padding:5px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 30px rgba(22,45,54,.14)}.suggestions[hidden]{display:none}.suggestion{display:block;width:100%;border:0;border-radius:8px;background:transparent;text-align:left;padding:10px;color:var(--ink);font-size:12px}.suggestion:hover,.suggestion:focus{background:#edf6f5;outline:0}.suggestion small{display:block;color:var(--muted);margin-top:3px}

.receipt-match + .receipt-match{border-top:1px solid #cce4df;margin-top:20px;padding-top:20px}

#verifiedReceipt{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:0;border:0;background:transparent;box-shadow:none}
#verifiedReceipt .receipt-match{border:1px solid #cce4df;border-radius:12px;background:#f5fbfa;padding:14px;min-width:0}
#verifiedReceipt .receipt-match + .receipt-match{border-top:1px solid #cce4df;margin-top:0;padding-top:14px}
#verifiedReceipt .receipt-head{gap:10px;margin-bottom:10px;align-items:center}
#verifiedReceipt .receipt-head h4{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
#verifiedReceipt .receipt .number,#verifiedReceipt .number{font-size:18px;white-space:nowrap}
#verifiedReceipt dl{gap:8px 12px}
#verifiedReceipt dt{font-size:10px}
#verifiedReceipt dd{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
#verifiedReceipt .receipt-actions{margin-top:12px}
#verifiedReceipt .receipt-actions .button{width:100%;min-height:38px;padding:0 12px;font-size:12px}
@media(max-width:760px){#verifiedReceipt{grid-template-columns:1fr}}

.laboratory-picker{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd}.laboratory-picker[hidden]{display:none}.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.picker-heading label{font-size:13px;font-weight:700}.picker-heading span{color:var(--accent-dark);font-size:11px;font-weight:700}.laboratory-filter{min-height:43px;display:flex!important;flex-direction:row!important;align-items:center;gap:0;font-size:inherit!important;font-weight:400!important}.laboratory-filter input{height:41px}.laboratory-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto;padding:2px}.laboratory-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px!important;font-weight:500!important;cursor:pointer;transition:border .15s,background .15s}.laboratory-option:hover{border-color:var(--accent);background:#f0f8f7}.laboratory-option:has(input:checked){border-color:var(--accent);background:#eaf6f4}.laboratory-option input{width:16px!important;height:16px!important;margin:1px 0 0;accent-color:var(--accent);flex:none}.laboratory-option span{min-width:0}.laboratory-option strong,.laboratory-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.laboratory-option strong{font-size:12px}.laboratory-option small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:500}.picker-empty{color:var(--muted);font-size:12px;padding:8px 2px}.slot-procedure{color:var(--accent-dark);font-size:12px;font-weight:700}
@media(max-width:760px){.laboratory-options{grid-template-columns:1fr;max-height:280px}}
