/* The firm booking surface shares the roomy workspace scale and form controls. */
.boyce-booking{max-width:1440px;margin:0 auto;padding:34px 42px 60px;color:#16181a;font:16px/1.6 'DM Sans',Arial,sans-serif}.boyce-booking h1{margin:0;font:400 36px/1.2 Georgia,serif;color:#111}.boyce-booking h2{font-size:21px;font-weight:500;color:#16181a}.boyce-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:24px}.boyce-booking .boyce-record-panel{padding:28px}.boyce-booking .boyce-field{display:grid;gap:8px;margin:20px 0}.boyce-booking input:not([type=checkbox]),.boyce-booking select{box-sizing:border-box;min-height:46px;border:1px solid #b9c6cc;border-radius:4px;padding:10px 12px;width:100%;background:#fff;color:#34434c;font:inherit}.boyce-booking .boyce-check{display:flex;gap:12px;align-items:center;margin:24px 0}.boyce-booking footer{margin-top:24px}.boyce-booking [data-save-status]{min-height:24px;color:#466870}.boyce-booking fieldset{border:1px solid #dbe3e7;border-radius:5px;padding:20px}.boyce-booking .boyce-page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.boyce-auth-background{background:#f4f6f7;min-height:100vh;font:16px Arial,sans-serif}.boyce-auth-background header{background:#153e52;color:#fff;padding:28px 40px;display:flex;gap:20px;align-items:center}.boyce-auth-background strong{font-size:26px}@media(max-width:760px){.boyce-booking{padding:24px 18px}.boyce-booking-grid{grid-template-columns:1fr}.boyce-booking .boyce-page-heading{align-items:flex-start;flex-direction:column}.boyce-booking .boyce-record-panel{padding:20px}}

.native-locked-panel{position:fixed;z-index:500;inset:30% auto auto 50%;transform:translateX(-50%);box-sizing:border-box;width:min(560px,calc(100% - 40px));padding:32px;background:#fff;border:1px solid #ccd3ce;border-radius:8px;box-shadow:0 16px 60px #14202d33;color:#16181a;font:16px/1.6 Arial,sans-serif}.native-locked-panel h2{font:400 30px/1.3 Georgia,serif}.native-locked-panel button{padding:12px 20px;color:#fff;background:#111;border:0;border-radius:5px;font:inherit;cursor:pointer}

/* Firm authentication owns its layout so compact native dialog rules cannot
   shrink status text or add form-button padding to the close control. */
.boyce-auth-dialog { box-sizing:border-box; width:min(560px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:32px; overflow:auto; color:#252c31; background:#fff; border:1px solid #c4d0d7; border-radius:10px; box-shadow:0 20px 70px #183b5044; font:16px/1.5 'DM Sans',Arial,sans-serif; }
.boyce-auth-dialog::backdrop { background:#12314355; }
.boyce-auth-dialog .data-types-action-dialog__body { padding:0; }
.boyce-auth-dialog .pragtical-dialog-titlebar { align-items:flex-start; gap:20px; margin:0 0 24px; }
.boyce-auth-dialog h2 { display:flex; align-items:center; gap:10px; min-width:0; margin:4px 0 0; padding:0; font:400 30px/1.25 Georgia,'Times New Roman',serif; }
.boyce-auth-dialog h2 > .boyce-field-help { flex:0 0 24px; }
.boyce-auth-dialog button { box-sizing:border-box; min-height:44px; padding:10px 18px; color:#20262b; background:#fff; border:1px solid #bfc8cd; border-radius:6px; font:500 16px/1.5 'DM Sans',Arial,sans-serif; cursor:pointer; }
.boyce-auth-dialog button:hover:not(:disabled) { background:#f0f3f2; border-color:#74818a; }
.boyce-auth-dialog button:focus-visible,.boyce-auth-dialog input:focus-visible { outline:3px solid #3d517d; outline-offset:3px; }
.boyce-auth-dialog .pragtical-dialog-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:0; color:#303a41; background:#fff; border:1px solid #bfc8cd; border-radius:6px; font:28px/1 Arial,sans-serif; }
.boyce-auth-dialog .data-types-action-dialog__actions > [data-native-primary] { color:#fff; background:#171a1d; border-color:#171a1d; }
.boyce-auth-dialog .data-types-action-dialog__actions > [data-native-primary]:hover:not(:disabled) { color:#fff; background:#343a3e; border-color:#343a3e; }
.boyce-auth-dialog .native-auth-fields { display:grid; gap:20px; padding:0; }
.boyce-auth-dialog .contact-create-field { display:grid; gap:8px; margin:0; }
.boyce-auth-dialog .contact-create-field label { font:500 14px/1.5 'DM Sans',Arial,sans-serif; }
.boyce-auth-dialog input { box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; color:#20262b; background:#fff; border:1px solid #adbec7; border-radius:6px; font:inherit; }
.boyce-auth-dialog .native-auth-error { margin:20px 0 0; color:#a32828; font:400 15px/1.5 'DM Sans',Arial,sans-serif; }
.boyce-auth-dialog .native-auth-note { margin:20px 0 0; font:400 15px/1.5 'DM Sans',Arial,sans-serif; overflow-wrap:anywhere; }
.boyce-auth-dialog .data-types-action-dialog__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; margin:28px 0 0; padding:20px 0 0; border-top:1px solid #dce1de; }
.boyce-auth-dialog button:disabled { opacity:.55; cursor:not-allowed; }
@media(max-width:560px) { .boyce-auth-dialog { padding:24px 20px; }.boyce-auth-dialog h2 { font-size:26px; }.boyce-auth-dialog .pragtical-dialog-titlebar { gap:12px; }.boyce-auth-dialog .data-types-action-dialog__actions > button { flex:1 1 120px; }.boyce-auth-background header { padding:24px 20px; flex-wrap:wrap; gap:8px 20px; } }
