@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800;900&family=DM+Mono:wght@400;500;700&display=swap');

.booking-rate-settings-btn[hidden],.csh-booking-config-modal[hidden]{display:none!important}
.price-breakdown-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.booking-rate-settings-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #BFD3FF;border-radius:999px;background:#FFFFFF;color:#1A50CC;padding:4px 9px;font-family:'Sora',Arial,Helvetica,sans-serif;font-size:9px;font-weight:900;line-height:1.15;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 12px rgba(42,106,246,.10);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}
.booking-rate-settings-btn:hover,.booking-rate-settings-btn:focus{outline:none;background:#E8F0FE;border-color:#7FA8FF;color:#0D43B8;transform:translateY(-1px);box-shadow:0 7px 18px rgba(42,106,246,.16)}
.booking-rate-settings-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
body.custm-shifts-rate-settings-open{overflow:hidden}
.csh-booking-config-modal{position:fixed;inset:0;z-index:100008;display:flex;align-items:center;justify-content:center;padding:20px;font-family:'Sora',Arial,Helvetica,sans-serif;color:#0D1F3C}
.csh-booking-config-modal,.csh-booking-config-modal button,.csh-booking-config-modal input,.csh-booking-config-modal select,.csh-booking-config-modal textarea,.csh-booking-config-modal table{font-family:'Sora',Arial,Helvetica,sans-serif!important}
.csh-booking-config-backdrop{position:absolute;inset:0;background:rgba(13,31,60,.48);backdrop-filter:blur(4px)}
.csh-booking-config-panel{position:relative;width:min(100%,880px);max-height:min(88vh,760px);overflow:hidden;display:flex;flex-direction:column;background:#FFFFFF;border:1px solid #D7E4FF;border-radius:24px;box-shadow:0 30px 90px rgba(13,31,60,.32);padding:22px 24px;color:#0D1F3C}
.csh-booking-config-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;border-radius:999px;background:#F5F7FC;color:#64748B;font-size:24px;font-weight:800;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}
.csh-booking-config-close:hover,.csh-booking-config-close:focus{outline:none;background:#E8F0FE;color:#2A6AF6;transform:translateY(-1px)}
.csh-booking-config-kicker{display:inline-flex;align-items:center;width:max-content;margin:0 0 10px;padding:7px 12px;border-radius:999px;background:#E8F0FE;color:#2A6AF6;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.csh-booking-config-panel h3{margin:0 42px 4px 0;color:#0D1F3C;font-size:24px;line-height:1.2;font-weight:900;letter-spacing:-.02em}
.csh-booking-config-copy{margin:0 0 16px;color:#3A4A6A;font-size:13px;font-weight:700;line-height:1.45}
.csh-booking-config-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
.csh-booking-config-summary>div{border:1px solid #E4E8F4;border-radius:16px;background:#F5F7FC;padding:12px 14px}
.csh-booking-config-summary span{display:block;margin-bottom:4px;color:#7A8AAA;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.csh-booking-config-summary strong{display:block;color:#0D1F3C;font-size:13px;font-weight:900}
.csh-booking-config-summary strong.is-available{color:#11825F}
.csh-booking-config-enable{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:'switch title' 'switch copy';column-gap:12px;align-items:center;margin:0 0 14px;padding:13px 14px;border:1px solid #D7E4FF;border-radius:16px;background:#F8FAFF;cursor:pointer}
.csh-booking-config-enable input{position:absolute;opacity:0;pointer-events:none}
.csh-booking-config-enable-ui{grid-area:switch;position:relative;width:42px;height:24px;border-radius:999px;background:#CBD5E1;box-shadow:inset 0 1px 3px rgba(13,31,60,.16);transition:background .15s ease}
.csh-booking-config-enable-ui:after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#FFFFFF;box-shadow:0 2px 7px rgba(13,31,60,.28);transition:transform .15s ease}
.csh-booking-config-enable input:checked + .csh-booking-config-enable-ui{background:#2A6AF6}
.csh-booking-config-enable input:checked + .csh-booking-config-enable-ui:after{transform:translateX(18px)}
.csh-booking-config-enable strong{grid-area:title;color:#0D1F3C;font-size:12px;font-weight:900}
.csh-booking-config-enable em{grid-area:copy;color:#7A8AAA;font-size:9.5px;font-style:normal;font-weight:750;line-height:1.35}
.csh-booking-config-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.csh-booking-config-switch button{border:1px solid #D7E4FF;border-radius:999px;background:#FFFFFF;color:#3A4A6A;padding:9px 14px;font-family:'Sora',Arial,Helvetica,sans-serif;font-size:12px;font-weight:900;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}
.csh-booking-config-switch button:hover,.csh-booking-config-switch button:focus{outline:none;border-color:#93B7FF;color:#1A50CC;background:#F8FAFF;transform:translateY(-1px)}
.csh-booking-config-switch button.active{background:#2A6AF6;border-color:#2A6AF6;color:#FFFFFF;box-shadow:0 10px 24px rgba(42,106,246,.24)}
.csh-booking-config-tabs{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin:0 0 14px;padding:5px;border:1px solid #E4E8F4;border-radius:16px;background:#F5F7FC;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);scrollbar-gutter:stable}
.csh-booking-config-tabs::-webkit-scrollbar{height:8px}.csh-booking-config-tabs::-webkit-scrollbar-track{background:#E8F0FE;border-radius:999px}.csh-booking-config-tabs::-webkit-scrollbar-thumb{background:#AFC8FF;border-radius:999px;border:2px solid #E8F0FE}
.csh-booking-config-tabs button{position:relative;flex:0 0 auto;border:0;border-radius:11px;background:transparent;color:#3A4A6A;padding:8px 11px;font-family:'Sora',Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:850;line-height:1.15;letter-spacing:-.01em;cursor:pointer;white-space:nowrap}
.csh-booking-config-tabs button:hover,.csh-booking-config-tabs button:focus{outline:none;background:#FFFFFF;color:#1A50CC;box-shadow:0 1px 5px rgba(13,31,60,.08)}
.csh-booking-config-tabs button.active{background:#FFFFFF;color:#0D1F3C;box-shadow:0 2px 10px rgba(13,31,60,.08)}
.csh-booking-config-tabs button.active:after{content:'';position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:999px;background:#2A6AF6}
.csh-booking-config-change-icon{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:#F97316;box-shadow:0 0 0 2px rgba(249,115,22,.14);vertical-align:middle}
.csh-booking-config-alert{margin:0 0 12px;padding:10px 12px;border-radius:14px;font-size:12px;font-weight:800;line-height:1.4;border:1px solid #D7E4FF;background:#F5F7FC;color:#3A4A6A}
.csh-booking-config-alert.is-success{border-color:#BBF7D0;background:#F0FDF4;color:#166534}.csh-booking-config-alert.is-error{border-color:#FECACA;background:#FEF2F2;color:#991B1B}
.csh-booking-config-form{min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.csh-booking-config-body{min-height:170px;overflow:auto;border:1px solid #E4E8F4;border-radius:18px;background:#F8FAFF;padding:12px}
.csh-booking-config-body.has-table{overflow:hidden}
.csh-booking-config-loading{padding:26px;text-align:center;color:#7A8AAA;font-size:13px;font-weight:800}
.csh-booking-config-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,245px);gap:10px;align-items:center;padding:10px 12px;margin:0 0 8px;border:1px solid #E4E8F4;border-radius:14px;background:#FFFFFF}
.csh-booking-config-row:last-child{margin-bottom:0}.csh-booking-config-row strong{display:block;color:#0D1F3C;font-size:12px;font-weight:900;line-height:1.3}.csh-booking-config-row small{display:block;margin-top:3px;color:#7A8AAA;font-size:9.5px;font-weight:750;line-height:1.35}
.csh-booking-config-input-wrap{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.csh-booking-config-input-wrap input{width:102px;max-width:100%;border:1px solid #CFE0FF;border-radius:10px;background:#FFFFFF;color:#0D1F3C;padding:8px 9px;font-family:'Sora',Arial,Helvetica,sans-serif;font-size:11px;font-weight:800;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.csh-booking-config-input-wrap input:focus{border-color:#2A6AF6;box-shadow:0 0 0 4px rgba(42,106,246,.12)}.csh-booking-config-input-wrap em{color:#3A4A6A;font-style:normal;font-size:9px;font-weight:800;white-space:nowrap}
.csh-booking-config-changed,.csh-booking-config-default{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 6px;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.csh-booking-config-changed{background:#FFF7ED;border:1px solid #FDBA74;color:#C2410C}.csh-booking-config-default{background:#F1F5F9;border:1px solid #E2E8F0;color:#64748B}
.csh-booking-config-table-wrap{width:100%;max-width:100%;max-height:42vh;display:block;box-sizing:border-box;overflow:auto;padding:0 0 8px;background:#FFFFFF;border:1px solid #D7E4FF;border-radius:16px}
.csh-booking-config-table{width:100%;border-collapse:separate;border-spacing:0;min-width:940px;color:#0D1F3C;font-size:10.5px}.csh-booking-config-table th{position:sticky;top:0;z-index:1;background:#E8F0FE;color:#0D1F3C;text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:8.5px;font-weight:900;padding:8px 10px;border-bottom:1px solid #D7E4FF;white-space:nowrap}.csh-booking-config-table td{padding:8px 10px;border-bottom:1px solid #EEF3FF;vertical-align:middle;background:#FFFFFF}.csh-booking-config-table tr:last-child td{border-bottom:0}.csh-booking-config-table .vehicle-cell{min-width:112px}.csh-booking-config-table .vehicle-cell strong{font-size:10.8px;font-weight:900;white-space:nowrap}.csh-booking-config-table .id-cell{width:42px;text-align:center}.csh-booking-config-table .id-cell span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:3px 7px;border-radius:999px;background:#E8F0FE;color:#2A6AF6;font-size:9px;font-weight:900}.csh-booking-config-table .availability-head,.csh-booking-config-table .availability-cell{width:64px;min-width:64px;text-align:center}.csh-booking-config-table .csh-booking-config-input-wrap{justify-content:flex-start;min-width:205px}.csh-booking-config-table .csh-booking-config-input-wrap input{width:92px}
.csh-booking-config-availability{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:pointer}.csh-booking-config-availability input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.csh-booking-config-availability span{display:block;width:16px;height:16px;box-sizing:border-box;border:1.5px solid #9BB8EB;border-radius:5px;background:#FFFFFF;box-shadow:inset 0 1px 2px rgba(13,31,60,.06)}.csh-booking-config-availability input:checked + span{border-color:#2A6AF6;background:#2A6AF6;box-shadow:0 2px 7px rgba(42,106,246,.22)}.csh-booking-config-availability input:checked + span:after{content:'✓';display:block;color:#FFFFFF;font-size:12px;font-weight:900;line-height:13px;text-align:center}.csh-booking-config-availability input:focus-visible + span{outline:2px solid #2A6AF6;outline-offset:2px}
.csh-booking-config-note{margin:10px 2px 0;padding:9px 11px;border:1px solid #D7E4FF;border-radius:12px;background:#F5F7FC;color:#3A4A6A;font-size:10.5px;font-weight:750;line-height:1.45}
.csh-booking-config-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px;border-top:1px solid #E4E8F4}.csh-booking-config-last{margin:0;color:#7A8AAA;font-size:9px;font-weight:800;line-height:1.4}.csh-booking-config-last strong{color:#3A4A6A}.csh-booking-config-action-buttons{display:flex;align-items:center;gap:10px;margin-left:auto}.csh-booking-config-secondary,.csh-booking-config-primary{border-radius:999px;padding:12px 18px;font-family:'Sora',Arial,Helvetica,sans-serif;font-size:13px;font-weight:900;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.csh-booking-config-secondary{border:1px solid #D7E4FF;background:#FFFFFF;color:#3A4A6A}.csh-booking-config-secondary:hover,.csh-booking-config-secondary:focus{outline:none;border-color:#93B7FF;color:#1A50CC;background:#F8FAFF;transform:translateY(-1px)}.csh-booking-config-primary{border:0;background:#2A6AF6;color:#FFFFFF;box-shadow:0 12px 28px -10px rgba(42,106,246,.5)}.csh-booking-config-primary:hover,.csh-booking-config-primary:focus{outline:none;background:#1A50CC;transform:translateY(-1px)}.csh-booking-config-primary:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:720px){.csh-booking-config-modal{padding:10px}.csh-booking-config-panel{padding:20px 16px;border-radius:20px;max-height:94vh}.csh-booking-config-summary{grid-template-columns:1fr}.csh-booking-config-row{grid-template-columns:1fr}.csh-booking-config-input-wrap{justify-content:flex-start;flex-wrap:wrap}.csh-booking-config-actions{flex-direction:column;align-items:stretch}.csh-booking-config-action-buttons{width:100%;margin-left:0}.csh-booking-config-action-buttons button{flex:1}.csh-booking-config-table-wrap{max-height:44vh}}

/* Booking Rate Settings parity with the Customer Portal Client Config modal. */
.logged-in-account-detail{display:flex;align-items:baseline;gap:4px;min-width:0;line-height:1.45}
.logged-in-account-detail strong{flex:0 0 auto;font-weight:800}
.logged-in-account-detail span{min-width:0;overflow-wrap:anywhere}
.csh-booking-config-panel{width:min(100%,940px);max-height:calc(100vh - 40px);padding:22px 24px;border-radius:24px}
.csh-booking-config-enable{grid-template-columns:auto minmax(0,1fr);grid-template-areas:'switch title' 'switch copy';gap:4px 10px;margin-bottom:14px;padding:11px 13px}
.csh-booking-config-enable strong{font-size:12px;line-height:1.2}
.csh-booking-config-enable em{font-size:10.5px;font-weight:700;line-height:1.3}
.csh-booking-config-form{flex:1 1 auto;min-height:0;gap:12px;overflow:hidden}
.csh-booking-config-body.has-table{flex:1 1 auto;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:hidden!important}
.csh-booking-config-body.has-table .csh-booking-config-table-wrap{width:100%;max-width:100%;max-height:min(40vh,360px);min-height:0;overflow-x:hidden;overflow-y:auto;padding:0;border:1px solid #D7E4FF;border-radius:18px 18px 0 0;background:#FFFFFF;box-sizing:border-box;scrollbar-gutter:stable}
.csh-booking-config-body.has-table .csh-booking-config-table-wrap::-webkit-scrollbar{width:10px;height:0}
.csh-booking-config-body.has-table .csh-booking-config-table-wrap::-webkit-scrollbar-track{background:#EEF3FF;border-radius:999px}
.csh-booking-config-body.has-table .csh-booking-config-table-wrap::-webkit-scrollbar-thumb{background:#8EA5C9;border:2px solid #EEF3FF;border-radius:999px}
.csh-booking-config-body.has-table .csh-booking-config-table-wrap::-webkit-scrollbar-thumb:hover{background:#64748B}
.csh-booking-config-table{width:100%;min-width:0;table-layout:auto;font-size:11.5px;line-height:1.25}
.csh-booking-config-table th{padding:9px 7px;background:linear-gradient(180deg,#F2F7FF 0%,#E6F0FF 100%);color:#213A63;font-size:9.3px;letter-spacing:.075em}
.csh-booking-config-table td{padding:8px 7px;font-size:11.5px}
.csh-booking-config-table .availability-head,.csh-booking-config-table .availability-cell{width:54px;min-width:54px}
.csh-booking-config-table .vehicle-cell{width:17%;min-width:112px;max-width:138px}
.csh-booking-config-table .vehicle-cell strong{font-size:11.5px;letter-spacing:-.01em}
.csh-booking-config-table .id-cell{width:40px;min-width:40px}
.csh-booking-config-table .id-cell span{min-width:22px;padding:2px 6px;font-size:8px}
.csh-booking-config-table .csh-booking-config-input-wrap{justify-content:flex-start;gap:4px;min-width:0;white-space:nowrap}
.csh-booking-config-table .csh-booking-config-input-wrap input{flex:0 1 76px;width:76px;min-width:48px;padding:7px 8px;font-size:10px}
.csh-booking-config-table .csh-booking-config-input-wrap em{font-size:8px}
.csh-booking-config-table .csh-booking-config-changed,.csh-booking-config-table .csh-booking-config-default{padding:2px 5px;font-size:6.8px;letter-spacing:.035em}
.csh-booking-config-note{margin:10px 2px 0}
.csh-booking-config-actions{position:relative;z-index:3;flex:0 0 auto;margin-top:0;padding:14px 0 0;border-top:1px solid rgba(228,232,244,.85);background:#FFFFFF}
@supports (height:1dvh){.csh-booking-config-panel{max-height:calc(100dvh - 40px)}.csh-booking-config-body.has-table .csh-booking-config-table-wrap{max-height:min(40dvh,360px)}}
@media(max-width:720px){.csh-booking-config-body.has-table .csh-booking-config-table-wrap{max-height:38vh}.csh-booking-config-table th,.csh-booking-config-table td{padding-left:4px;padding-right:4px}.csh-booking-config-table .availability-head,.csh-booking-config-table .availability-cell{width:38px;min-width:38px}.csh-booking-config-table .vehicle-cell{min-width:78px}.csh-booking-config-table .id-cell{display:none}.csh-booking-config-table .csh-booking-config-input-wrap{white-space:normal;flex-wrap:wrap}.csh-booking-config-table .csh-booking-config-input-wrap input{width:100%;min-width:42px}.csh-booking-config-table .csh-booking-config-input-wrap em{display:none}@supports (height:1dvh){.csh-booking-config-body.has-table .csh-booking-config-table-wrap{max-height:38dvh}}}
