:root {
  --lrb-blue: #273583;
  --lrb-yellow: #ffd500;
  --lrb-black: #1d1d1b;
  --lrb-white: #fafafa;
  --lrb-gray: #c6c6c6;
  --lrb-bg: #f5f7fb;
  --lrb-border: #e4e7ef;
  --lrb-text: #111827;
  --lrb-muted: #6b7280;
  --lrb-green: #2eaf49;
  --lrb-red: #d92626;
  --lrb-orange: #f4b000;
  --lrb-purple: #8061d4;
}

.lrb-portal,
.lrb-portal * {
  box-sizing: border-box;
}

.lrb-portal {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--lrb-text);
  background: radial-gradient(circle at top left, rgba(255, 213, 0, 0.10), transparent 28%), linear-gradient(180deg, #ffffff 0%, var(--lrb-bg) 100%);
  padding: 22px;
  border-radius: 20px;
}

.lrb-topbar {
  display: flex;
  align-items: center;
  gap: 22px;
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--lrb-border);
  box-shadow: 0 10px 30px rgba(20, 31, 68, 0.07);
  border-radius: 18px;
  padding: 14px 18px;
  margin-bottom: 24px;
}

.lrb-brand img {
  display: block;
  width: 180px;
  height: auto;
}

.lrb-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  flex-wrap: wrap;
}

.lrb-nav a {
  color: var(--lrb-blue);
  text-decoration: none;
  font-weight: 700;
  padding: 10px 12px;
  border-radius: 12px;
}

.lrb-nav a:hover,
.lrb-nav a.is-active {
  background: rgba(39, 53, 131, 0.08);
}

.lrb-user {
  background: #f2f4fa;
  color: var(--lrb-blue);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 700;
  white-space: nowrap;
}

.lrb-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.lrb-hero h1 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
  margin: 0 0 8px;
  color: var(--lrb-blue);
  letter-spacing: -0.04em;
}

.lrb-hero p {
  margin: 0;
  color: #4b5563;
  font-size: 16px;
}

.lrb-grid-main {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(420px, 1.05fr) 270px;
  gap: 18px;
  align-items: start;
}

.lrb-card {
  background: rgba(255,255,255,0.96);
  border: 1px solid var(--lrb-border);
  border-radius: 18px;
  box-shadow: 0 14px 35px rgba(20, 31, 68, 0.08);
  padding: 20px;
  margin: 0 0 18px;
}

.lrb-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.lrb-card-title .dashicons {
  color: var(--lrb-blue);
  background: rgba(39, 53, 131, 0.09);
  border-radius: 10px;
  padding: 7px;
  width: 34px;
  height: 34px;
  line-height: 20px;
}

.lrb-card h3,
.lrb-card-title h3 {
  margin: 0;
  color: var(--lrb-blue);
  font-size: 19px;
  font-weight: 800;
}

.lrb-booking-form label,
.lrb-field label {
  display: block;
  margin: 0 0 7px;
  color: #222b45;
  font-weight: 750;
  font-size: 13px;
}

.lrb-field {
  margin-bottom: 14px;
}

.lrb-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.lrb-booking-form input,
.lrb-booking-form select,
.lrb-booking-form textarea {
  width: 100%;
  border: 1px solid #d9deea;
  border-radius: 11px;
  background: #fff;
  min-height: 43px;
  padding: 10px 12px;
  color: var(--lrb-text);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.lrb-booking-form textarea {
  resize: vertical;
}

.lrb-booking-form input:focus,
.lrb-booking-form select:focus,
.lrb-booking-form textarea:focus {
  border-color: var(--lrb-blue);
  box-shadow: 0 0 0 4px rgba(39, 53, 131, 0.10);
}

.lrb-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 16px !important;
  font-weight: 500 !important;
  color: #374151;
}

.lrb-checkbox input {
  width: 18px !important;
  min-height: auto !important;
  height: 18px;
  margin-top: 2px;
}

.lrb-checkbox a {
  color: var(--lrb-blue);
  font-weight: 800;
  text-decoration: none;
}

.lrb-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.lrb-button,
.lrb-mini-button,
.lrb-help-button {
  appearance: none;
  border: 0;
  border-radius: 11px;
  padding: 11px 16px;
  cursor: pointer;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.lrb-button-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--lrb-blue), #1c2764);
  box-shadow: 0 10px 20px rgba(39, 53, 131, 0.22);
}

.lrb-button-primary:hover {
  filter: brightness(1.06);
}

.lrb-button-secondary {
  color: var(--lrb-blue);
  background: #fff;
  border: 1px solid #d7dbea;
}

.lrb-message {
  margin-top: 14px;
  padding: 13px 14px;
  border-radius: 13px;
  font-weight: 700;
  font-size: 14px;
}

.lrb-message.ok,
.lrb-message.lrb-info-default {
  color: #176129;
  background: #eefaf1;
  border: 1px solid #bfe7c7;
}

.lrb-message.error {
  color: #8a1c1c;
  background: #fff1f1;
  border: 1px solid #f4b7b7;
}

.lrb-calendar-card {
  overflow: hidden;
}

#lrb-calendar .fc-toolbar-title {
  color: var(--lrb-blue);
  font-size: 22px;
  font-weight: 900;
}

#lrb-calendar .fc-button-primary {
  background: var(--lrb-blue);
  border-color: var(--lrb-blue);
  border-radius: 10px;
  font-weight: 800;
}

#lrb-calendar .fc-scrollgrid,
#lrb-calendar td,
#lrb-calendar th {
  border-color: #e7eaf1;
}

#lrb-calendar .fc-event {
  border: 0 !important;
  border-radius: 9px;
  padding: 3px 5px;
  font-weight: 800;
  font-size: 12px;
}

#lrb-calendar .lrb-event-status-pending { background: #fff2c7 !important; color: #6a4a00 !important; }
#lrb-calendar .lrb-event-status-approved { background: #daf5df !important; color: #176129 !important; }
#lrb-calendar .lrb-event-status-rejected { background: #ffe1e1 !important; color: #8a1c1c !important; }
#lrb-calendar .lrb-event-status-cancelled { background: #eceff4 !important; color: #4b5563 !important; }
#lrb-calendar .lrb-event-status-busy { background: #eee8ff !important; color: #4b2f9d !important; }

.lrb-side-card h3,
.lrb-help-card h3 {
  margin-top: 0;
}

.lrb-legend {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.lrb-legend li {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 700;
  color: #344054;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
}
.dot.pending { background: var(--lrb-orange); }
.dot.approved { background: var(--lrb-green); }
.dot.rejected { background: var(--lrb-red); }
.dot.cancelled { background: #9ca3af; }
.dot.busy { background: var(--lrb-purple); }

.lrb-info-link {
  display: block;
  padding: 13px;
  border: 1px solid #e4e7ef;
  border-radius: 14px;
  text-decoration: none;
  margin-top: 12px;
  background: #fff;
}

.lrb-info-link strong {
  display: block;
  color: var(--lrb-blue);
  margin-bottom: 4px;
}

.lrb-info-link span {
  color: var(--lrb-muted);
  font-size: 13px;
}

.lrb-help-card {
  background: linear-gradient(135deg, rgba(39, 53, 131, 0.09), rgba(255, 213, 0, 0.10));
}

.lrb-help-card p {
  color: #4b5563;
}

.lrb-help-button {
  width: 100%;
  color: var(--lrb-blue);
  border: 1px solid rgba(39, 53, 131, 0.25);
  background: #fff;
}

.lrb-table-card {
  margin-top: 0;
}

.lrb-table-wrap {
  overflow-x: auto;
}

.lrb-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 760px;
}

.lrb-table th,
.lrb-table td {
  border-bottom: 1px solid #edf0f6;
  padding: 12px 10px;
  text-align: left;
  vertical-align: middle;
}

.lrb-table th {
  color: #344054;
  background: #f7f8fc;
  font-size: 13px;
  font-weight: 900;
}

.lrb-table tbody tr:hover td {
  background: #fbfcff;
}

.lrb-status-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
}

.status-pending { background: #fff2c7; color: #6a4a00; }
.status-approved { background: #daf5df; color: #176129; }
.status-rejected { background: #ffe1e1; color: #8a1c1c; }
.status-cancelled { background: #eceff4; color: #4b5563; }

.lrb-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.lrb-mini-button {
  padding: 8px 11px;
  color: var(--lrb-blue);
  background: #fff;
  border: 1px solid rgba(39, 53, 131, 0.28);
}

.lrb-mini-danger {
  color: var(--lrb-red);
  border-color: rgba(217, 38, 38, 0.30);
}

.lrb-table-note {
  color: var(--lrb-muted);
  font-size: 13px;
  margin: 12px 0 0;
}

.lrb-login-box {
  max-width: 520px;
  margin: 30px auto;
}

.lrb-login-card {
  background: #fff;
  border: 1px solid var(--lrb-border);
  border-radius: 20px;
  box-shadow: 0 14px 35px rgba(20, 31, 68, 0.08);
  padding: 28px;
}

.lrb-login-logo {
  width: 190px;
  height: auto;
  margin-bottom: 16px;
}

.lrb-doc-page {
  max-width: 980px;
  margin: 0 auto;
}

.lrb-doc-page h1 {
  color: var(--lrb-blue);
  margin-top: 0;
}

.lrb-doc-page h2 {
  color: var(--lrb-blue);
  font-size: 20px;
  margin-top: 26px;
}

.lrb-doc-page p {
  color: #374151;
  line-height: 1.65;
}

@media (max-width: 1180px) {
  .lrb-grid-main {
    grid-template-columns: 1fr;
  }
  .lrb-sidebar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 760px) {
  .lrb-portal {
    padding: 14px;
  }
  .lrb-topbar,
  .lrb-hero,
  .lrb-form-row {
    display: block;
  }
  .lrb-brand img {
    width: 150px;
    margin-bottom: 12px;
  }
  .lrb-nav {
    margin: 10px 0;
  }
  .lrb-sidebar {
    grid-template-columns: 1fr;
  }
  #lrb-calendar .fc-toolbar {
    flex-direction: column;
    gap: 10px;
  }
}


/* ===== Fix layout v2.0.1: full-width portal, responsive cards and login form ===== */
body .lrb-portal {
  width: min(1440px, calc(100vw - 40px));
  max-width: none;
  margin-left: 50%;
  margin-right: 0;
  transform: translateX(-50%);
}

body .lrb-portal.lrb-login-box {
  width: min(560px, calc(100vw - 32px));
  max-width: 560px;
  margin: 34px auto;
  transform: none;
}

body .lrb-portal.lrb-doc-page {
  width: min(980px, calc(100vw - 40px));
  max-width: 980px;
  margin: 0 auto;
  transform: none;
}

.lrb-topbar {
  min-width: 0;
  flex-wrap: nowrap;
}

.lrb-brand {
  flex: 0 0 auto;
}

.lrb-nav {
  min-width: 0;
  justify-content: center;
}

.lrb-nav a {
  white-space: nowrap;
  font-size: 14px;
}

.lrb-user {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lrb-grid-main > * {
  min-width: 0;
}

.lrb-calendar-card {
  min-width: 0;
}

#lrb-calendar {
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: 2px;
}

#lrb-calendar .fc {
  min-width: 620px;
}

#lrb-calendar .fc-toolbar {
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

#lrb-calendar .fc-toolbar-title {
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.15 !important;
}

#lrb-calendar .fc-button,
#lrb-calendar .fc-button-primary {
  font-size: 13px !important;
  line-height: 1.15 !important;
  padding: 8px 11px !important;
  min-height: 34px !important;
  min-width: auto !important;
  text-transform: none !important;
  box-shadow: none !important;
}

#lrb-calendar .fc-button-group {
  gap: 4px;
}

#lrb-calendar .fc-daygrid-day-number,
#lrb-calendar .fc-col-header-cell-cushion {
  font-size: 13px;
  text-decoration: none;
}

.lrb-login-card h2 {
  color: var(--lrb-blue);
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.1;
  margin: 14px 0 12px;
}

.lrb-login-card p {
  color: #4b5563;
  font-size: 17px;
  line-height: 1.5;
}

.lrb-login-card form,
.lrb-login-card .login-username,
.lrb-login-card .login-password,
.lrb-login-card .login-remember,
.lrb-login-card .login-submit {
  width: 100%;
  margin: 0 0 15px;
}

.lrb-login-card label {
  display: block;
  color: #222b45;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 7px;
}

.lrb-login-card .login-remember label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 650;
}

.lrb-login-card input[type="text"],
.lrb-login-card input[type="password"] {
  width: 100%;
  max-width: 100%;
  border: 1px solid #d9deea;
  border-radius: 11px;
  min-height: 45px;
  padding: 10px 12px;
  font-size: 16px;
}

.lrb-login-card input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.lrb-login-card input[type="submit"] {
  appearance: none;
  border: 0;
  border-radius: 11px;
  padding: 12px 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--lrb-blue), #1c2764);
  box-shadow: 0 10px 20px rgba(39, 53, 131, 0.22);
  font-weight: 900;
  cursor: pointer;
}

.lrb-login-logo {
  display: block;
  max-width: 220px;
}

@media (max-width: 1320px) {
  .lrb-grid-main {
    grid-template-columns: minmax(300px, 0.95fr) minmax(430px, 1.25fr);
  }
  .lrb-sidebar {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 980px) {
  body .lrb-portal {
    width: calc(100vw - 24px);
    padding: 14px;
  }
  .lrb-grid-main {
    grid-template-columns: 1fr;
  }
  .lrb-topbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .lrb-brand img {
    width: 170px;
    margin: 0;
  }
  .lrb-nav {
    justify-content: flex-start;
  }
  .lrb-user {
    justify-self: start;
  }
  .lrb-sidebar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .lrb-form-row {
    grid-template-columns: 1fr;
  }
  #lrb-calendar .fc {
    min-width: 560px;
  }
  .lrb-card {
    padding: 16px;
  }
  .lrb-hero h1 {
    font-size: 34px;
  }
}


/* v2.0.2 - layout hardening against narrow WordPress theme containers */
body .entry-content > .lrb-portal,
body .wp-block-post-content > .lrb-portal,
body .wp-site-blocks .lrb-portal,
body .lrb-portal {
  width: min(1480px, calc(100vw - 48px)) !important;
  max-width: min(1480px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow: visible !important;
}

body .entry-content > .lrb-portal.alignwide,
body .entry-content > .lrb-portal.alignfull,
body .wp-block-post-content > .lrb-portal.alignwide,
body .wp-block-post-content > .lrb-portal.alignfull {
  margin-left: auto !important;
  margin-right: auto !important;
  width: min(1480px, calc(100vw - 48px)) !important;
  max-width: min(1480px, calc(100vw - 48px)) !important;
}

.lrb-portal {
  isolation: isolate;
}

.lrb-portal .lrb-topbar,
.lrb-portal .lrb-grid-main,
.lrb-portal .lrb-table-card,
.lrb-portal .lrb-hero {
  width: 100%;
  max-width: 100%;
}

.lrb-topbar {
  justify-content: space-between;
  flex-wrap: wrap;
}

.lrb-brand {
  flex: 0 0 auto;
}

.lrb-nav {
  min-width: 0;
}

.lrb-grid-main {
  grid-template-columns: minmax(300px, 0.95fr) minmax(430px, 1.25fr) minmax(240px, 0.55fr);
}

.lrb-calendar-card,
.lrb-form-card,
.lrb-sidebar,
.lrb-table-card {
  min-width: 0;
}

#lrb-calendar {
  max-width: 100%;
  overflow-x: auto;
}

#lrb-calendar .fc {
  min-width: 620px;
}

#lrb-calendar .fc-toolbar {
  gap: 10px;
  flex-wrap: wrap;
}

#lrb-calendar .fc-toolbar-chunk {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

#lrb-calendar .fc-button-primary {
  padding: 8px 10px;
  font-size: 13px;
}

#lrb-calendar .fc-toolbar-title {
  font-size: clamp(18px, 2vw, 22px);
  white-space: nowrap;
}

.lrb-login-card {
  text-align: left;
}

.lrb-login-logo {
  display: block;
  width: min(220px, 70%);
  margin: 0 auto 22px !important;
}

.lrb-login-card h2,
.lrb-login-card p {
  text-align: center;
}

.lrb-login-card form {
  max-width: 360px;
  margin: 20px auto 0;
}

.lrb-login-card label {
  display: block;
  font-weight: 700;
  color: var(--lrb-blue);
  margin-bottom: 6px;
}

.lrb-login-card input[type="text"],
.lrb-login-card input[type="password"] {
  width: 100%;
  border: 1px solid #d9deea;
  border-radius: 11px;
  min-height: 43px;
  padding: 10px 12px;
}

.lrb-login-card .login-remember label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #374151;
  font-weight: 600;
}

.lrb-login-card .button,
.lrb-login-card input[type="submit"] {
  width: 100%;
  border: 0;
  border-radius: 11px;
  padding: 12px 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--lrb-blue), #1c2764);
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 1320px) {
  .lrb-grid-main {
    grid-template-columns: minmax(320px, 1fr) minmax(430px, 1.25fr);
  }
  .lrb-sidebar {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 980px) {
  body .entry-content > .lrb-portal,
  body .wp-block-post-content > .lrb-portal,
  body .wp-site-blocks .lrb-portal,
  body .lrb-portal {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: min(100%, calc(100vw - 24px)) !important;
  }
  .lrb-grid-main {
    grid-template-columns: 1fr;
  }
  .lrb-sidebar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body .lrb-portal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 12px;
  }
  .lrb-topbar {
    padding: 12px;
  }
  .lrb-brand img {
    width: 145px;
  }
  .lrb-nav a,
  .lrb-user {
    font-size: 14px;
  }
  .lrb-card {
    padding: 16px;
  }
  #lrb-calendar .fc {
    min-width: 560px;
  }
}

/* v2.0.3 standalone app shell: bypass theme layout visually */
html, body.lrb-app-body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-height: 100% !important;
  background: #f5f7fb !important;
}
body.lrb-app-body {
  overflow-x: hidden;
}
.lrb-app-shell {
  width: 100%;
  min-height: 100vh;
  padding: 24px;
  background: radial-gradient(circle at top left, rgba(255, 213, 0, 0.10), transparent 28%), linear-gradient(180deg, #ffffff 0%, var(--lrb-bg) 100%);
}
.lrb-app-shell .lrb-portal {
  width: min(1480px, calc(100vw - 48px)) !important;
  max-width: min(1480px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
}
.lrb-app-shell .lrb-login-box {
  min-height: calc(100vh - 48px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.lrb-doc-topbar {
  margin-bottom: 18px;
}
.lrb-document-card {
  max-width: 980px;
  margin: 0 auto 24px !important;
  padding: clamp(22px, 4vw, 42px);
}
.lrb-document-card h1 {
  color: var(--lrb-blue);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.05;
  margin: 0 0 18px;
  letter-spacing: -0.04em;
}
.lrb-document-card h2 {
  color: var(--lrb-blue);
  margin-top: 28px;
  margin-bottom: 8px;
  font-size: 22px;
}
.lrb-document-card p {
  color: #374151;
  line-height: 1.68;
  font-size: 16px;
}
.lrb-document-card li {
  font-size: 16px;
  line-height: 1.55;
  margin-bottom: 6px;
}
.lrb-terms-card .lrb-terms-grid ol,
.lrb-terms-card .lrb-terms-grid ul {
  margin: 10px 0 0 22px;
  padding-left: 18px;
}
.lrb-doc-updated,
.lrb-doc-note {
  background: rgba(39, 53, 131, 0.06);
  border: 1px solid rgba(39, 53, 131, 0.12);
  border-radius: 14px;
  padding: 14px 16px;
}
@media (max-width: 980px) {
  .lrb-app-shell {
    padding: 12px;
  }
  .lrb-app-shell .lrb-portal {
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: min(100%, calc(100vw - 24px)) !important;
  }
}

/* v2.0.4 - font istituzionale, layout compatto e rifiniture UX */
.lrb-portal,
.lrb-portal *,
.lrb-login-card,
.lrb-login-card * {
  font-family: "Arial Narrow", Arial, Helvetica, sans-serif !important;
}

.lrb-portal {
  padding: 18px !important;
}

.lrb-topbar {
  padding: 12px 16px;
  margin-bottom: 18px;
}

.lrb-brand img {
  width: 165px;
}

.lrb-nav a {
  padding: 8px 11px;
  font-size: 15px;
}

.lrb-user-menu {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}

.lrb-logout {
  color: var(--lrb-blue);
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(39, 53, 131, 0.18);
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
}

.lrb-hero {
  margin-bottom: 14px;
}

.lrb-hero h1 {
  font-size: clamp(32px, 3.2vw, 44px);
  letter-spacing: -0.02em;
}

.lrb-hero p {
  max-width: 760px;
}

.lrb-grid-main {
  grid-template-columns: minmax(330px, 0.88fr) minmax(520px, 1.25fr) 260px;
  gap: 16px;
}

.lrb-card {
  padding: 18px;
  margin-bottom: 16px;
}

.lrb-card-title {
  margin-bottom: 14px;
}

.lrb-form-section {
  margin: 16px 0 10px;
  border-top: 1px solid #eef1f7;
  padding-top: 13px;
}

.lrb-form-section:first-of-type {
  margin-top: 4px;
  border-top: 0;
  padding-top: 0;
}

.lrb-form-section span {
  display: inline-flex;
  align-items: center;
  color: var(--lrb-blue);
  background: rgba(39, 53, 131, 0.07);
  border-radius: 999px;
  padding: 5px 10px;
  font-weight: 900;
  font-size: 13px;
}

.lrb-field {
  margin-bottom: 11px;
}

.lrb-booking-form input,
.lrb-booking-form select,
.lrb-booking-form textarea {
  min-height: 39px;
  padding: 8px 11px;
  border-radius: 10px;
}

.lrb-booking-form textarea {
  min-height: 66px;
}

.lrb-actions {
  margin-top: 8px;
}

.lrb-button,
.lrb-mini-button,
.lrb-help-button {
  padding: 9px 14px;
  border-radius: 10px;
}

/* Calendario più compatto */
#lrb-calendar .fc {
  font-family: "Arial Narrow", Arial, Helvetica, sans-serif !important;
}

#lrb-calendar .fc-toolbar.fc-header-toolbar {
  margin-bottom: 10px;
}

#lrb-calendar .fc-toolbar-title {
  font-size: 20px !important;
  font-weight: 900 !important;
}

#lrb-calendar .fc-button,
#lrb-calendar .fc-button-primary {
  font-size: 12px !important;
  padding: 7px 9px !important;
  min-height: 31px !important;
  border-radius: 9px !important;
}

#lrb-calendar .fc-daygrid-day-frame {
  min-height: 82px !important;
}

#lrb-calendar .fc-daygrid-day-number {
  font-size: 12px !important;
  padding: 5px 6px !important;
}

#lrb-calendar .fc-col-header-cell-cushion {
  font-size: 12px !important;
  padding: 6px 4px !important;
}

#lrb-calendar .fc-event {
  font-size: 11px !important;
  line-height: 1.15 !important;
  padding: 2px 4px !important;
  margin-top: 1px !important;
}

.lrb-side-card,
.lrb-help-card {
  padding: 16px;
}

.lrb-side-card h3,
.lrb-help-card h3 {
  font-size: 18px;
  line-height: 1.08;
}

.lrb-legend {
  gap: 7px;
}

.lrb-legend li {
  font-size: 15px;
}

.lrb-info-link {
  padding: 11px;
}

.lrb-footer {
  text-align: center;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
  margin: 10px 0 0;
  padding: 16px 0 6px;
}

/* Login: logo centrato sopra i campi */
.lrb-login-card {
  text-align: left;
}

.lrb-login-logo {
  display: block !important;
  margin: 0 auto 18px !important;
  max-width: 230px;
}

.lrb-login-card h2,
.lrb-login-card > p {
  text-align: center;
}

.lrb-login-card input[type="submit"] {
  width: 100%;
}

@media (max-width: 1320px) {
  .lrb-grid-main {
    grid-template-columns: minmax(320px, 0.9fr) minmax(470px, 1.1fr);
  }
}

@media (max-width: 980px) {
  .lrb-user-menu {
    justify-self: start;
  }
  .lrb-brand img {
    width: 155px;
  }
}


/* v2.0.5 - proposta grafica pulita, calendario simmetrico e box assistenza compatto */
:root {
  --lrb-bg: #f7f9fc;
  --lrb-soft-blue: #eef2ff;
}

html,
body.lrb-app-body {
  background: #f7f9fc !important;
}

.lrb-app-shell {
  background:
    linear-gradient(180deg, rgba(39, 53, 131, 0.045) 0%, rgba(247, 249, 252, 0) 260px),
    #f7f9fc !important;
}

.lrb-portal {
  background: transparent !important;
}

.lrb-topbar,
.lrb-card {
  background: rgba(255, 255, 255, 0.98) !important;
}

.lrb-card {
  box-shadow: 0 12px 30px rgba(20, 31, 68, 0.065) !important;
}

/* Il font istituzionale non deve sovrascrivere le icone */
.lrb-portal .dashicons,
.lrb-portal .dashicons-before:before {
  font-family: dashicons !important;
}

#lrb-calendar .fc-icon {
  font-family: fcicons !important;
}

/* Calendario: celle regolari e griglia più stabile */
#lrb-calendar {
  overflow-x: hidden !important;
}

#lrb-calendar .fc {
  width: 100% !important;
  min-width: 0 !important;
}

#lrb-calendar .fc-scrollgrid,
#lrb-calendar .fc-scrollgrid table,
#lrb-calendar .fc-col-header,
#lrb-calendar .fc-daygrid-body,
#lrb-calendar .fc-daygrid-body table {
  width: 100% !important;
  table-layout: fixed !important;
}

#lrb-calendar .fc-daygrid-day-frame {
  min-height: 78px !important;
  height: 78px !important;
  display: flex !important;
  flex-direction: column !important;
}

#lrb-calendar .fc-daygrid-day-events {
  min-height: 0 !important;
  margin: 0 3px 2px !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}

#lrb-calendar .fc-daygrid-event-harness {
  margin-top: 1px !important;
}

#lrb-calendar .fc-event {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#lrb-calendar .fc-event-title,
#lrb-calendar .fc-event-time {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#lrb-calendar .fc-toolbar.fc-header-toolbar {
  align-items: center !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 10px !important;
}

#lrb-calendar .fc-toolbar-chunk:nth-child(2) {
  justify-content: center !important;
}

#lrb-calendar .fc-toolbar-chunk:nth-child(3) {
  justify-content: flex-end !important;
}

#lrb-calendar .fc-button-group,
#lrb-calendar .fc-toolbar-chunk {
  display: flex !important;
  align-items: center !important;
}

#lrb-calendar .fc-prev-button,
#lrb-calendar .fc-next-button {
  width: 34px !important;
  min-width: 34px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Sidebar più compatta e pulita */
.lrb-sidebar {
  gap: 14px !important;
}

.lrb-side-card,
.lrb-help-card {
  padding: 15px !important;
}

.lrb-help-card {
  background: #ffffff !important;
  border-left: 4px solid var(--lrb-blue) !important;
  box-shadow: 0 10px 24px rgba(20, 31, 68, 0.055) !important;
}

.lrb-help-card h3 {
  font-size: 17px !important;
  margin-bottom: 8px !important;
}

.lrb-help-card p {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
  color: #5b6475 !important;
}

.lrb-help-button {
  width: auto !important;
  min-height: 34px !important;
  padding: 8px 11px !important;
  font-size: 13px !important;
  border-radius: 9px !important;
}

.lrb-info-link {
  min-height: auto !important;
}

.lrb-info-link strong {
  font-size: 17px !important;
}

.lrb-info-link span {
  line-height: 1.35 !important;
}

@media (max-width: 1180px) {
  #lrb-calendar .fc-toolbar.fc-header-toolbar {
    grid-template-columns: 1fr !important;
  }
  #lrb-calendar .fc-toolbar-chunk,
  #lrb-calendar .fc-toolbar-chunk:nth-child(2),
  #lrb-calendar .fc-toolbar-chunk:nth-child(3) {
    justify-content: center !important;
  }
}

@media (max-width: 760px) {
  #lrb-calendar {
    overflow-x: auto !important;
  }
  #lrb-calendar .fc {
    min-width: 620px !important;
  }
}

