:root{--blue:#0b8ff2;--navy:#17324d;--line:#dce6ee;--soft:#f4f8fb;--green:#1f9d65;--red:#c53b3b}*{box-sizing:border-box}body.appointment-public{margin:0;background:linear-gradient(150deg,#edf7ff 0,#f8fbfd 45%,#eef4f7 100%);color:#25394d;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",Arial,sans-serif;min-height:100vh}.appointment-shell{width:min(960px,calc(100% - 28px));margin:0 auto;padding:28px 0 40px}.appointment-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.appointment-brand img,.appointment-logo{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 24px #163e6415}.appointment-brand strong{font-size:20px;display:block;color:var(--navy)}.appointment-brand span{font-size:14px;color:#6c7c89}.appointment-hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;background:linear-gradient(120deg,#0d85df,#076cbd);border-radius:22px;padding:34px 38px;color:#fff;box-shadow:0 18px 45px #0b75c52b}.appointment-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;opacity:.78}.appointment-hero h1{font-size:34px;line-height:1.15;margin:8px 0 12px}.appointment-hero p{max-width:620px;margin:0;color:#eaf6ff}.appointment-steps{display:flex;gap:12px;white-space:nowrap}.appointment-steps span{display:flex;align-items:center;gap:6px;font-size:13px}.appointment-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ffffff2e}.appointment-card{background:#fff;border:1px solid #dce8f0;border-radius:18px;padding:30px 34px;margin-top:20px;box-shadow:0 14px 38px #28486112}.appointment-alert{padding:13px 16px;border-radius:10px;margin-top:18px}.appointment-alert.error{background:#fff1f1;border:1px solid #efb4b4;color:#962f2f}.appointment-section-title{display:flex;align-items:center;gap:12px;padding:4px 0 14px;margin-top:24px;border-bottom:1px solid var(--line)}.appointment-section-title:first-of-type{margin-top:0}.appointment-section-title>span{width:30px;height:30px;border-radius:9px;background:#e8f5ff;color:#087ccf;font-weight:800;display:grid;place-items:center}.appointment-section-title b,.appointment-section-title small{display:block}.appointment-section-title small{font-size:13px;color:#768795}.appointment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:18px 0 6px}.appointment-grid label{font-weight:700;font-size:14px;color:#3a4e60}.appointment-grid input,.appointment-grid select,.appointment-grid textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #cbd8e2;border-radius:9px;background:#fff;color:#23384a;font:inherit;outline:none}.appointment-grid input:focus,.appointment-grid select:focus,.appointment-grid textarea:focus{border-color:#138fe8;box-shadow:0 0 0 3px #138fe81b}.appointment-grid textarea{resize:vertical}.appointment-grid label>small{display:block;text-align:right;font-weight:400;color:#84929d}.appointment-wide{grid-column:1/-1}.appointment-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;color:#4c5f6f;font-size:14px}.appointment-consent input{margin-top:4px}.appointment-submit{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px}.appointment-submit p{margin:0;font-size:13px;color:#6f7e89}.appointment-submit button,.appointment-link{border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;padding:12px 24px;text-decoration:none;white-space:nowrap;cursor:pointer}.appointment-submit button:disabled{opacity:.65;cursor:wait}.appointment-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.appointment-shell footer{text-align:center;color:#798895;font-size:13px;padding:22px}.appointment-success-shell{max-width:700px;padding-top:70px}.appointment-success{text-align:center;padding:46px}.success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e8f9f0;color:var(--green);font-size:34px;font-weight:900}.success-icon.warning{background:#fff5e8;color:#d27713}.appointment-success h1{font-size:30px;color:var(--navy);margin:8px 0}.appointment-success>p{color:#617484}.success-summary{margin:28px auto;max-width:520px;text-align:left;border:1px solid var(--line);border-radius:12px;overflow:hidden}.success-summary div{display:grid;grid-template-columns:110px 1fr;padding:12px 16px;border-bottom:1px solid var(--line)}.success-summary div:last-child{border:0}.success-summary dt{color:#71818e}.success-summary dd{margin:0;font-weight:750;color:#253b4f}.booking-status{display:inline-flex;padding:3px 9px;border-radius:999px;background:#fff1d7;color:#9b6300;font-size:13px}.success-tip{background:#f2f7fa;border-radius:10px;padding:14px;margin-bottom:26px!important}.cf-turnstile{margin-top:18px}@media(max-width:700px){.appointment-shell{width:min(100% - 18px,960px);padding-top:14px}.appointment-hero{padding:26px 22px;display:block}.appointment-hero h1{font-size:28px}.appointment-steps{margin-top:22px;flex-wrap:wrap}.appointment-card{padding:22px 18px}.appointment-grid{grid-template-columns:1fr}.appointment-wide{grid-column:auto}.appointment-submit{align-items:stretch;flex-direction:column}.appointment-submit button{width:100%}.appointment-success{padding:34px 20px}.success-summary div{grid-template-columns:92px 1fr}}
