.ldbs-wrap{max-width:1450px}.ldbs-lead{font-size:15px;color:#555}.ldbs-card{background:#fff;border:1px solid #dcdcde;padding:22px;margin:20px 0;max-width:800px}.ldbs-card form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ldbs-card label{display:flex;flex-direction:column;gap:6px;font-weight:600}.ldbs-card input,.ldbs-card select,.ldbs-card textarea{width:100%}.ldbs-card button{width:max-content}.ldbs-toolbar{display:flex;align-items:end;gap:14px;background:#fff;border:1px solid #dcdcde;padding:16px;margin:16px 0}.ldbs-toolbar label{display:flex;flex-direction:column;gap:5px;font-weight:600}.ldbs-calendar-headings,.ldbs-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.ldbs-calendar-headings span{text-align:center;font-weight:700;padding:8px}.ldbs-day{min-height:150px;background:#fff;border:1px solid #dcdcde;padding:8px}.ldbs-day.selected{outline:3px solid #2271b1}.ldbs-day.no-hours{background:#f3f3f3}.ldbs-day.all-closed{background:#fff0f0}.ldbs-empty{background:transparent;border:0}.ldbs-day-link{display:flex;justify-content:space-between;text-decoration:none;color:#1d2327}.ldbs-day-link small{font-weight:400;color:#666}.ldbs-event{display:block;background:#f6f7f7;border-left:4px solid #1c244b;margin-top:7px;padding:6px;text-decoration:none;color:#1d2327}.ldbs-event small{display:block;color:#666;margin-top:3px}.ldbs-day-manager{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #ccd0d4;padding:20px;margin-top:24px}.ldbs-day-manager h2{margin:0 0 5px}.ldbs-day-manager p{margin:0}.ldbs-slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.ldbs-slot-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border-left:5px solid #2e8540;padding:14px;border-top:1px solid #dcdcde;border-right:1px solid #dcdcde;border-bottom:1px solid #dcdcde}.ldbs-slot-row.closed{border-left-color:#b32d2e;background:#fff7f7}.ldbs-slot-row.booked{border-left-color:#dba617;background:#fffbea}.ldbs-slot-row span{display:block;color:#666;margin-top:4px}@media(max-width:1000px){.ldbs-calendar{grid-template-columns:repeat(2,1fr)}.ldbs-calendar-headings{display:none}.ldbs-slot-list{grid-template-columns:1fr}.ldbs-card form{grid-template-columns:1fr}.ldbs-toolbar{flex-wrap:wrap}}
.ldbs-month-nav{display:flex;align-items:center;justify-content:space-between;margin:16px 0 10px}.ldbs-month-nav h2{margin:0}.ldbs-upcoming{background:#fff;border:1px solid #dcdcde;padding:18px;margin:0 0 18px}.ldbs-upcoming-title{display:flex;align-items:center;justify-content:space-between}.ldbs-upcoming-title h2{margin:0 0 12px}.ldbs-upcoming-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.ldbs-upcoming-item{display:flex;flex-direction:column;gap:3px;border:1px solid #dcdcde;padding:11px;text-decoration:none;background:#f9f9f9;color:#1d2327}.ldbs-upcoming-item:hover{border-color:#2271b1;background:#fff}.ldbs-upcoming-date{font-size:12px;color:#646970}.ldbs-upcoming-item small{color:#646970}.ldbs-muted{color:#646970;margin:0}.ldbs-day.has-bookings{border-color:#8c8f94}.ldbs-event{position:relative;padding:7px 7px 7px 9px}.ldbs-event-time{display:block;font-weight:700;font-size:12px}.ldbs-event strong{display:block;margin-top:2px}.ldbs-event em{display:inline-block;font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.04em;margin-top:5px;background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:1px 6px}.ldbs-event.status-cancelled{opacity:.55;text-decoration:line-through}.ldbs-slot-client{font-weight:600;color:#1d2327!important}.ldbs-slot-row.booked{box-shadow:inset 0 0 0 1px #e1c45a}@media(max-width:1200px){.ldbs-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:782px){.ldbs-upcoming-grid{grid-template-columns:1fr}.ldbs-month-nav{gap:8px}.ldbs-month-nav h2{font-size:18px}}

.ldbs-solicitor-strip{display:flex;gap:10px;overflow-x:auto;background:#fff;border:1px solid #dcdcde;padding:14px;margin:16px 0;border-radius:8px}.ldbs-solicitor-profile{min-width:108px;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:#1d2327;padding:10px;border:2px solid transparent;border-radius:10px}.ldbs-solicitor-profile:hover,.ldbs-solicitor-profile.active{background:#f2f6ff;border-color:#3858e9}.ldbs-solicitor-profile strong{margin-top:7px}.ldbs-solicitor-profile small{color:#646970;margin-top:2px}.ldbs-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.ldbs-avatar-all{background:#3858e9}.ldbs-diary-toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:12px 16px;margin-bottom:12px}.ldbs-diary-toolbar h2{margin:0}.ldbs-week-scroll{overflow:auto;background:#fff;border:1px solid #dcdcde;border-radius:8px}.ldbs-week-grid{min-width:1100px;display:grid;grid-template-columns:72px repeat(7,minmax(135px,1fr));grid-template-rows:64px repeat(var(--rows),26px);position:relative}.ldbs-corner{grid-column:1;grid-row:1;background:#f6f7f7;border-right:1px solid #e1e3e5;border-bottom:1px solid #e1e3e5}.ldbs-week-day-head{display:flex;gap:8px;align-items:center;justify-content:center;background:#fff;border-right:1px solid #e1e3e5;border-bottom:1px solid #e1e3e5}.ldbs-week-day-head span{text-transform:uppercase;font-size:11px;color:#646970}.ldbs-week-day-head strong{font-size:22px}.ldbs-week-day-head.today{background:#eef3ff;color:#1d3eb8}.ldbs-time-label{grid-column:1;align-self:start;text-align:right;padding:5px 10px 0 0;color:#646970;font-size:11px;border-right:1px solid #e1e3e5;z-index:2}.ldbs-week-cell{border-right:1px solid #eceef0;border-bottom:1px solid #eceef0;text-decoration:none;z-index:1}.ldbs-week-cell.open:hover{background:#eaf5ff}.ldbs-week-cell.non-working{background:repeating-linear-gradient(135deg,#f4f4f4,#f4f4f4 8px,#fafafa 8px,#fafafa 16px)}.ldbs-week-cell.closed{background:repeating-linear-gradient(135deg,#fff0f0,#fff0f0 8px,#fff8f8 8px,#fff8f8 16px)}.ldbs-week-event{z-index:5;margin:3px 5px;padding:7px 8px;border-radius:6px;background:var(--event-colour,#3858e9);color:#fff;text-decoration:none;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.13);border-left:4px solid rgba(0,0,0,.2)}.ldbs-week-event:hover{color:#fff;filter:brightness(.94)}.ldbs-week-event span,.ldbs-week-event strong,.ldbs-week-event small,.ldbs-week-event em{display:block}.ldbs-week-event span{font-size:11px;font-weight:700}.ldbs-week-event strong{margin-top:3px}.ldbs-week-event small{opacity:.9;margin-top:2px}.ldbs-week-event em{font-style:normal;text-transform:uppercase;font-size:9px;margin-top:4px}.ldbs-week-event.status-cancelled{opacity:.38;text-decoration:line-through}.ldbs-week-event.status-pending{background:#b88718}.ldbs-week-event.status-completed{background:#487a55}.ldbs-week-event.status-rescheduled{background:#7651a8}@media(max-width:782px){.ldbs-diary-toolbar{align-items:flex-start;gap:10px;flex-wrap:wrap}.ldbs-diary-toolbar h2{width:100%;order:-1}.ldbs-solicitor-profile{min-width:90px}.ldbs-week-grid{min-width:900px}}

.ldbs-week-cell{position:relative;display:flex;align-items:center;justify-content:center;color:#3858e9;font-size:10px;font-weight:600}
.ldbs-week-cell span{opacity:0;pointer-events:none;background:#fff;padding:3px 6px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.ldbs-week-cell.open:hover span,.ldbs-week-cell.closed:hover span{opacity:1}
.ldbs-slot-action{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eef3ff;border:1px solid #9eb3ef;border-left:5px solid #3858e9;padding:16px 18px;margin:14px 0}
.ldbs-slot-action span{display:block;color:#50575e;margin-top:4px}

/* v1.6 slot management */
.ldbs-slot-screen{max-width:1180px}
.ldbs-slot-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:1px;background:#dcdcde;border:1px solid #dcdcde;margin:18px 0 0}
.ldbs-slot-summary>div{background:#fff;padding:20px;min-height:82px;display:flex;flex-direction:column;gap:7px;justify-content:center}
.ldbs-slot-summary h2{margin:0;font-size:20px}
.ldbs-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#646970;font-weight:700}
.ldbs-slot-tabs{display:flex;gap:8px;margin:18px 0}
.ldbs-slot-tabs a{padding:10px 16px;background:#fff;border:1px solid #c3c4c7;text-decoration:none;font-weight:600}
.ldbs-slot-tabs a.active{background:#1c244b;color:#fff;border-color:#1c244b}
.ldbs-slot-panel{margin:0 0 20px!important}
.ldbs-grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ldbs-grid-form label,.ldbs-slot-panel>form>label{display:flex!important;flex-direction:column;gap:7px;font-weight:600}
.ldbs-grid-form input,.ldbs-grid-form select,.ldbs-slot-panel textarea{width:100%;max-width:none!important}
.ldbs-form-actions{display:flex;gap:10px;align-items:center;margin-top:18px}
.ldbs-week-cell.open span{opacity:0;transition:opacity .15s ease}
.ldbs-week-cell.open:hover span{opacity:1}
@media(max-width:900px){.ldbs-slot-summary,.ldbs-grid-form{grid-template-columns:1fr}.ldbs-slot-tabs{overflow:auto}}


/* v1.7 diary blocks are display-only; all changes happen on the slot screen */
.ldbs-week-cell{position:relative;text-decoration:none!important;overflow:hidden;padding:8px;box-sizing:border-box}
.ldbs-week-cell.open{background:#fff}
.ldbs-week-cell.open:hover{background:#f5f8ff;box-shadow:inset 0 0 0 2px #3858e9}
.ldbs-week-cell.closed{background:#fff4f4;border-left:4px solid #b32d2e}
.ldbs-week-cell.closed:hover{box-shadow:inset 0 0 0 2px #b32d2e}
.ldbs-week-cell.status-break{background:#eef8f0;border-left-color:#2e8540}
.ldbs-week-cell.status-court-hearing{background:#fff8e5;border-left-color:#b58100}
.ldbs-week-cell.status-internal-meeting{background:#eef3ff;border-left-color:#3858e9}
.ldbs-week-cell.status-unavailable{background:#f2f2f2;border-left-color:#646970}
.ldbs-cell-status{display:block!important;font-weight:700;font-size:12px;line-height:1.25;color:#1d2327}
.ldbs-week-cell.open .ldbs-cell-status{opacity:0;color:#3858e9}
.ldbs-week-cell.open:hover .ldbs-cell-status{opacity:1}
.ldbs-cell-note{display:block;margin-top:4px;font-size:11px;line-height:1.25;color:#50575e;white-space:normal;overflow:hidden;text-overflow:ellipsis}

/* v1.8: diary status and notes are always visible; editing remains on the separate slot screen */
.ldbs-week-cell{align-items:flex-start!important;justify-content:flex-start!important;flex-direction:column;gap:2px;padding:7px 8px!important}
.ldbs-week-cell .ldbs-cell-status{opacity:1!important;display:block!important;pointer-events:none;box-shadow:none;background:transparent;padding:0;border-radius:0;color:#1d2327;font-size:12px;line-height:1.2;white-space:normal}
.ldbs-week-cell.open .ldbs-cell-status{opacity:1!important;color:#24733b}
.ldbs-week-cell.closed .ldbs-cell-status{opacity:1!important}
.ldbs-week-cell .ldbs-cell-note{opacity:1!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;pointer-events:none;background:transparent;padding:0;box-shadow:none;color:#50575e;font-weight:400;font-size:10px;line-height:1.2;max-width:100%;white-space:normal;overflow:hidden}
.ldbs-week-cell.open:hover .ldbs-cell-status,.ldbs-week-cell.closed:hover .ldbs-cell-status{opacity:1!important}

/* v1.9 view switch and month diary */
.ldbs-view-switch{display:flex;gap:6px}.ldbs-month-grid{background:#fff;border:1px solid #dcdcde;border-radius:8px;overflow:hidden}.ldbs-month-weekdays,.ldbs-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ldbs-month-weekdays strong{padding:12px;text-align:center;background:#f6f7f7;border-right:1px solid #e1e3e5}.ldbs-month-day{min-height:145px;padding:10px;border-right:1px solid #e1e3e5;border-top:1px solid #e1e3e5;text-decoration:none;color:#1d2327;background:#fff;overflow:hidden}.ldbs-month-day:hover{background:#f5f8ff}.ldbs-month-day.today{box-shadow:inset 0 0 0 2px #3858e9}.ldbs-month-day.empty{background:#f6f7f7}.ldbs-month-number{display:block;font-weight:700;font-size:16px;margin-bottom:7px}.ldbs-month-event{display:block;background:#eef3ff;border-left:3px solid #3858e9;padding:4px 6px;margin:4px 0;border-radius:3px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ldbs-month-event.status-pending{background:#fff8df;border-color:#b88718}.ldbs-month-event.status-cancelled{opacity:.45;text-decoration:line-through}.ldbs-checkbox-wide{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;align-items:center!important}.ldbs-checkbox-wide input{width:auto!important}.ldbs-login-instructions{grid-column:1/-1;background:#eef3ff;border-left:4px solid #3858e9;padding:12px!important}.ldbs-access-ok{color:#24733b;font-weight:700}.ldbs-access-missing{color:#b32d2e;font-weight:700}@media(max-width:900px){.ldbs-month-day{min-height:100px;padding:6px}.ldbs-month-event{font-size:9px}.ldbs-month-weekdays strong{font-size:10px;padding:8px 2px}}

/* v2.0 reliable month calendar */
.ldbs-month-calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;background:#fff;border:1px solid #dcdcde;border-radius:8px;overflow:hidden;margin-top:14px}
.ldbs-month-heading{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px;font-weight:700;background:#f4f5f7;border-right:1px solid #dcdcde;color:#1d2327}
.ldbs-month-day{display:block!important;min-width:0;min-height:165px;padding:10px!important;border-top:1px solid #dcdcde;border-right:1px solid #dcdcde;background:#fff;color:#1d2327!important;text-decoration:none!important;box-sizing:border-box;overflow:hidden}
.ldbs-month-day:hover{background:#f7f9ff}.ldbs-month-day.empty{background:#f2f3f5;background-image:repeating-linear-gradient(135deg,transparent,transparent 8px,rgba(0,0,0,.025) 8px,rgba(0,0,0,.025) 16px)}
.ldbs-month-day.today{box-shadow:inset 0 0 0 3px #1c244b}.ldbs-month-day.has-events{background:#fcfdff}
.ldbs-month-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:15px;font-weight:700;background:#eef1f7}.ldbs-month-day.today .ldbs-month-number{background:#1c244b;color:#fff}
.ldbs-month-date-label{display:none}.ldbs-month-event{display:grid!important;grid-template-columns:auto 1fr;gap:2px 7px;margin-top:7px;padding:7px 8px;border-left:4px solid #1c244b;border-radius:3px;background:#edf1f8;white-space:normal!important;line-height:1.2;font-size:11px;overflow:hidden}
.ldbs-month-event b{grid-row:1 / span 2}.ldbs-month-event span{font-weight:700;overflow:hidden;text-overflow:ellipsis}.ldbs-month-event small{color:#596273;overflow:hidden;text-overflow:ellipsis}.ldbs-month-event.status-pending{background:#fff5d9;border-color:#a97908}.ldbs-month-event.status-cancelled{opacity:.5;text-decoration:line-through}.ldbs-month-more{display:block;margin-top:7px;font-weight:700;color:#1c244b}
.ldbs-copy-row{display:flex;gap:8px}.ldbs-copy-row input{flex:1;min-width:0;padding:10px}.ldbs-setup-link{border-left:5px solid #1c244b}
@media(max-width:900px){.ldbs-month-calendar{min-width:900px}.ldbs-month-day{min-height:130px}.ldbs-month-date-label{display:none}}


/* v2.4.1 responsive portal and diary */
*,*:before,*:after{box-sizing:border-box}.ldbs-portal-dashboard,.ldbs-portal-content,.ldbs-portal-content .wrap,.ldbs-wrap{max-width:100%;overflow-x:hidden}.ldbs-portal-topbar>div,.ldbs-diary-toolbar>div{min-width:0}.ldbs-diary-toolbar a,.ldbs-diary-toolbar span{white-space:nowrap}.ldbs-week-event{min-width:0}.ldbs-week-event strong,.ldbs-week-event small,.ldbs-week-event em{overflow:hidden;text-overflow:ellipsis}.ldbs-card,.ldbs-portal-panel{max-width:100%}.ldbs-card form>*{min-width:0}
@media(max-width:782px){
  html,body{max-width:100%;overflow-x:hidden}
  .ldbs-portal-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;padding:12px 14px}
  .ldbs-portal-topbar strong{font-size:16px;line-height:1.25}.ldbs-portal-topbar a{font-size:13px}
  .ldbs-portal-content{width:100%;padding:8px}
  .ldbs-portal-nav{width:100%;max-width:100%;border-radius:8px;gap:4px;padding:4px;overscroll-behavior-x:contain}
  .ldbs-portal-nav a{flex:0 0 auto;padding:10px 11px;font-size:13px}
  .ldbs-solicitor-strip{margin:8px 0 10px;padding:8px;gap:6px;border-radius:8px;max-width:100%;overflow-x:auto}
  .ldbs-solicitor-profile{min-width:78px;padding:7px 5px;font-size:12px}.ldbs-avatar{width:38px;height:38px}.ldbs-solicitor-profile small{display:none}
  .ldbs-diary-toolbar{display:grid;grid-template-columns:1fr auto;gap:9px;padding:10px;margin-bottom:8px}
  .ldbs-diary-toolbar>div:first-child{grid-column:1;display:flex;gap:5px}.ldbs-diary-toolbar h2{grid-column:1/-1;grid-row:1;text-align:center;font-size:16px;line-height:1.2;padding:0 58px;margin:0}.ldbs-view-switch{grid-column:2;grid-row:2;align-self:center}
  .ldbs-diary-toolbar .button{min-height:38px;padding:7px 10px;display:inline-flex;align-items:center;justify-content:center}
  .ldbs-mobile-day-controls{display:flex;width:100%;max-width:100%;gap:5px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.ldbs-mobile-day-controls::-webkit-scrollbar{display:none}.ldbs-mobile-day-controls button{flex:0 0 auto;min-width:68px;padding:8px 9px;font-size:11px}
  .ldbs-week-scroll{width:100%;max-width:100%;overflow:hidden!important;border-radius:7px}
  .ldbs-week-grid.ldbs-mobile-day{width:100%!important;min-width:0!important;grid-template-columns:48px minmax(0,1fr)!important;grid-template-rows:52px repeat(var(--rows),64px)!important}
  .ldbs-week-grid.ldbs-mobile-day .ldbs-time-label{padding:6px 6px 0 0;font-size:10px}
  .ldbs-week-grid.ldbs-mobile-day .ldbs-week-cell{min-width:0!important;min-height:64px;padding:8px 9px!important;overflow:hidden}
  .ldbs-week-grid.ldbs-mobile-day .ldbs-week-event{min-width:0!important;margin:4px!important;padding:8px 9px!important;overflow:hidden}
  .ldbs-week-grid.ldbs-mobile-day .ldbs-week-event span{font-size:10px}.ldbs-week-grid.ldbs-mobile-day .ldbs-week-event strong{font-size:14px;white-space:normal;line-height:1.15}.ldbs-week-grid.ldbs-mobile-day .ldbs-week-event small{white-space:normal;font-size:11px;line-height:1.15}.ldbs-week-grid.ldbs-mobile-day .ldbs-week-event em{font-size:8px}
  .ldbs-cell-status{font-size:12px}.ldbs-cell-note{font-size:10px;-webkit-line-clamp:2}
  .ldbs-month-calendar{width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;margin-top:8px;border-radius:7px}
  .ldbs-month-heading{min-width:0;min-height:32px;padding:5px 1px;font-size:9px}
  .ldbs-month-day{min-width:0!important;min-height:72px!important;padding:5px!important;overflow:hidden}
  .ldbs-month-number{width:24px;height:24px;font-size:12px;margin:0}
  .ldbs-month-event{display:block!important;height:5px!important;min-height:5px;margin:4px 0 0!important;padding:0!important;border:0!important;border-radius:4px;background:#1c244b!important;font-size:0!important;line-height:0!important}
  .ldbs-month-event.status-pending{background:#b88718!important}.ldbs-month-event.status-cancelled{background:#777!important}.ldbs-month-event b,.ldbs-month-event span,.ldbs-month-event small{display:none!important}.ldbs-month-more{font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ldbs-card{padding:14px;margin:10px 0}.ldbs-card form{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.ldbs-card button,.ldbs-card .button{width:100%!important;max-width:100%;min-height:44px}
  .ldbs-portal-panel{padding:14px;margin-bottom:10px}.ldbs-portal-panel h2{font-size:19px}.ldbs-portal-form-grid{grid-template-columns:1fr!important;gap:11px}.ldbs-portal-form-grid>span:empty{display:none}.ldbs-day-toggle{min-height:42px}.ldbs-portal-actions{display:grid;grid-template-columns:1fr}.ldbs-portal-btn{width:100%}
  .ldbs-slot-tabs{display:flex;max-width:100%;overflow-x:auto}.ldbs-slot-tabs a{flex:0 0 auto}.ldbs-slot-summary,.ldbs-grid-form{grid-template-columns:1fr!important}.ldbs-form-actions{display:grid!important;grid-template-columns:1fr!important}.ldbs-form-actions>*{width:100%!important}
  .ldbs-portal-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ldbs-portal-table{min-width:560px}
}
@media(max-width:420px){
  .ldbs-diary-toolbar h2{padding:0 42px;font-size:14px}.ldbs-diary-toolbar .button{padding:6px 8px}.ldbs-view-switch .button{font-size:12px}
  .ldbs-month-day{min-height:62px!important;padding:3px!important}.ldbs-month-number{width:21px;height:21px;font-size:11px}.ldbs-month-heading{font-size:8px}
  .ldbs-portal-login{padding:18px}.ldbs-portal-form{padding:20px}.ldbs-portal-card h1{font-size:29px}
}




/* v2.4.2 responsive override */
.ldbs-mobile-day-controls{display:none!important}
@media(max-width:782px){
  .ldbs-portal-content{padding:8px!important;overflow-x:hidden!important}
  .ldbs-diary-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important}
  .ldbs-diary-toolbar h2{grid-column:1!important;grid-row:1!important;padding:0!important;text-align:center!important;font-size:15px!important;white-space:normal!important}
  .ldbs-diary-toolbar>div:first-child,.ldbs-month-nav{grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  .ldbs-diary-toolbar>div:first-child .button,.ldbs-month-nav .button{width:100%!important;min-width:0!important;padding:7px 4px!important;font-size:11px!important;white-space:normal!important;line-height:1.15!important;text-align:center!important}
  .ldbs-view-switch{grid-column:1!important;grid-row:3!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  .ldbs-view-switch .button{width:100%!important;min-width:0!important;text-align:center!important;justify-content:center!important}
  .ldbs-week-scroll{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .ldbs-week-grid,.ldbs-week-grid.ldbs-mobile-day{width:100%!important;min-width:0!important;grid-template-columns:32px repeat(7,minmax(0,1fr))!important;grid-template-rows:42px repeat(var(--rows),28px)!important}
  .ldbs-week-grid.ldbs-mobile-day .ldbs-week-day-head,.ldbs-week-grid.ldbs-mobile-day .ldbs-week-cell,.ldbs-week-grid.ldbs-mobile-day .ldbs-week-event{display:flex!important}
  .ldbs-week-grid .ldbs-corner{display:block!important}
  .ldbs-week-day-head{min-width:0!important;padding:4px 1px!important;gap:1px!important;overflow:hidden!important}
  .ldbs-week-day-head span{font-size:7px!important;letter-spacing:0!important}
  .ldbs-week-day-head strong{font-size:12px!important;line-height:1!important}
  .ldbs-time-label{min-width:0!important;padding:5px 3px 0 0!important;font-size:8px!important;overflow:hidden!important}
  .ldbs-week-cell{min-width:0!important;min-height:28px!important;padding:4px 2px!important;overflow:hidden!important;display:block!important}
  .ldbs-cell-status{display:block!important;font-size:8px!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .ldbs-cell-note{display:block!important;font-size:7px!important;line-height:1.05!important;white-space:normal!important;overflow:hidden!important;max-height:22px!important}
  .ldbs-week-event{min-width:0!important;margin:2px!important;padding:4px 3px!important;border-radius:4px!important;overflow:hidden!important;display:block!important}
  .ldbs-week-event span{display:block!important;font-size:7px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ldbs-week-event strong{display:block!important;font-size:9px!important;line-height:1.05!important;white-space:normal!important;overflow:hidden!important;max-height:20px!important}
  .ldbs-week-event small{display:none!important}
  .ldbs-week-event em{display:block!important;font-size:6px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ldbs-month-calendar{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;overflow:hidden!important}
  .ldbs-month-heading{min-width:0!important;padding:6px 1px!important;font-size:8px!important;overflow:hidden!important}
  .ldbs-month-day{min-width:0!important;min-height:70px!important;padding:4px!important;overflow:hidden!important}
  .ldbs-month-date-label{display:none!important}
  .ldbs-month-number{width:22px!important;height:22px!important;font-size:11px!important;margin:0!important}
  .ldbs-month-event{height:5px!important;min-height:5px!important;padding:0!important;margin:3px 0 0!important;border:0!important;border-radius:3px!important;font-size:0!important;line-height:0!important}
  .ldbs-month-event b,.ldbs-month-event span,.ldbs-month-event small{display:none!important}
  .ldbs-month-more{font-size:7px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
@media(max-width:390px){
  .ldbs-week-grid,.ldbs-week-grid.ldbs-mobile-day{grid-template-columns:28px repeat(7,minmax(0,1fr))!important;grid-template-rows:40px repeat(var(--rows),26px)!important}
  .ldbs-week-day-head strong{font-size:11px!important}.ldbs-week-day-head span{font-size:6px!important}
  .ldbs-time-label{font-size:7px!important}.ldbs-week-cell{min-height:26px!important}
  .ldbs-cell-status{font-size:7px!important}.ldbs-week-event strong{font-size:8px!important}.ldbs-week-event span{font-size:6px!important}
  .ldbs-month-day{min-height:62px!important;padding:3px!important}.ldbs-month-heading{font-size:7px!important}
}


/* v2.4.3 mobile usability and selected-date clarity */
.ldbs-selected-date-banner{display:flex;align-items:center;justify-content:center;gap:10px;background:#1c244b;color:#fff;border-radius:8px;padding:10px 14px;margin:0 0 10px}.ldbs-selected-date-banner span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.ldbs-selected-date-banner strong{font-size:14px}.ldbs-week-day-head.selected-date{box-shadow:inset 0 -4px 0 #a8281d;background:#fff5f4}.ldbs-week-day-head.selected-date strong{color:#a8281d}

@media(max-width:782px){
  html,body,#wpwrap,#wpcontent,#wpbody,#wpbody-content,.ldbs-wrap,.ldbs-portal-shell,.ldbs-portal-content{max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}
  .ldbs-wrap{margin:0!important;padding:0 6px 24px!important}
  .ldbs-selected-date-banner{display:grid;grid-template-columns:1fr;text-align:center;gap:2px;padding:9px 8px;margin-bottom:8px}.ldbs-selected-date-banner strong{font-size:15px}.ldbs-selected-date-banner span{font-size:9px}
  .ldbs-week-scroll{overflow-x:hidden!important;width:100%!important}
  .ldbs-week-grid{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:34px repeat(7,minmax(0,1fr))!important}
  .ldbs-week-day-head{min-width:0!important}.ldbs-week-day-head span{font-size:7px!important}.ldbs-week-day-head strong{font-size:12px!important}
  .ldbs-week-cell{padding:4px 1px!important}.ldbs-cell-status{font-size:7.5px!important;line-height:1.05!important;text-align:center!important}.ldbs-cell-note{font-size:6.5px!important;text-align:center!important}
  .ldbs-week-event{padding:3px 2px!important;margin:2px 1px!important;border-left-width:2px!important}.ldbs-week-event span{font-size:6.5px!important}.ldbs-week-event strong{font-size:8px!important;line-height:1.05!important;max-height:18px!important}.ldbs-week-event em{font-size:5.5px!important}
  .ldbs-month-day.selected-date,.ldbs-month-day:focus{outline:2px solid #a8281d!important;outline-offset:-2px}

  /* Appointment list becomes readable cards rather than an overflowing table. */
  .ldbs-appointments-table{display:block!important;width:100%!important;border:0!important;background:transparent!important}
  .ldbs-appointments-table thead{display:none!important}
  .ldbs-appointments-table tbody{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .ldbs-appointments-table tr{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px 12px!important;width:100%!important;padding:14px!important;border:1px solid #dcdcde!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important}
  .ldbs-appointments-table td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere!important;white-space:normal!important}
  .ldbs-appointments-table td:before{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#646970;margin-bottom:3px}
  .ldbs-appointments-table td:nth-child(1):before{content:'Reference'}
  .ldbs-appointments-table td:nth-child(2):before{content:'Date and time'}
  .ldbs-appointments-table td:nth-child(3):before{content:'Client'}
  .ldbs-appointments-table td:nth-child(4):before{content:'Service'}
  .ldbs-appointments-table td:nth-child(5):before{content:'Solicitor'}
  .ldbs-appointments-table td:nth-child(6):before{content:'Status'}
  .ldbs-appointments-table td:nth-child(7){grid-column:1/-1!important}
  .ldbs-appointments-table td:nth-child(7) a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:42px!important;border-radius:6px!important;background:#1c244b!important;color:#fff!important;text-decoration:none!important;font-weight:700!important}
  .ldbs-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:14px!important}
  .ldbs-card input,.ldbs-card select,.ldbs-card textarea{max-width:100%!important;box-sizing:border-box!important;font-size:16px!important}
}
@media(max-width:430px){
  .ldbs-week-grid{grid-template-columns:30px repeat(7,minmax(0,1fr))!important}
  .ldbs-time-label{font-size:7px!important;padding-right:2px!important}
  .ldbs-week-day-head span{font-size:6px!important}.ldbs-week-day-head strong{font-size:11px!important}
  .ldbs-cell-status{font-size:6.8px!important}.ldbs-week-event strong{font-size:7.5px!important}
  .ldbs-appointments-table tr{grid-template-columns:1fr!important}.ldbs-appointments-table td:nth-child(7){grid-column:1!important}
}

/* v2.5.4: use real 30-minute grid tracks so half-hour appointments stay inside the correct day/time */
.ldbs-week-grid{grid-auto-rows:26px}
.ldbs-week-event{align-self:stretch}
@media(max-width:782px){.ldbs-week-grid{grid-auto-rows:28px}.ldbs-week-cell{min-height:28px!important}.ldbs-time-label{line-height:1}}


/* v2.5.5: Safari-safe appointment positioning.
   Events are anchored to the calendar itself instead of relying on grid-row placement. */
.ldbs-week-grid{
  --ldbs-time-column:72px;
  --ldbs-header-height:64px;
  --ldbs-slot-height:26px;
}
.ldbs-week-event{
  position:absolute!important;
  grid-column:auto!important;
  grid-row:auto!important;
  top:calc(var(--ldbs-header-height) + (var(--event-offset) * var(--ldbs-slot-height)) + 2px)!important;
  left:calc(var(--ldbs-time-column) + (var(--event-day) * ((100% - var(--ldbs-time-column)) / 7)) + 3px)!important;
  width:calc(((100% - var(--ldbs-time-column)) / 7) - 6px)!important;
  height:calc((var(--event-span) * var(--ldbs-slot-height)) - 4px)!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:782px){
  .ldbs-week-grid{
    --ldbs-time-column:34px;
    --ldbs-header-height:42px;
    --ldbs-slot-height:28px;
  }
}
@media(max-width:430px){
  .ldbs-week-grid{--ldbs-time-column:30px}
}
@media(max-width:390px){
  .ldbs-week-grid{
    --ldbs-time-column:28px;
    --ldbs-header-height:40px;
    --ldbs-slot-height:26px;
  }
}


/* v2.5.6: dedicated single-day diary and reliable portal form submissions */
.ldbs-day-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.ldbs-day-summary article{background:#fff;border:1px solid #dcdcde;border-radius:9px;padding:15px}.ldbs-day-summary span{display:block;color:#646970;font-size:12px}.ldbs-day-summary strong{display:block;color:#1c244b;font-size:24px;margin-top:5px}.ldbs-day-agenda{display:grid;grid-template-columns:76px minmax(0,1fr);background:#fff;border:1px solid #dcdcde;border-radius:10px;overflow:hidden}.ldbs-day-time{padding:15px 10px;border-right:1px solid #e1e3e5;border-bottom:1px solid #e1e3e5;text-align:right;color:#646970;font-size:12px}.ldbs-day-slot{min-height:58px;padding:5px;border-bottom:1px solid #e1e3e5;box-sizing:border-box}.ldbs-day-availability{display:flex;align-items:center;min-height:46px;padding:0 13px;border-radius:6px;text-decoration:none;font-weight:700;box-sizing:border-box}.ldbs-day-availability.open{background:#edf8ef;color:#2d7138}.ldbs-day-availability.closed{background:#fff1ef;color:#9d2a22}.ldbs-day-availability.non-working{background:repeating-linear-gradient(135deg,#f7f7f7,#f7f7f7 8px,#f1f1f1 8px,#f1f1f1 16px);color:#777}.ldbs-day-appointment{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;min-height:48px;padding:8px 11px;border-left:5px solid var(--event-colour);border-radius:6px;background:#eef1f7;color:#1c244b;text-decoration:none;box-sizing:border-box}.ldbs-day-appointment span{font-size:12px;font-weight:700}.ldbs-day-appointment strong{font-size:15px}.ldbs-day-appointment small{grid-column:2;color:#596273}.ldbs-day-appointment em{grid-column:3;grid-row:1/span 2;font-size:10px;font-style:normal;text-transform:uppercase}.ldbs-day-appointment.status-pending{background:#fff5d9}.ldbs-day-appointment.status-cancelled{opacity:.55}
@media(max-width:782px){.ldbs-day-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ldbs-day-summary article{padding:12px}.ldbs-day-summary strong{font-size:21px}.ldbs-day-agenda{grid-template-columns:52px minmax(0,1fr)}.ldbs-day-time{padding:14px 5px;font-size:10px}.ldbs-day-slot{min-height:60px;padding:5px}.ldbs-day-appointment{grid-template-columns:1fr auto;gap:3px 8px;padding:9px}.ldbs-day-appointment span{grid-column:1}.ldbs-day-appointment strong{grid-column:1;font-size:14px}.ldbs-day-appointment small{grid-column:1}.ldbs-day-appointment em{grid-column:2;grid-row:1/span 3;font-size:8px}.ldbs-day-availability{min-height:48px;padding:0 10px;font-size:13px}}

/* v2.6.6 flat mobile-first interface reset */
:root{
  --ldbs-purple:#1c244b;
  --ldbs-red:#a8281d;
  --ldbs-page:#f2f3f5;
  --ldbs-panel:#ffffff;
  --ldbs-field:#f0f2f5;
  --ldbs-confirmed:#dcecf7;
  --ldbs-pending:#fff0c7;
  --ldbs-completed:#dff1e3;
  --ldbs-cancelled:#f6dddd;
  --ldbs-rescheduled:#e9e1f1;
}

/* Remove the old rounded/bordered card design everywhere. */
.ldbs-wrap *,
.ldbs-portal-dashboard *,
.ldbs-portal-content *,
.ldbs-mobile-bottom-nav *{
  border-radius:0!important;
  box-shadow:none!important;
}

.ldbs-card,
.ldbs-portal-panel,
.ldbs-dashboard-hero,
.ldbs-summary-grid article,
.ldbs-day-summary article,
.ldbs-dashboard-appointment,
.ldbs-next-card,
.ldbs-empty-state,
.ldbs-diary-toolbar,
.ldbs-selected-date-banner,
.ldbs-month-calendar,
.ldbs-week-scroll,
.ldbs-day-agenda,
.ldbs-slot-summary,
.ldbs-slot-panel,
.ldbs-appointments-table tr{
  border:0!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Dashboard summary boxes: flat colour blocks only. */
.ldbs-summary-grid article,
.ldbs-day-summary article{
  background:#fff!important;
  border:0!important;
  border-top:0!important;
}
.ldbs-summary-grid article.pending{background:var(--ldbs-pending)!important}
.ldbs-summary-grid article.confirmed{background:var(--ldbs-confirmed)!important}
.ldbs-summary-grid article.completed{background:var(--ldbs-completed)!important}

/* No left status strips on dashboard, diary or appointment cards. */
.ldbs-dashboard-appointment,
.ldbs-dashboard-appointment.status-pending,
.ldbs-dashboard-appointment.status-confirmed,
.ldbs-dashboard-appointment.status-completed,
.ldbs-dashboard-appointment.status-cancelled,
.ldbs-dashboard-appointment.status-rescheduled,
.ldbs-week-event,
.ldbs-day-appointment,
.ldbs-day-availability,
.ldbs-month-event,
.ldbs-status-badge,
.ldbs-login-error,
.ldbs-portal-error,
.ldbs-data-note{
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

/* Status is communicated by the whole background, never a narrow border. */
.ldbs-dashboard-appointment.status-pending,
.ldbs-week-event.status-pending,
.ldbs-day-appointment.status-pending{background:var(--ldbs-pending)!important}
.ldbs-dashboard-appointment.status-confirmed,
.ldbs-week-event.status-confirmed,
.ldbs-day-appointment.status-confirmed{background:var(--ldbs-confirmed)!important}
.ldbs-dashboard-appointment.status-completed,
.ldbs-week-event.status-completed,
.ldbs-day-appointment.status-completed{background:var(--ldbs-completed)!important}
.ldbs-dashboard-appointment.status-cancelled,
.ldbs-week-event.status-cancelled,
.ldbs-day-appointment.status-cancelled{background:var(--ldbs-cancelled)!important;opacity:1!important}
.ldbs-dashboard-appointment.status-rescheduled,
.ldbs-week-event.status-rescheduled,
.ldbs-day-appointment.status-rescheduled{background:var(--ldbs-rescheduled)!important}

/* Flat buttons with no outlines, borders, rounding or hover changes. */
.ldbs-portal-btn,
.ldbs-portal-btn.secondary,
.ldbs-red-btn,
.ldbs-confirm-btn,
.button,
.button-primary,
.button-secondary,
.ldbs-view-switch .button,
.ldbs-view-switch span,
.ldbs-diary-toolbar .button,
.ldbs-month-nav .button,
.ldbs-mobile-day-controls button,
.ldbs-appointments-table td:last-child a,
.ldbs-mobile-bottom-nav a{
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.ldbs-portal-btn,
.button-primary,
.ldbs-confirm-btn,
.ldbs-red-btn{
  background:var(--ldbs-purple)!important;
  color:#fff!important;
}
.ldbs-red-btn,
.ldbs-confirm-btn{background:var(--ldbs-red)!important;color:#fff!important}
.ldbs-portal-btn.secondary,
.button-secondary,
.ldbs-view-switch .button:not(.button-primary),
.ldbs-diary-toolbar .button:not(.button-primary){background:#e8eaf0!important;color:var(--ldbs-purple)!important}
.ldbs-portal-btn:hover,.ldbs-portal-btn:focus,.ldbs-portal-btn:active,
.button:hover,.button:focus,.button:active,
.ldbs-mobile-bottom-nav a:hover,.ldbs-mobile-bottom-nav a:focus{
  filter:none!important;transform:none!important;box-shadow:none!important;
}

/* Flat forms. Inputs use a filled field instead of little outlined rounded boxes. */
.ldbs-card form,
.ldbs-grid-form,
.ldbs-portal-form-grid,
.ldbs-portal-field,
.ldbs-quick-block{
  min-width:0!important;
  max-width:100%!important;
}
.ldbs-card label,
.ldbs-grid-form label,
.ldbs-portal-form-grid label,
.ldbs-portal-field{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.ldbs-card input,
.ldbs-card select,
.ldbs-card textarea,
.ldbs-grid-form input,
.ldbs-grid-form select,
.ldbs-grid-form textarea,
.ldbs-portal-form-grid input,
.ldbs-portal-form-grid select,
.ldbs-portal-field input,
.ldbs-portal-field select,
.ldbs-portal-field textarea,
.ldbs-quick-block input,
.ldbs-quick-block select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:var(--ldbs-field)!important;
  color:#1f2430!important;
}
.ldbs-card input:focus,
.ldbs-card select:focus,
.ldbs-card textarea:focus,
.ldbs-grid-form input:focus,
.ldbs-grid-form select:focus,
.ldbs-grid-form textarea:focus{
  background:#e7eaf0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Appointment editor must never overflow the phone width. */
.ldbs-card,
.ldbs-card form,
.ldbs-grid-form,
.ldbs-grid-form>*{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.ldbs-grid-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.ldbs-card p,.ldbs-card h2,.ldbs-card h3,.ldbs-card .description{max-width:100%!important;overflow-wrap:anywhere!important}
.ldbs-card form>button.button-primary{position:static!important;bottom:auto!important;width:100%!important}

/* Calendar columns use spacing and background, not small borders. */
.ldbs-month-calendar{gap:2px!important;background:var(--ldbs-page)!important;overflow:visible!important}
.ldbs-month-heading{border:0!important}
.ldbs-month-day{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.ldbs-month-day.has-events{background:#eef0f4!important}
.ldbs-month-day.today{background:#f5dfdd!important;box-shadow:none!important;outline:0!important}
.ldbs-month-day.selected-date,
.ldbs-month-day:focus,
.ldbs-month-day:active{background:#dfe3ee!important;box-shadow:none!important;outline:0!important}
.ldbs-day-time,.ldbs-day-slot,.ldbs-week-cell,.ldbs-week-day-head,.ldbs-time-label{
  border:0!important;
  box-shadow:none!important;
}
.ldbs-day-agenda{gap:2px!important;background:var(--ldbs-page)!important}
.ldbs-day-time,.ldbs-day-slot{background:#fff!important}

/* Appointment list cards and Open button are square and borderless. */
.ldbs-appointments-table,
.ldbs-appointments-table tbody,
.ldbs-appointments-table tr,
.ldbs-appointments-table td{border:0!important;box-shadow:none!important}
.ldbs-appointments-table tr{background:#fff!important}
.ldbs-appointments-table td:nth-child(7) a{border:0!important;border-radius:0!important;background:var(--ldbs-purple)!important;color:#fff!important}

@media(max-width:782px){
  .ldbs-portal-content{padding:8px!important}
  .ldbs-summary-grid,.ldbs-day-summary{gap:8px!important}
  .ldbs-summary-grid article,.ldbs-day-summary article{padding:14px!important;min-height:104px!important}
  .ldbs-dashboard-appointment{padding:14px!important}
  .ldbs-portal-panel,.ldbs-card{padding:14px!important;margin:0 0 10px!important}
  .ldbs-grid-form{grid-template-columns:1fr!important;gap:12px!important}
  .ldbs-card input,.ldbs-card select,.ldbs-card textarea,
  .ldbs-grid-form input,.ldbs-grid-form select,.ldbs-grid-form textarea{font-size:16px!important;min-height:50px!important;padding:13px!important}
  .ldbs-card textarea,.ldbs-grid-form textarea{min-height:140px!important}
  .ldbs-card form>button.button-primary,.ldbs-form-actions .button-primary{position:static!important;bottom:auto!important;min-height:52px!important}
  .ldbs-appointments-table tr{padding:14px!important}
  .ldbs-month-day{min-height:68px!important}
  .ldbs-day-appointment,.ldbs-day-availability{border:0!important;border-radius:0!important}
}

/* v2.6.10 delete appointment action */
.ldbs-delete-appointment-form{margin:18px 0 0!important;padding:18px 0 0!important;border-top:1px solid #d9dce5!important}
.ldbs-delete-appointment{display:block!important;width:100%!important;min-height:50px!important;background:#a8281d!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-weight:700!important;text-align:center!important}
.ldbs-delete-appointment:hover,.ldbs-delete-appointment:focus{background:#a8281d!important;color:#fff!important;border:0!important;box-shadow:none!important}


/* v2.6.11 System Status */
.ldbs-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d9dde7}
.ldbs-status-stat{background:#fff;padding:18px;min-width:0}
.ldbs-status-stat span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#596174;margin-bottom:8px}
.ldbs-status-stat strong{display:block;color:#1C244B;font-size:18px;overflow-wrap:anywhere}
.ldbs-health-summary{padding:14px 16px;margin:0 0 16px;background:#edf7ef;color:#175c2c;font-weight:700}
.ldbs-health-summary.needs-attention{background:#fff2e1;color:#7a4300}
.ldbs-health-list{border-top:1px solid #d9dde7}
.ldbs-health-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #d9dde7}
.ldbs-health-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e8f4ec;color:#166534;font-weight:800;flex:0 0 28px}
.ldbs-health-icon.is-bad{background:#fbe7e5;color:#A8281D}
.ldbs-health-row strong,.ldbs-health-row small{display:block}
.ldbs-health-row small{color:#616979;margin-top:3px;overflow-wrap:anywhere}
@media(max-width:900px){.ldbs-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ldbs-status-grid{grid-template-columns:1fr}.ldbs-status-stat{padding:14px}}


/* v2.7.0 secure internal messaging and activity centre */
.ldbs-nav-badge{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;margin-left:6px;padding:0 5px;background:#a8281d;color:#fff;font-size:11px;font-weight:800;border:0!important;border-radius:0!important}
.ldbs-message-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.ldbs-message-header h1{margin:4px 0 6px}.ldbs-message-unread{background:#1c244b;color:#fff;padding:10px 13px;font-weight:800;white-space:nowrap}
.ldbs-message-compose,.ldbs-message-reply{display:grid;gap:14px}.ldbs-message-compose label,.ldbs-message-reply label,.ldbs-appointment-discussion label{display:grid;gap:7px;font-weight:700}.ldbs-message-compose input,.ldbs-message-compose select,.ldbs-message-compose textarea,.ldbs-message-reply textarea,.ldbs-appointment-discussion textarea{width:100%;padding:13px;background:#f2f3f5;border:0!important;border-radius:0!important;font:inherit}
.ldbs-message-list{display:grid;gap:2px;background:#eef0f3}.ldbs-message-row{display:block;padding:15px;background:#fff;color:#1c244b;text-decoration:none}.ldbs-message-row.is-unread{background:#eef2fb}.ldbs-message-row-top{display:flex;justify-content:space-between;gap:12px}.ldbs-message-row time,.ldbs-chat-bubble time,.ldbs-discussion-list time{font-size:12px;color:#62697a}.ldbs-message-row>span{display:block;margin-top:5px;font-weight:700}.ldbs-message-row p{margin:5px 0 0;color:#505767}
.ldbs-thread-heading{display:flex;align-items:center;gap:15px;margin-bottom:16px}.ldbs-thread-heading h2{margin:0}.ldbs-thread-heading a{color:#a8281d;font-weight:800;text-decoration:none}.ldbs-message-thread{display:grid;gap:10px;margin-bottom:18px}.ldbs-chat-bubble{max-width:82%;padding:14px;background:#eceef3}.ldbs-chat-bubble.is-mine{margin-left:auto;background:#dfe4f0}.ldbs-chat-bubble p{margin:7px 0 8px;white-space:normal}.ldbs-chat-bubble time{display:block}
.ldbs-activity-list{display:grid;gap:2px;background:#eef0f3}.ldbs-activity-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:13px;background:#fff;color:#1c244b;text-decoration:none}.ldbs-activity-item.is-unread{background:#eef2fb}.ldbs-activity-icon{display:flex;width:40px;height:40px;align-items:center;justify-content:center;background:#1c244b;color:#fff;font-weight:800}.ldbs-activity-item.kind-message .ldbs-activity-icon{background:#a8281d}.ldbs-activity-item strong{display:block}.ldbs-activity-item p{margin:3px 0;color:#505767}.ldbs-activity-item time{font-size:12px;color:#6a7180}
.ldbs-appointment-discussion{margin-top:14px!important}.ldbs-discussion-list{display:grid;gap:2px;margin-top:18px;background:#eef0f3}.ldbs-discussion-list article{padding:14px;background:#fff}.ldbs-discussion-list article>div{display:flex;justify-content:space-between;gap:12px}.ldbs-discussion-list p{margin:8px 0 0}
@media(max-width:782px){.ldbs-message-header{display:block}.ldbs-message-unread{display:inline-block;margin-top:10px}.ldbs-chat-bubble{max-width:92%}.ldbs-message-row{padding:13px}.ldbs-message-row-top{align-items:flex-start}.ldbs-activity-item{grid-template-columns:34px minmax(0,1fr);padding:12px}.ldbs-activity-icon{width:34px;height:34px}.ldbs-appointment-discussion{margin-bottom:80px!important}}


/* v2.7.3 compact Needs Attention dashboard list */
#needs-attention.ldbs-needs-attention { padding: 0 !important; overflow: hidden; }
.ldbs-needs-attention .ldbs-section-heading { padding: 16px 16px 10px !important; margin: 0 !important; }
.ldbs-needs-attention .ldbs-section-heading h2 { margin: 0 !important; }
.ldbs-needs-list { display: block; }
.ldbs-needs-item {
    display: grid !important;
    grid-template-columns: 26px minmax(0,1fr) 18px;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 11px 16px !important;
    margin: 0 !important;
    color: #1C244B !important;
    background: #fff !important;
    text-decoration: none !important;
    border: 0 !important;
    border-top: 1px solid #e7e8ed !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 600;
    line-height: 1.3;
}
.ldbs-needs-item:first-child { border-top: 0 !important; }
.ldbs-needs-item:hover,
.ldbs-needs-item:focus { color: #1C244B !important; background: #f6f6f8 !important; }
.ldbs-needs-icon { font-size: 17px; line-height: 1; }
.ldbs-needs-arrow { justify-self: end; font-size: 22px; font-weight: 400; color: #6b6f80; }
@media (max-width: 600px) {
  .ldbs-needs-attention .ldbs-section-heading { padding: 14px 14px 8px !important; }
  .ldbs-needs-item { min-height: 48px; padding: 10px 14px !important; font-size: 14px; }
}

/* v2.7.4 booking block refinement */
.ldbs-day-appointment-block{height:100%!important;min-height:0!important;align-content:center;z-index:3}.ldbs-day-appointment-block .ldbs-buffer-note{grid-column:1/-1!important;font-size:11px!important;font-weight:700!important;opacity:.78!important;margin-top:3px!important}.ldbs-day-agenda{grid-auto-rows:minmax(58px,auto)!important}.ldbs-day-time{box-sizing:border-box!important}.ldbs-day-slot{height:100%!important}
@media(max-width:782px){.ldbs-day-agenda{grid-auto-rows:minmax(62px,auto)!important}.ldbs-day-appointment-block{padding:12px!important}.ldbs-day-appointment-block .ldbs-buffer-note{font-size:10px!important}}