/* v2.0.6 - riepilogo prossime prenotazioni sotto calendario */
.lrb-upcoming-panel {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(39, 53, 131, 0.10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(250, 250, 250, 0.98), rgba(247, 249, 252, 0.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

.lrb-upcoming-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.lrb-upcoming-head h3 {
  margin: 0;
  color: var(--lrb-blue);
  font-size: 21px;
  line-height: 1.05;
  font-weight: 700;
}

.lrb-upcoming-head p {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.3;
}

.lrb-upcoming-count {
  min-width: 30px;
  height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--lrb-blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.lrb-upcoming-list {
  display: grid;
  gap: 8px;
}

.lrb-upcoming-item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(39, 53, 131, 0.08);
  border-radius: 14px;
  background: #fff;
}

.lrb-upcoming-date {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--lrb-blue);
  line-height: 1.1;
}

.lrb-upcoming-date strong {
  font-size: 14px;
  font-weight: 700;
}

.lrb-upcoming-date span {
  font-size: 13px;
  color: #6b7280;
}

.lrb-upcoming-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lrb-upcoming-main strong,
.lrb-upcoming-main span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lrb-upcoming-main strong {
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
}

.lrb-upcoming-main span {
  color: #6b7280;
  font-size: 13px;
}

.lrb-upcoming-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.lrb-upcoming-status.status-pending { background: #fff2c7; color: #6a4a00; }
.lrb-upcoming-status.status-approved { background: #daf5df; color: #176129; }
.lrb-upcoming-status.status-rejected { background: #ffe1e1; color: #8a1c1c; }
.lrb-upcoming-status.status-cancelled { background: #eceff4; color: #4b5563; }
.lrb-upcoming-status.status-busy { background: #eee8ff; color: #4b2f9d; }

.lrb-upcoming-empty {
  padding: 14px;
  border-radius: 14px;
  background: #fff;
  color: #6b7280;
  border: 1px dashed rgba(39, 53, 131, 0.18);
}

@media (max-width: 760px) {
  .lrb-upcoming-item {
    grid-template-columns: 62px 1fr;
  }
  .lrb-upcoming-status {
    grid-column: 2;
    justify-self: start;
  }
}

.lrb-login-help {
  margin-top: 12px;
  text-align: center;
  font-size: 14px;
}

.lrb-login-help a {
  color: var(--lrb-blue);
  font-weight: 700;
  text-decoration: none;
}

.lrb-login-extra {
  margin-top: 12px;
  text-align: center;
  font-size: 15px;
  color: #4b5563;
}

.lrb-login-extra a {
  color: var(--lrb-blue);
  font-weight: 700;
  text-decoration: none;
}

.lrb-register-card {
  max-width: 760px;
}

.lrb-upcoming-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.lrb-contact-owner {
  border: 1px solid rgba(39, 53, 131, 0.22);
  color: var(--lrb-blue);
  background: #fff;
  border-radius: 999px;
  padding: 5px 9px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.lrb-contact-owner:hover {
  background: #f4f6ff;
  border-color: rgba(39, 53, 131, 0.42);
}

.lrb-info-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(39, 53, 131, 0.28);
  background: #f7f9ff;
  color: var(--lrb-blue);
  font-size: 11px;
  font-weight: 800;
  cursor: help;
  position: relative;
  line-height: 1;
}
.lrb-info-tip::after {
  content: attr(aria-label);
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  width: 260px;
  max-width: 70vw;
  padding: 9px 10px;
  border-radius: 12px;
  background: #14264d;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index: 50;
  pointer-events: none;
}
.lrb-info-tip:hover::after,
.lrb-info-tip:focus::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (max-width: 760px) {
  .lrb-upcoming-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
}


/* v2.2.0 - gestione categorie/legenda risorse */
.lrb-resource-legend,
.lrb-legend.compact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.lrb-resource-legend li {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}
.lrb-resource-legend .resource-dot {
  width: 16px;
  height: 16px;
  border-radius: 6px;
  flex: 0 0 16px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.lrb-resource-legend strong {
  display: block;
  font-size: 14px;
  line-height: 1.1;
  color: var(--lrb-blue);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lrb-resource-legend small {
  display: block;
  color: #6b7280;
  font-size: 12px;
  margin-top: 2px;
}
.lrb-legend.compact li {
  font-size: 14px;
  line-height: 1.1;
}
.lrb-muted {
  color: #6b7280;
  margin: 0;
}
.lrb-booking-form optgroup {
  color: var(--lrb-blue);
  font-weight: 700;
}
.lrb-booking-form option {
  color: #111827;
  font-weight: 400;
}
.fc .fc-event {
  border-radius: 8px !important;
  font-weight: 700;
}

/* v2.3.0 - responsive smartphone/tablet + favicon release */
.lrb-portal {
  --lrb-safe-pad: clamp(14px, 2vw, 32px);
}

.lrb-app-shell {
  width: 100%;
  overflow-x: hidden;
}

.lrb-portal .lrb-topbar {
  gap: 18px;
}

.lrb-portal .lrb-nav {
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 1180px) {
  .lrb-portal .lrb-grid-main {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    align-items: start;
  }
  .lrb-portal .lrb-form-card {
    grid-column: 1 / -1;
  }
  .lrb-portal .lrb-calendar-column,
  .lrb-portal .lrb-sidebar {
    grid-row: auto;
  }
}

@media (max-width: 920px) {
  .lrb-portal {
    padding-left: var(--lrb-safe-pad) !important;
    padding-right: var(--lrb-safe-pad) !important;
  }
  .lrb-portal .lrb-topbar {
    display: grid;
    grid-template-columns: 1fr;
    text-align: center;
    padding: 18px;
  }
  .lrb-portal .lrb-logo {
    justify-content: center;
    margin: 0 auto;
  }
  .lrb-portal .lrb-logo img {
    max-width: 190px;
    height: auto;
  }
  .lrb-portal .lrb-user-menu {
    justify-content: center;
    width: 100%;
  }
  .lrb-portal .lrb-hero {
    text-align: center;
    margin: 22px auto 18px;
  }
  .lrb-portal .lrb-hero h1 {
    font-size: clamp(34px, 7vw, 56px);
    line-height: 1;
  }
  .lrb-portal .lrb-grid-main {
    grid-template-columns: 1fr !important;
  }
  .lrb-portal .lrb-sidebar {
    grid-template-columns: 1fr 1fr;
    display: grid;
    gap: 16px;
  }
  .lrb-portal .lrb-side-card {
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .lrb-portal {
    padding-top: 12px !important;
  }
  .lrb-portal .lrb-topbar {
    border-radius: 18px;
  }
  .lrb-portal .lrb-nav {
    gap: 8px;
  }
  .lrb-portal .lrb-nav a {
    font-size: 15px;
    padding: 9px 12px;
  }
  .lrb-portal .lrb-user,
  .lrb-portal .lrb-logout {
    font-size: 15px;
  }
  .lrb-portal .lrb-card,
  .lrb-portal .lrb-side-card,
  .lrb-portal .lrb-form-card,
  .lrb-portal .lrb-calendar-card,
  .lrb-portal .lrb-table-card {
    border-radius: 18px;
  }
  .lrb-portal .lrb-booking-form .lrb-two,
  .lrb-portal .lrb-two,
  .lrb-portal .lrb-form-row {
    grid-template-columns: 1fr !important;
  }
  .lrb-portal input,
  .lrb-portal select,
  .lrb-portal textarea,
  .lrb-portal button,
  .lrb-portal .lrb-button {
    font-size: 16px !important;
  }
  .lrb-portal .lrb-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .lrb-portal .lrb-sidebar {
    grid-template-columns: 1fr;
  }
  .lrb-portal .lrb-help-card {
    padding: 16px;
  }
  .lrb-portal .lrb-help-card p {
    font-size: 15px;
    line-height: 1.35;
  }
  .lrb-portal .lrb-help-card .lrb-button,
  .lrb-portal .lrb-help-card a {
    width: 100%;
    justify-content: center;
  }
  #lrb-calendar {
    min-height: auto !important;
  }
  #lrb-calendar .fc-toolbar.fc-header-toolbar {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
    justify-items: stretch;
  }
  #lrb-calendar .fc-toolbar-chunk {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 8px;
  }
  #lrb-calendar .fc-toolbar-title {
    text-align: center;
    font-size: 26px !important;
  }
  #lrb-calendar .fc-button,
  #lrb-calendar .fc-button-primary {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 13px !important;
  }
  #lrb-calendar .fc-daygrid-day-frame {
    min-height: 62px !important;
  }
  #lrb-calendar .fc-col-header-cell-cushion,
  #lrb-calendar .fc-daygrid-day-number {
    font-size: 12px !important;
  }
  #lrb-calendar .fc-event-title,
  #lrb-calendar .fc-event-time {
    font-size: 10px !important;
  }
  .lrb-portal .lrb-table-wrap,
  .lrb-portal .lrb-table-card {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .lrb-portal table.lrb-table {
    min-width: 760px;
  }
}

@media (max-width: 480px) {
  .lrb-portal .lrb-logo img,
  .lrb-login-logo {
    max-width: 220px;
  }
  .lrb-portal .lrb-hero h1 {
    font-size: 38px;
  }
  .lrb-portal .lrb-hero p {
    font-size: 16px;
  }
  .lrb-portal .lrb-card-title {
    font-size: 24px;
  }
  #lrb-calendar .fc-daygrid-day-frame {
    min-height: 54px !important;
  }
  #lrb-calendar .fc-event {
    padding: 1px 3px !important;
  }
}

/* v2.3.1 - mobile UX dedicata + favicon robusta */
.lrb-mobile-tabs {
  display: none;
}

@media (max-width: 760px) {
  html {
    scroll-behavior: smooth;
  }
  body.lrb-app-body {
    background: #f5f7fb !important;
  }
  .lrb-app-shell {
    overflow-x: hidden !important;
  }
  .lrb-portal {
    padding: 10px !important;
    border-radius: 0 !important;
    background: #f5f7fb !important;
  }
  .lrb-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    margin-bottom: 14px !important;
  }
  .lrb-brand,
  .lrb-logo {
    display: flex !important;
    justify-content: center !important;
  }
  .lrb-brand img,
  .lrb-logo img {
    width: 170px !important;
    max-width: 70vw !important;
  }
  .lrb-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 6px !important;
  }
  .lrb-nav a {
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    padding: 9px 6px !important;
    border-radius: 12px !important;
  }
  .lrb-user-menu {
    justify-content: center !important;
    gap: 8px !important;
  }
  .lrb-user,
  .lrb-logout {
    font-size: 13px !important;
    padding: 8px 10px !important;
  }
  .lrb-hero {
    text-align: left !important;
    margin: 14px 0 10px !important;
  }
  .lrb-hero h1 {
    font-size: 34px !important;
    line-height: 0.98 !important;
    margin-bottom: 8px !important;
  }
  .lrb-hero p {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
  .lrb-mobile-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 12px 0 14px;
  }
  .lrb-mobile-tabs a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 7px;
    text-align: center;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #dfe5f2;
    color: var(--lrb-blue);
    text-decoration: none;
    font-weight: 800;
    font-size: 13px;
    line-height: 1.05;
    box-shadow: 0 8px 22px rgba(20,31,68,0.06);
  }
  .lrb-grid-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .lrb-form-card {
    order: 1;
  }
  .lrb-calendar-card {
    order: 2;
  }
  .lrb-sidebar {
    order: 3;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .lrb-card,
  .lrb-side-card,
  .lrb-form-card,
  .lrb-calendar-card,
  .lrb-table-card {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border-radius: 17px !important;
  }
  .lrb-card-title {
    gap: 9px !important;
    margin-bottom: 12px !important;
  }
  .lrb-card-title h3 {
    font-size: 24px !important;
    line-height: 1 !important;
  }
  .lrb-form-section {
    margin-top: 14px !important;
    padding-top: 12px !important;
  }
  .lrb-form-section span {
    font-size: 17px !important;
  }
  .lrb-booking-form label {
    font-size: 15px !important;
  }
  .lrb-booking-form input,
  .lrb-booking-form select,
  .lrb-booking-form textarea {
    width: 100% !important;
    max-width: none !important;
    min-height: 46px !important;
    font-size: 16px !important;
    border-radius: 13px !important;
  }
  .lrb-booking-form textarea {
    min-height: 92px !important;
  }
  .lrb-booking-form .lrb-two,
  .lrb-form-row,
  .lrb-two {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .lrb-actions {
    grid-template-columns: 1fr !important;
  }
  .lrb-actions button,
  .lrb-actions .lrb-button {
    width: 100% !important;
    min-height: 46px !important;
  }
  .lrb-consent,
  .lrb-checkbox-row {
    align-items: flex-start !important;
    gap: 10px !important;
    line-height: 1.3 !important;
  }

  /* Mobile: il calendario diventa agenda, senza griglia mensile stretta. */
  #lrb-calendar {
    overflow: visible !important;
  }
  #lrb-calendar .fc {
    min-width: 0 !important;
    width: 100% !important;
  }
  #lrb-calendar .fc-toolbar.fc-header-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  #lrb-calendar .fc-toolbar-chunk {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  #lrb-calendar .fc-toolbar-title {
    font-size: 22px !important;
    line-height: 1 !important;
    text-align: center !important;
  }
  #lrb-calendar .fc-button,
  #lrb-calendar .fc-button-primary {
    min-height: 34px !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }
  #lrb-calendar .fc-list {
    border-radius: 14px !important;
    overflow: hidden !important;
    border-color: #e3e8f2 !important;
  }
  #lrb-calendar .fc-list-day-cushion {
    background: #f3f5fb !important;
    color: var(--lrb-blue) !important;
    font-weight: 800 !important;
  }
  #lrb-calendar .fc-list-event-title,
  #lrb-calendar .fc-list-event-time {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
  #lrb-calendar .fc-dayGridMonth-view,
  #lrb-calendar .fc-timeGridWeek-view,
  #lrb-calendar .fc-timeGridDay-view {
    display: none !important;
  }
  .lrb-upcoming-panel {
    margin-top: 12px !important;
    padding: 13px !important;
    border-radius: 16px !important;
  }
  .lrb-upcoming-head h3 {
    font-size: 20px !important;
  }
  .lrb-upcoming-item {
    grid-template-columns: 58px 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
  }
  .lrb-upcoming-actions,
  .lrb-upcoming-status {
    grid-column: 2 !important;
    justify-self: start !important;
  }
  .lrb-resource-legend,
  .lrb-legend.compact {
    gap: 8px !important;
  }
  .lrb-side-card h3,
  .lrb-help-card h3 {
    font-size: 20px !important;
  }
  .lrb-help-card {
    border-left-width: 4px !important;
  }
  .lrb-help-card p {
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }
  .lrb-help-button {
    width: 100% !important;
    min-height: 40px !important;
  }
  .lrb-table-card {
    overflow: hidden !important;
  }
  .lrb-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  table.lrb-table {
    min-width: 720px !important;
  }
  .lrb-footer {
    font-size: 13px !important;
    text-align: center !important;
    padding: 14px 0 !important;
  }
}

@media (max-width: 430px) {
  .lrb-mobile-tabs {
    grid-template-columns: 1fr !important;
  }
  .lrb-nav {
    grid-template-columns: 1fr !important;
  }
  .lrb-hero h1 {
    font-size: 30px !important;
  }
}


/* v2.3.3 - miglioramenti mobile per privacy/condizioni e aree di consenso */
.lrb-checkbox span {
  display: block;
  min-width: 0;
}

@media (max-width: 760px) {
  .lrb-form-section span {
    max-width: 100%;
    white-space: normal !important;
  }
  .lrb-checkbox {
    display: grid !important;
    grid-template-columns: 24px 1fr !important;
    align-items: start !important;
    gap: 10px !important;
    padding: 12px !important;
    border: 1px solid #e2e7f2 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    margin: 10px 0 14px !important;
  }
  .lrb-checkbox input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    margin: 1px 0 0 !important;
    min-height: 20px !important;
  }
  .lrb-checkbox span {
    font-size: 14px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-checkbox a {
    display: inline !important;
    white-space: normal !important;
  }
  .lrb-document-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }
  .lrb-document-card h1 {
    font-size: 30px !important;
    line-height: 1.05 !important;
  }
  .lrb-document-card h2 {
    font-size: 21px !important;
    line-height: 1.15 !important;
  }
  .lrb-document-card p,
  .lrb-document-card li {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
}

/* LINKNET custom modal dialogs */
.lrb-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(12, 18, 38, 0.46);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  backdrop-filter: blur(4px);
}
.lrb-modal-card {
  width: min(520px, 100%);
  background: #ffffff;
  border: 1px solid #e4e8f2;
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(39, 53, 131, 0.24);
  padding: 28px;
  text-align: center;
  color: #1d1d1b;
  font-family: "Arial Narrow", Arial, sans-serif;
}
.lrb-modal-heart {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: #fff9db;
  border: 1px solid #ffe58a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.lrb-modal-heart img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.lrb-modal-card h3 {
  margin: 0 0 10px;
  color: #273583;
  font-size: 28px;
  line-height: 1.1;
}
.lrb-modal-message {
  margin: 0 0 18px;
  color: #445066;
  font-size: 17px;
  line-height: 1.45;
}
.lrb-modal-textarea {
  width: 100%;
  min-height: 130px;
  resize: vertical;
  border: 1px solid #dbe1ed;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 16px;
  box-sizing: border-box;
  outline: none;
}
.lrb-modal-textarea:focus {
  border-color: #273583;
  box-shadow: 0 0 0 4px rgba(39, 53, 131, .12);
}
.lrb-modal-error {
  min-height: 20px;
  color: #d93636;
  font-weight: 700;
  margin-top: 8px;
  text-align: left;
}
.lrb-modal-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.lrb-modal-btn {
  border: 0;
  border-radius: 14px;
  padding: 12px 18px;
  font-weight: 800;
  cursor: pointer;
  font-size: 16px;
  font-family: "Arial Narrow", Arial, sans-serif;
}
.lrb-modal-primary {
  background: #273583;
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(39, 53, 131, .22);
}
.lrb-modal-secondary {
  background: #f1f4fa;
  color: #273583;
}
.lrb-modal-danger {
  background: #d93636;
  color: #ffffff;
}

/* Terms page icon layout */
.lrb-terms-card .lrb-terms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0;
}
.lrb-terms-card .lrb-terms-grid section {
  border: 1px solid #e3e8f2;
  background: #fbfcff;
  border-radius: 18px;
  padding: 18px;
}
.lrb-terms-card .lrb-terms-grid h2,
.lrb-doc-callout h2 {
  margin-top: 0;
}
.lrb-doc-callout {
  background: #fff9db;
  border: 1px solid #ffe58a;
  border-radius: 18px;
  padding: 18px;
  margin: 18px 0;
}
.lrb-doc-callout-light {
  background: #f7f8fc;
  border-color: #e3e8f2;
}

@media (max-width: 760px) {
  .lrb-modal-card {
    padding: 22px;
    border-radius: 20px;
  }
  .lrb-modal-card h3 {
    font-size: 24px;
  }
  .lrb-modal-actions {
    flex-direction: column-reverse;
  }
  .lrb-modal-btn {
    width: 100%;
  }
  .lrb-terms-card .lrb-terms-grid {
    grid-template-columns: 1fr;
  }
}

/* v2.4.1 - Upcoming period start/end */
.lrb-upcoming-item {
  grid-template-columns: 148px 1fr auto;
}
.lrb-upcoming-period {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  min-width: 0;
}
.lrb-upcoming-period .lrb-upcoming-date {
  background: #f7f8fc;
  border: 1px solid #e8ecf5;
  border-radius: 12px;
  padding: 7px 8px;
}
.lrb-upcoming-date small {
  font-size: 10px;
  line-height: 1;
  color: #7b8494;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 700;
}
@media (max-width: 760px) {
  .lrb-upcoming-item {
    grid-template-columns: 1fr;
  }
  .lrb-upcoming-period {
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .lrb-upcoming-main,
  .lrb-upcoming-actions,
  .lrb-upcoming-status {
    grid-column: auto;
  }
}

/* v2.4.2 - viste settimana/giorno più compatte */
#lrb-calendar .fc-timegrid-axis-cushion,
#lrb-calendar .fc-timegrid-slot-label-cushion {
  font-size: 13px !important;
  line-height: 1.1 !important;
}
#lrb-calendar .fc-timegrid-slot {
  height: 28px !important;
}
#lrb-calendar .fc-timegrid-divider {
  display: none !important;
}
#lrb-calendar .fc-timegrid-event {
  border-radius: 8px !important;
  padding: 3px 5px !important;
  font-size: 12px !important;
}
#lrb-calendar .fc-timegrid-event .fc-event-main {
  line-height: 1.15 !important;
}
@media (max-width: 760px) {
  #lrb-calendar .fc-timeGridWeek-view,
  #lrb-calendar .fc-timeGridDay-view {
    display: none !important;
  }
}

/* v2.5.0 - link calendario personale */
.lrb-calendar-link-card p {
  margin: 0 0 12px 0;
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 1.35;
}
.lrb-calendar-feed-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  margin: 10px 0;
}
.lrb-calendar-feed-box input {
  width: 100%;
  min-width: 0;
  border: 1px solid #d8deea;
  border-radius: 12px;
  padding: 10px 12px;
  font-family: "Arial Narrow", Arial, sans-serif;
  color: #273583;
  background: #fff;
}
.lrb-calendar-feed-box button {
  border: 1px solid #273583;
  background: #273583;
  color: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.lrb-calendar-link-card small {
  display: block;
  color: #6b7280;
  line-height: 1.3;
}
@media (max-width: 760px) {
  .lrb-calendar-feed-box { grid-template-columns: 1fr; }
  .lrb-calendar-feed-box button { width: 100%; }
}


/* v2.5.2 - leggibilità eventi calendario e box calendario personale */
#lrb-calendar .fc-event,
#lrb-calendar .fc-event-main,
#lrb-calendar .fc-event-title,
#lrb-calendar .fc-event-time {
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

#lrb-calendar .fc-event {
  border: 1px solid rgba(17, 24, 39, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.28), 0 2px 6px rgba(20,31,68,0.08) !important;
}

#lrb-calendar .lrb-event-status-pending {
  background: #ffe89b !important;
  color: #2f2500 !important;
}
#lrb-calendar .lrb-event-status-pending .fc-event-main,
#lrb-calendar .lrb-event-status-pending .fc-event-title,
#lrb-calendar .lrb-event-status-pending .fc-event-time {
  color: #2f2500 !important;
}

#lrb-calendar .lrb-event-status-approved {
  background: #c8f0d0 !important;
  color: #063f16 !important;
}
#lrb-calendar .lrb-event-status-approved .fc-event-main,
#lrb-calendar .lrb-event-status-approved .fc-event-title,
#lrb-calendar .lrb-event-status-approved .fc-event-time {
  color: #063f16 !important;
}

#lrb-calendar .lrb-event-status-busy {
  background: #ddd3ff !important;
  color: #2f1c79 !important;
}
#lrb-calendar .lrb-event-status-busy .fc-event-main,
#lrb-calendar .lrb-event-status-busy .fc-event-title,
#lrb-calendar .lrb-event-status-busy .fc-event-time {
  color: #2f1c79 !important;
}

#lrb-calendar .lrb-event-status-rejected {
  background: #ffd2d2 !important;
  color: #6f1111 !important;
}
#lrb-calendar .lrb-event-status-cancelled {
  background: #e7ebf2 !important;
  color: #374151 !important;
}

.lrb-calendar-link-card {
  padding: 16px !important;
}
.lrb-calendar-link-card h3 {
  font-size: 18px !important;
  line-height: 1.1 !important;
  margin-bottom: 8px !important;
}
.lrb-calendar-link-card p {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
  color: #4b5563 !important;
}
.lrb-calendar-link-card small {
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: #6b7280 !important;
}
.lrb-calendar-feed-box {
  gap: 7px !important;
  margin: 8px 0 10px !important;
}
.lrb-calendar-feed-box input {
  min-height: 38px !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
  border-radius: 11px !important;
}
.lrb-calendar-feed-box button {
  min-height: 38px !important;
  padding: 8px 11px !important;
  font-size: 13px !important;
  border-radius: 11px !important;
}

/* v2.5.3 - attrezzature/extra selezionabili */
.lrb-equipment-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.lrb-equipment-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--lrb-border, #dfe5ef);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.lrb-equipment-option:hover {
  border-color: rgba(39, 53, 131, .35);
  box-shadow: 0 8px 20px rgba(39, 53, 131, .08);
}
.lrb-equipment-option input {
  margin-top: 3px;
}
.lrb-equipment-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.lrb-equipment-main strong {
  color: var(--lrb-blue, #273583);
  font-size: .98rem;
}
.lrb-equipment-main small,
.lrb-equipment-main em {
  color: #667085;
  font-style: normal;
  line-height: 1.35;
}
.lrb-equipment-badge {
  grid-column: 2;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff3cd;
  color: #7a4d00;
  border: 1px solid #ffe08a;
  font-size: .82rem;
  font-weight: 700;
}
.lrb-equipment-badge.muted {
  background: #eef2ff;
  color: var(--lrb-blue, #273583);
  border-color: #d7ddff;
}
.lrb-field-help {
  margin: 8px 0 0;
  font-size: .9rem;
  color: #667085;
}
@media (max-width: 760px) {
  .lrb-equipment-option {
    border-radius: 12px;
    padding: 11px;
  }
  .lrb-equipment-badge {
    grid-column: 1 / -1;
    margin-left: 26px;
  }
}

/* Demo Portale Servizi customizations */
:root {
  --lrb-blue: #6f5a2a;
  --lrb-yellow: #d9b44a;
  --lrb-dark: #1f2933;
  --lrb-soft: #fbf8ef;
}
.lrb-booking-form select[multiple] {
  min-height: 150px;
  padding: 10px 12px;
  line-height: 1.45;
}
.lrb-booking-form select[multiple] option {
  padding: 7px 8px;
}
.lrb-booking-form select[multiple] optgroup {
  font-weight: 800;
  color: var(--lrb-blue);
}


/* v1.7.82 - compatta il selettore attrezzature aggiuntive nel frontend */
.lrb-booking-form #lrb_multi_equipment_box {
  padding-bottom: 10px;
}
.lrb-booking-form #lrb_equipment_item {
  min-height: 0 !important;
  height: auto !important;
  max-height: 138px;
  padding: 6px 10px;
}
.lrb-booking-form #lrb_equipment_item option {
  padding: 4px 8px;
}
.lrb-booking-form #lrb_equipment_item optgroup {
  line-height: 1.25;
}

/* v1.1.0 - proposta grafica chiara, selezioni compatte e ricorrenze */
:root {
  --lrb-primary: #17365d;
  --lrb-primary-soft: #eef4fb;
  --lrb-accent: #f2c94c;
  --lrb-accent-soft: #fff8df;
  --lrb-bg: #f6f8fb;
  --lrb-card: #ffffff;
  --lrb-border: #dfe7f1;
  --lrb-text: #1f2937;
  --lrb-muted: #667085;
}
body.lrb-app-body,
.lrb-app-body {
  background: linear-gradient(180deg, #f8fafc 0%, #eef4fb 100%) !important;
  color: var(--lrb-text);
}
.lrb-hero,
.lrb-app-header,
.lrb-header {
  background: linear-gradient(135deg, #ffffff 0%, #eef4fb 100%) !important;
  border-color: var(--lrb-border) !important;
}
.lrb-card {
  background: var(--lrb-card) !important;
  border-color: var(--lrb-border) !important;
  box-shadow: 0 16px 42px rgba(23, 54, 93, .08) !important;
}
.lrb-button-primary,
.lrb-modal-primary,
.lrb-copy-calendar-link,
button.lrb-contact-owner {
  background: var(--lrb-primary) !important;
  border-color: var(--lrb-primary) !important;
  color: #fff !important;
}
.lrb-button-secondary,
.lrb-mini-button {
  border-color: var(--lrb-border) !important;
  color: var(--lrb-primary) !important;
}
.lrb-card-title span,
.lrb-form-section span {
  color: var(--lrb-primary) !important;
}
.lrb-form-section span:before,
.lrb-legend-dot,
.lrb-modal-heart {
  background: var(--lrb-accent) !important;
}
.lrb-hidden { display: none !important; }
.lrb-compact-toggle {
  margin: -2px 0 12px 0 !important;
  padding: 10px 12px !important;
  background: var(--lrb-primary-soft) !important;
  border: 1px solid var(--lrb-border) !important;
  border-radius: 14px !important;
}
.lrb-advanced-select,
.lrb-recurrence-box {
  background: #fbfdff;
  border: 1px dashed #b9c8db;
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 14px;
}
.lrb-weekdays {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lrb-weekdays label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid var(--lrb-border);
  border-radius: 12px;
  font-weight: 700;
  color: var(--lrb-primary);
}
.lrb-field select[size] {
  min-height: auto;
}
.lrb-field-help {
  color: var(--lrb-muted) !important;
}
.fc .fc-event {
  border-radius: 8px !important;
  font-weight: 700 !important;
}
@media (max-width: 760px) {
  .lrb-advanced-select,
  .lrb-recurrence-box { padding: 12px; }
  .lrb-weekdays label { flex: 1 1 calc(33.33% - 8px); justify-content: center; }
}

/* v1.2.0: palette più chiara e modulo eventi comunitari */
:root {
  --lrb-blue: #172b5f;
  --lrb-yellow: #f2c94c;
  --lrb-bg: #f6f8fc;
  --lrb-border: #dde4f0;
  --lrb-text: #162033;
  --lrb-muted: #647086;
}
.lrb-portal {
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%) !important;
}
.lrb-card,
.lrb-topbar {
  box-shadow: 0 12px 30px rgba(23,43,95,.08) !important;
}
.lrb-card-title .dashicons,
.lrb-form-section span {
  color: var(--lrb-blue);
}
.lrb-button-primary,
.lrb-modal-primary {
  background: var(--lrb-blue) !important;
  border-color: var(--lrb-blue) !important;
}
.lrb-button-primary:hover,
.lrb-modal-primary:hover {
  filter: brightness(.95);
}
.lrb-compact-toggle {
  background: #f8fafc;
  border: 1px solid var(--lrb-border);
  border-radius: 14px;
  padding: 10px 12px;
}
.lrb-field-help strong { color: var(--lrb-blue); }
.lrb-community-event-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 18px;
}
.lrb-community-event-card .lrb-doc-callout {
  margin: 12px 0;
  padding: 14px;
}
.lrb-community-event-card .lrb-mini-callout h4 {
  margin: 0 0 6px;
  color: var(--lrb-blue);
}
.lrb-community-event-card .lrb-event-meta {
  color: var(--lrb-text);
  margin: 8px 0;
}
.lrb-community-event-form {
  margin-top: 16px;
  border-top: 1px solid var(--lrb-border);
  padding-top: 16px;
}
@media (max-width: 720px) {
  .lrb-community-event-grid { grid-template-columns: 1fr; }
}

