.ldbs-booking-form{max-width:900px;margin:0 auto;font-family:Arial,sans-serif}.ldbs-booking-form *{box-sizing:border-box}.ldbs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ldbs-booking-form label{display:flex;flex-direction:column;gap:7px;font-weight:600;margin-bottom:18px}.ldbs-booking-form input,.ldbs-booking-form select,.ldbs-booking-form textarea{width:100%;padding:13px;border:1px solid #c9cdd3;border-radius:4px;font:inherit;background:#fff}.ldbs-booking-form button[type=submit]{background:#1c244b;color:#fff;border:0;padding:14px 22px;font-weight:700;cursor:pointer}.ldbs-data-note{background:#f6f7f9;padding:15px;border-left:4px solid #1c244b}.ldbs-date-section,.ldbs-time-section{margin:22px 0;padding:20px;border:1px solid #dcdcde;background:#fff}.ldbs-date-section h3,.ldbs-time-section h3{margin-top:0}.ldbs-cal-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:12px}.ldbs-cal-head button{height:38px;border:1px solid #ccd0d4;background:#fff;font-size:24px;cursor:pointer}.ldbs-cal-week,.ldbs-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ldbs-cal-week span{text-align:center;font-size:12px;font-weight:700;padding:6px}.ldbs-cal-days>*{min-height:44px;display:flex;align-items:center;justify-content:center}.ldbs-date-button{border:1px solid #1c244b;background:#fff;color:#1c244b;font-weight:700;cursor:pointer;border-radius:3px}.ldbs-date-button:hover,.ldbs-date-button.selected,.ldbs-time-button.selected{background:#1c244b;color:#fff}.ldbs-date-disabled{background:#f4f4f4;color:#aaa}.ldbs-time-buttons{display:flex;flex-wrap:wrap;gap:10px}.ldbs-time-button{border:1px solid #1c244b;background:#fff;padding:11px 15px;cursor:pointer}.ldbs-consent{display:block!important;font-weight:400!important}.ldbs-consent input{width:auto;margin-right:8px}.ldbs-message{padding:14px;margin-bottom:18px}.ldbs-message.error,.ldbs-inline-error{background:#fbeaea;color:#7a1717}.ldbs-message.success{background:#e9f7ed;color:#145b29}.ldbs-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}@media(max-width:680px){.ldbs-grid{grid-template-columns:1fr}.ldbs-cal-week,.ldbs-cal-days{gap:3px}.ldbs-cal-days>*{min-height:38px}.ldbs-date-section,.ldbs-time-section{padding:14px}}

.ldbs-login-box{max-width:460px;margin:40px auto;padding:32px;background:#fff;border:1px solid #d9dde5;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.ldbs-login-box h2{margin-top:0}.ldbs-login-box form{display:grid;gap:16px}.ldbs-login-box label{display:grid;gap:7px;font-weight:600}.ldbs-login-box input[type=text],.ldbs-login-box input[type=password]{width:100%;padding:12px;border:1px solid #b7bdc8}.ldbs-login-box button,.ldbs-login-button{display:inline-block;background:#1c244b;color:#fff!important;border:0;padding:12px 18px;text-decoration:none;font-weight:700;cursor:pointer}.ldbs-login-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.ldbs-login-error{background:#fff0f0;border-left:4px solid #b32d2e;padding:12px;margin:14px 0}.ldbs-login-help{margin-bottom:0}

/* v1.9 secure login design */
.ldbs-login-shell{max-width:920px;margin:50px auto;display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid #e0e3e7;border-radius:16px;overflow:hidden;box-shadow:0 18px 55px rgba(20,31,54,.12);font-family:Arial,sans-serif}.ldbs-login-brand{background:#1c244b;color:#fff;padding:48px 42px;display:flex;flex-direction:column;justify-content:center}.ldbs-login-brand h2{color:#fff;font-size:32px;line-height:1.15;margin:8px 0 14px}.ldbs-login-brand p{color:rgba(255,255,255,.82);line-height:1.6}.ldbs-login-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;margin:14px 0 0!important}.ldbs-login-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:22px}.ldbs-login-box{padding:48px 42px;background:#fff}.ldbs-login-box h2{font-size:26px;margin:0 0 8px}.ldbs-login-box form{display:flex;flex-direction:column;gap:17px;margin-top:22px}.ldbs-login-box label{font-weight:700;display:flex;flex-direction:column;gap:7px}.ldbs-login-box input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #c9cdd4;border-radius:7px;font-size:16px}.ldbs-login-box input:focus{border-color:#1c244b;box-shadow:0 0 0 3px rgba(28,36,75,.12);outline:0}.ldbs-login-box button,.ldbs-login-button{display:inline-flex;justify-content:center;background:#1c244b;color:#fff!important;border:0;border-radius:7px;padding:14px 18px;font-weight:700;text-decoration:none;cursor:pointer}.ldbs-login-error{background:#fff1f1;border-left:4px solid #b32d2e;padding:12px;margin-top:18px}.ldbs-login-help{margin-top:18px}.ldbs-login-security{font-size:12px;color:#666;line-height:1.5;border-top:1px solid #eee;padding-top:16px;margin-top:18px}@media(max-width:760px){.ldbs-login-shell{grid-template-columns:1fr;margin:20px}.ldbs-login-brand,.ldbs-login-box{padding:30px 24px}.ldbs-login-brand h2{font-size:26px}}

/* v2.0 full-screen solicitor portal */
.ldbs-login-shell{position:fixed!important;inset:0!important;z-index:999999!important;width:100vw!important;max-width:none!important;min-height:100vh!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#1c244b!important;padding:32px!important;overflow:auto!important;box-sizing:border-box!important;font-family:Arial,sans-serif!important}
.ldbs-login-brand{display:none!important}
.ldbs-login-box{width:100%!important;max-width:500px!important;margin:0!important;padding:44px!important;background:#fff!important;border:0!important;border-radius:8px!important;box-shadow:0 22px 65px rgba(0,0,0,.28)!important;color:#1c244b!important}
.ldbs-login-box:before{content:'PEMBRIDGE SOLICITORS';display:block;color:#a8281d;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:12px}
.ldbs-login-box h2{color:#1c244b!important;font-size:32px!important;line-height:1.15!important;margin:0 0 10px!important}
.ldbs-login-box form{margin-top:24px!important}.ldbs-login-box label{color:#1c244b!important;font-size:14px!important}
.ldbs-login-box input[type=text],.ldbs-login-box input[type=password]{background:#fff!important;border:1px solid #aeb4c1!important;border-radius:3px!important;padding:15px!important;font-size:16px!important;color:#1c244b!important}
.ldbs-login-box input:focus{border-color:#a8281d!important;box-shadow:0 0 0 3px rgba(168,40,29,.12)!important}
.ldbs-login-box button,.ldbs-login-button{width:100%!important;background:#a8281d!important;border-radius:3px!important;padding:15px 20px!important;font-size:16px!important}
.ldbs-login-box button:hover,.ldbs-login-button:hover{background:#8f1f17!important}.ldbs-login-help a{color:#a8281d!important}.ldbs-login-security{color:#626875!important}
@media(max-width:600px){.ldbs-login-shell{padding:18px!important}.ldbs-login-box{padding:30px 22px!important}.ldbs-login-box h2{font-size:27px!important}}

/* v2.6.6 square public and login interface */
.ldbs-booking-form *,
.ldbs-login-shell *,
.ldbs-portal-login *{border-radius:0!important;box-shadow:none!important}
.ldbs-login-shell,.ldbs-login-box,.ldbs-date-section,.ldbs-time-section,.ldbs-booking-form input,.ldbs-booking-form select,.ldbs-booking-form textarea,.ldbs-login-box input{border-radius:0!important;box-shadow:none!important}
.ldbs-login-box button,.ldbs-login-button,.ldbs-booking-form button,.ldbs-date-button,.ldbs-time-button{border-radius:0!important;box-shadow:none!important}
.ldbs-login-error,.ldbs-data-note{border-left:0!important}
