/* Consultation operations share the ProcAL workspace and its authenticated API. */
.booking-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}.booking-tabs button{background:none;border:0;border-bottom:2px solid transparent;min-height:48px;padding:10px 0 15px;font-size:14px;font-weight:600;color:#626d7a}.booking-tabs button[aria-selected=true]{color:var(--red);border-bottom-color:var(--red)}
.booking-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;max-width:760px}.booking-count{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:7px;min-width:0}.booking-count span{font-size:12px;line-height:1.6;color:#626d7a;overflow-wrap:anywhere}.booking-count strong{font-size:27px;line-height:1.3}
.booking-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(160px,1fr) minmax(130px,.8fr) minmax(130px,.8fr);gap:14px;margin-bottom:15px}.booking-filters label{font-size:12px;min-width:0}.booking-filters input,.booking-filters select{font-size:14px;min-height:47px}.booking-help,.booking-card small,.booking-loading{color:#626d7a;font-size:13px;line-height:1.8}.booking-help{margin:0 0 16px}.booking-list{display:grid;gap:11px}.booking-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:20px;align-items:center;padding:21px 23px;border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;width:100%}.booking-row:hover{border-color:#d1b9b6}.booking-row-main,.booking-row-time{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.booking-row-main strong{font-size:15px;line-height:1.6}.booking-row-main>span:last-child,.booking-row-time>span{font-size:12px;color:#626d7a;line-height:1.7}.booking-reference{font-size:11px;color:#626d7a}.booking-row-time strong{font-size:14px;line-height:1.65;font-weight:600}.booking-badge{display:inline-flex;font-size:11px;line-height:1.6;font-weight:600;padding:5px 10px;border-radius:20px;background:#fff4dd;color:#805718;overflow-wrap:anywhere}.booking-badge.confirmed{color:#246e50;background:#eaf6ef}.booking-badge.cancelled{color:#626d7a;background:#eff1f3}#booking-more{display:flex;margin:22px auto 0;min-height:48px}
.booking-card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:13px;margin-bottom:17px;min-width:0}.booking-card h2{font-size:20px;margin:0 0 15px}.booking-card h3{font-size:16px;margin:0 0 17px}.booking-card label{display:block;font-size:13px;line-height:1.7;margin:0 0 18px;min-width:0}.booking-card label:last-child{margin-bottom:0}.booking-card input,.booking-card select,.booking-card textarea{font-size:15px;min-height:48px;max-width:100%}.booking-card small{display:block;font-weight:400;margin-top:7px}.booking-date-grid,.booking-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}.booking-toggle{display:flex!important;align-items:flex-start;gap:12px;padding:13px 0;min-height:48px}.booking-toggle input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:3px 0 0;accent-color:var(--red);flex-shrink:0}.booking-toggle strong{font-size:14px;font-weight:600;line-height:1.7}.booking-toggle span{min-width:0}.booking-toggle small{font-size:12px}.booking-week{display:grid;gap:0}.booking-day{border-top:1px solid var(--line);padding:14px 0}.booking-day:first-child{border-top:0}.booking-day>.booking-toggle{padding:4px 0;margin-bottom:12px}.booking-day-hours .text-button{font-size:13px;min-height:44px}.booking-day-intervals{display:grid;gap:13px}.booking-interval{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:5px}.booking-interval label{margin:0}.booking-interval .secondary{min-height:48px;font-size:12px;color:#9d3b35;margin-bottom:0}.booking-schedule{max-width:960px}.booking-schedule-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;bottom:15px;z-index:12;border:1px solid var(--line);background:#fff;padding:15px 20px;border-radius:12px;box-shadow:0 3px 15px #11111108}.booking-schedule-footer .booking-help{margin:0;overflow-wrap:anywhere}.booking-schedule-footer .primary{min-height:48px;flex-shrink:0}.booking-error{color:#9e332c;background:#fff1ef;border:1px solid #f1d0cc;border-radius:9px;padding:13px 16px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.booking-contact{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:12px 20px;font-size:14px;line-height:1.8;margin:0 0 24px}.booking-contact dt{color:#626d7a}.booking-contact dd{margin:0;overflow-wrap:anywhere}.booking-message{white-space:pre-wrap;font-size:14px;line-height:1.85;overflow-wrap:anywhere;margin:0}.booking-activity{display:flex;flex-direction:column;gap:6px;padding:13px 0;border-bottom:1px solid var(--line)}.booking-activity:last-child{border:0}.booking-activity strong{font-weight:500;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.booking-activity span{font-size:11px;line-height:1.7;color:#626d7a}
#booking-dialog{position:fixed;inset:0 0 0 auto;width:min(720px,94vw);height:100dvh;max-height:none;max-width:none;padding:0;margin:0;border:0;border-left:1px solid var(--line);background:#f7f8fa;color:inherit;overflow:hidden;box-shadow:-15px 0 60px #17202a15}#booking-dialog[open]{display:flex;flex-direction:column}#booking-dialog::backdrop{background:#17202a66;backdrop-filter:blur(2px)}html:has(#booking-dialog[open]),body:has(#booking-dialog[open]){overflow:hidden}.booking-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:22px 25px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}.booking-dialog-header>div{min-width:0}.booking-dialog-header h2{font-size:21px;margin:5px 0 0;overflow-wrap:anywhere}.booking-dialog-header .eyebrow{font-size:10px;letter-spacing:.6px;color:#626d7a;overflow-wrap:anywhere}.booking-dialog-header .icon-button{width:44px;min-height:44px;flex-shrink:0}#booking-detail-body{display:flex;flex-direction:column;flex:1;min-height:0}#booking-detail-body>.booking-loading,#booking-detail-body>.booking-error{margin:24px}#booking-detail-form{display:flex;flex-direction:column;flex:1;min-height:0}.booking-detail-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 25px;scrollbar-width:thin}.booking-dialog-footer{background:#fff;border-top:1px solid var(--line);padding:16px 25px max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0}.booking-dialog-footer p{font-size:12px;line-height:1.7;margin:0}.booking-dialog-footer .primary{min-height:48px}
@media(max-width:1100px){.booking-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:13px}.booking-row>.booking-badge{grid-column:2;justify-self:start}}
@media(max-width:760px){.workspace-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;padding-left:4px;padding-right:4px}.workspace-bottom-nav button{min-width:0;font-size:9px;line-height:1.5;padding:5px 1px;min-height:57px;gap:5px}.workspace-bottom-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-bottom-nav button svg{width:21px;height:21px}.booking-tabs{gap:22px;margin-bottom:19px}.booking-tabs button{font-size:13px}.booking-counts{gap:9px;margin-bottom:20px}.booking-count{padding:15px 12px;gap:7px}.booking-count span{font-size:11px}.booking-count strong{font-size:25px}.booking-filters{gap:12px}.booking-filters label{font-size:12px}.booking-filters input,.booking-filters select,.booking-card input,.booking-card select,.booking-card textarea{font-size:16px;min-height:48px}.booking-row{padding:18px 16px;grid-template-columns:minmax(0,1fr) auto;gap:13px}.booking-row-main{grid-column:1/-1}.booking-row-time{grid-column:1}.booking-row>.booking-badge{grid-column:2;max-width:110px;justify-self:end}.booking-row-time strong{font-size:13px}.booking-row-main strong{font-size:15px}.booking-row-main>span:last-child{font-size:13px}.booking-card{padding:20px 17px;border-radius:12px}.booking-card h2{font-size:19px}.booking-card label{font-size:13px}.booking-settings-grid{gap:0 12px}.booking-settings-grid label:first-child{grid-column:1/-1}.booking-interval{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-interval .secondary{grid-column:1/-1;justify-self:end;min-height:44px;font-size:12px}.booking-schedule-footer{bottom:calc(85px + env(safe-area-inset-bottom));padding:13px 15px;gap:12px}.booking-schedule-footer .primary{font-size:13px;max-width:67%;white-space:normal;line-height:1.5;flex-shrink:1}.booking-schedule-footer .booking-help{font-size:11px}.booking-help{font-size:13px}.booking-card small{font-size:12px}#booking-dialog{top:var(--booking-top,0px);inset-inline:0;bottom:auto;height:var(--booking-vh,100dvh);width:100%;max-width:100%;border:0;border-radius:0}.booking-dialog-header{padding:18px 19px}.booking-dialog-header h2{font-size:19px}.booking-dialog-header .eyebrow{font-size:10px;line-height:1.7}.booking-detail-scroll{padding:18px 16px 22px}.booking-dialog-footer{padding:13px 18px max(13px,env(safe-area-inset-bottom))}.booking-dialog-footer .primary{font-size:13px;max-width:70%;white-space:normal;line-height:1.5}.booking-date-grid{grid-template-columns:1fr}.booking-contact{font-size:14px;gap:10px 14px}.booking-toggle strong{font-size:14px}}
@media(max-width:359px){.booking-filters{grid-template-columns:1fr}.booking-count{padding:13px 9px}.booking-count span{font-size:11px}.booking-count strong{font-size:24px}.booking-tabs{gap:17px}.booking-settings-grid{grid-template-columns:1fr}.booking-contact{grid-template-columns:1fr;gap:3px}.booking-contact dd{margin-bottom:9px}.booking-row{gap:11px}.booking-row>.booking-badge{max-width:95px}.booking-detail-scroll{padding-left:13px;padding-right:13px}.booking-card{padding:18px 15px}}
