:root{--ink:#183653;--muted:#526b80;--blue:#2368a5;--mint:#287c68;--paper:#f1f7fc;--line:#d8e4ed;--white:#fff;--slot-height:46px;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
#login-form #toggle-login-password{display:block;margin:6px 0 12px auto;padding:8px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,input,select,summary{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4b9bc7}button{border:0;border-radius:7px;font-size:14px;font-weight:600;padding:11px 15px}.primary{background:var(--blue);color:white}.primary:hover:not(:disabled){background:#184f80}.secondary{background:#eaf2f8;color:var(--ink);border:1px solid #b7cbdc}.quiet{background:transparent;color:var(--muted);padding:8px}.danger{background:#fff0ef;color:#a33335}.full{width:100%}.masthead{padding:23px 36px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:13px;font-size:16px}.brand strong{font-size:20px;letter-spacing:-.8px}.brand-mark{width:31px;height:31px;background:var(--blue);color:white;border-radius:9px;font-size:23px;font-weight:700;text-align:center;line-height:29px}.divider{height:23px;width:1px;background:var(--line);margin:0 5px}.demo-badge{font-size:12px;color:#46627c;background:#edf3f9;border:1px solid var(--line);padding:7px 11px;border-radius:25px}main{max-width:1480px;margin:0 auto;padding:36px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;gap:20px}h1{font-size:38px;line-height:1.15;letter-spacing:-1.4px;font-weight:600;margin:0 0 8px}p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}h2{font-size:18px;font-weight:600;margin:0 0 4px;letter-spacing:-.35px}label{display:block;font-size:13px;font-weight:600;margin:17px 0 7px}.date-control label{margin:0 0 6px}.date-control input{width:174px}input,select{width:100%;border:1px solid #b7cbdc;background:white;padding:10px 11px;border-radius:6px;color:var(--ink);font-size:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px}.diary{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--line)}.section-heading span{color:var(--muted);font-size:12px}.connection{display:flex;gap:6px;align-items:center}.connection span{width:7px;height:7px;border-radius:50%;background:var(--mint)}.calendar-scroll{overflow:auto;max-height:675px}.calendar{min-width:610px}.calendar-head{position:sticky;top:0;z-index:2;background:white;display:grid;grid-template-columns:62px repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.calendar-head>div{padding:15px 10px;border-left:1px solid var(--line)}.calendar-head>div:first-child{border-left:0}.practitioner{font-size:13px;font-weight:600}.practitioner small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.calendar-body{height:calc(var(--slot-height)*16);display:grid;grid-template-columns:62px repeat(3,minmax(0,1fr))}.time-rail{position:relative}.time-label{position:absolute;right:9px;font-size:10px;color:var(--muted);transform:translateY(-50%)}.time-label:first-child{transform:translateY(4px)}.practitioner-column{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--slot-height) - 1px),#e9eff4 calc(var(--slot-height) - 1px),#e9eff4 var(--slot-height))}.lunch{position:absolute;left:0;right:0;top:50%;height:12.5%;background:repeating-linear-gradient(135deg,#f7f9fb,#f7f9fb 5px,#eef3f7 5px,#eef3f7 6px);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}.appointment{position:absolute;left:6px;right:6px;text-align:left;padding:7px 9px;border-radius:5px;background:#e8eff7;color:#1e517d;border-left:3px solid #8caaca;overflow:hidden;line-height:1.25;font-size:11px;min-height:34px}.appointment strong{display:block;font-size:12px;margin:3px 0}.appointment.api{background:#dff3eb;border-color:#287c68;color:#1b5e4d}.appointment.cancelled{opacity:.65;background:#f4f5f6;border-color:#a7b4bf;text-decoration:line-through;color:#526b80}.diary-footer{display:flex;gap:20px;align-items:center;padding:15px 23px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.diary-footer>span:last-child{margin-left:auto}.key{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.key.api{background:#287c68}.key.existing{background:#8caaca}.booking-panel{padding:5px 0}.intro{font-size:13px;margin:9px 0 20px}.contact{font-size:11px;overflow-wrap:anywhere;margin-top:7px}.confirmation{display:flex;align-items:flex-start;gap:9px;font-weight:400;line-height:1.5;font-size:12px;margin:18px 0}.confirmation input{width:15px;height:15px;margin:2px 0 0;accent-color:var(--blue);flex-shrink:0}#check-slots{margin:18px 0 0}.setup{border-top:1px solid var(--line);margin-top:27px;padding-top:17px}.setup summary{font-size:12px;font-weight:600;cursor:pointer}.setup code{font-size:10px}.setup button{margin-top:10px}.message{padding:12px 16px;border:1px solid #aad1bd;background:#eaf7ef;color:#1b5e4d;margin:0 0 22px;border-radius:7px;font-size:14px}.message.error{background:#fff1ee;border-color:#edc0b6;color:#9a3333}.booking-result{margin-top:18px;background:#e7f5ed;padding:15px;border-radius:7px;border:1px solid #badbcb}.booking-result p{color:#1b5e4d;font-size:12px}.booking-result strong{display:block;margin-bottom:5px;font-size:14px}.activity-section{margin-top:30px}.activity-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.activity-heading p{font-size:12px}.activity-scroll{border:1px solid var(--line);border-radius:9px;background:white;overflow:auto;max-height:235px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{position:sticky;top:0;background:#eaf1f7;font-weight:600;color:var(--muted);padding:10px 17px}td{padding:9px 17px;border-top:1px solid #e9eff4}td.method{font-weight:600;width:90px}.status-ok{color:#226952}.status-error{color:#a33335}footer{font-size:11px;color:var(--muted);margin-top:22px}dialog{border:1px solid var(--line);border-radius:12px;padding:24px;color:var(--ink);width:420px;max-width:calc(100vw - 30px)}dialog::backdrop{background:rgba(24,54,83,.35)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-actions{display:flex;gap:10px;margin:23px 0 12px}dialog label{font-size:13px}
@media(min-width:1300px){:root{--slot-height:49px}.calendar-scroll{max-height:750px}}@media(max-width:980px){main{padding:25px}.workspace{grid-template-columns:minmax(0,1fr) 275px;gap:20px}h1{font-size:32px}.masthead{padding:20px 25px}.demo-badge{font-size:10px}}@media(max-width:760px){.masthead{padding:16px 20px;align-items:flex-start;flex-direction:column;gap:12px}.brand{font-size:13px}.brand strong{font-size:19px}main{padding:25px 18px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px}h1{font-size:32px}.page-heading p{max-width:330px}.date-control{width:100%}.date-control input{width:100%}.workspace{grid-template-columns:1fr}.booking-panel{padding-top:5px}.calendar-scroll{max-height:450px}.diary-footer{padding:12px;gap:12px;flex-wrap:wrap}.diary-footer>span:last-child{margin:0}.activity-heading{gap:16px}.activity-heading p{max-width:220px}.activity-heading button{white-space:nowrap;font-size:12px}.section-heading{padding:17px}.section-heading h2{font-size:16px}.connection{font-size:10px!important}.dialog-actions{flex-wrap:wrap}}
.calendar-head,.calendar-body{grid-template-columns:62px repeat(var(--columns,3),minmax(0,1fr))}.demo-notice{padding:12px 16px;margin-bottom:22px;background:#e8eff7;border-left:3px solid #2368a5;font-size:12px}.diary-zone{position:absolute;left:0;right:0;padding:9px 12px;font-size:11px;display:flex;align-items:center;justify-content:center;pointer-events:none}.diary-zone.urgent{background:#fff1e2;color:#7b4c19}.diary-zone.staff{background:#edf1f5;color:#526b80}.appointment.pending{background:#fff4d6;border-color:#ac7720;color:#6f4c10}.demo-panel{background:white;border:1px solid var(--line);border-radius:12px;margin-top:28px;overflow:hidden}.scenario-controls{padding:8px 23px 20px;display:grid;grid-template-columns:minmax(200px,1fr) 1fr auto;align-items:end;gap:20px}.scenario-controls .confirmation{margin:0 0 7px}.report-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:20px 23px;gap:16px;background:#edf4fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.report-grid strong{display:block;font-size:26px}.report-grid span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:23px}.evidence-grid h3{font-size:16px;margin:0}.call-record,.outbox-item{border-top:1px solid var(--line);padding:14px 0;margin-top:12px}.call-record summary{font-size:13px;font-weight:600;cursor:pointer}.call-record small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.call-record p{margin-top:10px;font-size:12px}.outbox-item strong{font-size:12px}.outbox-item p,.outbox-item a{font-size:12px;margin-top:8px}.policy-details{border-top:1px solid var(--line);padding:20px 23px;font-size:13px}.policy-details summary{cursor:pointer;font-weight:600}.policy-details p{margin-top:12px}.checkout-page{max-width:540px;margin:80px auto}.checkout-page .booking-result{margin-bottom:20px}.checkout-page button{margin-top:14px}a{color:#2368a5}#login-form button{margin-top:22px}
@media(max-width:760px){.scenario-controls,.evidence-grid{grid-template-columns:1fr}.scenario-controls button{width:100%}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.calendar{min-width:540px}.checkout-page{margin:30px auto}}
.voice-panel{display:flex;justify-content:space-between;align-items:center;gap:22px;background:#e3f2ee;border:1px solid #badbcb;padding:20px 23px;border-radius:10px;margin-bottom:25px}.voice-panel p{font-size:12px}.voice-panel button{flex-shrink:0}.voice-panel[hidden]{display:none}@media(max-width:760px){.voice-panel{flex-direction:column;align-items:stretch}}
.appointment{padding:4px 9px;line-height:1.1;min-height:24px}.appointment strong{margin:1px 0;font-size:12px}.appointment.short{display:flex;align-items:center;gap:7px;white-space:nowrap;min-height:22px;padding:3px 8px;font-size:10px}.appointment.short strong{margin:0;font-size:11px;overflow:hidden;text-overflow:ellipsis}.activity-scroll:focus-visible{outline:3px solid #4b9bc7;outline-offset:4px}
.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