/* Area pubblica pranzi/cene nella schermata di accesso */
.lrb-login-public-events {
  width: min(1040px, calc(100vw - 32px));
  margin: 22px auto 0;
  background: #ffffff;
  border: 1px solid var(--lrb-border);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 16px 40px rgba(23,43,95,.10);
}
.lrb-login-events-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 0 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--lrb-border);
}
.lrb-login-events-icon {
  display: inline-flex;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  align-items: center;
  justify-content: center;
  background: rgba(242,201,76,.22);
  font-size: 25px;
}
.lrb-login-events-head h3 {
  margin: 0;
  color: var(--lrb-blue);
  font-size: 24px;
  line-height: 1.1;
}
.lrb-login-events-head p {
  margin: 4px 0 0;
  color: var(--lrb-muted);
  font-size: 15px;
}
.lrb-community-event-grid-compact {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.lrb-community-event-card-compact {
  box-shadow: none !important;
  border: 1px solid var(--lrb-border);
  background: #fbfdff;
}
.lrb-community-event-card-compact .lrb-card-title h3 {
  font-size: 20px;
}
.lrb-community-event-card-compact .lrb-event-description,
.lrb-community-event-card-compact .lrb-doc-callout {
  font-size: 14px;
}
.lrb-community-event-card-compact .lrb-community-event-form {
  margin-top: 12px;
  padding-top: 12px;
}
@media (max-width: 720px) {
  .lrb-login-public-events {
    width: calc(100vw - 20px);
    padding: 16px;
    border-radius: 18px;
  }
  .lrb-login-events-head {
    align-items: flex-start;
  }
  .lrb-login-events-head h3 {
    font-size: 20px;
  }
}


/* ===== v1.2.2: home login + pranzi/cene balanced layout ===== */
body .lrb-portal.lrb-login-box.lrb-login-with-events {
  width: min(1120px, calc(100vw - 40px));
  max-width: 1120px;
  display: grid;
  grid-template-columns: minmax(360px, 520px) minmax(360px, 520px);
  gap: 24px;
  align-items: start;
  justify-content: center;
  margin: 34px auto;
  transform: none;
}
.lrb-login-with-events .lrb-login-card,
.lrb-login-with-events .lrb-login-public-events {
  width: 100%;
  max-width: 520px;
  min-height: 0;
}
.lrb-login-with-events .lrb-login-public-events {
  margin: 0;
  padding: 28px;
  border-radius: 20px;
  box-shadow: 0 14px 35px rgba(20, 31, 68, 0.08);
}
.lrb-login-with-events .lrb-login-events-head h3 {
  font-size: 22px;
}
.lrb-login-with-events .lrb-community-event-grid-compact {
  display: block;
}
.lrb-login-with-events .lrb-community-event-card-compact {
  margin: 0;
  padding: 18px;
  background: #fff;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.lrb-login-with-events .lrb-community-event-card-compact input,
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
}
@media (max-width: 900px) {
  body .lrb-portal.lrb-login-box.lrb-login-with-events {
    width: min(560px, calc(100vw - 24px));
    max-width: 560px;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
    grid-template-columns: 1fr;
  }
}


/* ===== v1.2.3: home eventi pubblici piu ordinata con piu eventi ===== */
body .lrb-portal.lrb-login-box.lrb-login-with-events {
  width: min(1240px, calc(100vw - 40px));
  max-width: 1240px;
  grid-template-columns: minmax(380px, 520px) minmax(480px, 660px);
  align-items: stretch;
}
.lrb-login-with-events .lrb-login-card {
  max-width: 520px;
  min-height: 760px;
}
.lrb-login-with-events .lrb-login-public-events {
  max-width: 660px;
  min-height: 760px;
  max-height: 760px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lrb-login-with-events .lrb-login-events-head {
  flex: 0 0 auto;
  margin-bottom: 14px;
  padding-bottom: 14px;
}
.lrb-login-with-events .lrb-community-event-grid-compact {
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
}
.lrb-login-with-events .lrb-community-event-card-compact {
  flex: 0 0 auto;
  padding: 18px 18px 16px;
  border-radius: 18px;
}
.lrb-login-with-events .lrb-community-event-card-compact + .lrb-community-event-card-compact {
  margin-top: 0;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-card-title {
  margin-bottom: 10px;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-event-meta {
  font-size: 15px;
  margin: 7px 0;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-doc-callout {
  display: block;
  margin: 10px 0;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.35;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-mini-callout h4 {
  font-size: 15px;
  margin-bottom: 4px;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-doc-callout p {
  margin: 4px 0 0;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-community-event-form {
  margin-top: 12px;
  padding-top: 12px;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-field label {
  font-size: 13px;
  margin-bottom: 5px;
}
.lrb-login-with-events .lrb-community-event-card-compact input,
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  min-height: 38px;
  font-size: 14px;
}
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  min-height: 58px;
}
.lrb-login-with-events .lrb-event-privacy {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid var(--lrb-border);
  gap: 8px;
}
.lrb-login-with-events .lrb-event-privacy input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 1px;
}
.lrb-login-with-events .lrb-event-privacy span {
  font-size: 13px;
  line-height: 1.25;
}
.lrb-login-with-events .lrb-event-privacy a {
  font-weight: 800;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-actions {
  margin-top: 10px;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-button {
  padding: 10px 14px;
  min-height: 40px;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-info-default {
  font-size: 13px;
  padding: 9px 10px;
  margin-top: 10px;
}
@media (max-width: 980px) {
  body .lrb-portal.lrb-login-box.lrb-login-with-events {
    width: min(640px, calc(100vw - 24px));
    max-width: 640px;
    grid-template-columns: 1fr;
  }
  .lrb-login-with-events .lrb-login-card,
  .lrb-login-with-events .lrb-login-public-events {
    max-width: 640px;
    min-height: 0;
    max-height: none;
  }
  .lrb-login-with-events .lrb-community-event-grid-compact {
    overflow-y: visible;
    padding-right: 0;
  }
}

/* ===== v1.2.4: eventi pubblici senza scroll, card separate e campi allineati ===== */
body .lrb-portal.lrb-login-box.lrb-login-with-events {
  width: min(1180px, calc(100vw - 40px));
  max-width: 1180px;
  grid-template-columns: minmax(380px, 520px) minmax(380px, 520px);
  gap: 28px;
  align-items: start;
}
.lrb-login-with-events .lrb-login-card,
.lrb-login-with-events .lrb-login-public-events {
  max-width: 520px;
  width: 100%;
}
.lrb-login-with-events .lrb-login-card {
  min-height: auto;
}
.lrb-login-with-events .lrb-login-public-events {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.lrb-login-with-events .lrb-login-events-head {
  background: #fff;
  border: 1px solid var(--lrb-border);
  border-radius: 22px;
  padding: 18px 20px;
  margin: 0;
  box-shadow: 0 14px 35px rgba(20, 31, 68, 0.08);
}
.lrb-login-with-events .lrb-community-event-grid-compact {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: visible !important;
  max-height: none !important;
  padding-right: 0 !important;
}
.lrb-login-with-events .lrb-community-event-card-compact {
  width: 100%;
  margin: 0 !important;
  padding: 22px !important;
  border-radius: 22px !important;
  border: 1px solid var(--lrb-border) !important;
  background: #fff !important;
  box-shadow: 0 14px 35px rgba(20, 31, 68, 0.08) !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-card-title h3 {
  font-size: 21px;
  line-height: 1.15;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-event-meta {
  font-size: 15px;
  margin: 7px 0;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-doc-callout {
  margin: 10px 0;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.35;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-community-event-form {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--lrb-border);
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: end;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-field {
  margin-bottom: 12px;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-field label {
  display: block;
  min-height: 18px;
  font-size: 13px;
  margin-bottom: 5px;
}
.lrb-login-with-events .lrb-community-event-card-compact input,
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  width: 100% !important;
  min-height: 42px;
  border-radius: 12px;
  font-size: 14px;
  box-sizing: border-box;
}
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  min-height: 64px;
}
.lrb-login-with-events .lrb-event-privacy {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 2px 0 10px;
  padding: 4px 0;
  border: 0 !important;
  background: transparent !important;
}
.lrb-login-with-events .lrb-event-privacy input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin: 0;
}
.lrb-login-with-events .lrb-event-privacy span {
  font-size: 12px;
  line-height: 1.2;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-button {
  min-height: 40px;
  padding: 10px 16px;
}
@media (max-width: 980px) {
  body .lrb-portal.lrb-login-box.lrb-login-with-events {
    width: min(560px, calc(100vw - 24px));
    max-width: 560px;
    grid-template-columns: 1fr;
  }
  .lrb-login-with-events .lrb-login-card,
  .lrb-login-with-events .lrb-login-public-events {
    max-width: 560px;
  }
  .lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* v1.2.5 - home eventi pubblici compatta e gestione popup */
.lrb-login-with-events {
  align-items: stretch;
  gap: 22px;
}
.lrb-login-with-events .lrb-login-card,
.lrb-login-with-events .lrb-login-public-events {
  align-self: stretch;
}
.lrb-login-with-events .lrb-login-public-events {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: grid;
  gap: 16px;
}
.lrb-login-with-events .lrb-community-event-grid-compact {
  display: grid !important;
  gap: 16px !important;
  max-height: none !important;
  overflow: visible !important;
}
.lrb-login-with-events .lrb-community-event-card-compact {
  width: min(560px, 100%);
  min-height: auto;
  padding: 18px !important;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.11);
}
.lrb-event-compact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 6px 0 10px;
}
.lrb-event-compact-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f4f7fb;
  border: 1px solid #e4eaf3;
  color: #26324a;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 650;
}
.lrb-event-compact-meta .lrb-event-places {
  background: #fff8dd;
  border-color: #f2da80;
  color: #6c4e00;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-doc-callout {
  margin: 8px 0 !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-doc-callout p {
  margin: 4px 0 !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
  gap: 8px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-field {
  margin-bottom: 8px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-field label {
  font-size: 11px !important;
  margin-bottom: 3px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact input,
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  min-height: 34px !important;
  font-size: 13px !important;
  padding: 7px 9px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  min-height: 54px !important;
}
.lrb-event-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
}
.lrb-event-submit-row .lrb-event-privacy {
  margin: 0 !important;
  flex: 1 1 auto;
  font-size: 11px !important;
  line-height: 1.2 !important;
  color: #475569;
}
.lrb-event-submit-row .lrb-event-privacy input[type="checkbox"] {
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
}
.lrb-event-submit-row .lrb-button {
  flex: 0 0 auto;
  min-height: 34px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  white-space: nowrap;
}
.lrb-login-with-events .lrb-info-default {
  font-size: 11px !important;
  padding: 8px 10px !important;
  margin-top: 8px !important;
}
@media (max-width: 920px) {
  .lrb-login-with-events {
    grid-template-columns: 1fr !important;
  }
  .lrb-login-with-events .lrb-community-event-card-compact,
  .lrb-login-with-events .lrb-login-card {
    width: min(560px, 100%) !important;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 560px) {
  .lrb-event-submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .lrb-event-submit-row .lrb-button {
    width: 100%;
  }
}


/* v1.2.6 - eventi in home piu leggibili e gestione adesioni backend lineare */
body .lrb-portal.lrb-login-box.lrb-login-with-events {
  width: min(1360px, calc(100vw - 40px)) !important;
  max-width: 1360px !important;
  grid-template-columns: minmax(420px, 520px) minmax(620px, 780px) !important;
}
.lrb-login-with-events .lrb-login-public-events,
.lrb-login-with-events .lrb-community-event-card-compact {
  width: 100% !important;
  max-width: none !important;
}
.lrb-login-with-events .lrb-community-event-card-compact {
  padding: 22px 24px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-card-title h3 {
  font-size: 24px !important;
  letter-spacing: -0.02em;
}
.lrb-login-with-events .lrb-event-compact-meta {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px !important;
  margin: 10px 0 14px !important;
}
.lrb-login-with-events .lrb-event-compact-meta span {
  width: 100%;
  justify-content: center;
  font-size: 14px !important;
  padding: 9px 12px !important;
  box-sizing: border-box;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-doc-callout {
  font-size: 13px !important;
  padding: 12px 14px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.lrb-login-with-events .lrb-community-event-card-compact input,
.lrb-login-with-events .lrb-community-event-card-compact textarea {
  min-height: 40px !important;
  font-size: 14px !important;
}
.lrb-login-with-events .lrb-event-submit-row {
  border-top: 1px solid var(--lrb-border);
  padding-top: 12px;
}
.lrb-login-with-events .lrb-event-submit-row .lrb-event-privacy {
  max-width: 300px;
}
.lrb-admin-registrations th,
.lrb-admin-registrations td {
  vertical-align: middle !important;
}
.lrb-admin-registration-form {
  display: grid;
  grid-template-columns: 120px 140px minmax(180px, 1fr);
  gap: 8px;
  align-items: end;
  min-width: 680px;
}
.lrb-admin-registration-form label {
  margin: 0;
}
.lrb-admin-registration-form label span {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #475569;
  margin-bottom: 3px;
}
.lrb-admin-registration-form input[type="number"],
.lrb-admin-registration-form select,
.lrb-admin-registration-form input[type="text"] {
  width: 100%;
  min-height: 34px;
}
.lrb-admin-registration-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 980px) {
  body .lrb-portal.lrb-login-box.lrb-login-with-events {
    grid-template-columns: 1fr !important;
    width: min(760px, calc(100vw - 24px)) !important;
  }
  .lrb-login-with-events .lrb-event-compact-meta {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 560px) {
  .lrb-login-with-events .lrb-community-event-card-compact .lrb-form-row {
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.8 - Gestione adesione pubblica */
.lrb-manage-registration-card{max-width:820px;margin:24px auto;}
.lrb-manage-registration-form{margin-top:18px;display:block;}
.lrb-manage-registration-form .lrb-form-row{grid-template-columns:minmax(180px,260px);}
.lrb-manage-registration-form .lrb-button{margin-top:10px;margin-right:8px;}
.lrb-manage-registration-cancel{margin-top:18px;padding-top:16px;border-top:1px solid rgba(15,23,42,.12);}
.lrb-manage-registration-cancel .lrb-mini-danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;}
.lrb-manage-registration-cancel .lrb-mini-danger:hover{background:#ffe4e6;color:#9f1239;}
@media (max-width: 720px){
  .lrb-manage-registration-card{margin:12px;}
  .lrb-manage-registration-form .lrb-form-row{display:block;}
  .lrb-manage-registration-form .lrb-button{width:100%;margin:8px 0 0 0;}
  .lrb-manage-registration-cancel .lrb-button{width:100%;}
}

/* v1.3.1 refinements */
.lrb-qr-box{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;padding:10px;margin:8px 0}
.lrb-qr-box canvas,.lrb-qr-box img{width:150px!important;height:150px!important;max-width:100%;border-radius:10px;background:#fff;padding:6px;border:1px solid #e4e9f2}
.lrb-qr-fallback a{font-size:.9rem;font-weight:700;color:#12346b}
.lrb-my-bookings table,.lrb-bookings-table{font-size:.86rem}
.lrb-my-bookings td,.lrb-my-bookings th,.lrb-bookings-table td,.lrb-bookings-table th{padding:7px 8px!important}
.lrb-security-card{min-height:auto}
@media (min-width: 980px){.lrb-sidebar{display:grid;grid-template-columns:1fr;gap:14px}.lrb-card{align-self:start}}

/* v1.3.2 - Rifinitura font, area utente e QR 2FA */
:root {
  --lrb-blue: #1f3f78;
  --lrb-yellow: #f2c94c;
  --lrb-bg: #f7f9fc;
  --lrb-text: #172033;
  --lrb-muted: #64748b;
}
.lrb-portal,
.lrb-portal *,
.lrb-login-card,
.lrb-login-card *,
.lrb-legal-page,
.lrb-legal-page * {
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif !important;
}
.lrb-hero h1,
.lrb-card h3,
.lrb-card-title h3,
.lrb-login-card h2 {
  letter-spacing: -0.025em;
}
.lrb-portal {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
}
.lrb-card {
  border-color: #e1e7f0 !important;
  box-shadow: 0 12px 28px rgba(31, 63, 120, 0.07) !important;
}
.lrb-sidebar {
  display: grid !important;
  gap: 12px !important;
}
.lrb-side-card,
.lrb-help-card,
.lrb-security-card,
.lrb-calendar-link-card {
  padding: 16px !important;
  margin-bottom: 0 !important;
  border-radius: 16px !important;
}
.lrb-sidebar .lrb-side-card h3,
.lrb-sidebar .lrb-help-card h3,
.lrb-sidebar .lrb-security-card h3,
.lrb-sidebar .lrb-calendar-link-card h3 {
  font-size: 1rem !important;
  margin: 0 0 8px !important;
  color: var(--lrb-blue) !important;
}
.lrb-sidebar p,
.lrb-sidebar small,
.lrb-sidebar li,
.lrb-sidebar span {
  font-size: .88rem !important;
  line-height: 1.35 !important;
}
.lrb-security-card {
  order: 1;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
.lrb-calendar-link-card { order: 2; }
.lrb-sidebar .lrb-side-card:nth-of-type(1) { order: 3; }
.lrb-sidebar .lrb-status-card { order: 4; }
.lrb-sidebar .lrb-side-card:nth-of-type(3) { order: 5; }
.lrb-help-card { order: 6; }
.lrb-qr-box-visible {
  align-items: center !important;
  text-align: center !important;
  background: #ffffff !important;
  border: 1px solid #d9e2ef !important;
  box-shadow: inset 0 0 0 1px rgba(31,63,120,.03) !important;
}
.lrb-qr-img {
  display: block !important;
  width: 190px !important;
  height: 190px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
.lrb-qr-fallback a {
  font-size: .84rem !important;
}
.lrb-my-bookings,
.lrb-my-bookings .lrb-card {
  font-size: .82rem !important;
}
.lrb-my-bookings table,
.lrb-bookings-table {
  font-size: .8rem !important;
}
.lrb-my-bookings th,
.lrb-my-bookings td,
.lrb-bookings-table th,
.lrb-bookings-table td {
  padding: 6px 7px !important;
  line-height: 1.25 !important;
}
.lrb-my-bookings .lrb-button,
.lrb-bookings-table .lrb-button,
.lrb-my-bookings button,
.lrb-bookings-table button {
  font-size: .76rem !important;
  padding: 6px 8px !important;
  min-height: 0 !important;
}
.lrb-status,
.lrb-upcoming-status,
.lrb-badge {
  font-size: .74rem !important;
  padding: 4px 7px !important;
}
@media (min-width: 980px) {
  .lrb-sidebar {
    grid-template-columns: 1fr !important;
    align-content: start !important;
  }
}
@media (max-width: 980px) {
  .lrb-sidebar {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 640px) {
  .lrb-sidebar {
    grid-template-columns: 1fr !important;
  }
  .lrb-qr-img {
    width: 170px !important;
    height: 170px !important;
  }
}

/* v1.3.4 - hotfix layout stabile + footer segnalazioni */
.lrb-footer{display:flex!important;gap:10px!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;font-size:.9rem!important;color:#526176!important;padding:22px 10px!important}
.lrb-footer a{color:#1f3f78!important;font-weight:800!important;text-decoration:none!important;border-bottom:1px solid rgba(31,63,120,.25)!important}
.lrb-footer a:hover{border-bottom-color:#1f3f78!important}
.lrb-footer-sep{color:#c2cad6!important}
.lrb-table-card .lrb-card-title h3{font-size:1.05rem!important;letter-spacing:-.015em!important}
.lrb-table-card{padding:18px!important}
.lrb-table-card .lrb-table{font-size:.78rem!important}
.lrb-table-card .lrb-table td{font-size:.88rem!important}
.lrb-table-card .lrb-table th{font-size:.76rem!important;text-transform:none!important}
.lrb-row-actions{white-space:nowrap!important}
.lrb-mini-button{font-size:.78rem!important;padding:6px 9px!important;border-radius:10px!important}


/* v1.3.11 - mobile cleanup and safer WP 2FA entry point */
.lrb-security-wp2fa-card .lrb-button {
  width: 100%;
  justify-content: center;
  margin: 8px 0;
}
.lrb-security-wp2fa-card small {
  display: block;
  margin-top: 6px;
}
@media (max-width: 760px) {
  .lrb-upcoming-panel {
    padding: 14px !important;
    overflow: hidden !important;
  }
  .lrb-upcoming-head {
    align-items: center !important;
  }
  .lrb-upcoming-head h3 {
    font-size: 1.25rem !important;
  }
  .lrb-upcoming-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
    padding: 12px !important;
    overflow: hidden !important;
  }
  .lrb-upcoming-period {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .lrb-upcoming-period .lrb-upcoming-date {
    min-width: 0 !important;
    padding: 8px 7px !important;
    text-align: center !important;
  }
  .lrb-upcoming-date small,
  .lrb-upcoming-date strong,
  .lrb-upcoming-date span {
    display: block !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-upcoming-date strong {
    font-size: 1rem !important;
    line-height: 1.05 !important;
  }
  .lrb-upcoming-date span {
    font-size: .9rem !important;
  }
  .lrb-upcoming-main {
    min-width: 0 !important;
    width: 100% !important;
  }
  .lrb-upcoming-main strong,
  .lrb-upcoming-main span {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    line-height: 1.2 !important;
  }
  .lrb-upcoming-status {
    justify-self: start !important;
    max-width: 100% !important;
    font-size: .85rem !important;
  }
  .lrb-sidebar {
    gap: 12px !important;
  }
}
@media (max-width: 420px) {
  .lrb-upcoming-period {
    grid-template-columns: 1fr 1fr !important;
  }
  .lrb-upcoming-period .lrb-upcoming-date {
    padding: 7px 5px !important;
  }
  .lrb-upcoming-date strong {
    font-size: .96rem !important;
  }
}

/* v1.4.1 - preventivo contributo */
.lrb-cost-estimate {
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(39, 53, 131, .14);
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fd 100%);
  box-shadow: 0 10px 24px rgba(21, 33, 74, .06);
}
.lrb-cost-estimate-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 800;
  color: #1d2f6f;
}
.lrb-cost-estimate-main span { font-size: .95rem; }
.lrb-cost-estimate-main strong { font-size: 1.35rem; color: #23347f; }
.lrb-cost-estimate-details {
  margin-top: 8px;
  color: #53617a;
  font-size: .9rem;
  line-height: 1.35;
}
.lrb-cost-estimate-deposit {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(39, 53, 131, .12);
  color: #6b560d;
  font-size: .88rem;
  font-weight: 700;
}
.lrb-cost-estimate.lrb-cost-internal {
  background: linear-gradient(135deg, #f3fbf5 0%, #ffffff 100%);
  border-color: rgba(42, 157, 84, .25);
}
.lrb-cost-estimate.lrb-cost-internal .lrb-cost-estimate-deposit { color: #16703b; }
@media (max-width: 640px) {
  .lrb-cost-estimate-main { align-items: flex-start; flex-direction: column; }
  .lrb-cost-estimate-main strong { font-size: 1.15rem; }
}

/* v1.4.2 - Info utili */
.lrb-responsive-table{overflow-x:auto;margin:10px 0 0}
.lrb-info-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.35;background:#fff;border-radius:14px;overflow:hidden}
.lrb-info-table th,.lrb-info-table td{border:1px solid #dbe2ee;padding:10px 12px;text-align:left;vertical-align:top}
.lrb-info-table th{background:#f6f8fc;color:#17305f;font-weight:800}
.lrb-info-table td{color:#1f2937}
.lrb-hours-table th{width:160px}
@media (max-width: 760px){.lrb-info-table{font-size:12px}.lrb-info-table th,.lrb-info-table td{padding:8px}}

/* v1.4.3 - Info utili: prospetto contributi a larghezza piena */
.lrb-useful-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.lrb-useful-grid>section:first-child,.lrb-useful-grid>section.lrb-useful-wide{grid-column:1/-1}
.lrb-useful-grid .lrb-responsive-table{width:100%;overflow-x:auto}
.lrb-useful-grid .lrb-info-table{width:100%;min-width:980px}
@media(max-width:900px){.lrb-useful-grid{grid-template-columns:1fr}.lrb-useful-grid>section:first-child,.lrb-useful-grid>section.lrb-useful-wide{grid-column:auto}}

/* v1.4.5 refinements */
.lrb-deposit-choice {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #dfe6f2;
  border-radius: 16px;
  background: #fffdf4;
}
.lrb-deposit-choice .lrb-field { margin-bottom: 10px; }
.lrb-deposit-confirm { margin: 8px 0; }
.lrb-event-cancel-policy { font-size: .9rem; padding: 10px 12px; margin: 10px 0; }
.lrb-deposit-compact { min-width: 150px; }
.lrb-deposit-compact > strong { display:block; color:#17346b; }
.lrb-deposit-compact > span { display:inline-block; margin:4px 0; padding:4px 8px; border-radius:999px; background:#eef3fb; font-size:12px; font-weight:700; }
.lrb-deposit-compact > small { display:block; color:#64748b; margin-bottom:6px; }
.lrb-deposit-compact .lrb-deposit-toggle { margin-top:4px; }
.lrb-deposit-form { margin-top:8px; padding:10px; border:1px solid #dfe6f2; border-radius:12px; background:#fff; width:260px; max-width:80vw; }
.lrb-deposit-form select,.lrb-deposit-form input,.lrb-deposit-form textarea{width:100%;max-width:100%;margin:3px 0;font-size:12px;box-sizing:border-box}.lrb-deposit-form textarea{min-height:54px}
.lrb-useful-grid .lrb-responsive-table { overflow-x: visible; }
.lrb-useful-grid .lrb-info-table { min-width: 0; table-layout: fixed; font-size: 12px; }
.lrb-useful-grid .lrb-info-table th,.lrb-useful-grid .lrb-info-table td { padding: 8px 7px; line-height: 1.22; word-break: normal; overflow-wrap: anywhere; }
.lrb-useful-grid .lrb-info-table th:first-child,.lrb-useful-grid .lrb-info-table td:first-child { width: 17%; }
.lrb-useful-grid .lrb-useful-wide { grid-column: 1 / -1; }
.lrb-useful-grid .lrb-hours-table { max-width: 620px; margin: 0 auto; table-layout: auto; font-size: 13px; }
.lrb-useful-grid .lrb-hours-table th,.lrb-useful-grid .lrb-hours-table td { padding: 9px 12px; }
@media (max-width: 900px) {
  .lrb-useful-grid .lrb-responsive-table { overflow-x:auto; }
  .lrb-useful-grid .lrb-info-table { min-width: 760px; }
  .lrb-useful-grid .lrb-hours-table { min-width: 0; width: 100%; }
}

/* v1.4.8 - Regolamento / Privacy / Info: font piu compatto */
.lrb-document-card,
.lrb-terms-card {
  font-size: 15px;
}

.lrb-document-card h1,
.lrb-terms-card h1 {
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.08 !important;
}

.lrb-document-card h2,
.lrb-terms-card .lrb-terms-grid h2,
.lrb-doc-callout h2 {
  font-size: 19px !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
}

.lrb-document-card p,
.lrb-document-card li,
.lrb-terms-card .lrb-terms-grid section,
.lrb-terms-card .lrb-terms-grid p,
.lrb-terms-card .lrb-terms-grid li,
.lrb-doc-callout,
.lrb-doc-callout p {
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}

.lrb-terms-card .lrb-terms-grid {
  gap: 14px !important;
}

.lrb-terms-card .lrb-terms-grid section {
  padding: 15px !important;
}

.lrb-doc-callout {
  padding: 15px !important;
}

@media (max-width: 760px) {
  .lrb-document-card h1,
  .lrb-terms-card h1 {
    font-size: 26px !important;
  }
  .lrb-document-card h2,
  .lrb-terms-card .lrb-terms-grid h2,
  .lrb-doc-callout h2 {
    font-size: 18px !important;
  }
  .lrb-document-card p,
  .lrb-document-card li,
  .lrb-terms-card .lrb-terms-grid section,
  .lrb-terms-card .lrb-terms-grid p,
  .lrb-terms-card .lrb-terms-grid li,
  .lrb-doc-callout,
  .lrb-doc-callout p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

/* v1.6.0 - Mobile Experience: portale minimal su smartphone */
.lrb-mobile-simple-notice,
.lrb-operator-mobile-hint {
  display: none;
}

@media (max-width: 760px) {
  body .lrb-portal {
    padding: 10px !important;
    max-width: 100% !important;
  }

  .lrb-portal .lrb-topbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    position: relative !important;
    top: auto !important;
  }

  .lrb-portal .lrb-brand,
  .lrb-portal .lrb-user-menu {
    justify-content: center !important;
    text-align: center !important;
  }

  .lrb-portal .lrb-brand img {
    max-height: 58px !important;
    width: auto !important;
  }

  .lrb-portal .lrb-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 2px 8px !important;
    justify-content: flex-start !important;
    scrollbar-width: thin !important;
  }

  .lrb-portal .lrb-nav a {
    flex: 0 0 auto !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    padding: 9px 10px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  .lrb-user-menu {
    font-size: 12px !important;
  }

  .lrb-hero {
    padding: 16px !important;
    border-radius: 18px !important;
    margin: 10px 0 !important;
  }

  .lrb-hero h1 {
    font-size: 22px !important;
    line-height: 1.1 !important;
    margin-bottom: 6px !important;
  }

  .lrb-hero p {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .lrb-mobile-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 0 10px !important;
    margin: 0 0 8px !important;
  }

  .lrb-mobile-tabs a {
    flex: 0 0 auto !important;
    padding: 9px 11px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .lrb-mobile-simple-notice {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 12px 13px !important;
    border-radius: 16px !important;
    background: #f5f7fb !important;
    border: 1px solid #dbe4f0 !important;
    color: #1f2f56 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }

  .lrb-mobile-simple-notice strong,
  .lrb-mobile-simple-notice span {
    display: block !important;
  }

  .lrb-mobile-simple-notice strong {
    margin-bottom: 3px !important;
    color: #273583 !important;
  }

  .lrb-grid-main {
    display: block !important;
  }

  .lrb-card {
    border-radius: 18px !important;
    padding: 14px !important;
    margin-bottom: 12px !important;
  }

  .lrb-form-card {
    margin-bottom: 12px !important;
  }

  .lrb-card-title h3,
  .lrb-booking-form h3,
  .lrb-booking-form h2 {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  .lrb-booking-form label,
  .lrb-booking-form .lrb-field {
    font-size: 13px !important;
  }

  .lrb-booking-form input,
  .lrb-booking-form select,
  .lrb-booking-form textarea,
  .lrb-booking-form button {
    font-size: 14px !important;
    min-height: 40px !important;
  }

  .lrb-booking-form textarea {
    min-height: 76px !important;
  }

  /* Mobile: esperienza minimal, il calendario completo resta per desktop/tablet */
  .lrb-calendar-card,
  .lrb-sidebar {
    display: none !important;
  }

  .lrb-table-card,
  #lrb-my-bookings {
    margin-top: 12px !important;
  }

  .lrb-table-card h3,
  #lrb-my-bookings h3 {
    font-size: 16px !important;
  }

  .lrb-table-card table {
    font-size: 12px !important;
  }

  .lrb-table-card th,
  .lrb-table-card td {
    padding: 7px 6px !important;
    line-height: 1.25 !important;
  }

  .lrb-table-card .button,
  .lrb-table-card button,
  .lrb-table-card a.button {
    font-size: 11px !important;
    padding: 4px 7px !important;
    min-height: auto !important;
  }

  .lrb-footer {
    display: block !important;
    text-align: center !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    padding: 14px 8px !important;
  }

  .lrb-footer-sep {
    display: none !important;
  }

  .lrb-login-wrap {
    padding: 12px !important;
  }

  .lrb-login-card,
  .lrb-login-public-events {
    max-width: 100% !important;
    width: 100% !important;
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .lrb-login-public-events .lrb-event-card,
  .lrb-login-public-events .lrb-card {
    padding: 14px !important;
  }

  .lrb-operator-mobile-hint {
    display: block !important;
    padding: 10px 12px !important;
    margin: 8px 0 10px !important;
    background: #fff7ed !important;
    border: 1px solid #fed7aa !important;
    border-radius: 14px !important;
    color: #7c2d12 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}

@media (min-width: 761px) {
  .lrb-mobile-tabs {
    display: none !important;
  }
}


/* v1.6.1 - 404 personalizzata e pensiero del giorno */
.lrb-daily-quote {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: linear-gradient(135deg, #fff9e8 0%, #f7f9ff 100%);
  border: 1px solid #ead99a;
  border-radius: 18px;
  padding: 14px 16px;
  color: #213154;
  box-shadow: 0 10px 28px rgba(39, 53, 131, .08);
}
.lrb-daily-quote-login { margin: 14px 0 16px; }
.lrb-daily-quote-portal { max-width: 1180px; margin: 0 auto 18px; }
.lrb-daily-quote-icon { font-size: 24px; line-height: 1; }
.lrb-daily-quote strong { display: block; color: #17346b; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.lrb-daily-quote p { margin: 0 0 4px !important; color: #273583 !important; font-size: 15px !important; line-height: 1.35 !important; }
.lrb-daily-quote span { display: block; color: #64748b; font-size: 12px; }
.lrb-custom-404-body { background: #f5f7fb; }
.lrb-custom-404-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 28px; }
.lrb-custom-404-card { width: min(760px, 100%); text-align: center; background: #fff; border: 1px solid #dde6f3; border-radius: 30px; padding: 38px 34px; box-shadow: 0 24px 80px rgba(23, 52, 107, .16); }
.lrb-custom-404-logo { max-width: 116px; height: auto; margin-bottom: 14px; }
.lrb-custom-404-emoji { font-size: 64px; line-height: 1; margin: 8px 0 10px; }
.lrb-custom-404-card h1 { margin: 0 0 12px; color: #17346b; font-size: clamp(30px, 5vw, 48px); line-height: 1.05; }
.lrb-custom-404-card p { color: #45546f; font-size: 18px; line-height: 1.5; margin: 0 0 8px; }
.lrb-custom-404-small { font-size: 15px !important; color: #6b7280 !important; }
.lrb-custom-404-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 22px 0 18px; }
.lrb-daily-quote-404 { text-align: left; max-width: 560px; margin: 22px auto 0; }
@media (max-width: 760px) {
  .lrb-custom-404-wrap { padding: 16px; }
  .lrb-custom-404-card { padding: 26px 18px; border-radius: 24px; }
  .lrb-custom-404-card p { font-size: 15px; }
  .lrb-daily-quote-portal { margin: 0 12px 14px; }
  .lrb-daily-quote p { font-size: 13.5px !important; }
}

/* v1.6.2 - allineamento pensiero del giorno, Info utili mobile, no sfasature */
.lrb-hero-with-quote {
  align-items: stretch;
}
.lrb-hero-with-quote .lrb-hero-copy {
  flex: 1 1 auto;
  min-width: 0;
}
.lrb-hero-with-quote .lrb-daily-quote-portal {
  flex: 0 1 560px;
  max-width: 560px;
  margin: 0 0 0 auto;
  align-self: center;
}
@media (max-width: 980px) {
  .lrb-hero-with-quote {
    flex-direction: column;
  }
  .lrb-hero-with-quote .lrb-daily-quote-portal {
    max-width: none;
    width: 100%;
    margin: 10px 0 0;
  }
}
@media (max-width: 700px) {
  .lrb-useful-grid .lrb-responsive-table {
    overflow-x: visible !important;
  }
  .lrb-useful-grid .lrb-info-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
    font-size: 10px !important;
  }
  .lrb-useful-grid .lrb-info-table th,
  .lrb-useful-grid .lrb-info-table td {
    padding: 5px 4px !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-useful-grid .lrb-info-table th:first-child,
  .lrb-useful-grid .lrb-info-table td:first-child {
    width: 20% !important;
  }
  .lrb-useful-grid .lrb-hours-table {
    font-size: 12px !important;
  }
  .lrb-useful-grid .lrb-hours-table th,
  .lrb-useful-grid .lrb-hours-table td {
    padding: 7px 8px !important;
    font-size: 12px !important;
  }
}

/* v1.6.5 - Registrazione: help gruppo piu compatto e simmetrico */
.lrb-register-card .lrb-register-group-help {
  display: block;
  margin: 6px 0 0;
  font-size: 0.78rem;
  line-height: 1.25;
  color: #667085 !important;
  text-align: left;
  max-width: 100%;
}
.lrb-register-card select[name="group_id"] {
  text-overflow: ellipsis;
}


/* v1.6.6 - Registrazione: nota gruppo ancora più discreta */
.lrb-register-card .lrb-register-group-help {
  display: block;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  color: #7a8496 !important;
  text-align: left !important;
}
.lrb-register-card .lrb-form-row .lrb-field {
  align-self: start;
}

/* v1.6.11 - link pubblici documenti in schermata login */
.lrb-public-doc-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(39,53,131,.12);
}
.lrb-public-doc-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f5f7fb;
  border: 1px solid #dfe6f2;
  color: var(--lrb-blue);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.lrb-public-doc-links a:hover,
.lrb-public-doc-links a:focus {
  background: #eef3fb;
  color: #152557;
}

/* v1.6.13 - evidenza campi principali e tooltip descrittivi */
.lrb-primary-booking-field {
  background: #f8fbff;
  border: 1px solid #cbd8ef;
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: 0 8px 22px rgba(39, 53, 131, 0.06);
}
.lrb-primary-booking-field > label {
  color: #102c63;
  font-weight: 900;
  letter-spacing: .01em;
}
.lrb-highlight-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff4bf;
  border: 1px solid #f2d36b;
  color: #102c63;
  line-height: 1.15;
}
.lrb-inline-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  color: #5e6b84;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}
.lrb-field label .lrb-info-tip {
  margin-left: 5px;
  vertical-align: middle;
}
.lrb-register-card .lrb-inline-help {
  margin-top: 5px;
  font-size: 11px;
}
@media (max-width: 760px) {
  .lrb-primary-booking-field { padding: 10px 12px; }
  .lrb-highlight-label { padding: 3px 8px; }
}

/* v1.6.15 - Mobile Experience: elenco occupazioni e stato pre-produzione */
.lrb-mobile-occupancy {
  display: none;
}
.lrb-mobile-occupancy-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 14px;
}
.lrb-mobile-occupancy-filter label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 800;
  color: #273583;
}
.lrb-mobile-occupancy-filter input,
.lrb-mobile-occupancy-filter select {
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid #d9e2ef;
  padding: 6px 8px;
  font-size: 14px;
}
.lrb-mobile-occupancy-filter button {
  grid-column: 1 / -1;
  width: 100%;
}
.lrb-mobile-occupancy-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lrb-mobile-occupancy-item {
  border: 1px solid #dfe6f2;
  background: #fff;
  border-radius: 16px;
  padding: 10px 12px;
  display: grid;
  gap: 8px;
}
.lrb-mobile-occupancy-date,
.lrb-mobile-occupancy-main,
.lrb-mobile-occupancy-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.lrb-mobile-occupancy-date strong,
.lrb-mobile-occupancy-main strong {
  color: #17346b;
}
.lrb-mobile-occupancy-date span,
.lrb-mobile-occupancy-main span {
  color: #56657d;
  font-size: 13px;
  text-align: right;
}
.lrb-mobile-occupancy-actions .lrb-contact-owner {
  font-size: 12px;
  padding: 5px 9px;
  border-radius: 999px;
}
@media (max-width: 760px) {
  .lrb-mobile-occupancy {
    display: block;
    margin: 12px 0;
  }
  .lrb-calendar-card {
    display: none !important;
  }
  .lrb-mobile-tabs a[href="#lrb-my-bookings"]::after {
    content: '';
  }
}

/* v1.6.16 - Guide pubbliche/operatori */
.lrb-guide-page .lrb-document-card {
  max-width: 1180px;
}
.lrb-guide-grid section ol,
.lrb-guide-grid section ul {
  margin: 10px 0 0 20px;
  padding: 0;
}
.lrb-guide-grid section li {
  margin: 7px 0;
  line-height: 1.45;
}
.lrb-guide-card .lrb-doc-callout {
  margin-bottom: 18px;
}
@media (max-width: 760px) {
  .lrb-guide-page .lrb-topbar { gap: 10px; }
  .lrb-guide-page .lrb-nav { overflow-x: auto; white-space: nowrap; width: 100%; padding-bottom: 4px; }
  .lrb-guide-card h1 { font-size: 30px; }
  .lrb-guide-grid section { padding: 18px; }
  .lrb-guide-grid section h2 { font-size: 20px; }
  .lrb-guide-grid section p,
  .lrb-guide-grid section li { font-size: 14px; }
}

/* v1.6.17 - Registrazione centrata, 2FA tooltip e dashboard statistiche */
.lrb-register-card .lrb-field input[type="text"],
.lrb-register-card .lrb-field input[type="email"],
.lrb-register-card .lrb-field input[type="tel"],
.lrb-register-card .lrb-field input[type="password"],
.lrb-register-card .lrb-field select {
  text-align: center !important;
}
.lrb-register-card .lrb-field input::placeholder {
  text-align: center !important;
}
.lrb-2fa-inline-help {
  margin: 8px 0 12px !important;
  font-size: 0.9rem !important;
  color: #64748b !important;
}
.lrb-muted-action {
  display: inline-block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 0;
}
.lrb-admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  max-width: 1180px;
  margin: 12px 0 22px;
}
.lrb-admin-stat-grid-small {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.lrb-admin-stat-card {
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.lrb-admin-stat-card span {
  display: block;
  color: #50575e;
  font-weight: 700;
  margin-bottom: 8px;
}
.lrb-admin-stat-card strong {
  display: block;
  color: #1d2327;
  font-size: 30px;
  line-height: 1;
}
.lrb-admin-stat-card small {
  display: block;
  color: #646970;
  margin-top: 8px;
}
.lrb-dashboard-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
  max-width: 1180px;
}
.lrb-dashboard-box {
  padding: 14px 16px;
  margin: 0 0 18px;
}
.lrb-dashboard-box h2 {
  margin-top: 0;
}


/* ===== v1.6.18: registrazione/login e dashboard grafica ===== */
.lrb-login-card input[type="text"],
.lrb-login-card input[type="password"],
.lrb-login-card input[type="email"],
.lrb-login-card input[type="tel"],
.lrb-login-card input[type="number"],
.lrb-login-card textarea,
.lrb-register-card input[type="text"],
.lrb-register-card input[type="password"],
.lrb-register-card input[type="email"],
.lrb-register-card input[type="tel"] {
  text-align: center !important;
  caret-color: var(--lrb-blue);
}

.lrb-register-card .lrb-field label {
  text-align: center;
}

.lrb-dashboard-charts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  max-width: 1200px;
  margin: 12px 0 22px;
}

.lrb-dashboard-chart {
  padding: 16px;
  box-sizing: border-box;
}

.lrb-dashboard-chart h2 {
  margin-top: 0;
}

.lrb-dashboard-chart-wide {
  grid-column: span 2;
}

.lrb-pie-chart {
  width: 168px;
  height: 168px;
  margin: 8px auto 14px;
  border-radius: 50%;
  color: #273583;
}

.lrb-pie-chart svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  overflow: visible;
}

.lrb-pie-chart circle:nth-child(2) { color: #3f51b5; }
.lrb-pie-chart circle:nth-child(3) { color: #6a7be8; }
.lrb-pie-chart circle:nth-child(4) { color: #9aa8ff; }
.lrb-pie-chart circle:nth-child(5) { color: #c6cdfc; }

.lrb-chart-legend {
  display: grid;
  gap: 7px;
  font-size: 13px;
}

.lrb-chart-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lrb-chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: currentColor;
  color: #273583;
  display: inline-block;
}

.lrb-bar-chart {
  display: grid;
  gap: 11px;
}

.lrb-bar-row {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(90px, 1.4fr) 34px;
  gap: 10px;
  align-items: center;
  font-size: 13px;
}

.lrb-bar-row div {
  height: 12px;
  border-radius: 999px;
  background: #e9edf8;
  overflow: hidden;
}

.lrb-bar-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #273583, #6a7be8);
}

.lrb-line-chart {
  width: 100%;
  min-height: 160px;
  color: #273583;
  background: linear-gradient(180deg, #f8f9fd, #ffffff);
  border: 1px solid #e2e7f3;
  border-radius: 14px;
}

.lrb-line-labels {
  display: flex;
  justify-content: space-between;
  color: #607086;
  font-size: 12px;
  margin-top: 6px;
}

@media (max-width: 782px) {
  .lrb-dashboard-chart-wide {
    grid-column: auto;
  }
  .lrb-bar-row {
    grid-template-columns: 1fr;
  }
}


/* ===== v1.6.19: gruppi dashboard e registrazione simmetrica ===== */
.lrb-register-card .lrb-form-row .lrb-field-wide,
.lrb-register-card .lrb-registration-group-field {
  grid-column: 1 / -1;
  width: 100%;
}

.lrb-register-card .lrb-registration-group-field select {
  width: 100%;
  max-width: none;
  text-align: left !important;
  text-align-last: left;
}

.lrb-register-card .lrb-registration-group-field .lrb-inline-help {
  justify-content: center;
  text-align: center;
}

.lrb-register-card .lrb-form-row {
  align-items: start;
}

.lrb-dashboard-group-charts .lrb-dashboard-chart {
  min-height: 250px;
}

.lrb-group-pie-chart circle:nth-child(1) { color: #273583; }
.lrb-group-pie-chart circle:nth-child(2) { color: #4772d9; }
.lrb-group-pie-chart circle:nth-child(3) { color: #7c95ee; }
.lrb-group-pie-chart circle:nth-child(4) { color: #b8c4ff; }

@media (max-width: 760px) {
  .lrb-register-card .lrb-registration-group-field select {
    width: 100%;
  }
}

/* ===== v1.6.21: ripristino layout area utente e select allineati a sinistra ===== */
.lrb-portal select,
.lrb-register-card select,
.lrb-login-card select,
.lrb-form-card select,
.lrb-field select {
  text-align: left !important;
  text-align-last: left !important;
}

.lrb-portal select option,
.lrb-register-card select option,
.lrb-login-card select option,
.lrb-form-card select option,
.lrb-field select option {
  text-align: left !important;
}

/* ===== v1.6.22: cellulare + partecipanti sulla stessa riga ===== */
.lrb-phone-participants-row {
  grid-template-columns: minmax(0, 1fr) 170px;
  align-items: end;
}

.lrb-phone-participants-row .lrb-participants-field input {
  text-align: center;
}

@media (max-width: 760px) {
  .lrb-phone-participants-row {
    grid-template-columns: 1fr;
  }
}


/* v1.6.24 - Messaggistica anonima richieste contatto */
.lrb-contact-threads-card { margin-top: 24px; }
.lrb-contact-thread-list { display: grid; gap: 14px; }
.lrb-contact-thread { border: 1px solid rgba(39,53,131,.16); border-radius: 16px; background: #fff; overflow: hidden; }
.lrb-contact-thread > summary { cursor: pointer; display: grid; grid-template-columns: minmax(150px,.8fr) minmax(220px,1.2fr) minmax(180px,1fr) auto; gap: 10px; align-items: center; padding: 14px 16px; background: #f7f8fc; }
.lrb-contact-thread > summary strong { color: #273583; }
.lrb-contact-thread > summary small { color: #596174; }
.lrb-contact-thread > summary em { font-style: normal; font-weight: 700; color: #2e7d32; }
.lrb-contact-messages { display: grid; gap: 10px; padding: 16px; }
.lrb-contact-message { max-width: 82%; border-radius: 14px; padding: 10px 12px; background: #f3f5fb; border: 1px solid rgba(39,53,131,.10); }
.lrb-contact-message.is-mine { justify-self: end; background: #eef6ff; }
.lrb-contact-message.is-other { justify-self: start; }
.lrb-contact-message strong { display: inline-block; margin-right: 8px; color: #273583; }
.lrb-contact-message time { font-size: .82rem; color: #6b7280; }
.lrb-contact-message p { margin: 6px 0 0; white-space: normal; }
.lrb-contact-reply-form { padding: 0 16px 16px; display: grid; gap: 10px; }
.lrb-contact-reply-form textarea { width: 100%; min-height: 84px; }
@media (max-width: 760px) {
  .lrb-contact-thread > summary { grid-template-columns: 1fr; }
  .lrb-contact-message { max-width: 100%; }
}

/* v1.6.26 - Captcha registrazione */
.lrb-captcha-field{max-width:360px;margin-left:auto;margin-right:auto;text-align:center}.lrb-captcha-box{display:flex;align-items:center;justify-content:center;gap:10px;background:#f7f9fc;border:1px solid #d7dfec;border-radius:14px;padding:10px 12px}.lrb-captcha-question{font-weight:700;color:#17346b;white-space:nowrap}.lrb-captcha-box input{max-width:120px;text-align:center}.lrb-register-card .lrb-captcha-field label{text-align:center}@media(max-width:640px){.lrb-captcha-box{flex-direction:column}.lrb-captcha-box input{max-width:100%;width:100%}}

/* v1.6.31 - Messaggi anonimi piu compatti */
.lrb-contact-threads-card { margin-top: 16px; padding: 14px !important; }
.lrb-contact-threads-card .lrb-card-title { margin-bottom: 6px; }
.lrb-contact-threads-card .lrb-muted { font-size: .88rem; margin: 4px 0 10px; }
.lrb-contact-thread-list { gap: 8px; }
.lrb-contact-thread { border-radius: 10px; }
.lrb-contact-thread > summary { grid-template-columns: minmax(130px,.7fr) minmax(220px,1.3fr) minmax(150px,.8fr) auto; gap: 8px; padding: 9px 12px; font-size: .92rem; }
.lrb-contact-thread > summary strong { font-size: .95rem; }
.lrb-contact-thread > summary small { font-size: .78rem; }
.lrb-contact-thread > summary em { font-size: .82rem; }
.lrb-contact-messages { gap: 6px; padding: 10px 12px; max-height: 260px; overflow:auto; }
.lrb-contact-message { max-width: 76%; border-radius: 10px; padding: 7px 9px; font-size: .9rem; }
.lrb-contact-message strong { margin-right: 5px; }
.lrb-contact-message time { font-size: .72rem; }
.lrb-contact-message p { margin: 4px 0 0; line-height: 1.35; }
.lrb-contact-reply-form { padding: 0 12px 8px; gap: 6px; }
.lrb-contact-reply-form textarea { min-height: 54px; font-size: .88rem; }
.lrb-contact-delete-form { padding: 0 12px 12px; text-align:right; }
.lrb-danger-mini { border-color:#b32d2e !important; color:#b32d2e !important; background:#fff !important; }
@media (max-width: 780px) {
  .lrb-contact-thread > summary { grid-template-columns: 1fr; }
  .lrb-contact-message { max-width: 100%; }
}

/* v1.6.33 - notifiche chat anonime e backend richieste contatto */
.lrb-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-left: 8px;
  padding: 0 6px;
  border-radius: 999px;
  background: #d63638;
  color: #fff !important;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 2px 5px rgba(214,54,56,.25);
}
.lrb-unread-badge:hover { color:#fff !important; background:#b32d2e; }
.lrb-admin-mini-actions { display: flex; flex-wrap: wrap; gap: 4px; align-items: flex-start; }
.lrb-admin-mini-actions .button.button-small,
.lrb-admin-chat-details > summary.button.button-small {
  min-height: 22px;
  line-height: 20px;
  padding: 0 6px;
  font-size: 11px;
}
.lrb-admin-chat-details { display: inline-block; }
.lrb-admin-chat-details[open] { display: block; margin-top: 6px; }
.lrb-admin-chat-transcript {
  max-width: 560px;
  max-height: 260px;
  overflow: auto;
  display: grid;
  gap: 6px;
  padding: 8px;
  margin-top: 6px;
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 6px;
}
.lrb-admin-chat-transcript .lrb-contact-message {
  max-width: 100%;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 12px;
}
.lrb-admin-chat-transcript .lrb-contact-message p { margin: 3px 0 0; line-height: 1.35; }
.lrb-admin-chat-transcript .lrb-contact-message time { font-size: 11px; }

/* v1.6.46 - Pulizia frontend area utente */
.lrb-quick-actions-card {
  margin: 16px 0 18px;
  padding: 16px !important;
}
.lrb-quick-actions-card .lrb-card-title { margin-bottom: 12px; }
.lrb-quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.lrb-quick-action {
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-areas: "icon title" "icon text";
  gap: 2px 10px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid #e2e7f0;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  text-decoration: none !important;
  color: #17346b !important;
  box-shadow: 0 4px 12px rgba(23,52,107,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.lrb-quick-action:hover {
  transform: translateY(-1px);
  border-color: #d6b35a;
  box-shadow: 0 7px 16px rgba(23,52,107,.10);
}
.lrb-quick-icon {
  grid-area: icon;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff6da;
  color: #8a6f33;
  font-size: 18px;
}
.lrb-quick-action strong {
  grid-area: title;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .98rem;
  line-height: 1.15;
}
.lrb-quick-action small {
  grid-area: text;
  color: #5d6b82;
  line-height: 1.25;
}
.lrb-quick-unread { margin-left: 4px; transform: scale(.88); }
.lrb-bookings-status-helper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin: 4px 0 12px;
  padding: 9px 11px;
  border: 1px solid #e5eaf2;
  border-radius: 12px;
  background: #f8fafc;
  color: #526074;
  font-size: .86rem;
}
.lrb-bookings-status-helper span { display: inline-flex; align-items: center; gap: 6px; }
.lrb-status-dot { width: 9px; height: 9px; border-radius: 999px; display: inline-block; background: #9aa4b2; }
.lrb-status-dot.pending { background: #d9a441; }
.lrb-status-dot.approved { background: #2f855a; }
.lrb-status-dot.cancelled { background: #b32d2e; }
.lrb-form-card .lrb-form-section span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  margin-right: 7px;
  vertical-align: middle;
}
.lrb-contact-thread > summary { cursor: pointer; }
.lrb-contact-thread:not([open]) > summary { background: #fbfcff; }
@media (max-width: 700px) {
  .lrb-quick-actions-card { margin-top: 12px; padding: 12px !important; }
  .lrb-quick-actions-grid { grid-template-columns: 1fr; }
  .lrb-quick-action { padding: 11px 12px; }
  .lrb-bookings-status-helper { display: grid; grid-template-columns: 1fr; }
}

/* PWA install banner */
.lrb-pwa-install{position:fixed;left:18px;right:18px;bottom:18px;z-index:99999;max-width:680px;margin:0 auto;background:#ffffff;border:1px solid rgba(39,53,131,.18);border-radius:18px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:14px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1f2937}.lrb-pwa-install[hidden]{display:none!important}.lrb-pwa-install strong{display:block;color:#273583;font-size:15px}.lrb-pwa-install span{display:block;font-size:13px;color:#4b5563;margin-top:2px}.lrb-pwa-install-btn{border:0;border-radius:999px;background:#273583;color:#fff;font-weight:700;padding:9px 15px;cursor:pointer;white-space:nowrap}.lrb-pwa-install-btn:hover{filter:brightness(1.08)}.lrb-pwa-dismiss{border:0;background:#eef2ff;color:#273583;border-radius:999px;width:28px;height:28px;font-size:20px;line-height:24px;cursor:pointer;flex:0 0 auto}@media(max-width:640px){.lrb-pwa-install{left:10px;right:10px;bottom:10px;align-items:flex-start}.lrb-pwa-install-btn{padding:8px 12px}.lrb-pwa-install span{font-size:12px}}

/* v1.6.53 - Ricorrenza compatta e cauzioni pulite */
.lrb-recurrence-section-title{margin-top:14px}
.lrb-recurrence-inline-panel{margin:8px 0 18px;padding:14px 16px;border:1px solid #dce6f5;border-radius:16px;background:#f7faff}
.lrb-recurrence-inline-panel .lrb-compact-toggle{margin:0 0 10px}
.lrb-recurrence-inline-panel .lrb-recurrence-box{margin-top:10px;padding-top:10px;border-top:1px solid #e2e9f4}
@media (max-width: 680px){.lrb-recurrence-inline-panel{padding:12px}.lrb-recurrence-inline-panel .lrb-form-row{grid-template-columns:1fr}}


/* v1.6.53 - Ricorrenza compatta e gestione cauzione più lineare */
.lrb-recurrence-compact-panel{margin:6px 0 16px;padding:0;border:0;background:transparent}
.lrb-recurrence-toggle-row{margin:0!important;padding:9px 12px!important;border-radius:12px!important}
.lrb-recurrence-compact-panel .lrb-recurrence-box{margin:8px 0 0!important;padding:10px!important;border:1px solid #dfe6f2!important;border-radius:12px!important;background:#fbfdff!important}
.lrb-recurrence-compact-grid{display:grid;grid-template-columns:130px 130px minmax(280px,1fr);gap:8px;align-items:end}
.lrb-recurrence-compact-grid .lrb-field{margin-bottom:0!important}
.lrb-recurrence-compact-grid input[type=date]{min-height:34px;padding:6px 8px}
.lrb-weekdays-compact{gap:5px}
.lrb-weekdays-compact label{padding:6px 8px!important;border-radius:9px!important;font-size:12px!important;line-height:1.1}
.lrb-recurrence-note{margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.35}
.lrb-deposit-form-clean{width:340px!important;max-width:min(92vw,360px)!important;padding:10px!important}
.lrb-deposit-form-title{font-weight:700;color:#17346b;margin:0 0 8px;font-size:13px}
.lrb-deposit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lrb-deposit-form-grid label{display:flex;flex-direction:column;gap:4px;margin:0!important;font-size:11px;font-weight:700;color:#334155}
.lrb-deposit-form-grid select,.lrb-deposit-form-grid input,.lrb-deposit-form-grid textarea{margin:0!important;min-height:32px;font-size:12px!important}
.lrb-deposit-date,.lrb-deposit-notes{grid-column:1/-1}
.lrb-deposit-actions-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #eef2f7}
.lrb-deposit-notify{font-size:11px;color:#475569;display:flex;align-items:center;gap:5px;margin:0!important}
.lrb-deposit-help{font-size:11px!important;color:#64748b;margin:8px 0 0!important;line-height:1.35}
@media(max-width:760px){.lrb-recurrence-compact-grid{grid-template-columns:1fr 1fr}.lrb-recurrence-days-field{grid-column:1/-1}.lrb-weekdays-compact label{flex:1 1 calc(25% - 5px)}}
@media(max-width:520px){.lrb-recurrence-compact-grid{grid-template-columns:1fr}.lrb-weekdays-compact label{flex:1 1 calc(33.33% - 5px)}.lrb-deposit-form-grid{grid-template-columns:1fr}.lrb-deposit-actions-row{align-items:stretch;flex-direction:column}.lrb-deposit-actions-row .button{width:100%;text-align:center}}


/* v1.6.54 - Ricorrenza compatta corretta e gruppo predefinito */
.lrb-recurrence-compact-panel{margin:8px 0 14px!important;max-width:100%!important;overflow:hidden!important}
.lrb-recurrence-toggle-row{display:flex!important;align-items:center!important;gap:8px!important;min-height:42px!important;padding:8px 12px!important;font-size:14px!important;line-height:1.2!important}
.lrb-recurrence-toggle-row input{width:18px!important;height:18px!important;flex:0 0 auto!important}
.lrb-recurrence-compact-panel .lrb-recurrence-box{padding:10px!important;overflow:hidden!important}
.lrb-recurrence-compact-grid-v2{display:grid!important;grid-template-columns:minmax(120px,150px) minmax(120px,150px) minmax(120px,150px) 1fr!important;gap:8px!important;align-items:end!important;max-width:100%!important}
.lrb-recurrence-compact-grid-v2 .lrb-field{min-width:0!important;margin:0!important}
.lrb-recurrence-compact-grid-v2 input[type=date],.lrb-recurrence-compact-grid-v2 select{min-height:34px!important;padding:6px 8px!important;font-size:13px!important;width:100%!important;box-sizing:border-box!important}
.lrb-recurrence-days-field{min-width:0!important}
.lrb-weekdays-compact{display:flex!important;flex-wrap:wrap!important;gap:5px!important;max-width:100%!important;overflow:hidden!important}
.lrb-weekdays-compact label{flex:0 0 auto!important;min-width:54px!important;max-width:72px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;white-space:nowrap!important;padding:6px 7px!important}
.lrb-weekdays-compact input{width:14px!important;height:14px!important;flex:0 0 auto!important}
.lrb-recurrence-note{font-size:12px!important;margin-top:7px!important}
.lrb-group-locked-note{font-size:12px;color:#64748b;margin-top:5px}
@media(max-width:980px){.lrb-recurrence-compact-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lrb-recurrence-days-field{grid-column:1/-1!important}}
@media(max-width:620px){.lrb-recurrence-compact-grid-v2{grid-template-columns:1fr!important}.lrb-weekdays-compact label{flex:1 1 calc(33.33% - 5px)!important;max-width:none!important}.lrb-recurrence-toggle-row{font-size:13px!important}}

/* v1.6.55 - Ricorrenza realmente compatta e responsive nel contenitore */
.lrb-recurrence-compact-panel{margin:8px 0 12px!important;overflow:visible!important}
.lrb-recurrence-compact-panel .lrb-recurrence-box{padding:10px 12px!important;max-height:none!important;min-height:0!important;overflow:visible!important}
.lrb-recurrence-compact-grid-v2{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;align-items:start!important;width:100%!important;max-width:100%!important;overflow:visible!important}
.lrb-recurrence-compact-grid-v2 .lrb-field{margin:0!important;min-width:0!important;width:100%!important}
.lrb-recurrence-days-field{grid-column:1/-1!important;min-width:0!important;width:100%!important}
.lrb-recurrence-days-field>label{font-size:12px!important;margin-bottom:5px!important}
.lrb-weekdays-compact{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;width:100%!important;max-width:100%!important;overflow:visible!important}
.lrb-weekdays-compact label{min-width:0!important;max-width:none!important;width:auto!important;padding:6px 4px!important;font-size:12px!important;justify-content:center!important;white-space:nowrap!important}
.lrb-weekdays-compact input{width:14px!important;height:14px!important}
.lrb-recurrence-note{font-size:12px!important;line-height:1.3!important;margin:7px 0 0!important}
@media(max-width:760px){.lrb-recurrence-compact-grid-v2{grid-template-columns:1fr 1fr!important}.lrb-recurrence-days-field{grid-column:1/-1!important}.lrb-weekdays-compact{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:520px){.lrb-recurrence-compact-grid-v2{grid-template-columns:1fr!important}.lrb-weekdays-compact{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lrb-recurrence-toggle-row{font-size:13px!important}}

/* v1.6.60 - release footer */
.lrb-release-badge{font-size:.78rem!important;font-weight:800!important;color:#6b7280!important;background:rgba(255,255,255,.75)!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:999px!important;padding:3px 8px!important;white-space:nowrap!important}


/* v1.6.62 - orari prenotabili e auto-refresh */
.lrb-booking-hours-note{margin:6px 0 10px;color:#64748b;font-size:13px;line-height:1.35}
.lrb-user-recurrence-pill{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 8px;border-radius:999px;background:#eef6ff;color:#0b3a75;font-size:12px;font-weight:600}
.lrb-auto-refresh-status{color:#64748b;font-size:12px;white-space:nowrap}

.lrb-footer .lrb-auto-refresh-status{font-size:.78rem!important;color:#6b7280!important;font-weight:700!important;white-space:nowrap!important}


/* v1.6.70 - footer/header frontend più compatti */
.lrb-footer.lrb-footer-compact{
  gap: .35rem!important;
  flex-wrap: wrap!important;
  justify-content: center!important;
  font-size: .76rem!important;
  line-height: 1.25!important;
  padding: .55rem .75rem!important;
}
.lrb-footer.lrb-footer-compact span,
.lrb-footer.lrb-footer-compact a{
  font-size: .76rem!important;
  line-height: 1.25!important;
}
.lrb-footer.lrb-footer-compact .lrb-footer-sep{opacity:.55!important;margin:0 .1rem!important}
.lrb-footer.lrb-footer-compact .lrb-release-badge{font-weight:700!important;white-space:nowrap!important}
.lrb-footer .lrb-auto-refresh-status{font-size:.72rem!important;font-weight:600!important;white-space:nowrap!important;color:#64748b!important}
@media (max-width: 700px){
  .lrb-footer.lrb-footer-compact{font-size:.7rem!important;padding:.45rem .55rem!important;}
  .lrb-footer.lrb-footer-compact span,
  .lrb-footer.lrb-footer-compact a,
  .lrb-footer .lrb-auto-refresh-status{font-size:.7rem!important;}
}


/* v1.6.71 - Prenotazioni: cauzione più lineare e pulsante Gestisci integrato */
.lrb-bookings-table-compact .lrb-deposit-inline{display:block!important;max-width:100%!important;line-height:1.15!important}
.lrb-bookings-table-compact .lrb-deposit-summary-line{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;max-width:100%!important}
.lrb-bookings-table-compact .lrb-deposit-summary-line strong{font-size:10.5px!important;line-height:1.1!important;margin-right:1px!important;white-space:nowrap!important}
.lrb-bookings-table-compact .lrb-deposit-summary-line span{font-size:9.5px!important;line-height:1.1!important;padding:2px 5px!important;margin:0!important;border-radius:999px!important;white-space:nowrap!important;max-width:86px!important;overflow:hidden!important;text-overflow:ellipsis!important;background:#eff6ff!important;color:#1e3a8a!important}
.lrb-bookings-table-compact .lrb-deposit-summary-line small{font-size:9.5px!important;line-height:1.1!important;margin:0!important;white-space:nowrap!important;color:#64748b!important;display:inline!important}
.lrb-bookings-table-compact .lrb-deposit-summary-line .lrb-deposit-toggle{font-size:9.5px!important;line-height:1.1!important;min-height:18px!important;padding:1px 5px!important;margin:0!important;border-radius:6px!important;white-space:nowrap!important}
.lrb-bookings-table-compact .lrb-deposit-form-clean{margin-top:6px!important;max-width:360px!important;min-width:260px!important;position:relative!important;z-index:5!important}
.lrb-bookings-table-compact .lrb-booking-status-actions-cell{width:92px!important;max-width:92px!important}
.lrb-bookings-table-compact th:nth-child(8),.lrb-bookings-table-compact td:nth-child(8){width:15%!important;max-width:15%!important}
.lrb-bookings-table-compact th:nth-child(9),.lrb-bookings-table-compact td:nth-child(9){width:9%!important;max-width:9%!important}
@media(max-width:1280px){.lrb-bookings-table-compact .lrb-deposit-summary-line span{max-width:70px!important}.lrb-bookings-table-compact .lrb-deposit-summary-line small{display:none!important}}

/* v1.6.74 - Comunicazioni portale */
.lrb-user-communications{margin:18px 0;}
.lrb-comm-list{display:grid;gap:12px;}
.lrb-comm-item{border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:14px 16px;box-shadow:0 8px 22px rgba(39,53,131,.05);}
.lrb-comm-item.is-unread{border-color:#f2d36b;background:#fffdf2;}
.lrb-comm-item.priority-urgent{border-color:#ef4444;background:#fff7f7;}
.lrb-comm-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.lrb-comm-head h4{margin:4px 0 8px;color:#0b3b7a;font-size:1.05rem;}
.lrb-comm-head time{font-size:.8rem;color:#64748b;white-space:nowrap;}
.lrb-comm-category{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#eef2ff;color:#273583;border-radius:999px;padding:4px 8px;}
.lrb-comm-body{font-size:.95rem;color:#26324d;line-height:1.55;}
.lrb-comm-body p{margin:.35rem 0;}
.lrb-comm-read-form{margin-top:10px;}
.lrb-communications-admin .form-table textarea{max-width:900px;}
@media(max-width:720px){.lrb-comm-head{display:block}.lrb-comm-head time{display:block;margin-bottom:8px}.lrb-comm-item{padding:12px}}


/* v1.6.94 - calendario colorato per risorsa */
#lrb-calendar .lrb-event-resource-color,
#lrb-calendar .lrb-event-resource-color .fc-event-main,
#lrb-calendar .lrb-event-resource-color .fc-event-title,
#lrb-calendar .lrb-event-resource-color .fc-event-time {
  font-weight: 800 !important;
}
#lrb-calendar .lrb-event-resource-color {
  border: 1px solid rgba(17, 24, 39, 0.12) !important;
}

/* v1.6.96 - Ottimizzazione tablet/PWA: legenda vicina al calendario e box operativi affiancati */
.lrb-calendar-card .lrb-resource-legend-inline {
  margin-top: 12px !important;
  margin-bottom: 10px !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  background: #ffffff !important;
}
.lrb-calendar-card .lrb-resource-legend-inline h3 {
  margin: 0 0 8px !important;
  font-size: .95rem !important;
}
.lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 7px 12px !important;
  margin: 0 !important;
}
.lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend li {
  margin: 0 !important;
  padding: 2px 0 !important;
  min-width: 0 !important;
}
.lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend strong {
  font-size: .82rem !important;
  line-height: 1.15 !important;
}
.lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend small {
  font-size: .72rem !important;
  line-height: 1.15 !important;
}
.lrb-security-wp2fa-card,
.lrb-operator-card {
  min-height: 0 !important;
}
.lrb-security-wp2fa-card p,
.lrb-operator-card p,
.lrb-security-wp2fa-card small,
.lrb-operator-card small {
  font-size: .82rem !important;
  line-height: 1.25 !important;
}
.lrb-security-wp2fa-card .lrb-button,
.lrb-operator-card .lrb-button {
  width: auto !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: .82rem !important;
}
@media (min-width: 783px) and (max-width: 1280px) {
  .lrb-portal .lrb-grid-main {
    grid-template-columns: minmax(310px, .92fr) minmax(430px, 1.08fr) !important;
    gap: 14px !important;
  }
  .lrb-portal .lrb-sidebar {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }
  .lrb-portal .lrb-security-card,
  .lrb-portal .lrb-operator-card {
    order: 1 !important;
  }
  .lrb-portal .lrb-calendar-link-card {
    order: 2 !important;
  }
  .lrb-portal .lrb-security-card,
  .lrb-portal .lrb-operator-card,
  .lrb-portal .lrb-calendar-link-card {
    padding: 13px !important;
  }
  .lrb-portal .lrb-calendar-link-card {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 782px) {
  .lrb-calendar-card .lrb-resource-legend-inline {
    display: none !important;
  }
}


/* v1.6.97 - ottimizzazione tablet/PWA area utente */
@media (min-width: 783px) and (max-width: 1280px) {
  .lrb-portal .lrb-sidebar {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .lrb-portal .lrb-security-card,
  .lrb-portal .lrb-operator-card,
  .lrb-portal .lrb-calendar-link-card,
  .lrb-portal .lrb-side-card {
    grid-column: auto !important;
    min-height: 0 !important;
    padding: 11px 12px !important;
    margin: 0 !important;
  }
  .lrb-portal .lrb-security-card h3,
  .lrb-portal .lrb-operator-card h3,
  .lrb-portal .lrb-calendar-link-card h3,
  .lrb-portal .lrb-side-card h3 {
    font-size: .92rem !important;
    margin-bottom: 5px !important;
  }
  .lrb-portal .lrb-security-card p,
  .lrb-portal .lrb-operator-card p,
  .lrb-portal .lrb-calendar-link-card p {
    font-size: .78rem !important;
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
  }
  .lrb-portal .lrb-security-card small,
  .lrb-portal .lrb-operator-card small,
  .lrb-portal .lrb-calendar-link-card small {
    display: block !important;
    font-size: .72rem !important;
    line-height: 1.18 !important;
    margin-top: 5px !important;
  }
  .lrb-portal .lrb-security-card .lrb-button,
  .lrb-portal .lrb-operator-card .lrb-button,
  .lrb-portal .lrb-calendar-link-card button {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: .76rem !important;
    border-radius: 9px !important;
  }
  .lrb-portal .lrb-calendar-feed-box {
    gap: 5px !important;
  }
  .lrb-portal .lrb-calendar-feed-box input {
    min-height: 29px !important;
    font-size: .72rem !important;
  }
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip {
    transform: scale(.86) !important;
    transform-origin: center !important;
  }
}
@media (min-width: 783px) and (max-width: 1100px) {
  .lrb-calendar-card .lrb-resource-legend-inline {
    margin-top: 8px !important;
    padding: 10px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 5px 8px !important;
  }
}


/* v1.6.98 - rifinitura tablet/PWA: box 2FA/operatore sotto prenotazioni e legenda compatta */
@media (min-width: 783px) and (max-width: 1280px) {
  .lrb-portal .lrb-grid-main {
    grid-template-columns: minmax(300px, .95fr) minmax(380px, 1.05fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }
  .lrb-portal .lrb-sidebar {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
    margin-top: -2px !important;
  }
  .lrb-portal .lrb-security-card,
  .lrb-portal .lrb-operator-card,
  .lrb-portal .lrb-calendar-link-card,
  .lrb-portal .lrb-side-card {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 10px 11px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .lrb-portal .lrb-security-card h3,
  .lrb-portal .lrb-operator-card h3,
  .lrb-portal .lrb-calendar-link-card h3 {
    font-size: .88rem !important;
    line-height: 1.12 !important;
    margin: 0 0 5px !important;
  }
  .lrb-portal .lrb-security-card p,
  .lrb-portal .lrb-operator-card p,
  .lrb-portal .lrb-calendar-link-card p {
    font-size: .74rem !important;
    line-height: 1.18 !important;
    margin: 0 0 6px !important;
  }
  .lrb-portal .lrb-security-card small,
  .lrb-portal .lrb-operator-card small,
  .lrb-portal .lrb-calendar-link-card small {
    font-size: .68rem !important;
    line-height: 1.15 !important;
    margin-top: 4px !important;
  }
  .lrb-portal .lrb-security-card .lrb-button,
  .lrb-portal .lrb-operator-card .lrb-button,
  .lrb-portal .lrb-calendar-link-card button {
    min-height: 26px !important;
    padding: 4px 8px !important;
    font-size: .72rem !important;
    border-radius: 8px !important;
  }
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip {
    width: 16px !important;
    height: 16px !important;
    font-size: 10px !important;
    transform: none !important;
  }
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip::after {
    right: auto !important;
    left: 50% !important;
    bottom: calc(100% + 7px) !important;
    width: 210px !important;
    max-width: calc(100vw - 36px) !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    padding: 7px 8px !important;
    transform: translate(-50%, 4px) !important;
    white-space: normal !important;
  }
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip:hover::after,
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip:focus::after {
    transform: translate(-50%, 0) !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 9px 10px !important;
    margin: 9px 0 8px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline h3 {
    font-size: .82rem !important;
    margin: 0 0 6px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend li {
    display: grid !important;
    grid-template-columns: 12px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 5px !important;
    min-width: 0 !important;
    padding: 1px 0 !important;
    margin: 0 !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend .resource-dot {
    width: 10px !important;
    height: 10px !important;
    margin-top: 2px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend strong {
    display: block !important;
    font-size: .68rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend small {
    display: block !important;
    font-size: .58rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    opacity: .78 !important;
  }
}
@media (min-width: 783px) and (max-width: 960px) {
  .lrb-portal .lrb-grid-main {
    grid-template-columns: 1fr !important;
  }
  .lrb-portal .lrb-sidebar {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* v1.6.99 - tablet/PWA: sidebar operativa ordinata sotto prossime prenotazioni */
@media (min-width: 783px) and (max-width: 1280px) {
  .lrb-portal .lrb-grid-main {
    grid-template-columns: minmax(300px, .96fr) minmax(390px, 1.04fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  /* I box 2FA / operatore restano sotto Prossime prenotazioni, a larghezza piena,
     non affiancati e non dispersi nello spazio bianco. */
  .lrb-portal .lrb-sidebar {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: block !important;
    margin: 10px 0 0 !important;
    width: 100% !important;
  }
  .lrb-portal .lrb-sidebar:empty { display: none !important; }

  .lrb-portal .lrb-security-card,
  .lrb-portal .lrb-operator-card,
  .lrb-portal .lrb-calendar-link-card,
  .lrb-portal .lrb-side-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    margin: 0 0 8px !important;
    padding: 10px 12px !important;
  }

  .lrb-portal .lrb-security-card h3,
  .lrb-portal .lrb-operator-card h3,
  .lrb-portal .lrb-calendar-link-card h3 {
    font-size: .88rem !important;
    line-height: 1.12 !important;
    margin: 0 0 4px !important;
  }
  .lrb-portal .lrb-security-card p,
  .lrb-portal .lrb-operator-card p,
  .lrb-portal .lrb-calendar-link-card p,
  .lrb-portal .lrb-security-card small,
  .lrb-portal .lrb-operator-card small,
  .lrb-portal .lrb-calendar-link-card small {
    font-size: .72rem !important;
    line-height: 1.18 !important;
    margin: 0 0 5px !important;
  }
  .lrb-portal .lrb-security-card small,
  .lrb-portal .lrb-operator-card small,
  .lrb-portal .lrb-calendar-link-card small {
    display: block !important;
    color: #526174 !important;
  }
  .lrb-portal .lrb-security-card .lrb-button,
  .lrb-portal .lrb-operator-card .lrb-button,
  .lrb-portal .lrb-calendar-link-card button {
    min-height: 28px !important;
    padding: 5px 10px !important;
    font-size: .74rem !important;
    border-radius: 8px !important;
  }

  /* Il tooltip 2FA non deve più uscire dallo schermo su tablet: niente fumetto flottante,
     resta il testo compatto nel box. */
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip::before,
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip::after {
    display: none !important;
    content: none !important;
  }

  /* Legenda: stesso box del calendario, testo molto compatto e sempre su due righe pulite. */
  .lrb-calendar-card .lrb-resource-legend-inline {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 8px 10px !important;
    margin: 8px 0 8px !important;
    overflow: hidden !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline h3 {
    font-size: .78rem !important;
    line-height: 1.1 !important;
    margin: 0 0 6px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3px 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend li {
    display: grid !important;
    grid-template-columns: 10px minmax(0, 1fr) !important;
    gap: 4px !important;
    align-items: start !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend .resource-dot {
    width: 8px !important;
    height: 8px !important;
    margin-top: 3px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend strong,
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend small {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend strong {
    font-size: .62rem !important;
    line-height: 1.05 !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend small {
    font-size: .52rem !important;
    line-height: 1.05 !important;
    opacity: .74 !important;
  }
}

@media (min-width: 783px) and (max-width: 980px) {
  .lrb-portal .lrb-grid-main {
    grid-template-columns: 1fr !important;
  }
  .lrb-portal .lrb-sidebar {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}


/* v1.7.00 - tablet/PWA: sidebar sotto prossime prenotazioni, box 2FA/operatore compatti */
.lrb-calendar-card .lrb-sidebar-after-upcoming{
  margin-top:14px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  align-items:stretch!important;
}
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-side-card,
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-security-card,
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-calendar-link-card{
  padding:12px 14px!important;
  min-height:0!important;
  border-radius:15px!important;
  box-shadow:0 8px 18px rgba(31,63,120,.05)!important;
}
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-calendar-link-card{
  grid-column:1 / -1!important;
}
.lrb-security-wp2fa-card h3,
.lrb-operator-card h3{
  font-size:.98rem!important;
  margin:0 0 6px!important;
}
.lrb-security-compact-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.lrb-security-compact-row p,
.lrb-operator-card p{
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.25!important;
}
.lrb-security-wp2fa-card .lrb-button,
.lrb-operator-card .lrb-button{
  width:auto!important;
  margin:0!important;
  padding:7px 10px!important;
  min-height:0!important;
  font-size:.78rem!important;
  white-space:nowrap!important;
}
.lrb-security-wp2fa-card small{
  margin-top:6px!important;
  font-size:.76rem!important;
  line-height:1.22!important;
}
.lrb-operator-mobile-hint{display:none!important;}
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-info-tip::after,
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-info-tip:hover::after,
.lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-info-tip:focus::after{
  display:none!important;
}
.lrb-resource-legend-inline{
  margin:12px 0 0!important;
  width:100%!important;
}
.lrb-resource-legend-inline .lrb-resource-legend{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px 10px!important;
  margin:6px 0 0!important;
}
.lrb-resource-legend-inline .lrb-resource-legend li{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:12px minmax(0,1fr)!important;
  align-items:start!important;
  gap:6px!important;
  font-size:.78rem!important;
  line-height:1.15!important;
}
.lrb-resource-legend-inline .lrb-resource-legend strong,
.lrb-resource-legend-inline .lrb-resource-legend small{
  display:block!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.15!important;
}
.lrb-resource-legend-inline .resource-dot{
  width:10px!important;
  height:10px!important;
  margin-top:2px!important;
}
@media (max-width:1366px) and (min-width:761px){
  .lrb-grid-main{grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)!important;gap:14px!important;align-items:start!important;}
  .lrb-calendar-card .fc{display:none!important;}
  .lrb-calendar-card #lrb-calendar:before{content:'Vista lista prenotazioni';display:block;font-weight:800;color:#1f3f78;margin:0 0 8px;font-size:.95rem;}
  .lrb-calendar-card .lrb-sidebar-after-upcoming{grid-template-columns:1fr!important;}
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-side-card,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-security-card,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-calendar-link-card{width:100%!important;}
  .lrb-security-compact-row{grid-template-columns:minmax(0,1fr) auto!important;}
}
@media (max-width:760px){
  .lrb-calendar-card .lrb-sidebar-after-upcoming{grid-template-columns:1fr!important;}
  .lrb-security-compact-row{grid-template-columns:1fr!important;}
  .lrb-security-wp2fa-card .lrb-button,.lrb-operator-card .lrb-button{width:100%!important;justify-content:center!important;}
  .lrb-resource-legend-inline .lrb-resource-legend{grid-template-columns:1fr!important;}
}


/* v1.7.01 - rifinitura tablet/PWA box 2FA e operatore */
.lrb-operator-compact-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.lrb-security-wp2fa-card .lrb-button,
.lrb-operator-card .lrb-button{
  min-width:142px!important;
  min-height:34px!important;
  padding:8px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.82rem!important;
  line-height:1.1!important;
  border-radius:10px!important;
}
.lrb-operator-compact-row p,
.lrb-security-compact-row p{
  margin:0!important;
  font-size:.82rem!important;
  line-height:1.25!important;
}
.lrb-operator-card .lrb-operator-mobile-hint{
  margin-top:6px!important;
  font-size:.74rem!important;
  line-height:1.18!important;
  color:#5b6475!important;
}
@media (max-width:1366px) and (min-width:761px){
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-security-card,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-operator-card{
    padding:10px 12px!important;
  }
  .lrb-operator-compact-row,
  .lrb-security-compact-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .lrb-security-wp2fa-card small{
    display:block!important;
    margin-top:5px!important;
    max-width:100%!important;
  }
}
@media (max-width:760px){
  .lrb-operator-compact-row,
  .lrb-security-compact-row{
    grid-template-columns:1fr!important;
  }
  .lrb-security-wp2fa-card .lrb-button,
  .lrb-operator-card .lrb-button{
    width:100%!important;
    min-width:0!important;
  }
}


/* v1.7.02 - layout distinti smartphone/tablet/desktop e rifinitura tablet PWA */
/* Desktop PC: calendario grafico, due colonne principali, nessuna regola tablet forzata. */
@media (min-width: 1367px) {
  .lrb-portal .lrb-grid-main {
    display: grid !important;
    grid-template-columns: minmax(380px, .82fr) minmax(680px, 1.18fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }
  .lrb-calendar-card {
    align-self: start !important;
  }
  .lrb-calendar-card .fc {
    display: block !important;
  }
  .lrb-calendar-card #lrb-calendar:before {
    display: none !important;
    content: none !important;
  }
  .lrb-calendar-card .lrb-sidebar-after-upcoming {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 10px !important;
    align-items: stretch !important;
  }
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-calendar-link-card {
    grid-column: 1 / -1 !important;
  }
}

/* Tablet / PWA: lista prenotazioni, prossime prenotazioni e box operativi subito sotto, senza spazi vuoti. */
@media (min-width: 761px) and (max-width: 1366px) {
  .lrb-portal .lrb-grid-main {
    display: grid !important;
    grid-template-columns: minmax(340px, .94fr) minmax(0, 1.06fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .lrb-form-card,
  .lrb-calendar-card {
    align-self: start !important;
  }
  .lrb-calendar-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 13px !important;
    min-height: 0 !important;
  }
  .lrb-calendar-card .lrb-card-title {
    margin-bottom: 6px !important;
  }
  .lrb-calendar-card .fc {
    display: block !important;
    min-width: 0 !important;
  }
  .lrb-calendar-card #lrb-calendar {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
  .lrb-calendar-card #lrb-calendar:before {
    display: none !important;
    content: none !important;
  }
  #lrb-calendar .fc-toolbar {
    gap: 6px !important;
    margin-bottom: 6px !important;
  }
  #lrb-calendar .fc-toolbar-title {
    font-size: 18px !important;
  }
  #lrb-calendar .fc-button {
    min-height: 28px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    border-radius: 8px !important;
  }
  #lrb-calendar .fc-list {
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  #lrb-calendar .fc-list-event-title,
  #lrb-calendar .fc-list-event-time {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline {
    order: 2 !important;
    margin: 4px 0 0 !important;
    padding: 9px 10px !important;
    border-radius: 13px !important;
    width: 100% !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline h3 {
    font-size: .84rem !important;
    margin: 0 0 5px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3px 8px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend li {
    grid-template-columns: 9px minmax(0, 1fr) !important;
    gap: 4px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .resource-dot {
    width: 8px !important;
    height: 8px !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend strong {
    font-size: .60rem !important;
    line-height: 1.05 !important;
  }
  .lrb-calendar-card .lrb-resource-legend-inline .lrb-resource-legend small {
    font-size: .50rem !important;
    line-height: 1.05 !important;
  }
  .lrb-upcoming-panel {
    order: 3 !important;
    margin-top: 6px !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .lrb-upcoming-head {
    margin-bottom: 8px !important;
  }
  .lrb-upcoming-head h3 {
    font-size: 16px !important;
  }
  .lrb-upcoming-head p {
    font-size: 11px !important;
  }
  .lrb-upcoming-item {
    grid-template-columns: 54px 1fr auto !important;
    gap: 6px !important;
    padding: 7px 8px !important;
    border-radius: 12px !important;
  }
  .lrb-upcoming-date {
    padding: 5px 6px !important;
  }
  .lrb-upcoming-date small,
  .lrb-upcoming-main span,
  .lrb-upcoming-main strong,
  .lrb-upcoming-status,
  .lrb-contact-owner {
    font-size: 11px !important;
  }
  .lrb-calendar-card .lrb-sidebar-after-upcoming {
    order: 4 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin-top: 6px !important;
    width: 100% !important;
  }
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-side-card,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-security-card,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-calendar-link-card {
    width: 100% !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border-radius: 13px !important;
    min-height: 0 !important;
  }
  .lrb-security-wp2fa-card h3,
  .lrb-operator-card h3 {
    font-size: .85rem !important;
    margin: 0 !important;
  }
  .lrb-security-compact-row,
  .lrb-operator-compact-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
  }
  .lrb-security-compact-row p,
  .lrb-operator-compact-row p {
    font-size: .74rem !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  .lrb-security-wp2fa-card small,
  .lrb-operator-mobile-hint {
    display: block !important;
    font-size: .66rem !important;
    line-height: 1.12 !important;
    margin-top: 4px !important;
    color: #5b6475 !important;
  }
  .lrb-security-wp2fa-card .lrb-button,
  .lrb-operator-card .lrb-button {
    min-width: 126px !important;
    min-height: 30px !important;
    padding: 7px 9px !important;
    font-size: .72rem !important;
    border-radius: 9px !important;
    white-space: nowrap !important;
  }
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-info-tip::after,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-info-tip:hover::after,
  .lrb-calendar-card .lrb-sidebar-after-upcoming .lrb-info-tip:focus::after {
    display: none !important;
    content: none !important;
  }
}

/* Smartphone: layout a colonna singola, niente affiancamenti. */
@media (max-width: 760px) {
  .lrb-portal .lrb-grid-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .lrb-calendar-card .lrb-sidebar-after-upcoming {
    grid-template-columns: 1fr !important;
  }
  .lrb-security-compact-row,
  .lrb-operator-compact-row {
    grid-template-columns: 1fr !important;
  }
  .lrb-security-wp2fa-card .lrb-button,
  .lrb-operator-card .lrb-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* v1.7.27 - storico prenotazioni importate compatto ed espandibile */
.lrb-legacy-history-card {
  margin-top: 16px;
  padding: 0 !important;
  overflow: hidden;
}
.lrb-legacy-history-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 14px 18px;
  color: var(--lrb-primary);
  font-weight: 700;
  list-style: none;
}
.lrb-legacy-history-summary::-webkit-details-marker { display: none; }
.lrb-legacy-history-summary:after {
  content: "Apri";
  margin-left: auto;
  border: 1px solid rgba(12, 55, 116, .18);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: .85rem;
  color: var(--lrb-primary);
  background: #fff;
}
.lrb-legacy-history-card[open] .lrb-legacy-history-summary:after { content: "Chiudi"; }
.lrb-legacy-history-summary small {
  color: var(--lrb-muted);
  font-weight: 600;
}
.lrb-legacy-history-content {
  padding: 0 18px 18px;
}
.lrb-legacy-history-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 12px;
  flex-wrap: wrap;
}
.lrb-legacy-history-search {
  min-width: min(420px, 100%);
  max-width: 100%;
}
.lrb-legacy-history-table {
  table-layout: fixed;
  width: 100%;
}
.lrb-legacy-history-table th,
.lrb-legacy-history-table td {
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
}
.lrb-legacy-history-table th:nth-child(1),
.lrb-legacy-history-table td:nth-child(1) { width: 180px; }
.lrb-legacy-history-table th:nth-child(3),
.lrb-legacy-history-table td:nth-child(3) { width: 190px; }
.lrb-legacy-history-table th:nth-child(4),
.lrb-legacy-history-table td:nth-child(4) { width: 120px; }
.lrb-legacy-history-table th:nth-child(5),
.lrb-legacy-history-table td:nth-child(5) { width: 130px; }
.lrb-legacy-history-table td:nth-child(2) strong {
  display: block;
  margin-bottom: 4px;
}
@media (max-width: 760px) {
  .lrb-legacy-history-summary { align-items: flex-start; flex-wrap: wrap; }
  .lrb-legacy-history-table th,
  .lrb-legacy-history-table td {
    width: auto !important;
  }
}

/* v1.7.33 - Frontend form compactness and safe tooltips */
.lrb-booking-form .lrb-form-row {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  align-items: end;
}
.lrb-booking-form .lrb-field label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.lrb-booking-form .lrb-group-select-tip {
  flex: 0 0 auto;
}
.lrb-booking-form .lrb-group-select-tip::after,
.lrb-booking-form .lrb-info-tip::after {
  width: min(320px, calc(100vw - 36px));
  max-width: calc(100vw - 36px);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
.lrb-booking-form .lrb-group-select-tip::after {
  left: 50%;
  right: auto;
  transform: translate(-50%, 4px);
}
.lrb-booking-form .lrb-group-select-tip:hover::after,
.lrb-booking-form .lrb-group-select-tip:focus::after {
  transform: translate(-50%, 0);
}
@media (max-width: 720px) {
  .lrb-booking-form .lrb-form-row {
    gap: 10px;
  }
  .lrb-booking-form .lrb-field {
    margin-bottom: 10px;
  }
  .lrb-booking-form input,
  .lrb-booking-form select,
  .lrb-booking-form textarea {
    min-height: 42px;
  }
}

/* v1.7.35 - Frontend desktop: form and calendar above, bookings full-width below */
.lrb-portal .lrb-grid-main-balanced {
  align-items: start !important;
  grid-template-columns: minmax(390px, .92fr) minmax(540px, 1.08fr) !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
}
.lrb-portal .lrb-grid-main-balanced > .lrb-card {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.lrb-portal #lrb-my-bookings {
  width: 100% !important;
  margin-top: clamp(12px, 1.4vw, 18px) !important;
}
.lrb-portal #lrb-my-bookings .lrb-table-wrap {
  overflow-x: visible !important;
}
.lrb-portal #lrb-my-bookings .lrb-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
.lrb-portal #lrb-my-bookings .lrb-table th,
.lrb-portal #lrb-my-bookings .lrb-table td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(1),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(1) { width: 18%; }
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(2),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(2) { width: 34%; }
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(3),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(3) { width: 22%; }
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(4),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(4) { width: 12%; }
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(5),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(5) { width: 14%; }
@media (max-width: 1180px) {
  .lrb-portal .lrb-grid-main-balanced {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 760px) {
  .lrb-portal #lrb-my-bookings .lrb-table,
  .lrb-portal #lrb-my-bookings .lrb-table thead,
  .lrb-portal #lrb-my-bookings .lrb-table tbody,
  .lrb-portal #lrb-my-bookings .lrb-table tr,
  .lrb-portal #lrb-my-bookings .lrb-table th,
  .lrb-portal #lrb-my-bookings .lrb-table td {
    width: auto !important;
  }
}

/* v1.7.38 - Tooltip calendario operatori */
.lrb-calendar-has-tooltip{cursor:help;}

/* v1.7.40 - Desktop: layout frontend simmetrico a passaggi, senza toccare tablet/PWA e smartphone */
@media (min-width: 1367px) {
  .lrb-portal .lrb-grid-main-balanced {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(14px, 1.4vw, 20px) !important;
    align-items: start !important;
  }
  .lrb-portal .lrb-grid-main-balanced > .lrb-card,
  .lrb-portal #lrb-form-card,
  .lrb-portal #lrb-calendar-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .lrb-portal #lrb-form-card .lrb-booking-form {
    display: block !important;
  }
  .lrb-booking-step-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.2vw, 18px) !important;
    align-items: stretch !important;
  }
  .lrb-booking-step {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-width: 0 !important;
    min-height: 100% !important;
    padding: 14px !important;
    border: 1px solid rgba(39, 53, 131, .10) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(248,250,255,.95), rgba(255,255,255,.98)) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65) !important;
  }
  .lrb-booking-step-head {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 2px !important;
    color: var(--lrb-primary) !important;
  }
  .lrb-booking-step-head span {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--lrb-primary) !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: .95rem !important;
    box-shadow: 0 8px 18px rgba(39,53,131,.16) !important;
  }
  .lrb-booking-step-head strong {
    font-size: 1rem !important;
    line-height: 1.1 !important;
  }
  .lrb-booking-step .lrb-form-section {
    margin: 2px 0 4px !important;
  }
  .lrb-booking-step .lrb-field,
  .lrb-booking-step .lrb-form-row,
  .lrb-booking-step .lrb-checkbox,
  .lrb-booking-step .lrb-recurrence-inline-panel,
  .lrb-booking-step .lrb-cost-estimate,
  .lrb-booking-step .lrb-actions,
  .lrb-booking-step .lrb-message {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    min-width: 0 !important;
  }
  .lrb-booking-step .lrb-form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .lrb-booking-step input,
  .lrb-booking-step select,
  .lrb-booking-step textarea {
    width: 100% !important;
    min-width: 0 !important;
  }
  .lrb-booking-step textarea {
    min-height: 84px !important;
  }
  .lrb-booking-step .lrb-actions {
    margin-top: auto !important;
  }
  .lrb-calendar-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  .lrb-calendar-card #lrb-calendar {
    width: 100% !important;
    min-width: 0 !important;
  }
  .lrb-calendar-card .fc {
    width: 100% !important;
    min-width: 0 !important;
  }
  .lrb-calendar-info-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .lrb-calendar-info-grid > .lrb-card,
  .lrb-calendar-info-grid > .lrb-side-card,
  .lrb-calendar-info-grid > .lrb-resource-legend-card,
  .lrb-calendar-info-grid > .lrb-upcoming-panel,
  .lrb-calendar-info-grid > .lrb-operator-card,
  .lrb-calendar-info-grid > .lrb-security-card {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    min-height: 128px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .lrb-calendar-info-grid .lrb-resource-legend-inline {
    margin: 0 !important;
  }
  .lrb-calendar-info-grid .lrb-resource-legend-inline .lrb-resource-legend {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
  .lrb-calendar-info-grid .lrb-resource-legend-inline .lrb-resource-legend li {
    grid-template-columns: 10px minmax(0,1fr) !important;
    gap: 6px !important;
  }
  .lrb-calendar-info-grid .lrb-resource-legend-inline .lrb-resource-legend strong,
  .lrb-calendar-info-grid .lrb-resource-legend-inline .lrb-resource-legend small,
  .lrb-calendar-info-grid .lrb-upcoming-main strong,
  .lrb-calendar-info-grid .lrb-upcoming-main span,
  .lrb-calendar-info-grid p {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-calendar-info-grid .lrb-upcoming-panel {
    display: flex !important;
    flex-direction: column !important;
  }
  .lrb-calendar-info-grid .lrb-upcoming-list {
    max-height: 160px !important;
    overflow: auto !important;
    padding-right: 2px !important;
  }
  .lrb-calendar-info-grid .lrb-upcoming-empty {
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
  }
  .lrb-calendar-info-grid .lrb-operator-compact-row,
  .lrb-calendar-info-grid .lrb-security-compact-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
  }
  .lrb-calendar-info-grid .lrb-button {
    white-space: nowrap !important;
  }
}

/* v1.7.41 - Desktop: riordino form a passaggi e pannelli calendario più simmetrici */
@media (min-width: 1367px) {
  .lrb-booking-step-grid {
    align-items: start !important;
  }
  .lrb-booking-step {
    align-self: start !important;
    min-height: auto !important;
  }
  .lrb-booking-step .lrb-compact-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
  }
  .lrb-booking-step .lrb-compact-toggle input[type="checkbox"] {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .lrb-booking-step .lrb-compact-toggle span {
    min-width: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-booking-step-1 .lrb-field,
  .lrb-booking-step-2 .lrb-field,
  .lrb-booking-step-3 .lrb-field {
    margin-bottom: 8px !important;
  }
  .lrb-booking-step-2 .lrb-form-section {
    margin-top: 8px !important;
  }
  .lrb-booking-step-2 .lrb-form-section:first-of-type {
    margin-top: 2px !important;
  }
  .lrb-booking-step-2 textarea#lrb_purpose {
    min-height: 78px !important;
  }
  .lrb-booking-step-3 .lrb-cost-estimate {
    margin-bottom: 12px !important;
  }
  .lrb-booking-step-3 .lrb-actions {
    margin-top: 6px !important;
  }
  .lrb-booking-step-3 .lrb-message {
    margin-bottom: 0 !important;
  }
  .lrb-calendar-info-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 12px !important;
  }
  .lrb-calendar-info-grid > .lrb-resource-legend-card,
  .lrb-calendar-info-grid > .lrb-upcoming-panel {
    min-height: 132px !important;
  }
  .lrb-calendar-info-grid > .lrb-operator-card,
  .lrb-calendar-info-grid > .lrb-security-card {
    min-height: 92px !important;
  }
  .lrb-calendar-info-grid > .lrb-operator-card:nth-child(3):last-child,
  .lrb-calendar-info-grid > .lrb-security-card:nth-child(3):last-child {
    grid-column: 1 / -1 !important;
  }
  .lrb-calendar-info-grid .lrb-resource-legend-inline .lrb-resource-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .lrb-calendar-info-grid .lrb-upcoming-list {
    max-height: 180px !important;
  }
}


/* v1.7.42 - Fix desktop step form: checkbox compatti e niente testi verticali */
@media (min-width: 1367px) {
  .lrb-booking-step input[type="checkbox"] {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .lrb-booking-step .lrb-checkbox,
  .lrb-booking-step .lrb-compact-toggle,
  .lrb-booking-step .lrb-recurrence-toggle-row,
  .lrb-booking-step .lrb-deposit-confirm {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-content: start !important;
    text-align: left !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 12px !important;
    margin: 0 0 10px !important;
    overflow: visible !important;
  }
  .lrb-booking-step .lrb-checkbox span,
  .lrb-booking-step .lrb-compact-toggle span,
  .lrb-booking-step .lrb-recurrence-toggle-row span,
  .lrb-booking-step .lrb-deposit-confirm span {
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.25 !important;
  }
  .lrb-booking-step .lrb-recurrence-inline-panel {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    margin: 0 0 10px !important;
  }
  .lrb-booking-step .lrb-recurrence-inline-panel .lrb-recurrence-box {
    margin-top: 8px !important;
    padding: 10px !important;
  }
  .lrb-booking-step .lrb-form-section {
    margin: 4px 0 6px !important;
  }
  .lrb-booking-step .lrb-primary-booking-field {
    margin-bottom: 10px !important;
  }
  .lrb-booking-step-3 .lrb-checkbox:not(.lrb-deposit-confirm) {
    background: transparent !important;
    border: 0 !important;
    padding: 4px 0 8px !important;
  }
}


/* v1.7.43 - Desktop: allinea i tre passaggi prenotazione alla stessa altezza massima */
@media (min-width: 1367px) {
  .lrb-booking-step-grid {
    align-items: stretch !important;
  }
  .lrb-booking-step {
    align-self: stretch !important;
    height: 100% !important;
    min-height: 100% !important;
  }
  .lrb-booking-step-1,
  .lrb-booking-step-2,
  .lrb-booking-step-3 {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* v1.7.44 - Rifiniture desktop step form: etichette centrate, tooltip contenuti, giorni ricorrenza allineati */
@media (min-width: 1367px) {
  .lrb-booking-step {
    overflow: visible !important;
  }
  .lrb-booking-step .lrb-field,
  .lrb-booking-step .lrb-advanced-select,
  .lrb-booking-step .lrb-recurrence-box,
  .lrb-booking-step .lrb-recurrence-days-field {
    overflow: visible !important;
  }
  .lrb-booking-step .lrb-field > label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }
  .lrb-booking-step .lrb-field > label .lrb-highlight-label {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .lrb-booking-step .lrb-form-section {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .lrb-booking-step .lrb-form-section > span {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .lrb-booking-step .lrb-inline-help {
    position: relative !important;
    overflow: visible !important;
    z-index: 30 !important;
  }
  .lrb-booking-step .lrb-inline-help .lrb-info-tip {
    position: relative !important;
    z-index: 31 !important;
  }
  .lrb-booking-step .lrb-inline-help .lrb-info-tip::after {
    left: 0 !important;
    right: auto !important;
    bottom: calc(100% + 8px) !important;
    width: min(320px, calc(100vw - 80px)) !important;
    max-width: min(320px, calc(100vw - 80px)) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    transform: translateY(4px) !important;
    z-index: 9999 !important;
  }
  .lrb-booking-step .lrb-inline-help .lrb-info-tip:hover::after,
  .lrb-booking-step .lrb-inline-help .lrb-info-tip:focus::after {
    transform: translateY(0) !important;
  }
  .lrb-booking-step .lrb-weekdays-compact {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 6px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  .lrb-booking-step .lrb-weekdays-compact label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 40px !important;
    padding: 7px 4px !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
  .lrb-booking-step .lrb-weekdays-compact input[type="checkbox"] {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    flex: 0 0 16px !important;
    margin: 0 !important;
  }
}

/* v1.7.45 - Rifiniture desktop form e giorni ricorrenza */
@media (min-width: 1367px) {
  .lrb-booking-step .lrb-field > label,
  .lrb-booking-step .lrb-recurrence-days-field > label {
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }
  .lrb-booking-step .lrb-field input[type="text"],
  .lrb-booking-step .lrb-field input[type="tel"],
  .lrb-booking-step .lrb-field input[type="number"],
  .lrb-booking-step .lrb-field input[type="email"] {
    text-align: center !important;
  }
  .lrb-booking-step .lrb-field input::placeholder,
  .lrb-booking-step textarea::placeholder {
    text-align: center !important;
  }
  .lrb-booking-step .lrb-group-select-tip {
    position: static !important;
    margin-left: 6px !important;
    transform: none !important;
  }
  .lrb-booking-step .lrb-group-select-tip::after,
  .lrb-booking-step .lrb-info-tip::after {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, 4px) !important;
    width: min(300px, calc(100vw - 96px)) !important;
    max-width: min(300px, calc(100vw - 96px)) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    z-index: 99999 !important;
  }
  .lrb-booking-step .lrb-group-select-tip:hover::after,
  .lrb-booking-step .lrb-group-select-tip:focus::after,
  .lrb-booking-step .lrb-info-tip:hover::after,
  .lrb-booking-step .lrb-info-tip:focus::after {
    transform: translate(-50%, 0) !important;
  }
  .lrb-booking-step .lrb-weekdays-compact {
    display: grid !important;
    grid-template-columns: repeat(7, 48px) !important;
    gap: 5px !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .lrb-booking-step .lrb-weekdays-compact label {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 5px 3px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .lrb-booking-step .lrb-weekdays-compact input[type="checkbox"] {
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;
    height: 15px !important;
    min-height: 15px !important;
    flex: 0 0 15px !important;
  }
}


/* v1.7.46 - Rifinitura campo Gruppo/Privato e ricorrenza desktop */
@media (min-width: 1367px) {
  .lrb-booking-step .lrb-field > label[for="lrb_contact_name"],
  .lrb-booking-step .lrb-field > label[for="lrb_group_id"] {
    min-height: 42px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    line-height: 1.15 !important;
    margin-bottom: 7px !important;
  }
  .lrb-booking-step .lrb-field > label[for="lrb_group_id"] {
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }
  .lrb-booking-step .lrb-group-select-tip {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 18px !important;
    margin-left: 4px !important;
    top: auto !important;
    transform: none !important;
    vertical-align: middle !important;
  }
  .lrb-booking-step .lrb-group-select-tip::after {
    left: auto !important;
    right: 0 !important;
    bottom: calc(100% + 8px) !important;
    transform: translateY(4px) !important;
    width: min(360px, calc(100vw - 120px)) !important;
    max-width: min(360px, calc(100vw - 120px)) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-align: left !important;
    z-index: 99999 !important;
  }
  .lrb-booking-step .lrb-group-select-tip:hover::after,
  .lrb-booking-step .lrb-group-select-tip:focus::after {
    transform: translateY(0) !important;
  }
  .lrb-booking-step .lrb-weekdays-compact {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(42px, 1fr)) !important;
    gap: 4px !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .lrb-booking-step .lrb-weekdays-compact label {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 5px 4px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }
  .lrb-booking-step .lrb-weekdays-compact input[type="checkbox"] {
    width: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    flex: 0 0 14px !important;
  }
}

/* v1.7.48 - Verifica disponibilita pubblica login */
.lrb-public-availability{margin:14px 0 10px;border:1px solid rgba(23,52,107,.14);border-radius:18px;background:#f8fbff;overflow:hidden;text-align:left}
.lrb-public-availability summary{display:grid;grid-template-columns:34px 1fr 34px;grid-template-areas:"icon title spacer";gap:0 10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none;color:#17346b}
.lrb-public-availability summary::-webkit-details-marker{display:none}
.lrb-public-availability summary .dashicons{grid-area:icon;width:34px;height:34px;line-height:34px;text-align:center;border-radius:12px;background:#edf4ff;color:#17346b}
.lrb-public-availability summary strong{grid-area:title;font-size:18px;line-height:1.15;text-align:center;font-weight:800}
.lrb-public-availability summary small{display:none}
.lrb-public-availability-form{padding:0 14px 14px}
.lrb-public-availability-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.lrb-public-availability-grid label{display:flex;flex-direction:column;gap:4px;font-weight:700;color:#17346b;font-size:12px;text-align:left}
.lrb-public-availability-grid input,.lrb-public-availability-grid select{width:100%;min-height:38px;border-radius:10px;border:1px solid #d6deec;background:#fff;padding:8px 10px;box-sizing:border-box}
.lrb-public-availability-submit{width:100%;justify-content:center;text-align:center;margin:2px 0 8px}
.lrb-public-availability-result{display:none;border-radius:12px;padding:10px 12px;font-weight:700;line-height:1.35}
.lrb-public-availability-result:not(:empty){display:block}
.lrb-public-availability-result.ok{background:#ecfdf3;color:#146c2e;border:1px solid #bde9c8}
.lrb-public-availability-result.warn{background:#fff7e6;color:#8a5a00;border:1px solid #f6d38a}
.lrb-public-availability-result.error{background:#fdecec;color:#9f1d1d;border:1px solid #f1b6b6}
.lrb-public-availability-result small{display:block;margin-top:5px;font-weight:600;color:inherit}
.lrb-public-availability-note{margin:8px 0 0!important;color:#667085!important;font-size:12px!important;line-height:1.35!important;text-align:left!important}
@media(max-width:640px){.lrb-public-availability-grid{grid-template-columns:1fr}.lrb-public-availability summary{grid-template-columns:34px 1fr 34px}}


/* v1.7.49 - Fix Le mie prenotazioni e semaforo verifica disponibilita */
.lrb-portal #lrb-my-bookings .lrb-table-wrap{
  overflow-x:visible!important;
  max-width:100%!important;
}
.lrb-portal #lrb-my-bookings .lrb-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.lrb-portal #lrb-my-bookings .lrb-table th,
.lrb-portal #lrb-my-bookings .lrb-table td{
  padding:10px 8px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  vertical-align:middle!important;
}
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(1),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(1){width:18%!important;}
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(2),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(2){width:34%!important;}
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(3),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(3){width:24%!important;}
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(4),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(4){width:10%!important;text-align:left!important;}
.lrb-portal #lrb-my-bookings .lrb-table th:nth-child(5),
.lrb-portal #lrb-my-bookings .lrb-table td:nth-child(5){width:14%!important;min-width:118px!important;}
.lrb-portal #lrb-my-bookings .lrb-row-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
}
.lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-button,
.lrb-portal #lrb-my-bookings .lrb-row-actions button{
  width:auto!important;
  min-width:74px!important;
  max-width:100%!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:nowrap!important;
  line-height:1.2!important;
  padding:7px 10px!important;
  text-align:center!important;
}
.lrb-public-availability-result{
  position:relative!important;
  padding-left:42px!important;
}
.lrb-public-availability-result:before{
  content:"";
  position:absolute;
  left:12px;
  top:12px;
  width:16px;
  height:16px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.8);
  box-shadow:0 0 0 1px rgba(23,52,107,.12),0 4px 10px rgba(23,52,107,.12);
}
.lrb-public-availability-result.ok:before{background:#22c55e;}
.lrb-public-availability-result.warn:before{background:#f59e0b;}
.lrb-public-availability-result.error:before{background:#ef4444;}
@media(max-width:760px){
  .lrb-portal #lrb-my-bookings .lrb-table-wrap{overflow-x:auto!important;}
  .lrb-portal #lrb-my-bookings .lrb-row-actions{flex-direction:column!important;align-items:flex-start!important;}
}


/* v1.7.50 - 2FA visibilita utente e azioni prenotazioni compatte */
@media (min-width: 761px){
  .lrb-portal #lrb-my-bookings .lrb-table th:nth-child(1),
  .lrb-portal #lrb-my-bookings .lrb-table td:nth-child(1){width:18%!important;}
  .lrb-portal #lrb-my-bookings .lrb-table th:nth-child(2),
  .lrb-portal #lrb-my-bookings .lrb-table td:nth-child(2){width:32%!important;}
  .lrb-portal #lrb-my-bookings .lrb-table th:nth-child(3),
  .lrb-portal #lrb-my-bookings .lrb-table td:nth-child(3){width:24%!important;}
  .lrb-portal #lrb-my-bookings .lrb-table th:nth-child(4),
  .lrb-portal #lrb-my-bookings .lrb-table td:nth-child(4){width:10%!important;}
  .lrb-portal #lrb-my-bookings .lrb-table th:nth-child(5),
  .lrb-portal #lrb-my-bookings .lrb-table td:nth-child(5){width:16%!important;min-width:170px!important;}
  .lrb-portal #lrb-my-bookings .lrb-row-actions{
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:8px!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-button{
    min-width:74px!important;
    max-width:none!important;
    padding:7px 10px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-danger,
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-cancel{
    background:#dc3545!important;
    border-color:#dc3545!important;
    color:#fff!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-danger:disabled{
    background:#fee2e2!important;
    border-color:#fecaca!important;
    color:#991b1b!important;
  }
}
.lrb-portal .lrb-security-wp2fa-card{overflow:visible!important;}
.lrb-portal .lrb-security-wp2fa-card .lrb-info-tip{position:relative!important;display:inline-flex!important;overflow:visible!important;}
@media (min-width: 901px){
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip::before{display:none!important;content:none!important;}
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip::after{
    display:block!important;
    content:attr(aria-label)!important;
    position:absolute!important;
    right:auto!important;
    left:50%!important;
    bottom:calc(100% + 8px)!important;
    width:260px!important;
    max-width:min(320px, calc(100vw - 48px))!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    background:#14264d!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.35!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translate(-50%, 4px)!important;
    z-index:9999!important;
    pointer-events:none!important;
    white-space:normal!important;
  }
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip:hover::after,
  .lrb-portal .lrb-security-wp2fa-card .lrb-info-tip:focus::after{
    opacity:1!important;
    visibility:visible!important;
    transform:translate(-50%, 0)!important;
  }
}


/* v1.7.52 - Rifiniture tablet/PWA: prossime prenotazioni e titoli step */
@media (min-width: 761px) and (max-width: 1366px) {
  .lrb-booking-step-head {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 10px !important;
    color: var(--lrb-primary) !important;
    line-height: 1.1 !important;
  }
  .lrb-booking-step-head span {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--lrb-primary) !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: .9rem !important;
    box-shadow: 0 7px 16px rgba(39, 53, 131, .16) !important;
  }
  .lrb-booking-step-head strong {
    display: inline-block !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }
  .lrb-calendar-card .lrb-upcoming-panel {
    overflow: hidden !important;
  }
  .lrb-calendar-card .lrb-upcoming-item {
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    overflow: hidden !important;
  }
  .lrb-calendar-card .lrb-upcoming-period {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
  }
  .lrb-calendar-card .lrb-upcoming-period .lrb-upcoming-date {
    min-width: 0 !important;
    width: auto !important;
    padding: 6px 5px !important;
    border-radius: 10px !important;
    text-align: center !important;
    background: rgba(247, 249, 252, .92) !important;
    overflow: hidden !important;
  }
  .lrb-calendar-card .lrb-upcoming-date small,
  .lrb-calendar-card .lrb-upcoming-date strong,
  .lrb-calendar-card .lrb-upcoming-date span {
    display: block !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    line-height: 1.05 !important;
  }
  .lrb-calendar-card .lrb-upcoming-date small {
    font-size: .56rem !important;
    letter-spacing: .02em !important;
  }
  .lrb-calendar-card .lrb-upcoming-date strong {
    font-size: .74rem !important;
  }
  .lrb-calendar-card .lrb-upcoming-date span {
    font-size: .68rem !important;
  }
  .lrb-calendar-card .lrb-upcoming-main {
    min-width: 0 !important;
    width: 100% !important;
    justify-self: stretch !important;
    padding-left: 2px !important;
  }
  .lrb-calendar-card .lrb-upcoming-main strong,
  .lrb-calendar-card .lrb-upcoming-main span {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: anywhere !important;
    line-height: 1.15 !important;
  }
  .lrb-calendar-card .lrb-upcoming-actions {
    min-width: 66px !important;
    justify-self: end !important;
    grid-column: auto !important;
  }
  .lrb-calendar-card .lrb-upcoming-status {
    grid-column: auto !important;
    justify-self: end !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .lrb-calendar-card .lrb-upcoming-item {
    grid-template-columns: 108px minmax(0, 1fr) !important;
  }
  .lrb-calendar-card .lrb-upcoming-period {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }
  .lrb-calendar-card .lrb-upcoming-actions,
  .lrb-calendar-card .lrb-upcoming-status {
    grid-column: 2 !important;
    justify-self: start !important;
  }
}


/* v1.7.52 - Calendario personale nel frontend e scheda utente backend più compatta */
.lrb-calendar-info-grid .lrb-calendar-link-card-compact {
  min-width: 0 !important;
}
.lrb-calendar-link-compact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.lrb-calendar-link-card-compact p {
  margin: 0 !important;
  font-size: .9rem;
}
.lrb-calendar-feed-box-compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
}
.lrb-calendar-feed-box-compact input {
  width: 100% !important;
  min-width: 0 !important;
}
.lrb-calendar-feed-box-compact button,
.lrb-calendar-info-grid .lrb-calendar-link-card button {
  white-space: nowrap !important;
  padding-inline: 12px !important;
}

@media (min-width: 1367px) {
  .lrb-calendar-info-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .lrb-calendar-info-grid > .lrb-resource-legend-card,
  .lrb-calendar-info-grid > .lrb-upcoming-panel {
    grid-column: span 3 !important;
  }
  .lrb-calendar-info-grid > .lrb-calendar-link-card,
  .lrb-calendar-info-grid > .lrb-operator-card,
  .lrb-calendar-info-grid > .lrb-security-card {
    grid-column: span 2 !important;
    min-height: 96px !important;
  }
  .lrb-calendar-info-grid .lrb-resource-legend-inline .lrb-resource-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1366px) and (min-width: 781px) {
  .lrb-calendar-info-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  }
  .lrb-calendar-info-grid > .lrb-calendar-link-card,
  .lrb-calendar-info-grid > .lrb-operator-card,
  .lrb-calendar-info-grid > .lrb-security-card {
    min-height: 86px !important;
  }
}

.lrb-calendar-info-grid .lrb-calendar-link-card h3,
.lrb-calendar-info-grid .lrb-operator-card h3,
.lrb-calendar-info-grid .lrb-security-card h3 {
  margin-bottom: 6px !important;
}

/* Backend utenti: limite sotto calendario, motivo sotto storico, senza box larghi inutili */
.lrb-user-card-body {
  grid-template-areas: "access groups" !important;
  align-items: stretch !important;
}
.lrb-user-access-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-areas:
    "operator calendar history"
    "twofa recurrence reason" !important;
}
.lrb-user-access-operator { grid-area: operator; }
.lrb-user-access-calendar { grid-area: calendar; }
.lrb-user-access-history { grid-area: history; }
.lrb-user-access-2fa { grid-area: twofa; }
.lrb-user-access-recurrence-inline { grid-area: recurrence; }
.lrb-user-access-reason-inline { grid-area: reason; }
.lrb-user-access-recurrence-inline .lrb-user-operator-row,
.lrb-user-access-reason-inline .lrb-user-operator-row {
  align-items: center;
}
.lrb-user-access-recurrence-inline input.small-text {
  width: 54px !important;
  min-height: 24px !important;
}
.lrb-user-access-item {
  min-height: 76px !important;
}
@media (max-width: 1400px) {
  .lrb-user-card-body {
    grid-template-columns: 1fr !important;
    grid-template-areas: "access" "groups" !important;
  }
}
@media (max-width: 900px) {
  .lrb-user-access-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "operator"
      "calendar"
      "recurrence"
      "history"
      "reason"
      "twofa" !important;
  }
}


/* v1.7.53 - Frontend desktop: allineamento riga Area/2FA/Calendario personale */
@media (min-width: 1367px) {
  .lrb-calendar-info-grid {
    align-items: stretch !important;
    grid-auto-rows: auto !important;
  }
  .lrb-calendar-info-grid > .lrb-calendar-link-card,
  .lrb-calendar-info-grid > .lrb-operator-card,
  .lrb-calendar-info-grid > .lrb-security-card {
    height: 100% !important;
    min-height: 126px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-self: stretch !important;
    overflow: visible !important;
  }
  .lrb-calendar-info-grid > .lrb-operator-card .lrb-operator-compact-row,
  .lrb-calendar-info-grid > .lrb-security-card .lrb-security-compact-row,
  .lrb-calendar-info-grid > .lrb-calendar-link-card .lrb-calendar-link-compact-row {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    align-content: center !important;
  }
  .lrb-calendar-info-grid > .lrb-operator-card .lrb-button,
  .lrb-calendar-info-grid > .lrb-security-card .lrb-button,
  .lrb-calendar-info-grid > .lrb-calendar-link-card .lrb-button,
  .lrb-calendar-info-grid > .lrb-calendar-link-card button {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .lrb-calendar-info-grid > .lrb-operator-card p,
  .lrb-calendar-info-grid > .lrb-security-card p,
  .lrb-calendar-info-grid > .lrb-calendar-link-card p {
    margin: 0 !important;
  }
  .lrb-calendar-info-grid > .lrb-operator-card:empty,
  .lrb-calendar-info-grid > .lrb-security-card:empty,
  .lrb-calendar-info-grid > .lrb-calendar-link-card:empty {
    display: none !important;
  }
}

/* v1.7.68 - Azioni rapide operatore solo mobile/tablet */
.lrb-mobile-operator-tools{display:none!important}
@media (max-width:1366px){
  .lrb-operator-card .lrb-mobile-operator-tools{display:block!important;margin-top:12px;border-top:1px solid rgba(39,53,131,.12);padding-top:12px}
  .lrb-mobile-op-result{border-radius:12px;padding:8px 10px;margin:0 0 10px;font-size:.82rem;font-weight:700;text-align:center}
  .lrb-mobile-op-result.is-ok{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
  .lrb-mobile-op-result.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
  .lrb-mobile-op-section{margin:0 0 12px;padding:10px;border:1px solid rgba(39,53,131,.13);border-radius:14px;background:#f8fafc}
  .lrb-mobile-op-section h4{margin:0 0 8px;color:#273583;font-size:.92rem;line-height:1.2;text-align:left}
  .lrb-mobile-op-list{display:grid;gap:8px}
  .lrb-mobile-op-item{display:grid;gap:5px;background:#fff;border:1px solid rgba(39,53,131,.10);border-radius:12px;padding:10px;text-align:left;box-shadow:0 6px 15px rgba(15,23,42,.05)}
  .lrb-mobile-op-item strong{display:block;color:#15245e;font-size:.86rem;line-height:1.2;word-break:break-word}
  .lrb-mobile-op-item span,.lrb-mobile-op-item small{display:block;color:#475569;font-size:.76rem;line-height:1.25;word-break:break-word}
  .lrb-mobile-op-item form{margin:5px 0 0}
  .lrb-mobile-op-btn{width:100%;border:0;border-radius:10px;background:#eef2ff;color:#273583;font-weight:800;padding:9px 10px;font-size:.82rem;line-height:1.1;cursor:pointer}
  .lrb-mobile-op-btn.primary{background:#273583;color:#fff}
  .lrb-mobile-op-empty{font-size:.78rem!important;color:#64748b!important;margin:0!important;text-align:left!important}
}
@media (min-width:1281px){.lrb-mobile-operator-tools{display:none!important}}


/* v1.7.69 - Area operatore mobile/tablet visibile e step form coerenti con desktop */
.lrb-mobile-only-operator-card{display:none!important;}
@media (max-width:1366px){
  .lrb-calendar-info-grid > .lrb-mobile-only-operator-card{display:block!important;}
  .lrb-operator-card .lrb-mobile-operator-tools{display:block!important;margin-top:12px;border-top:1px solid rgba(39,53,131,.12);padding-top:12px;}
}
@media (min-width:1367px){
  .lrb-mobile-only-operator-card,
  .lrb-mobile-operator-tools{display:none!important;}
}
@media (max-width:760px){
  .lrb-booking-step-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:stretch!important;}
  .lrb-booking-step{display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important;padding:12px!important;border:1px solid rgba(39,53,131,.10)!important;border-radius:18px!important;background:linear-gradient(180deg, rgba(248,250,255,.95), rgba(255,255,255,.98))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;overflow:visible!important;}
  .lrb-booking-step-head{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;margin:0 0 10px!important;color:var(--lrb-primary)!important;line-height:1.1!important;text-align:left!important;}
  .lrb-booking-step-head span{width:30px!important;height:30px!important;min-width:30px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--lrb-primary)!important;color:#fff!important;font-weight:900!important;font-size:.95rem!important;box-shadow:0 8px 18px rgba(39,53,131,.16)!important;}
  .lrb-booking-step-head strong{display:inline-block!important;font-size:1rem!important;font-weight:850!important;line-height:1.15!important;color:var(--lrb-primary)!important;white-space:normal!important;}
  .lrb-booking-step .lrb-form-section{margin:4px 0 8px!important;}
  .lrb-booking-step .lrb-field,
  .lrb-booking-step .lrb-form-row,
  .lrb-booking-step .lrb-checkbox,
  .lrb-booking-step .lrb-recurrence-inline-panel,
  .lrb-booking-step .lrb-cost-estimate,
  .lrb-booking-step .lrb-actions,
  .lrb-booking-step .lrb-message{min-width:0!important;max-width:100%!important;}
}
@media (min-width:761px) and (max-width:1366px){
  .lrb-booking-step{border:1px solid rgba(39,53,131,.10)!important;border-radius:18px!important;background:linear-gradient(180deg, rgba(248,250,255,.95), rgba(255,255,255,.98))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;}
}


/* v1.7.70 - click rapido Operatore mobile/tablet */
@media (max-width:1366px){
  #lrb-mobile-operator-card{scroll-margin-top:14px;}
  #lrb-mobile-operator-tools{scroll-margin-top:14px;}
  #lrb-mobile-operator-card.lrb-mobile-op-focus{outline:3px solid rgba(39,53,131,.24);outline-offset:3px;}
}
@media (min-width:1367px){
  #lrb-mobile-operator-card.lrb-mobile-op-focus{outline:none!important;}
}


/* v1.7.71 - pannello Operatore mobile/tablet vicino ai tab rapidi */
.lrb-mobile-operator-quick-card{display:none!important;}
@media (max-width:1280px){
  .lrb-mobile-operator-quick-card{display:block!important;margin:12px 0 14px!important;}
  .lrb-mobile-operator-quick-card .lrb-card-title{align-items:center!important;justify-content:center!important;text-align:center!important;}
  .lrb-mobile-operator-quick-card .lrb-card-title h3{margin:0!important;text-align:center!important;}
  .lrb-mobile-operator-quick-intro{text-align:center!important;margin:0 0 10px!important;color:#64748b!important;font-size:13px!important;}
  .lrb-calendar-info-grid .lrb-operator-card .lrb-mobile-operator-tools{display:none!important;}
  #lrb-mobile-operator-card-quick{scroll-margin-top:12px;}
  #lrb-mobile-operator-card-quick.lrb-mobile-op-focus{outline:3px solid rgba(39,53,131,.24);outline-offset:3px;}
}
@media (min-width:1281px){
  .lrb-mobile-operator-quick-card{display:none!important;}
  #lrb-mobile-operator-card-quick{display:none!important;}
}

/* v1.7.72 - rende operative le Azioni rapide operatore nel pannello mobile/tablet */
@media (max-width:1280px){
  .lrb-mobile-operator-quick-card .lrb-mobile-operator-tools{display:block!important;margin-top:10px!important;border-top:1px solid rgba(39,53,131,.12)!important;padding-top:12px!important;}
  .lrb-mobile-operator-quick-card .lrb-mobile-op-section{display:block!important;}
  .lrb-mobile-operator-quick-card .lrb-mobile-op-list{display:grid!important;}
  .lrb-mobile-operator-quick-card .lrb-mobile-op-btn{pointer-events:auto!important;position:relative!important;z-index:2!important;}
}
@media (min-width:1281px){
  .lrb-mobile-operator-quick-card{display:none!important;}
}

/* v1.7.73 - popup cauzione backend piu compatto */
.lrb-deposit-form-clean input[type=checkbox]{width:14px!important;height:14px!important;min-height:14px!important;padding:0!important;margin:0!important;flex:0 0 auto!important}.lrb-deposit-form-clean textarea{min-height:44px!important;max-height:60px!important}.lrb-deposit-form-clean .lrb-deposit-actions-row{gap:6px!important}

/* v1.7.74 - Le mie prenotazioni mobile/tablet come card, senza scroll orizzontale */
@media (max-width: 760px) {
  .lrb-portal #lrb-my-bookings {
    overflow: visible !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table-wrap {
    overflow: visible !important;
    max-width: 100% !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table,
  .lrb-portal #lrb-my-bookings .lrb-table thead,
  .lrb-portal #lrb-my-bookings .lrb-table tbody,
  .lrb-portal #lrb-my-bookings .lrb-table tr,
  .lrb-portal #lrb-my-bookings .lrb-table th,
  .lrb-portal #lrb-my-bookings .lrb-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table thead {
    display: none !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr {
    margin: 0 0 12px !important;
    padding: 10px !important;
    border: 1px solid rgba(39, 53, 131, .14) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06) !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td {
    border: 0 !important;
    border-bottom: 1px solid rgba(39, 53, 131, .08) !important;
    padding: 7px 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td::before {
    display: block !important;
    margin: 0 0 3px !important;
    color: #273583 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(1)::before { content: "Spazi / Risorse"; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(2)::before { content: "Titolo"; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(3)::before { content: "Periodo"; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(4)::before { content: "Stato"; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(5)::before { content: "Azioni"; }
  .lrb-portal #lrb-my-bookings .lrb-row-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions::before {
    flex: 0 0 100% !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-button,
  .lrb-portal #lrb-my-bookings .lrb-row-actions button {
    flex: 1 1 calc(50% - 8px) !important;
    min-width: 118px !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 9px 10px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-danger,
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-cancel {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-status-badge {
    display: inline-flex !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-bookings-status-helper {
    display: grid !important;
    gap: 6px !important;
    text-align: left !important;
  }
}

/* v1.7.74 - pulsante rinvio QR dentro Gestione cauzione */
.lrb-deposit-actions-row .lrb-deposit-reminder-button {
  white-space: nowrap !important;
}


/* v1.7.75 - correzione mobile Le mie prenotazioni: card leggibili, badge e pulsanti orizzontali */
@media (max-width: 760px) {
  .lrb-portal #lrb-my-bookings .lrb-table-wrap {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: separate !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody {
    display: grid !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 12px !important;
    margin: 0 !important;
    border: 1px solid rgba(39, 53, 131, .14) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(39, 53, 131, .08) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    text-align: left !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td::before {
    display: block !important;
    margin: 1px 0 0 !important;
    min-width: 0 !important;
    color: #273583 !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
    white-space: normal !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(1)::before { content: "Spazi" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(2)::before { content: "Titolo" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(3)::before { content: "Periodo" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(4)::before { content: "Stato" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(5)::before { content: "Azioni" !important; }
  .lrb-portal #lrb-my-bookings .lrb-status-badge,
  .lrb-portal #lrb-my-bookings td:nth-child(4) span[class*="status-"] {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    white-space: normal !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions::before { display: none !important; content: none !important; }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-button,
  .lrb-portal #lrb-my-bookings .lrb-row-actions button,
  .lrb-portal #lrb-my-bookings .lrb-row-actions a {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 8px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    box-sizing: border-box !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-danger,
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-cancel {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
  }
}


/* v1.7.76 - fix definitivo mobile Le mie prenotazioni: niente colonne strette, niente testo verticale */
@media (max-width: 760px) {
  .lrb-portal #lrb-my-bookings,
  .lrb-portal #lrb-my-bookings * {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table,
  .lrb-portal #lrb-my-bookings .lrb-table thead,
  .lrb-portal #lrb-my-bookings .lrb-table tbody,
  .lrb-portal #lrb-my-bookings .lrb-table tr,
  .lrb-portal #lrb-my-bookings .lrb-table th,
  .lrb-portal #lrb-my-bookings .lrb-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    table-layout: auto !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table thead,
  .lrb-portal #lrb-my-bookings .lrb-table th {
    display: none !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody {
    margin: 0 !important;
    padding: 0 !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr {
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid rgba(39, 53, 131, .14) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05) !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td {
    position: relative !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(39, 53, 131, .08) !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td::before {
    display: block !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: #273583 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    white-space: normal !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(1)::before { content: "Spazi / risorse" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(2)::before { content: "Titolo" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(3)::before { content: "Periodo" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(4)::before { content: "Stato" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td:nth-child(5)::before { content: "Azioni" !important; }
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td > *,
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td span,
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td div,
  .lrb-portal #lrb-my-bookings .lrb-table tbody tr td small {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-status-badge,
  .lrb-portal #lrb-my-bookings td:nth-child(4) span,
  .lrb-portal #lrb-my-bookings td:nth-child(4) strong {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .lrb-portal #lrb-my-bookings .lrb-row-actions::before { display: none !important; content: none !important; }
  .lrb-portal #lrb-my-bookings .lrb-row-actions .lrb-mini-button,
  .lrb-portal #lrb-my-bookings .lrb-row-actions button,
  .lrb-portal #lrb-my-bookings .lrb-row-actions a {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 8px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}

/* v1.7.77 - Le mie prenotazioni: vista mobile separata, tabella originale nascosta sotto 760px */
.lrb-portal #lrb-my-bookings .lrb-my-bookings-mobile{
  display:none;
}
@media (max-width:760px){
  .lrb-portal #lrb-my-bookings .lrb-table-wrap{
    display:none!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-bookings-mobile{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:13px!important;
    border:1px solid rgba(39,53,131,.14)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
    overflow:hidden!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-head{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    margin:0 0 9px!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-row{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:9px 0!important;
    border-top:1px solid rgba(39,53,131,.08)!important;
    color:#0f172a!important;
    text-align:left!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-row span{
    display:block!important;
    margin:0 0 4px!important;
    color:#273583!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    white-space:normal!important;
    writing-mode:horizontal-tb!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-row strong,
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-row small{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    color:#0f172a!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:650!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-row small{
    margin-top:5px!important;
    color:#475569!important;
    font-size:12px!important;
    font-weight:500!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-bookings-mobile .lrb-status-badge{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:center!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    word-break:normal!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:11px!important;
    padding-top:11px!important;
    border-top:1px solid rgba(39,53,131,.08)!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-actions .lrb-mini-button,
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-actions button,
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-actions .lrb-muted-action{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:40px!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:9px 8px!important;
    border-radius:10px!important;
    font-size:13px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-actions .lrb-mini-danger,
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-actions .lrb-cancel{
    background:#dc3545!important;
    border-color:#dc3545!important;
    color:#fff!important;
  }
  .lrb-portal #lrb-my-bookings .lrb-my-booking-mobile-empty{
    padding:14px!important;
    border:1px solid rgba(39,53,131,.12)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#334155!important;
    font-size:14px!important;
  }
}

/* v1.7.86 - Telegram: card solo smartphone, filtri e permessi personali/operativi */

.lrb-telegram-smartphone-only{
  display:none!important;
}
.lrb-telegram-connect-card{
  margin:14px 0!important;
  padding:14px 16px!important;
  border-radius:18px!important;
}
.lrb-telegram-connect-card .lrb-card-title{
  margin-bottom:8px!important;
}
.lrb-telegram-connect-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.lrb-telegram-connect-copy p{
  margin:3px 0!important;
  line-height:1.35!important;
}
.lrb-telegram-connect-actions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
}
.lrb-telegram-connect-actions form{
  margin:0!important;
}
.lrb-telegram-filter-bar{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin:10px 0 12px!important;
  padding:10px!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
  background:#f8fafc!important;
}
.lrb-telegram-filter-bar input[type="search"]{
  min-width:260px!important;
  max-width:420px!important;
  flex:1 1 260px!important;
}
.lrb-telegram-filter-bar select{
  min-width:150px!important;
}
.lrb-telegram-filter-count{
  color:#475569!important;
  font-size:12px!important;
  margin-left:auto!important;
}
.lrb-telegram-users-table td,
.lrb-telegram-users-table th{
  vertical-align:middle!important;
}

@media (max-width: 640px){
  .lrb-telegram-smartphone-only{
    display:block!important;
  }
}
@media (max-width: 782px){
  .lrb-telegram-connect-row{
    grid-template-columns:1fr!important;
  }
  .lrb-telegram-connect-actions{
    justify-content:stretch!important;
  }
  .lrb-telegram-connect-actions .lrb-button,
  .lrb-telegram-connect-actions button,
  .lrb-telegram-connect-actions form{
    width:100%!important;
  }
  .lrb-telegram-filter-count{
    width:100%!important;
    margin-left:0!important;
  }
}


/* v1.7.89 - Mostra/Nascondi password in registrazione e login */
.lrb-register-card .lrb-password-toggle-wrap,
.lrb-login-card .lrb-password-toggle-wrap {
  position: relative;
  width: 100%;
}
.lrb-register-card .lrb-password-toggle-wrap input[type="password"],
.lrb-register-card .lrb-password-toggle-wrap input[type="text"],
.lrb-login-card .lrb-password-toggle-wrap input[type="password"],
.lrb-login-card .lrb-password-toggle-wrap input[type="text"] {
  width: 100%;
  padding-right: 86px !important;
  box-sizing: border-box;
}
.lrb-register-card .lrb-password-toggle,
.lrb-login-card .lrb-password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(39, 53, 131, .18);
  background: #f8fafd;
  color: #273583;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}
.lrb-register-card .lrb-password-toggle:hover,
.lrb-register-card .lrb-password-toggle:focus,
.lrb-login-card .lrb-password-toggle:hover,
.lrb-login-card .lrb-password-toggle:focus {
  background: #eef3ff;
  outline: none;
}
@media (max-width: 520px) {
  .lrb-register-card .lrb-password-toggle-wrap input[type="password"],
  .lrb-register-card .lrb-password-toggle-wrap input[type="text"],
  .lrb-login-card .lrb-password-toggle-wrap input[type="password"],
  .lrb-login-card .lrb-password-toggle-wrap input[type="text"] {
    padding-right: 82px !important;
  }
  .lrb-register-card .lrb-password-toggle,
.lrb-login-card .lrb-password-toggle {
    right: 7px;
    padding: 6px 8px;
    font-size: 11px;
  }
}

/* v1.7.90 - Login password toggle non invasivo: nessun wrap DOM del campo password */
.lrb-login-card .lrb-login-password-toggle-row {
  width: 100%;
  max-width: 360px;
  margin: -6px auto 12px;
  display: flex;
  justify-content: flex-end;
}
.lrb-login-card .lrb-password-toggle-inline {
  position: static !important;
  transform: none !important;
  right: auto !important;
  top: auto !important;
  width: auto !important;
  min-height: 0 !important;
  border: 1px solid rgba(39, 53, 131, .18);
  background: #f8fafd;
  color: #273583;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: none !important;
}
.lrb-login-card .lrb-password-toggle-inline:hover,
.lrb-login-card .lrb-password-toggle-inline:focus {
  background: #eef3ff;
  outline: none;
}
@media (max-width: 520px) {
  .lrb-login-card .lrb-login-password-toggle-row {
    margin-top: -4px;
    margin-bottom: 12px;
  }
  .lrb-login-card .lrb-password-toggle-inline {
    padding: 7px 10px;
    font-size: 11px;
  }
}

/* v1.7.91 - stabilizzazione toggle password e link documenti */
.lrb-register-card .lrb-password-toggle-wrap {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.lrb-register-card .lrb-password-toggle-wrap input[type="password"],
.lrb-register-card .lrb-password-toggle-wrap input[type="text"] {
  padding-right: 12px !important;
  min-width: 0;
}
.lrb-register-card .lrb-password-toggle,
.lrb-login-card .lrb-password-toggle-inline {
  position: static !important;
  transform: none !important;
  right: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  white-space: nowrap;
  z-index: 2;
  visibility: visible !important;
  opacity: 1 !important;
}
.lrb-login-card .lrb-login-password-toggle-row-fixed {
  width: 100%;
  max-width: 360px;
  margin: -4px auto 12px;
  display: flex !important;
  justify-content: flex-end;
}
@media (max-width: 520px) {
  .lrb-register-card .lrb-password-toggle-wrap {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .lrb-register-card .lrb-password-toggle,
  .lrb-login-card .lrb-password-toggle-inline {
    width: 100% !important;
    min-height: 40px;
  }
  .lrb-login-card .lrb-login-password-toggle-row-fixed {
    margin-top: -2px;
  }
}


/* v1.7.92 - icona occhio dentro i campi password e broadcast Telegram */
.lrb-register-card .lrb-password-toggle-wrap,
.lrb-login-card .lrb-password-toggle-wrap {
  position: relative !important;
  display: block !important;
  width: 100%;
}
.lrb-register-card .lrb-password-toggle-wrap input[type="password"],
.lrb-register-card .lrb-password-toggle-wrap input[type="text"],
.lrb-login-card .lrb-password-toggle-wrap input[type="password"],
.lrb-login-card .lrb-password-toggle-wrap input[type="text"] {
  width: 100%;
  padding-right: 52px !important;
  box-sizing: border-box;
}
.lrb-register-card .lrb-password-toggle.lrb-password-eye,
.lrb-login-card .lrb-password-toggle.lrb-password-eye {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(39,53,131,.18) !important;
  background: #f8fafd !important;
  color: #273583 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  z-index: 3;
}
.lrb-register-card .lrb-password-toggle.lrb-password-eye:hover,
.lrb-register-card .lrb-password-toggle.lrb-password-eye:focus,
.lrb-login-card .lrb-password-toggle.lrb-password-eye:hover,
.lrb-login-card .lrb-password-toggle.lrb-password-eye:focus {
  background: #eef3ff !important;
  outline: none !important;
}
.lrb-login-card .login-password .lrb-password-toggle-wrap {
  max-width: 360px;
  margin: 0 auto;
}
.lrb-login-card .lrb-login-password-toggle-row-fixed {
  display: none !important;
}
.lrb-telegram-broadcast-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  max-width: 760px;
}
.lrb-telegram-broadcast-grid select {
  width: 100%;
  max-width: 360px;
}
.lrb-telegram-broadcast-panel textarea {
  max-width: 860px;
}

/* v1.7.94 - Priorita prenotazione uniforme su PC, tablet/PWA e smartphone. */
.lrb-grid-main-balanced {
  scroll-margin-top: 12px;
}

/* v1.7.95 - Azioni rapide solo PC/tablet e card scelta spazio/attrezzatura */
.lrb-choice-card{
  margin:12px 0 14px;
  padding:14px 16px;
  border:1px solid rgba(39,53,131,.16);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.lrb-choice-card .lrb-field{margin:0 0 10px!important;}
.lrb-choice-card .lrb-field:last-child{margin-bottom:0!important;}
.lrb-choice-card-label{
  display:flex!important;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 8px!important;
  font-weight:800!important;
  color:#273583!important;
}
.lrb-choice-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#fff6da;
  color:#8a6f33;
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.lrb-choice-card .lrb-highlight-label{font-weight:800;}
.lrb-choice-card select{margin-bottom:0!important;}
.lrb-choice-card .lrb-compact-toggle{
  margin:8px 0 0!important;
  padding:10px 12px!important;
  border:1px solid rgba(39,53,131,.12)!important;
  border-radius:14px!important;
  background:#ffffff!important;
}
.lrb-choice-card .lrb-advanced-select{
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(39,53,131,.10)!important;
}
@media (max-width:700px){
  .lrb-quick-actions-card{display:none!important;}
  .lrb-choice-card{padding:12px!important;border-radius:16px!important;margin:10px 0 12px!important;}
  .lrb-choice-card-label{gap:6px;font-size:.95rem!important;}
  .lrb-choice-badge{height:22px;min-width:48px;font-size:11px;}
}

/* v1.7.98 - Selettore data/ora prenotazioni con step reali da 30 minuti */
.lrb-booking-datetime-row .lrb-datetime-hidden {
  display: none !important;
}
.lrb-datetime-combo {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(112px, .75fr);
  gap: 10px;
  width: 100%;
  align-items: center;
}
.lrb-datetime-combo .lrb-date-part,
.lrb-datetime-combo .lrb-time-part {
  width: 100%;
  min-width: 0;
}
.lrb-datetime-combo .lrb-time-part {
  cursor: pointer;
  text-align: center;
  text-align-last: center;
}
.lrb-datetime-combo .lrb-time-part option {
  text-align: center;
}
@media (max-width: 520px) {
  .lrb-booking-datetime-row .lrb-field {
    width: 100%;
  }
  .lrb-datetime-combo {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .lrb-datetime-combo .lrb-date-part,
  .lrb-datetime-combo .lrb-time-part {
    min-height: 46px;
    font-size: 15px;
    box-sizing: border-box !important;
  }
  .lrb-datetime-combo .lrb-date-part {
    flex: 1 1 auto !important;
    width: calc(100% - 110px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 110px) !important;
    text-align: center !important;
    text-align-last: center !important;
  }
  .lrb-datetime-combo .lrb-time-part {
    flex: 0 0 102px !important;
    width: 102px !important;
    min-width: 102px !important;
    max-width: 102px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    text-align: center !important;
    text-align-last: center !important;
  }
}

/* v1.7.101 - Avviso disponibilita inline nel form prenotazione */
.lrb-inline-availability {
  margin: 10px 0 8px !important;
  text-align: center;
  line-height: 1.35;
}
.lrb-inline-availability.lrb-inline-availability-checking {
  font-weight: 700;
}
@media (max-width: 700px) {
  .lrb-inline-availability {
    font-size: 13px;
    padding: 11px 12px;
  }
}


/* v1.7.102 - Correzione tooltip mobile e centratura select orari */
.lrb-datetime-combo .lrb-time-part {
  text-align: center !important;
  text-align-last: center !important;
}
@media (max-width: 640px) {
  .lrb-booking-form .lrb-advanced-select .lrb-inline-help,
  .lrb-booking-form .lrb-choice-card .lrb-inline-help {
    position: relative !important;
    overflow: visible !important;
    z-index: 60 !important;
  }
  .lrb-booking-form .lrb-advanced-select .lrb-inline-help .lrb-info-tip::after,
  .lrb-booking-form .lrb-choice-card .lrb-inline-help .lrb-info-tip::after {
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 18px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
    z-index: 999999 !important;
  }
  .lrb-booking-form .lrb-advanced-select .lrb-inline-help .lrb-info-tip:hover::after,
  .lrb-booking-form .lrb-advanced-select .lrb-inline-help .lrb-info-tip:focus::after,
  .lrb-booking-form .lrb-choice-card .lrb-inline-help .lrb-info-tip:hover::after,
  .lrb-booking-form .lrb-choice-card .lrb-inline-help .lrb-info-tip:focus::after {
    transform: none !important;
  }
}

/* v1.7.103 - Verifica pubblica a mezzore e calendario pubblico occupazioni opzionale */
.lrb-public-time-select{text-align:center;text-align-last:center;font-weight:700;color:#17346b}
.lrb-public-occupancy{margin:14px 0 10px;border:1px solid rgba(23,52,107,.14);border-radius:18px;background:#f8fbff;overflow:hidden;text-align:left}
.lrb-public-occupancy summary{display:grid;grid-template-columns:34px 1fr 34px;grid-template-areas:"icon title spacer";gap:0 10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none;color:#17346b}
.lrb-public-occupancy summary::-webkit-details-marker{display:none}
.lrb-public-occupancy summary .dashicons{grid-area:icon;width:34px;height:34px;line-height:34px;text-align:center;border-radius:12px;background:#edf4ff;color:#17346b}
.lrb-public-occupancy summary strong{grid-area:title;font-size:18px;line-height:1.15;text-align:center;font-weight:800}
.lrb-public-occupancy-note{margin:0 14px 10px!important;color:#667085!important;font-size:12px!important;line-height:1.35!important;text-align:left!important}
.lrb-public-occupancy-calendar{padding:0 12px 14px;background:#fff}
.lrb-public-occupancy-calendar .fc{font-size:12px}.lrb-public-occupancy-calendar .fc-toolbar-title{font-size:16px}.lrb-public-occupancy-calendar .fc-event-title,.lrb-public-occupancy-calendar .fc-list-event-title{font-weight:700}
@media(max-width:640px){.lrb-public-occupancy summary{grid-template-columns:34px 1fr 34px}.lrb-public-occupancy-calendar{padding:0 8px 12px}.lrb-public-occupancy-calendar .fc-header-toolbar{gap:6px;flex-wrap:wrap}.lrb-public-occupancy-calendar .fc-toolbar-title{font-size:14px}}


/* v1.7.104 - Rifinitura grafica calendario pubblico e verifica sale */
.lrb-public-availability-result{
  font-size:13px!important;
  line-height:1.32!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
.lrb-public-availability-result small{
  font-size:11.5px!important;
  line-height:1.3!important;
}
.lrb-public-availability-result:before{
  top:9px!important;
  width:13px!important;
  height:13px!important;
}
.lrb-public-occupancy{
  box-shadow:0 12px 28px rgba(23,52,107,.08);
}
.lrb-public-occupancy-note{
  padding:0 2px 2px!important;
}
.lrb-public-occupancy-calendar{
  margin:0 12px 14px;
  padding:12px!important;
  border:1px solid rgba(23,52,107,.10);
  border-radius:16px;
  background:#fff!important;
  overflow:hidden;
}
.lrb-public-occupancy-calendar .fc{
  font-size:12px!important;
  --fc-button-bg-color:#17346b;
  --fc-button-border-color:#17346b;
  --fc-button-hover-bg-color:#0f2a58;
  --fc-button-hover-border-color:#0f2a58;
  --fc-button-active-bg-color:#0f2a58;
  --fc-button-active-border-color:#0f2a58;
  --fc-today-bg-color:rgba(255,196,0,.16);
}
.lrb-public-occupancy-calendar .fc-header-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.lrb-public-occupancy-calendar .fc-toolbar-chunk{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
}
.lrb-public-occupancy-calendar .fc-toolbar-title{
  font-size:16px!important;
  font-weight:800!important;
  color:#17346b!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
}
.lrb-public-occupancy-calendar .fc-button,
.lrb-public-occupancy-calendar .fc-button-primary{
  min-height:30px!important;
  padding:5px 8px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:#fff!important;
  background:#17346b!important;
  border-color:#17346b!important;
  box-shadow:none!important;
  opacity:1!important;
}
.lrb-public-occupancy-calendar .fc-button:hover,
.lrb-public-occupancy-calendar .fc-button:focus,
.lrb-public-occupancy-calendar .fc-button-primary:hover,
.lrb-public-occupancy-calendar .fc-button-primary:focus{
  color:#fff!important;
  background:#0f2a58!important;
  border-color:#0f2a58!important;
}
.lrb-public-occupancy-calendar .fc-button .fc-icon,
.lrb-public-occupancy-calendar .fc-icon{
  color:#fff!important;
  fill:#fff!important;
  font-size:15px!important;
  line-height:1!important;
  opacity:1!important;
}
.lrb-public-occupancy-calendar .fc-prev-button,
.lrb-public-occupancy-calendar .fc-next-button{
  width:32px!important;
  min-width:32px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.lrb-public-occupancy-calendar .fc-button-group{
  display:flex!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
}
.lrb-public-occupancy-calendar .fc-button-group>.fc-button{
  margin:0!important;
}
.lrb-public-occupancy-calendar .fc-event,
.lrb-public-occupancy-calendar .fc-list-event-dot{
  border-color:#17346b!important;
}
.lrb-public-occupancy-calendar .fc-event{
  background:#17346b!important;
  border-radius:7px!important;
  padding:1px 2px!important;
}
.lrb-public-occupancy-calendar .fc-event-title,
.lrb-public-occupancy-calendar .fc-list-event-title{
  font-weight:700!important;
}
@media(max-width:760px){
  .lrb-public-occupancy-calendar{
    margin:0 8px 12px;
    padding:10px!important;
    border-radius:14px;
  }
  .lrb-public-occupancy-calendar .fc-header-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-chunk{
    width:100%!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-title{
    font-size:15px!important;
    width:100%!important;
  }
  .lrb-public-occupancy-calendar .fc-button,
  .lrb-public-occupancy-calendar .fc-button-primary{
    min-height:29px!important;
    padding:5px 7px!important;
    font-size:11px!important;
  }
  .lrb-public-occupancy-calendar .fc-prev-button,
  .lrb-public-occupancy-calendar .fc-next-button{
    width:30px!important;
    min-width:30px!important;
  }
  .lrb-public-occupancy-calendar .fc-button-group{
    max-width:100%!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
  }
}
@media(max-width:420px){
  .lrb-public-occupancy-calendar .fc-button,
  .lrb-public-occupancy-calendar .fc-button-primary{
    font-size:10.5px!important;
    padding:5px 6px!important;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-title{font-size:14px!important;}
}


/* v1.7.105 - Rifinitura calendario pubblico mobile e messaggi verifica sale */
.lrb-public-availability-result{
  font-size:13px!important;
  line-height:1.35!important;
  padding:8px 10px 8px 30px!important;
  border-radius:12px!important;
}
.lrb-public-availability-result:before{
  top:10px!important;
  width:10px!important;
  height:10px!important;
}
.lrb-public-occupancy-calendar{
  overflow:hidden!important;
}
.lrb-public-occupancy-calendar .fc{
  font-size:11px!important;
}
.lrb-public-occupancy-calendar .fc-header-toolbar{
  align-items:center!important;
}
.lrb-public-occupancy-calendar .fc-button,
.lrb-public-occupancy-calendar .fc-button-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  min-height:30px!important;
  padding:5px 8px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.lrb-public-occupancy-calendar .fc-prev-button,
.lrb-public-occupancy-calendar .fc-next-button{
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
}
.lrb-public-occupancy-calendar .fc-col-header-cell-cushion,
.lrb-public-occupancy-calendar .fc-daygrid-day-number{
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:800!important;
  color:#172033!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-day-frame{
  min-height:58px!important;
  padding:2px!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-day-events{
  margin:0 1px!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-event,
.lrb-public-occupancy-calendar .fc-event{
  max-width:100%!important;
  min-height:15px!important;
  margin:1px 0!important;
  padding:0 3px!important;
  border-radius:7px!important;
  overflow:hidden!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}
.lrb-public-occupancy-calendar .fc-event-main,
.lrb-public-occupancy-calendar .fc-event-title,
.lrb-public-occupancy-calendar .fc-event-time{
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-dot-event .fc-event-title,
.lrb-public-occupancy-calendar .fc-daygrid-dot-event .fc-event-time{
  flex:0 1 auto!important;
  min-width:0!important;
}
@media(max-width:760px){
  .lrb-public-occupancy-calendar{
    margin:0 6px 12px!important;
    padding:8px!important;
  }
  .lrb-public-occupancy-calendar .fc-header-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-bottom:8px!important;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-chunk{
    width:100%!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-chunk:first-child{
    order:2;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-chunk:nth-child(2){
    order:1;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-chunk:nth-child(3){
    order:3;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-title{
    font-size:14px!important;
    margin:0!important;
  }
  .lrb-public-occupancy-calendar .fc-button,
  .lrb-public-occupancy-calendar .fc-button-primary{
    min-width:31px!important;
    min-height:28px!important;
    padding:4px 7px!important;
    border-radius:9px!important;
    font-size:10.5px!important;
  }
  .lrb-public-occupancy-calendar .fc-prev-button,
  .lrb-public-occupancy-calendar .fc-next-button{
    font-size:18px!important;
  }
  .lrb-public-occupancy-calendar .fc-col-header-cell-cushion,
  .lrb-public-occupancy-calendar .fc-daygrid-day-number{
    font-size:11.5px!important;
  }
  .lrb-public-occupancy-calendar .fc-daygrid-day-frame{
    min-height:54px!important;
  }
  .lrb-public-occupancy-calendar .fc-daygrid-event,
  .lrb-public-occupancy-calendar .fc-event,
  .lrb-public-occupancy-calendar .fc-event-main,
  .lrb-public-occupancy-calendar .fc-event-title,
  .lrb-public-occupancy-calendar .fc-event-time{
    font-size:8.8px!important;
  }
}
@media(max-width:420px){
  .lrb-public-occupancy-calendar .fc-button,
  .lrb-public-occupancy-calendar .fc-button-primary{
    font-size:10px!important;
    padding:4px 6px!important;
  }
  .lrb-public-occupancy-calendar .fc-daygrid-day-frame{
    min-height:50px!important;
  }
}


/* v1.7.106 - Correzione reale layout calendario pubblico desktop/mobile */
.lrb-public-occupancy{
  max-width:760px!important;
  margin:14px auto 10px!important;
}
.lrb-public-occupancy-calendar{
  max-width:720px!important;
  margin:0 auto 14px!important;
  box-sizing:border-box!important;
}
.lrb-public-occupancy-calendar .fc-header-toolbar{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 10px!important;
}
.lrb-public-occupancy-calendar .fc-toolbar-chunk{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.lrb-public-occupancy-calendar .fc-toolbar-chunk:first-child{order:2!important;}
.lrb-public-occupancy-calendar .fc-toolbar-chunk:nth-child(2){order:1!important;}
.lrb-public-occupancy-calendar .fc-toolbar-chunk:nth-child(3){order:3!important;}
.lrb-public-occupancy-calendar .fc-toolbar-title{
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  margin:0!important;
}
.lrb-public-occupancy-calendar .fc-button-group{
  width:auto!important;
  max-width:100%!important;
  display:inline-flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}
.lrb-public-occupancy-calendar .fc-prev-button,
.lrb-public-occupancy-calendar .fc-next-button{
  position:relative!important;
  width:34px!important;
  min-width:34px!important;
  height:30px!important;
  padding:0!important;
  font-size:0!important;
}
.lrb-public-occupancy-calendar .fc-prev-button .fc-icon,
.lrb-public-occupancy-calendar .fc-next-button .fc-icon{
  display:none!important;
}
.lrb-public-occupancy-calendar .fc-prev-button:before,
.lrb-public-occupancy-calendar .fc-next-button:before{
  display:block!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:28px!important;
  font-weight:900!important;
  font-family:Arial, Helvetica, sans-serif!important;
  text-align:center!important;
}
.lrb-public-occupancy-calendar .fc-prev-button:before{content:"‹"!important;}
.lrb-public-occupancy-calendar .fc-next-button:before{content:"›"!important;}
.lrb-public-occupancy-calendar .fc-today-button,
.lrb-public-occupancy-calendar .fc-dayGridMonth-button,
.lrb-public-occupancy-calendar .fc-timeGridWeek-button,
.lrb-public-occupancy-calendar .fc-listWeek-button{
  min-width:auto!important;
  width:auto!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.lrb-public-occupancy-calendar .fc-view-harness{
  max-width:100%!important;
  overflow:hidden!important;
}
.lrb-public-occupancy-calendar .fc-scrollgrid,
.lrb-public-occupancy-calendar table{
  width:100%!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-event,
.lrb-public-occupancy-calendar .fc-event{
  box-sizing:border-box!important;
  width:auto!important;
  max-width:calc(100% - 2px)!important;
}
@media(max-width:640px){
  .lrb-public-occupancy{
    max-width:calc(100vw - 18px)!important;
  }
  .lrb-public-occupancy-calendar{
    max-width:100%!important;
    margin:0 6px 12px!important;
    padding:7px!important;
  }
  .lrb-public-occupancy-calendar .fc-toolbar-chunk{
    gap:5px!important;
  }
  .lrb-public-occupancy-calendar .fc-prev-button,
  .lrb-public-occupancy-calendar .fc-next-button{
    width:32px!important;
    min-width:32px!important;
    height:29px!important;
  }
  .lrb-public-occupancy-calendar .fc-prev-button:before,
  .lrb-public-occupancy-calendar .fc-next-button:before{
    font-size:21px!important;
    line-height:27px!important;
  }
}


/* v1.7.107 - Solo ritocco combinazione colori calendario pubblico */
.lrb-public-occupancy-calendar .fc-button,
.lrb-public-occupancy-calendar .fc-button-primary{
  color:#ffffff!important;
  background:#274a7a!important;
  border-color:#274a7a!important;
}
.lrb-public-occupancy-calendar .fc-button:hover,
.lrb-public-occupancy-calendar .fc-button:focus,
.lrb-public-occupancy-calendar .fc-button-primary:hover,
.lrb-public-occupancy-calendar .fc-button-primary:focus,
.lrb-public-occupancy-calendar .fc-button-primary:not(:disabled).fc-button-active,
.lrb-public-occupancy-calendar .fc-button-primary:not(:disabled):active{
  color:#ffffff!important;
  background:#1d3b63!important;
  border-color:#1d3b63!important;
}
.lrb-public-occupancy-calendar .fc-prev-button:before,
.lrb-public-occupancy-calendar .fc-next-button:before{
  color:#ffffff!important;
}
.lrb-public-occupancy-calendar .fc-col-header,
.lrb-public-occupancy-calendar .fc-scrollgrid,
.lrb-public-occupancy-calendar .fc-theme-standard td,
.lrb-public-occupancy-calendar .fc-theme-standard th{
  border-color:#d7e1ee!important;
}
.lrb-public-occupancy-calendar .fc-day-today{
  background:#fffaf0!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-event,
.lrb-public-occupancy-calendar .fc-event{
  background:#e8f0fb!important;
  border:1px solid #bdd1eb!important;
  color:#17346b!important;
}
.lrb-public-occupancy-calendar .fc-event-main,
.lrb-public-occupancy-calendar .fc-event-title,
.lrb-public-occupancy-calendar .fc-event-time,
.lrb-public-occupancy-calendar .fc-daygrid-dot-event .fc-event-title,
.lrb-public-occupancy-calendar .fc-daygrid-dot-event .fc-event-time{
  color:#17346b!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-dot-event .fc-event-time,
.lrb-public-occupancy-calendar .fc-daygrid-dot-event .fc-event-title{
  font-weight:700!important;
}
.lrb-public-occupancy-calendar .fc-daygrid-event-dot,
.lrb-public-occupancy-calendar .fc-list-event-dot{
  border-color:#4580c2!important;
}
.lrb-public-occupancy-calendar .fc-list,
.lrb-public-occupancy-calendar .fc-list-table{
  border-color:#d7e1ee!important;
}
.lrb-public-occupancy-calendar .fc-list-day-cushion{
  background:#f5f8fc!important;
  color:#17346b!important;
}
.lrb-public-occupancy-calendar .fc-list-event:hover td{
  background:#e9f1fb!important;
}
.lrb-public-occupancy-calendar .fc-list-event td,
.lrb-public-occupancy-calendar .fc-list-event-title a,
.lrb-public-occupancy-calendar .fc-list-event-time{
  background:#f7fbff!important;
  color:#17346b!important;
  border-color:#d7e1ee!important;
}
.lrb-public-occupancy-calendar .fc-list-event-graphic,
.lrb-public-occupancy-calendar .fc-list-event-title,
.lrb-public-occupancy-calendar .fc-list-event-time{
  color:#17346b!important;
}
.lrb-public-occupancy-calendar .fc-list-empty{
  background:#f7fbff!important;
  color:#667085!important;
}

/* v1.7.108 - Area operatore frontend: solo prenotazioni da approvare */
.lrb-operator-frontend-card{
  margin:16px 0 18px!important;
  scroll-margin-top:16px;
}
.lrb-operator-frontend-intro{
  margin:0 0 12px!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.lrb-operator-frontend-empty{
  margin:8px 0 0!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#f6f8fb!important;
  color:#475569!important;
  font-weight:700!important;
}
.lrb-operator-frontend-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
}
.lrb-operator-frontend-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:12px;
  color:#172033;
}
.lrb-operator-frontend-table th{
  text-align:left;
  padding:10px 9px;
  background:#f4f7fb;
  color:#17346b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  border-bottom:1px solid #e2e8f0;
}
.lrb-operator-frontend-table td{
  vertical-align:top;
  padding:10px 9px;
  border-bottom:1px solid #edf2f7;
  line-height:1.35;
}
.lrb-operator-frontend-table tr:last-child td{border-bottom:0;}
.lrb-operator-frontend-table small{color:#64748b;font-size:11px;}
.lrb-operator-frontend-table details summary,
.lrb-operator-frontend-details summary,
.lrb-operator-reject-box summary{
  cursor:pointer;
  font-weight:800;
  color:#274a7a;
  list-style:none;
}
.lrb-operator-frontend-table details summary::-webkit-details-marker,
.lrb-operator-frontend-details summary::-webkit-details-marker,
.lrb-operator-reject-box summary::-webkit-details-marker{display:none;}
.lrb-operator-frontend-table details summary:before,
.lrb-operator-frontend-details summary:before,
.lrb-operator-reject-box summary:before{content:'+';display:inline-block;margin-right:5px;font-weight:900;}
.lrb-operator-frontend-table details[open] summary:before,
.lrb-operator-frontend-details[open] summary:before,
.lrb-operator-reject-box[open] summary:before{content:'-';}
.lrb-operator-frontend-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.lrb-operator-frontend-actions form{margin:0;}
.lrb-operator-frontend-actions .lrb-mobile-op-btn{
  width:auto;
  min-width:82px;
  padding:8px 10px;
  font-size:11px;
}
.lrb-mobile-op-btn.danger{
  background:#fff1f2!important;
  color:#b4232c!important;
  border:1px solid #fecdd3!important;
}
.lrb-operator-reject-box{
  position:relative;
  min-width:126px;
}
.lrb-operator-reject-box textarea{
  width:100%;
  min-width:190px;
  margin:6px 0;
  border-radius:10px;
  border:1px solid #d7e1ee;
  padding:7px 9px;
  font-size:12px;
  box-sizing:border-box;
}
.lrb-operator-frontend-cards{display:none;}
.lrb-operator-frontend-item{
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.lrb-operator-frontend-item + .lrb-operator-frontend-item{margin-top:10px;}
.lrb-operator-frontend-item-head{
  display:flex;
  gap:8px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
.lrb-operator-frontend-item-head strong{font-size:14px;color:#172033;line-height:1.25;}
.lrb-operator-frontend-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:8px 0;
}
.lrb-operator-frontend-meta span{
  display:inline-flex;
  border-radius:999px;
  background:#eef4ff;
  color:#17346b;
  padding:4px 8px;
  font-size:11px;
  font-weight:800;
}
.lrb-operator-frontend-item p{
  margin:6px 0!important;
  color:#334155!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}
.lrb-operator-frontend-details{
  margin:8px 0 10px;
  padding:8px 10px;
  border-radius:12px;
  background:#f8fafc;
}
@media (max-width:1100px){
  .lrb-operator-frontend-table-wrap{display:none;}
  .lrb-operator-frontend-cards{display:block;}
  .lrb-operator-frontend-card{margin:14px 0!important;}
  .lrb-operator-frontend-actions{display:grid;grid-template-columns:1fr;gap:8px;}
  .lrb-operator-frontend-actions .lrb-mobile-op-btn{width:100%;min-width:0;}
  .lrb-operator-reject-box textarea{min-width:0;width:100%;}
}
@media (min-width:768px) and (max-width:1100px){
  .lrb-operator-frontend-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .lrb-operator-frontend-item + .lrb-operator-frontend-item{margin-top:0;}
}
@media (max-width:767px){
  .lrb-operator-frontend-card{margin:12px 0 14px!important;padding:14px!important;}
  .lrb-operator-frontend-intro{text-align:center!important;font-size:12.5px!important;}
  .lrb-operator-frontend-item{padding:11px;border-radius:15px;}
}


/* v1.7.109 - Menu operativita frontend senza duplicare mobile */
.lrb-operator-menu-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.lrb-operator-menu-tile{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:76px;
  padding:12px;
  border:1px solid #dbe6f3;
  border-radius:15px;
  background:#f8fbff;
  color:#17346b!important;
  text-decoration:none!important;
  box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.lrb-operator-menu-tile .dashicons{font-size:20px;width:20px;height:20px;color:#274a7a;}
.lrb-operator-menu-tile strong{font-size:13px;line-height:1.15;}
.lrb-operator-menu-tile small{font-size:11px;color:#64748b;font-weight:700;}
.lrb-operator-menu-tile:hover,.lrb-operator-menu-tile:focus{background:#eef6ff;border-color:#b8cce6;}
.lrb-operator-work-section{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0;scroll-margin-top:16px;}
.lrb-operator-work-section h4{margin:0 0 10px;color:#17346b;font-size:15px;line-height:1.2;}
.lrb-operator-deposit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;}
.lrb-operator-deposit-item{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.05);}
.lrb-operator-deposit-item>div{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-bottom:7px;}
.lrb-operator-deposit-item strong{color:#172033;line-height:1.25;}
.lrb-operator-deposit-item p{margin:6px 0!important;color:#334155!important;font-size:12.5px!important;line-height:1.35!important;}
.lrb-operator-deposit-item small{color:#64748b;}
.lrb-operator-deposit-item form{margin:8px 0 0;}
.lrb-operator-deposit-item .lrb-mobile-op-btn{width:100%;}
.lrb-operator-today-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;}
.lrb-operator-today-item{display:grid;gap:3px;padding:10px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;}
.lrb-operator-today-item strong{color:#17346b;font-size:13px;}
.lrb-operator-today-item span{color:#172033;font-size:12px;font-weight:800;}
.lrb-operator-today-item small{color:#64748b;font-size:11px;}
@media(max-width:767px){
  .lrb-operator-frontend-card{padding:13px!important;}
  .lrb-operator-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:4px;}
  .lrb-operator-menu-tile{min-height:70px;padding:10px;border-radius:14px;text-align:center;align-items:center;justify-content:center;}
  .lrb-operator-menu-tile .dashicons{display:none;}
  .lrb-operator-menu-tile strong{font-size:12px;}
  .lrb-operator-menu-tile small{font-size:10.5px;}
  .lrb-operator-frontend-work-panels{display:none!important;}
}

/* v1.7.110 - Operativita mobile ravvicinata con blocchi espandibili */
.lrb-operator-mobile-priority{
  display:none;
}
.lrb-operator-priority-fold{
  border:1px solid #dbe6f3;
  border-radius:16px;
  background:#f8fbff;
  margin:10px 0;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.lrb-operator-priority-fold>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 13px;
  color:#17346b;
  font-weight:900;
}
.lrb-operator-priority-fold>summary::-webkit-details-marker{display:none;}
.lrb-operator-priority-fold>summary:after{
  content:'+';
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e8f0fb;
  color:#17346b;
  font-weight:900;
}
.lrb-operator-priority-fold[open]>summary:after{content:'-';}
.lrb-operator-priority-fold>summary strong{
  margin-left:auto;
  min-width:28px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#274a7a;
  color:#fff;
  font-size:12px;
}
.lrb-operator-users-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:10px;
}
.lrb-operator-user-item{
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  padding:12px;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.lrb-operator-user-item>div:first-child{
  display:flex;
  gap:8px;
  align-items:flex-start;
  flex-wrap:wrap;
  margin-bottom:7px;
}
.lrb-operator-user-item strong{color:#172033;line-height:1.25;}
.lrb-operator-user-item p{margin:6px 0!important;color:#334155!important;font-size:12.5px!important;line-height:1.35!important;}
.lrb-operator-user-item small{color:#64748b;}
@media(max-width:767px){
  .lrb-operator-frontend-intro{display:none!important;}
  .lrb-operator-mobile-priority{display:block!important;margin:8px 0 12px!important;}
  .lrb-operator-mobile-priority .lrb-operator-frontend-cards,
  .lrb-operator-mobile-priority .lrb-operator-deposit-grid,
  .lrb-operator-mobile-priority .lrb-operator-mobile-cards-force{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:0 10px 11px!important;
  }
  .lrb-operator-mobile-priority .lrb-operator-frontend-empty{
    margin:0 10px 11px!important;
  }
  .lrb-operator-menu-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin:8px 0 4px!important;
  }
  .lrb-operator-menu-tile{
    min-height:54px!important;
    padding:7px 5px!important;
    border-radius:12px!important;
  }
  .lrb-operator-menu-tile strong{font-size:10.5px!important;}
  .lrb-operator-menu-tile small{font-size:9px!important;line-height:1.15!important;}
  .lrb-operator-users-grid{grid-template-columns:1fr!important;}
}

/* v1.7.111 - Area operatore unica, compatta ed espandibile */
.lrb-operator-main-fold{
  display:block;
}
.lrb-operator-main-summary{
  cursor:pointer;
  list-style:none;
  display:grid;
  grid-template-columns:34px minmax(120px,1fr) auto 28px;
  gap:10px;
  align-items:center;
  padding:4px 0 2px;
  color:#17346b;
}
.lrb-operator-main-summary::-webkit-details-marker{display:none;}
.lrb-operator-main-summary:after{
  content:'+';
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e8f0fb;
  color:#17346b;
  font-weight:900;
  font-size:18px;
}
.lrb-operator-main-fold[open]>.lrb-operator-main-summary:after{content:'-';}
.lrb-operator-main-summary>.dashicons{
  width:34px;
  height:34px;
  line-height:34px;
  text-align:center;
  border-radius:12px;
  background:#edf4ff;
  color:#274a7a;
}
.lrb-operator-main-title{
  font-size:18px;
  line-height:1.15;
  font-weight:900;
  color:#17346b;
}
.lrb-operator-main-counts{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.lrb-operator-main-counts em{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  background:#f1f5f9;
  color:#274a7a;
  font-size:11px;
  line-height:1;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
}
.lrb-operator-main-body{
  padding-top:12px;
}
.lrb-operator-search-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  gap:8px;
  align-items:end;
  margin:0 0 10px;
}
.lrb-operator-search-form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#17346b;
  font-size:12px;
  font-weight:800;
}
.lrb-operator-search-form input{
  width:100%;
  min-height:38px;
  border:1px solid #d7e1ee;
  border-radius:12px;
  padding:8px 10px;
  box-sizing:border-box;
  font-size:13px;
}
@media(max-width:767px){
  .lrb-calendar-info-grid #lrb-mobile-operator-card,
  #lrb-mobile-operator-card-quick,
  .lrb-mobile-operator-quick-card{
    display:none!important;
  }
  .lrb-operator-frontend-card{
    margin:10px 0 12px!important;
    padding:12px!important;
  }
  .lrb-operator-main-summary{
    grid-template-columns:30px minmax(0,1fr) 26px;
    gap:8px;
    padding:0;
  }
  .lrb-operator-main-summary>.dashicons{
    width:30px;
    height:30px;
    line-height:30px;
    border-radius:10px;
  }
  .lrb-operator-main-title{
    font-size:15px;
  }
  .lrb-operator-main-counts{
    grid-column:1/-1;
    justify-content:flex-start;
    gap:4px;
    margin-top:5px;
  }
  .lrb-operator-main-counts em{
    font-size:10px;
    padding:3px 7px;
  }
  .lrb-operator-main-summary:after{
    width:26px;
    height:26px;
    font-size:16px;
  }
  .lrb-operator-main-body{
    padding-top:8px;
  }
  .lrb-operator-search-form{
    grid-template-columns:1fr;
  }
  .lrb-operator-search-form .lrb-mobile-op-btn{
    width:100%;
    text-align:center;
  }
}


/* v1.7.112 - Area operatore piu compatta: toggle in alto a destra e sezioni richiudibili */
.lrb-operator-main-summary{
  grid-template-areas:"icon title counts toggle";
}
.lrb-operator-main-summary>.dashicons{grid-area:icon;}
.lrb-operator-main-title{grid-area:title;}
.lrb-operator-main-counts{grid-area:counts;}
.lrb-operator-main-summary:after{grid-area:toggle;justify-self:end;}
.lrb-operator-work-section{
  border:1px solid #dbe6f3!important;
  border-radius:16px!important;
  background:#f8fbff!important;
  padding:0!important;
  margin-top:10px!important;
  overflow:hidden!important;
}
.lrb-operator-work-section>h4{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
  padding:11px 13px!important;
  background:#f8fbff!important;
  color:#17346b!important;
  cursor:pointer!important;
}
.lrb-operator-section-body{
  padding:0 12px 12px!important;
  background:#fff!important;
}
.lrb-operator-section-toggle{
  flex:0 0 auto;
  width:26px;
  height:26px;
  border:0;
  border-radius:999px;
  background:#e8f0fb;
  color:#17346b;
  font-weight:900;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.lrb-operator-section-toggle[aria-expanded="true"]{background:#274a7a;color:#fff;}
.lrb-operator-section-body[hidden]{display:none!important;}
.lrb-operator-section-body .lrb-operator-today-list,
.lrb-operator-section-body .lrb-operator-deposit-grid,
.lrb-operator-section-body .lrb-operator-users-grid{
  margin-top:10px;
}
@media(max-width:767px){
  .lrb-operator-main-summary{
    grid-template-columns:30px minmax(0,1fr) 26px!important;
    grid-template-areas:"icon title toggle" "counts counts counts"!important;
    align-items:center!important;
  }
  .lrb-operator-main-counts{
    grid-area:counts!important;
    justify-content:flex-start!important;
    margin-top:5px!important;
  }
  .lrb-operator-main-summary:after{
    grid-area:toggle!important;
    align-self:start!important;
    justify-self:end!important;
  }
  .lrb-operator-priority-fold>summary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 26px!important;
    gap:8px!important;
  }
  .lrb-operator-priority-fold>summary span{justify-self:start;text-align:left;}
  .lrb-operator-priority-fold>summary strong{margin-left:0!important;}
  .lrb-operator-priority-fold>summary:after{grid-column:3;grid-row:1;justify-self:end;}
  .lrb-operator-work-section>h4{font-size:13px!important;text-align:left!important;}
  .lrb-operator-section-body{padding:0 10px 10px!important;}
  .lrb-operator-menu-grid{position:sticky;top:0;z-index:5;background:#fff;padding:6px 0 4px;}
}


/* v1.7.114 - Nuova prenotazione richiudibile solo su mobile per operatori */
.lrb-mobile-booking-toggle{
  display:none;
  margin-left:auto;
  flex:0 0 auto;
  width:30px;
  height:30px;
  border:0;
  border-radius:999px;
  background:#e8f0fb;
  color:#17346b;
  font-weight:900;
  line-height:1;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.lrb-mobile-booking-toggle[aria-expanded="true"]{
  background:#274a7a;
  color:#fff;
}
@media(max-width:767px){
  .lrb-is-operator-user #lrb-form-card.lrb-form-card{
    position:relative;
    overflow:hidden;
  }
  .lrb-is-operator-user #lrb-form-card .lrb-booking-form>.lrb-card-title{
    cursor:pointer;
    align-items:center;
  }
  .lrb-is-operator-user #lrb-form-card .lrb-booking-form>.lrb-card-title h3{
    flex:1 1 auto;
  }
  .lrb-is-operator-user #lrb-form-card .lrb-mobile-booking-toggle{
    display:inline-flex;
  }
  .lrb-is-operator-user #lrb-form-card.lrb-mobile-booking-collapsed .lrb-booking-form>*:not(.lrb-card-title){
    display:none!important;
  }
  .lrb-is-operator-user #lrb-form-card.lrb-mobile-booking-collapsed{
    margin-bottom:12px!important;
  }
  .lrb-is-operator-user #lrb-form-card.lrb-mobile-booking-collapsed .lrb-card-title{
    margin-bottom:0!important;
  }
}


/* v1.7.115 - Prenotazione espandibile su tutti i device e disponibilita in area utente */
.lrb-user-availability-card{
  margin:12px 0 14px!important;
}
.lrb-user-availability-card .lrb-public-availability{
  margin:0!important;
}
.lrb-user-availability .lrb-public-availability-note{
  display:none!important;
}
.lrb-is-operator-user #lrb-form-card.lrb-form-card{
  position:relative;
  overflow:hidden;
}
.lrb-is-operator-user #lrb-form-card .lrb-booking-form>.lrb-card-title{
  cursor:pointer;
  align-items:center;
}
.lrb-is-operator-user #lrb-form-card .lrb-booking-form>.lrb-card-title h3{
  flex:1 1 auto;
}
.lrb-is-operator-user #lrb-form-card .lrb-mobile-booking-toggle{
  display:inline-flex!important;
}
.lrb-is-operator-user #lrb-form-card.lrb-mobile-booking-collapsed .lrb-booking-form>*:not(.lrb-card-title){
  display:none!important;
}
.lrb-is-operator-user #lrb-form-card.lrb-mobile-booking-collapsed{
  margin-bottom:12px!important;
}
.lrb-is-operator-user #lrb-form-card.lrb-mobile-booking-collapsed .lrb-card-title{
  margin-bottom:0!important;
}
@media(max-width:767px){
  .lrb-mobile-simple-notice{display:none!important;}
  .lrb-mobile-occupancy>.lrb-muted{display:none!important;}
  .lrb-user-availability-card{margin:10px 0 12px!important;}
  .lrb-user-availability-card .lrb-public-availability summary strong{font-size:15px!important;}
}

/* v1.7.116 - Disponibilita utente coerente con permessi e calendario mobile area utente */
.lrb-user-occupancy{
  margin:12px 0 14px!important;
}
.lrb-user-occupancy .lrb-public-occupancy-note{
  font-size:11.5px!important;
  text-align:center!important;
  margin:0 14px 10px!important;
}
@media(max-width:767px){
  .lrb-user-occupancy{
    margin:10px 0 12px!important;
    border-radius:16px!important;
  }
  .lrb-user-occupancy summary strong{
    font-size:15px!important;
  }
  .lrb-user-occupancy .lrb-public-occupancy-calendar{
    padding:7px!important;
    margin:0 6px 10px!important;
  }
}


/* v1.7.117 - Pulizia frontend operatori e disponibilita su desktop */
@media (min-width:1101px){
  /* Da PC il calendario principale e gia presente: questi due blocchi rapidi restano solo tablet/mobile. */
  #lrb-user-availability,
  .lrb-user-occupancy{
    display:none!important;
  }
}
@media (max-width:767px){
  /* Su smartphone i riquadri menu non aggiungevano operativita reale: restano i blocchi espandibili Approvazioni/Cauzioni. */
  #lrb-operator-frontend .lrb-operator-menu-grid{
    display:none!important;
  }
}


/* v1.7.118 - Step mobile operatori: riepilogo Da fare e blocco Oggi */
.lrb-operator-todo-strip{
  display:none;
}
@media(max-width:767px){
  .lrb-operator-todo-strip{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:2px 0 9px;
  }
  .lrb-operator-todo-strip span{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-height:44px;
    border:1px solid #dbe6f3;
    border-radius:13px;
    background:#f8fbff;
    color:#17346b;
    font-size:10.5px;
    line-height:1.15;
    font-weight:800;
    text-align:center;
  }
  .lrb-operator-todo-strip strong{
    font-size:16px;
    line-height:1;
    color:#274a7a;
  }
  .lrb-operator-priority-today .lrb-operator-today-list{
    padding:0 10px 11px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .lrb-operator-priority-today .lrb-operator-today-item{
    border-radius:13px!important;
    background:#fff!important;
  }
}


/* v1.7.119 - Utenti da attivare più fruibili su mobile */
.lrb-operator-user-mobile-card .lrb-operator-user-head{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.lrb-operator-user-mobile-card textarea,
.lrb-operator-users-grid textarea{
  width:100%!important;
  min-height:76px!important;
  border:1px solid #d8e0ee!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  font-size:14px!important;
  box-sizing:border-box!important;
}
.lrb-operator-mobile-users-fold .lrb-operator-users-grid{
  grid-template-columns:1fr!important;
}
@media(max-width:760px){
  .lrb-operator-mobile-users-fold{display:block!important;}
  #lrb-operator-users-list{display:none!important;}
  .lrb-operator-user-item{padding:12px!important;}
  .lrb-operator-user-item .lrb-operator-frontend-actions{gap:8px!important;}
}
@media(min-width:761px){
  .lrb-operator-mobile-users-fold{display:none!important;}
}


/* v1.7.120 - Scheda utente essenziale e frontend senza barra WP */
.lrb-operator-user-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:8px 0 8px;
}
.lrb-operator-user-mini-grid span{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 9px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fbff;
  min-width:0;
}
.lrb-operator-user-mini-grid small{
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.lrb-operator-user-mini-grid strong{
  color:#17346b!important;
  font-size:12px!important;
  line-height:1.25!important;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .lrb-operator-user-mini-grid{grid-template-columns:1fr!important;gap:6px!important;}
}


/* v1.7.121 - Navigazione alta mobile senza scroll orizzontale */
@media (max-width: 760px) {
  .lrb-portal .lrb-topbar,
  .lrb-portal.lrb-doc-page .lrb-topbar {
    overflow: visible !important;
  }
  .lrb-portal .lrb-nav,
  .lrb-portal.lrb-doc-page .lrb-nav,
  .lrb-doc-topbar .lrb-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 7px !important;
    overflow: visible !important;
    overflow-x: visible !important;
    padding: 4px 0 0 !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    white-space: normal !important;
    scrollbar-width: none !important;
  }
  .lrb-portal .lrb-nav::-webkit-scrollbar,
  .lrb-portal.lrb-doc-page .lrb-nav::-webkit-scrollbar,
  .lrb-doc-topbar .lrb-nav::-webkit-scrollbar {
    display: none !important;
  }
  .lrb-portal .lrb-nav a,
  .lrb-portal.lrb-doc-page .lrb-nav a,
  .lrb-doc-topbar .lrb-nav a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.15 !important;
    font-size: 11.5px !important;
    padding: 8px 6px !important;
    border-radius: 12px !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 360px) {
  .lrb-portal .lrb-nav a,
  .lrb-portal.lrb-doc-page .lrb-nav a,
  .lrb-doc-topbar .lrb-nav a {
    font-size: 10.8px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}


/* v1.7.122 - Evidenza permessi frontend operatore */
.lrb-operator-permission-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px;align-items:center}
.lrb-operator-permission-badges span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef4ff;color:#17346b;border:1px solid #d7e7ff;padding:4px 9px;font-size:11px;font-weight:800;line-height:1.2}
.lrb-operator-permission-badges.is-compact{margin:6px 0 8px}
.lrb-operator-permission-badges.is-empty span{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
@media(max-width:760px){.lrb-operator-permission-badges{gap:5px}.lrb-operator-permission-badges span{font-size:10.5px;padding:4px 8px}}


/* v1.7.123 - Profili guidati utenti frontend */
.lrb-operator-profile-tools{width:100%;margin-top:6px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff;overflow:hidden}
.lrb-operator-profile-tools>summary{cursor:pointer;list-style:none;padding:8px 10px;font-weight:800;color:#17346b;display:flex;align-items:center;justify-content:space-between;gap:8px}
.lrb-operator-profile-tools>summary::-webkit-details-marker{display:none}
.lrb-operator-profile-tools>summary:after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#e8f0fb;color:#17346b;font-weight:900}
.lrb-operator-profile-tools[open]>summary:after{content:'−'}
.lrb-operator-profile-note{margin:0 10px 8px!important;color:#667085!important;font-size:12px!important;line-height:1.35!important}
.lrb-operator-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:0 10px 10px}
.lrb-profile-btn{width:100%;border:1px solid #c9d7ea;background:#fff;color:#17346b;border-radius:12px;padding:8px 9px;text-align:left;font-weight:800;cursor:pointer;min-height:58px}
.lrb-profile-btn small{display:block;margin-top:3px;color:#667085;font-weight:600;font-size:11px;line-height:1.25}
.lrb-profile-btn:hover,.lrb-profile-btn:focus{background:#eef5ff;border-color:#8fb0d9}
@media(max-width:640px){.lrb-operator-profile-grid{grid-template-columns:1fr}.lrb-profile-btn{min-height:0}}

/* v1.7.128 - Utenti attivi frontend e mini dashboard mobile */
.lrb-active-user-card .lrb-operator-frontend-details{margin-top:8px;border:1px solid #dbe4f0;border-radius:12px;background:#fff;overflow:hidden}
.lrb-active-user-card .lrb-operator-frontend-details>summary{padding:9px 11px;font-weight:800;color:#17346b;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none}
.lrb-active-user-card .lrb-operator-frontend-details>summary::-webkit-details-marker{display:none}
.lrb-active-user-card .lrb-operator-frontend-details>summary:after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#e8f0fb;color:#17346b;font-weight:900}
.lrb-active-user-card .lrb-operator-frontend-details[open]>summary:after{content:'−'}
.lrb-active-user-card .lrb-operator-frontend-details form{padding:0 10px 10px;display:grid;gap:8px}
.lrb-front-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:4px 0 8px}
.lrb-front-check-grid label{display:flex;align-items:center;gap:6px;border:1px solid #e1e8f2;background:#f8fbff;border-radius:10px;padding:7px 8px;font-size:12px;font-weight:700;color:#26324d}
.lrb-front-stack-label{display:grid;gap:4px;font-size:12px;font-weight:800;color:#17346b}
.lrb-front-stack-label input,.lrb-front-stack-label select{width:100%;min-height:38px;border-radius:10px;border:1px solid #cfd9e8;padding:7px 9px;box-sizing:border-box;background:#fff}
.lrb-mobile-mini-dashboard{border:1px solid #dbe7f5;background:#f8fbff;border-radius:14px;padding:10px;margin:8px 0 12px}
.lrb-mobile-mini-dashboard h4{margin:0 0 8px!important;color:#17346b;font-size:14px!important}
.lrb-mobile-mini-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.lrb-mobile-mini-dashboard-grid span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #dbe4f0;border-radius:12px;padding:8px 6px;min-height:54px}
.lrb-mobile-mini-dashboard-grid strong{font-size:20px;color:#17346b;line-height:1}
.lrb-mobile-mini-dashboard-grid small{font-size:11px;color:#667085;font-weight:700;margin-top:4px}
@media(max-width:760px){.lrb-front-check-grid{grid-template-columns:1fr}.lrb-active-user-card .lrb-operator-frontend-details form{padding:0 9px 9px}.lrb-mobile-mini-dashboard{display:block}}
@media(min-width:761px){.lrb-mobile-mini-dashboard{max-width:720px}}


/* v1.7.129 - Mobile operator cleanup: mini-dashboard only and active users visible */
@media(max-width:760px){
  .lrb-operator-main-body > .lrb-operator-permission-badges,
  .lrb-operator-todo-strip,
  .lrb-operator-menu-grid{
    display:none!important;
  }
  .lrb-mobile-mini-dashboard{
    margin:8px 0 14px!important;
  }
  .lrb-mobile-mini-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .lrb-mobile-mini-dashboard-grid span{
    min-height:58px!important;
    padding:8px 6px!important;
  }
  .lrb-operator-mobile-active-users-fold .lrb-operator-search-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:8px 0 10px!important;
  }
  .lrb-operator-mobile-active-users-fold .lrb-operator-search-form label{
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    font-weight:800!important;
    color:#17346b!important;
  }
  .lrb-operator-mobile-active-users-fold .lrb-operator-search-form input{
    width:100%!important;
    min-height:42px!important;
    border-radius:12px!important;
    border:1px solid #d6deec!important;
    padding:9px 11px!important;
    box-sizing:border-box!important;
  }
  .lrb-active-user-card .lrb-operator-user-mini-grid{
    grid-template-columns:1fr 1fr!important;
  }
}


/* v1.7.131 - Login mobile simmetrico e guida visibile */
.lrb-login-card .login-username,
.lrb-login-card .login-password{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.lrb-login-card .login-username input[type="text"],
.lrb-login-card .login-password .lrb-password-toggle-wrap,
.lrb-login-card .login-password input[type="password"],
.lrb-login-card .login-password input[type="text"]{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.lrb-login-card .login-password .lrb-password-toggle-wrap{
  margin:0!important;
}
.lrb-login-card .login-username label,
.lrb-login-card .login-password label{
  text-align:center!important;
  display:block!important;
  width:100%!important;
}
@media(max-width:760px){
  .lrb-login-card .login-username,
  .lrb-login-card .login-password{
    margin-bottom:14px!important;
  }
  .lrb-login-card .login-username input[type="text"],
  .lrb-login-card .login-password input[type="password"],
  .lrb-login-card .login-password input[type="text"]{
    min-height:52px!important;
    border-radius:14px!important;
    text-align:center!important;
    font-size:18px!important;
  }
  .lrb-login-card .login-password .lrb-password-toggle.lrb-password-eye{
    right:8px!important;
    width:42px!important;
    height:38px!important;
    min-height:38px!important;
  }
  .lrb-login-card .login-password .lrb-password-toggle-wrap input[type="password"],
  .lrb-login-card .login-password .lrb-password-toggle-wrap input[type="text"]{
    padding-left:52px!important;
    padding-right:52px!important;
  }
  .lrb-portal .lrb-nav,
  .lrb-portal.lrb-doc-page .lrb-nav,
  .lrb-doc-topbar .lrb-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lrb-portal .lrb-nav a,
  .lrb-portal.lrb-doc-page .lrb-nav a,
  .lrb-doc-topbar .lrb-nav a{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* v1.7.132 - Rifinitura mobile operatori e toggle simmetrici */
@media(max-width:760px){
  .lrb-mobile-mini-dashboard h4{
    font-size:13px!important;
    line-height:1.15!important;
    margin-bottom:7px!important;
  }
  .lrb-mobile-mini-dashboard-grid{
    gap:6px!important;
  }
  .lrb-mobile-mini-dashboard-grid span{
    min-height:50px!important;
    padding:7px 5px!important;
    border-radius:11px!important;
  }
  .lrb-mobile-mini-dashboard-grid strong{
    font-size:17px!important;
    line-height:1!important;
  }
  .lrb-mobile-mini-dashboard-grid small{
    font-size:10px!important;
    line-height:1.12!important;
    margin-top:3px!important;
  }
  .lrb-operator-work-section>h4,
  .lrb-operator-priority-fold>summary,
  .lrb-active-user-card .lrb-operator-frontend-details>summary,
  .lrb-operator-profile-tools>summary{
    font-size:12.5px!important;
    line-height:1.2!important;
  }
  .lrb-operator-main-title{
    font-size:14px!important;
    line-height:1.15!important;
  }
  .lrb-operator-main-counts em{
    font-size:9.8px!important;
    line-height:1.1!important;
  }
}
.lrb-operator-section-toggle,
.lrb-mobile-booking-toggle,
.lrb-operator-main-summary:after,
.lrb-operator-priority-fold>summary:after,
.lrb-active-user-card .lrb-operator-frontend-details>summary:after,
.lrb-operator-profile-tools>summary:after{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#edf4ff!important;
  color:#17346b!important;
  border:1px solid #cfe0f6!important;
  box-shadow:0 2px 6px rgba(23,52,107,.08)!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  padding:0!important;
}
.lrb-operator-section-toggle[aria-expanded="true"],
.lrb-mobile-booking-toggle[aria-expanded="true"],
.lrb-operator-main[open]>.lrb-operator-main-summary:after,
.lrb-operator-priority-fold[open]>summary:after,
.lrb-active-user-card .lrb-operator-frontend-details[open]>summary:after,
.lrb-operator-profile-tools[open]>summary:after{
  background:#17346b!important;
  color:#fff!important;
  border-color:#17346b!important;
}
@media(max-width:760px){
  .lrb-operator-section-toggle,
  .lrb-mobile-booking-toggle,
  .lrb-operator-main-summary:after,
  .lrb-operator-priority-fold>summary:after,
  .lrb-active-user-card .lrb-operator-frontend-details>summary:after,
  .lrb-operator-profile-tools>summary:after{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:17px!important;
  }
}


/* v1.7.133 - Uniforma pulsanti + / - delle card richiudibili */
.lrb-operator-main-summary:after,
.lrb-mobile-booking-toggle{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  background:#edf4ff!important;
  color:#17346b!important;
  border:1px solid #cfe0f6!important;
  box-shadow:0 2px 6px rgba(23,52,107,.10)!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:28px!important;
  text-align:center!important;
  vertical-align:middle!important;
}
button.lrb-mobile-booking-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  font-family:inherit!important;
}
.lrb-operator-main-fold[open]>.lrb-operator-main-summary:after,
.lrb-mobile-booking-toggle[aria-expanded="true"]{
  background:#17346b!important;
  color:#fff!important;
  border-color:#17346b!important;
}
.lrb-is-operator-user #lrb-form-card .lrb-booking-form>.lrb-card-title,
.lrb-operator-main-summary{
  align-items:center!important;
}
.lrb-is-operator-user #lrb-form-card .lrb-booking-form>.lrb-card-title h3,
.lrb-operator-main-title{
  min-width:0!important;
}
@media(max-width:760px){
  .lrb-operator-main-summary:after,
  .lrb-mobile-booking-toggle{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    flex-basis:30px!important;
    font-size:18px!important;
    line-height:28px!important;
  }
}


/* v1.7.134 - Allineamento desktop area operatore e login password */
/* Login: forza utente/password alla stessa geometria su tutti i device. */
.lrb-login-card .login-username,
.lrb-login-card .login-password{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.lrb-login-card .login-username input[type="text"],
.lrb-login-card .login-username input[type="email"],
.lrb-login-card .login-password .lrb-password-toggle-wrap,
.lrb-login-card .login-password input[type="password"],
.lrb-login-card .login-password input[type="text"]{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.lrb-login-card .login-password .lrb-password-toggle-wrap{
  display:block!important;
  position:relative!important;
  margin:0!important;
}
.lrb-login-card .login-password .lrb-password-toggle-wrap input[type="password"],
.lrb-login-card .login-password .lrb-password-toggle-wrap input[type="text"]{
  display:block!important;
  margin:0!important;
}
.lrb-login-card .login-password .lrb-password-toggle.lrb-password-eye{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  right:8px!important;
  margin:0!important;
}
/* Desktop/tablet: allinea i tile dei permessi frontend senza cambiare mobile. */
@media(min-width:761px){
  .lrb-operator-main-fold,
  #lrb-operator-frontend{
    max-width:1040px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .lrb-operator-main-summary{
    grid-template-columns:42px minmax(0,1fr) auto 34px!important;
    column-gap:12px!important;
    align-items:center!important;
  }
  .lrb-operator-main-title{
    min-width:0!important;
    line-height:1.15!important;
  }
  .lrb-operator-main-counts{
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
  }
  .lrb-operator-permission-badges{
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
  }
  .lrb-operator-permission-badges span{
    min-height:30px!important;
    padding:5px 11px!important;
    box-sizing:border-box!important;
  }
  .lrb-front-check-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .lrb-front-check-grid label{
    min-height:44px!important;
    padding:9px 11px!important;
    border-radius:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    line-height:1.25!important;
    box-sizing:border-box!important;
  }
  .lrb-front-check-grid label input[type="checkbox"]{
    flex:0 0 auto!important;
    margin:0 6px 0 0!important;
  }
  .lrb-active-user-card .lrb-operator-frontend-details form{
    gap:10px!important;
  }
  .lrb-front-stack-label{
    min-width:0!important;
  }
  .lrb-front-stack-label input,
  .lrb-front-stack-label select{
    min-height:42px!important;
  }
  .lrb-operator-profile-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
    align-items:stretch!important;
  }
  .lrb-profile-btn{
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .lrb-operator-section-toggle,
  .lrb-mobile-booking-toggle,
  .lrb-operator-main-summary:after,
  .lrb-operator-priority-fold>summary:after,
  .lrb-active-user-card .lrb-operator-frontend-details>summary:after,
  .lrb-operator-profile-tools>summary:after{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    line-height:28px!important;
  }
}


/* v1.7.135 - Correzione desktop area operatore e allineamento definitivo login */
/* Login: campo utente e password identici, occhio interno senza alterare la larghezza. */
.lrb-login-card .login-username,
.lrb-login-card .login-password{
  width:100%!important;
  max-width:360px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.lrb-login-card .login-username input[type="text"],
.lrb-login-card .login-username input[type="email"],
.lrb-login-card .login-password .lrb-password-toggle-wrap{
  width:100%!important;
  max-width:360px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.lrb-login-card .login-password .lrb-password-toggle-wrap{
  position:relative!important;
  display:block!important;
}
.lrb-login-card .login-password .lrb-password-toggle-wrap input[type="password"],
.lrb-login-card .login-password .lrb-password-toggle-wrap input[type="text"]{
  display:block!important;
  width:100%!important;
  max-width:360px!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding-left:52px!important;
  padding-right:52px!important;
  text-align:center!important;
}
.lrb-login-card .login-password .lrb-password-toggle.lrb-password-eye{
  position:absolute!important;
  top:50%!important;
  right:8px!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  z-index:4!important;
}

/* Desktop/tablet only: area operatore ordinata a griglia allineata, senza toccare mobile. */
@media(min-width:761px){
  .lrb-operator-main-fold,
  #lrb-operator-frontend{
    width:100%!important;
    max-width:1240px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  .lrb-operator-main-body{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .lrb-operator-main-summary{
    grid-template-columns:42px minmax(260px,1fr) minmax(320px,auto) 34px!important;
    align-items:center!important;
  }
  .lrb-mobile-mini-dashboard{
    width:100%!important;
    max-width:none!important;
    margin:10px 0 14px!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }
  .lrb-mobile-mini-dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
  }
  .lrb-mobile-mini-dashboard-grid span{
    min-width:0!important;
    min-height:64px!important;
    padding:9px 8px!important;
    box-sizing:border-box!important;
  }
  .lrb-mobile-mini-dashboard-grid strong{
    font-size:20px!important;
    line-height:1!important;
  }
  .lrb-mobile-mini-dashboard-grid small{
    font-size:11px!important;
    line-height:1.15!important;
  }
  .lrb-operator-menu-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    margin:14px 0!important;
    align-items:stretch!important;
  }
  .lrb-operator-menu-tile{
    min-height:88px!important;
    height:100%!important;
    padding:14px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:3px!important;
    align-items:center!important;
  }
  .lrb-operator-menu-tile .dashicons{
    grid-row:1 / span 2!important;
    grid-column:1!important;
    align-self:start!important;
    margin-top:2px!important;
  }
  .lrb-operator-menu-tile strong,
  .lrb-operator-menu-tile small{
    grid-column:2!important;
    min-width:0!important;
    text-align:left!important;
  }
  .lrb-operator-menu-tile strong{
    font-size:13px!important;
    line-height:1.2!important;
  }
  .lrb-operator-menu-tile small{
    font-size:11px!important;
    line-height:1.2!important;
  }
  .lrb-operator-frontend-work-panels{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .lrb-operator-work-section{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dbe6f3!important;
    border-radius:16px!important;
    background:#f8fbff!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .lrb-operator-work-section>h4{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:48px!important;
    padding:12px 16px!important;
    margin:0!important;
    border-bottom:1px solid #e4edf8!important;
    background:#f8fbff!important;
    font-size:15px!important;
    line-height:1.2!important;
  }
  .lrb-operator-work-section .lrb-operator-frontend-empty,
  .lrb-operator-work-section .lrb-operator-frontend-table-wrap,
  .lrb-operator-work-section .lrb-operator-deposit-grid,
  .lrb-operator-work-section .lrb-operator-today-list,
  .lrb-operator-work-section .lrb-operator-users-grid,
  .lrb-operator-work-section .lrb-operator-frontend-cards{
    margin:12px!important;
  }
  .lrb-operator-deposit-grid,
  .lrb-operator-users-grid,
  .lrb-operator-today-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .lrb-front-check-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .lrb-front-check-grid label{
    min-height:44px!important;
    box-sizing:border-box!important;
  }
}
@media(min-width:1200px){
  .lrb-operator-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .lrb-operator-deposit-grid,
  .lrb-operator-users-grid,
  .lrb-operator-today-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* v1.7.136 - Desktop area operatore simmetrica e legenda permessi backend */
@media(min-width:761px){
  #lrb-operator-frontend.lrb-card,
  #lrb-operator-frontend.lrb-operator-frontend-card{
    width:100%!important;
    max-width:none!important;
    margin:14px 0 18px!important;
    padding:18px!important;
    box-sizing:border-box!important;
    border-radius:20px!important;
    border:1px solid #dbe6f3!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(15,23,42,.045)!important;
  }
  #lrb-operator-frontend .lrb-operator-main-fold{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  #lrb-operator-frontend .lrb-operator-main-summary{
    width:100%!important;
    min-height:70px!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto 36px!important;
    gap:14px!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }
  #lrb-operator-frontend .lrb-operator-main-summary>.dashicons{
    width:36px!important;
    height:36px!important;
    line-height:36px!important;
    border-radius:12px!important;
  }
  #lrb-operator-frontend .lrb-operator-main-title{
    font-size:18px!important;
    line-height:1.15!important;
    text-align:left!important;
  }
  #lrb-operator-frontend .lrb-operator-main-counts{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }
  #lrb-operator-frontend .lrb-operator-main-counts em{
    white-space:nowrap!important;
    min-height:24px!important;
    padding:4px 9px!important;
    border-radius:999px!important;
    background:#f1f5fb!important;
    color:#17346b!important;
    font-size:11px!important;
    font-style:normal!important;
    font-weight:800!important;
  }
  #lrb-operator-frontend .lrb-operator-main-summary:after{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    line-height:32px!important;
    justify-self:end!important;
    box-sizing:border-box!important;
  }
  #lrb-operator-frontend .lrb-operator-main-body{
    width:100%!important;
    padding-top:14px!important;
    border-top:1px solid #e6edf6!important;
    box-sizing:border-box!important;
  }
  #lrb-operator-frontend .lrb-mobile-mini-dashboard{
    width:100%!important;
    max-width:none!important;
  }
  #lrb-operator-frontend .lrb-operator-menu-grid,
  #lrb-operator-frontend .lrb-operator-frontend-work-panels,
  #lrb-operator-frontend .lrb-operator-work-section{
    max-width:none!important;
  }
}
