@import url("ui-controls.css?v=cards-20261025-3");
:root{--ink:#14343b;--ink2:#1f4a53;--amber:#f2b134;--paper:#f4efe6;--card:#fffdf8;--line:#ddd5c5;--text:#1b2a2e;--muted:#5d6b6e;--err:#b3261e;--ok:#1d6b3a;--r:10px}
@media (prefers-color-scheme:dark){:root{--paper:#0f2328;--card:#16323a;--line:#2a4a53;--text:#eee9de;--muted:#9fb3b7}}
*{box-sizing:border-box}
html{scroll-padding-top:70px}
body{margin:0;font:16px/1.6 "Segoe UI",system-ui,sans-serif;background:var(--paper);color:var(--text)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5em}
a{color:inherit}
.muted{color:var(--muted)}
.wrap{max-width:1040px;margin:0 auto;padding:32px 20px}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--ink);color:#f4efe6;position:sticky;top:0;z-index:5}
.top nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 1.3rem Georgia,serif}
.who{font-size:.9rem;opacity:.85}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.hero{background:var(--ink);color:#f4efe6;padding:64px 20px 72px}
.hero-in{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2rem,5vw,3.3rem);margin-bottom:.4em}
.hero p{font-size:1.1rem;max-width:34em;opacity:.9}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero img{width:100%;max-width:260px;justify-self:center;border-radius:28px;box-shadow:0 0 0 10px var(--ink2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card h3{font-size:1.1rem;margin-bottom:.3em}.card p{margin:0}
.card .ico{width:34px;height:34px;color:var(--ink);margin-bottom:10px}
@media (prefers-color-scheme:dark){.card .ico{color:var(--amber)}}
footer{text-align:center;padding:28px 20px;color:var(--muted);font-size:.9rem}
.center-page{display:grid;place-items:center;min-height:100vh;padding:20px}
.notice{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px;max-width:420px;text-align:center}
.modal{position:fixed;inset:0;background:rgba(10,25,30,.65);display:none;align-items:center;justify-content:center;padding:16px;z-index:20;overflow-y:auto}
.modal.open{display:flex}
.dialog{background:var(--card);border-radius:16px;padding:28px;width:100%;max-width:420px;position:relative;animation:pop .18s ease-out}
@keyframes pop{from{transform:scale(.96);opacity:0}}
@media (prefers-reduced-motion:reduce){.dialog{animation:none}}
.dialog h2{font-size:1.5rem}
.close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}
.field{margin-bottom:14px}
.field label{display:block;}
.field input{width:100%;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.msg{padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:.92rem;display:none;word-break:break-word}
.msg.err{display:block;background:#fbe9e7;color:var(--err)}
.msg.ok{display:block;background:#e4f4e9;color:var(--ok)}
.swap{text-align:center;font-size:.92rem;margin:16px 0 0}
.dialog .btn-primary{width:100%;}
@media (max-width:760px){.hero-in{grid-template-columns:1fr}.hero img{max-width:120px;order:-1;justify-self:start}.row2{grid-template-columns:1fr}}

/* ---- Logged-in top bar ---- */
.tb-toggle{display:none;background:none;border:0;color:inherit;cursor:pointer;padding:6px;border-radius:8px}
.tb-menu{display:flex;align-items:center;gap:16px}
.tb-clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;padding-right:16px;border-right:1px solid rgba(255,255,255,.2)}
.tb-clock time{font:600 1.15rem "Segoe UI",system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.tb-clock span{font-size:.78rem;opacity:.8}
.icon-btn{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;padding:8px;border-radius:8px}
.icon-btn:hover{background:rgba(255,255,255,.12)}
.tb-label{display:none}
@media (max-width:760px){
  .top{flex-wrap:wrap}
  .tb-toggle{display:block}
  .tb-menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:12px;padding:14px 0 6px;margin-top:10px;border-top:1px solid rgba(255,255,255,.2)}
  .tb-menu.open{display:flex}
  .tb-clock{align-items:flex-start;padding:0;border:0}
  .tb-clock time{font-size:1.4rem}
  .tb-clock span{font-size:.9rem}
  .icon-btn{padding:10px 8px}
  .tb-label{display:inline}
  .tb-menu .btn{width:100%;}
}

/* Shared visibility utility. */
[hidden]{display:none!important}
/* ---- Customer UI and customer settings ---- */

.customer-module {
  display: block;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.customer-module:hover {
  border-color: var(--amber);
  box-shadow: 0 6px 20px rgba(20, 52, 59, .08);
}

.customer-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 32px;
}
.customer-heading h1 { margin-bottom: 10px; }
.customer-heading p { margin: 0; }

/* Comfortable button targets across the customer screens. */
.customer-heading .btn,
.customer-search .btn,
.customer-pagination .btn,
.customer-actions .btn,
.customer-row-actions .btn,
.customer-settings .btn,
.customer-pagination + .btn {white-space: nowrap;}

.customer-search {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin: 0 0 24px;
  padding: 20px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.customer-search .field { flex: 1; min-width: 0; margin: 0; }

.customer-table-wrap {
  padding: 0;
  overflow-x: auto;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(20, 52, 59, .04);
}
.customer-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.customer-table th,
.customer-table td {
  padding: 20px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.customer-table th {
  background: var(--paper);
  color: var(--muted);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.customer-table td { overflow-wrap: anywhere; }
.customer-table td:first-child { font-weight: 600; }
.customer-table tr:last-child td { border-bottom: 0; }
.customer-table td[colspan] {
  padding: 36px 24px;
  color: var(--muted);
  text-align: center;
  font-weight: 400;
}
.customer-contact { font-size: .92rem; line-height: 1.7; }
.customer-contact div + div { color: var(--muted); }
.customer-row-actions {display: flex;align-items: center;flex-wrap: wrap;}
.customer-delete { color: var(--err); }

.customer-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  padding: 20px 0;
  margin: 12px 0 24px;
  border-bottom: 1px solid var(--line);
}
#customerCount { color: var(--muted); font-size: .9rem; }

.customer-dialog {
  position: fixed;
  box-sizing: border-box;
  width: min(740px, calc(100% - 40px));
  max-height: calc(100dvh - 48px);
  padding: 36px;
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(10, 25, 30, .25);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.customer-dialog::backdrop {
  background: rgba(10, 25, 30, .65);
  backdrop-filter: blur(4px);
}
.customer-dialog h2 { margin: 0 40px 10px 0; font-size: 1.75rem; }
#customerHint { margin: 0 0 28px; font-size: .92rem; }
.customer-dialog .close {
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  color: var(--text);
}
#customerForm .row2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 20px;
  margin-bottom: 26px;
}
#customerForm .row2 .field { min-width: 0; margin: 0; }
#customerForm .field input {box-sizing: border-box;}
#customerForm .field input:disabled {opacity: .8;}
#vehicleField { margin-bottom: 26px; }
.customer-documents {
  min-width: 0;
  padding: 22px;
  margin: 0 0 28px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
}
.customer-documents legend { padding: 0 8px; font-weight: 600; }
.customer-documents > p { margin: 0 0 20px; font-size: .88rem; }
.customer-documents .field { margin-bottom: 22px; }
.customer-documents .field:last-child { margin-bottom: 0; }
.customer-documents .field p { margin: 10px 0 0; font-size: .88rem; }
.customer-documents input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  color: var(--text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.customer-actions {display: flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;margin-top: 28px;padding-top: 24px;border-top: 1px solid var(--line);}
.customer-actions .btn {min-width: 120px;}

.customer-settings {
  max-width: 720px;
  padding: 28px;
  margin: 24px 0 28px;
  border-radius: 16px;
}
.customer-settings h2 { margin-bottom: 12px; }
.customer-option {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 60px;
  margin: 12px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  cursor: pointer;
}
.customer-option input {flex: 0 0 auto;width: 20px;height: 20px;margin: 0;accent-color: var(--amber);}
#saveSettings { margin-top: 16px; }

/* Keep conditional fields hidden when layout rules set display values. */
.customer-dialog [hidden] { display: none !important; }
.customer-table .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 760px) {
  .customer-heading { align-items: flex-start; gap: 20px; margin-bottom: 24px; }
  .customer-search { flex-direction: column; align-items: stretch; padding: 18px; }
  .customer-search .field { flex: auto; }
  .customer-table { min-width: 620px; }
  .customer-table th, .customer-table td { padding: 16px; }
  .customer-pagination { justify-content: center; gap: 14px; }
  #customerCount { flex-basis: 100%; order: -1; text-align: center; }
}
@media (max-width: 600px) {
  .customer-heading .btn {width: 100%;}
  .customer-dialog {
    width: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
    padding: 26px 20px;
    border-radius: 16px;
  }
  .customer-dialog h2 { font-size: 1.5rem; }
  #customerForm .row2 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .customer-documents { padding: 18px 14px; }
  .customer-actions {align-items: stretch;flex-direction: column;}
  .customer-actions .btn {width: 100%;}
  .customer-settings { padding: 22px 18px; }
  #saveSettings { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .customer-module{ transition: none; }
}

/* ---- Users and access rights ---- */
.access-user-card .ico{display:block;margin-bottom:14px}
.access-welcome{margin:24px 0;max-width:720px}.access-welcome p{margin:12px 0 0}
.access-dialog{width:min(1040px,calc(100% - 40px))}
.access-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 16px;}
.access-fields .field{min-width:0;margin:0}
.access-fields select{display:block;width:100%;}
.access-fields select:disabled{opacity:.7;}
.access-explanation{font-size:.88rem;margin:18px 0;line-height:1.7}
.access-preset{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:24px 0}
.access-preset span{font-size:.85rem}
.access-mode{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:14px 16px;margin:0 0 20px;font-size:.9rem}
.access-matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.access-matrix{border-collapse:collapse;width:100%;min-width:740px;font-size:.88rem}
.access-matrix caption{text-align:left;padding:16px 18px;font-weight:700;background:var(--paper)}
.access-matrix th,.access-matrix td{padding:14px 10px;text-align:center;border-bottom:1px solid var(--line)}
.access-matrix thead th{font-size:.78rem;font-weight:600;color:var(--muted)}
.access-matrix th:first-child{text-align:left;min-width:150px;padding-left:18px}
.access-matrix tbody tr:last-child th,.access-matrix tbody tr:last-child td{border-bottom:0}
.access-matrix input{width:22px;height:22px;margin:0;accent-color:var(--amber);cursor:pointer;}.access-matrix input:disabled{cursor:default;opacity:.6;}
.access-email{font-size:.88rem;font-weight:400}.access-unverified{font-size:.78rem;color:var(--err);font-weight:400;margin-top:4px}
#userIdentity{overflow-wrap:anywhere;margin:0 0 24px}
#userRows .btn{white-space:nowrap;}
.customer-heading [hidden]{display:none!important}
@media(max-width:700px){.access-fields{grid-template-columns:minmax(0,1fr);}.access-dialog{width:calc(100% - 24px)}.access-preset{align-items:stretch;flex-direction:column}.access-preset .btn{width:100%;}}

/* ---- Staff bookings and guest appointment summaries ---- */
.booking-wrap{max-width:1440px}
.booking-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.booking-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.booking-sidebar{padding:22px 18px;border-radius:16px;position:sticky;top:100px}
.booking-sidebar h2{font-size:1.2rem;margin-bottom:20px}.booking-sidebar h3{font-family:inherit;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:26px 0 14px}
.booking-person{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;margin:6px 0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:background .15s ease}
.booking-person:hover{background:var(--paper)}.booking-person.is-selected{background:var(--paper);border-color:var(--amber);font-weight:600}.booking-person:disabled{cursor:default}
.booking-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.75rem;font-weight:700}.booking-person.is-selected .booking-avatar{background:var(--amber);color:#14343b}
.booking-sidebar-hint{font-size:.8rem;line-height:1.65;margin:22px 0 18px}.booking-back{font-size:.85rem;text-decoration:none}.booking-back:hover{text-decoration:underline}
#staffSearch{display:flex;gap:8px;align-items:stretch;margin:0 0 12px}#staffQuery{min-width:0;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text);font:inherit;font-size:.8rem}
.booking-staff-pages{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;font-size:.75rem}.booking-no-staff{font-size:.85rem}
.booking-calendar-card{padding:26px;border-radius:16px;min-width:0;box-shadow:0 4px 20px rgba(20,52,59,.04)}
.booking-calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:18px}.booking-calendar-heading h2{font-size:1.45rem;margin-bottom:6px}.booking-calendar-heading p{margin:0;font-size:.85rem}.booking-timezone{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:20px;padding:6px 12px;color:var(--muted);font-size:.75rem;background:var(--paper)}
.booking-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:0 0 24px}.booking-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.booking-colour-dot{display:inline-block;flex:0 0 12px;width:12px;height:12px;border-radius:50%;border:1px solid rgba(20,52,59,.12)}
.booking-help{margin:22px 0 0;font-size:.8rem;line-height:1.7}
#bookingCalendar{--fc-border-color:var(--line);--fc-page-bg-color:var(--card);--fc-neutral-bg-color:var(--paper);--fc-neutral-text-color:var(--muted);--fc-today-bg-color:rgba(242,177,52,.1);--fc-list-event-hover-bg-color:var(--paper);--fc-button-bg-color:var(--ink);--fc-button-border-color:var(--ink);--fc-button-text-color:#f4efe6;--fc-button-hover-bg-color:var(--ink2);--fc-button-hover-border-color:var(--ink2);--fc-button-active-bg-color:var(--amber);--fc-button-active-border-color:var(--amber);font-size:.87rem}
#bookingCalendar .fc-toolbar{gap:16px;margin-bottom:22px;flex-wrap:wrap}#bookingCalendar .fc-toolbar-title{font-family:Georgia,serif;font-size:1.5rem}#bookingCalendar .fc-button{min-height:40px;border-radius:8px;padding:8px 12px;font:600 .78rem/1.4 "Segoe UI",system-ui,sans-serif;box-shadow:none}#bookingCalendar .fc-button-group{gap:5px}#bookingCalendar .fc-button-group>.fc-button{border-radius:8px;margin:0}#bookingCalendar .fc-button-primary:not(:disabled).fc-button-active{color:#14343b}
#bookingCalendar .fc-col-header-cell-cushion{padding:12px 4px;color:var(--muted);font-size:.78rem;text-decoration:none;font-weight:600}#bookingCalendar .fc-daygrid-day-number{padding:8px 10px;text-decoration:none}#bookingCalendar .fc-day-other .fc-daygrid-day-top{opacity:.45}#bookingCalendar .fc-daygrid-day:hover{background:rgba(242,177,52,.04)}#bookingCalendar .fc-daygrid-day-events{margin:4px 6px 8px}#bookingCalendar .fc-daygrid-event{margin:5px 0}
#bookingCalendar .fc-event{border-radius:7px;padding:3px 5px;font-size:.78rem;border-width:1px}#bookingCalendar .fc-event-time{font-weight:600}#bookingCalendar .fc-event-title{font-weight:600}#bookingCalendar .fc-timegrid-event{padding:5px}#bookingCalendar .fc-event-resizer-end{height:14px;bottom:-2px}#bookingCalendar .fc-event-resizer-start{height:14px;top:-2px}#bookingCalendar .fc-timegrid-slot{height:28px}#bookingCalendar .fc-timegrid-axis-cushion,#bookingCalendar .fc-timegrid-slot-label-cushion{color:var(--muted);font-size:.75rem}#bookingCalendar .fc-scrollgrid{border-radius:10px;overflow:hidden}#bookingCalendar .fc-list-event-title a{color:var(--text)}#bookingCalendar .fc-list-event-time{white-space:normal}#bookingCalendar.is-saving{pointer-events:none;opacity:.7}
.booking-dialog{width:min(760px,calc(100% - 40px))}.booking-dialog>p{margin:0 0 26px;font-size:.88rem}.booking-dialog .field{margin-bottom:22px}.booking-dialog .field input,.booking-dialog .field select,.booking-dialog .field textarea{display:block;box-sizing:border-box;width:100%;}.booking-dialog .field textarea{resize:vertical;}.booking-dialog .field input:disabled,.booking-dialog .field select:disabled,.booking-dialog .field textarea:disabled{opacity:.8;}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.booking-fields .field{min-width:0}.booking-dialog-actions{justify-content:space-between;}.booking-danger{color:var(--err)}
.booking-guest-link{min-width:0;margin:4px 0 24px;padding:20px;border:1px solid var(--line);border-radius:12px}.booking-guest-link legend{padding:0 8px;font-size:.9rem;font-weight:600}.booking-guest-link>p{font-size:.83rem;margin:0 0 16px}.booking-guest-search{display:flex;align-items:stretch;gap:12px}.booking-guest-search input{flex:1;min-width:0;width:100%;}.booking-guest-search .btn{white-space:nowrap;}.booking-guest-result{display:block;width:100%;padding:12px 10px;margin:6px 0;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer;overflow-wrap:anywhere}.booking-guest-result:hover{border-color:var(--amber)}.booking-linked-guest{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px 14px;background:var(--paper);border-radius:8px;font-size:.85rem}.booking-linked-guest span{overflow-wrap:anywhere}.booking-linked-guest .linkbtn{flex-shrink:0;}
.booking-types-dialog{width:min(620px,calc(100% - 40px))}.booking-types-dialog>p{font-size:.88rem;margin:0 0 22px}.booking-type-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.booking-type-row>span:nth-child(2){flex:1;overflow-wrap:anywhere}#bookingTypeRows{margin-bottom:26px}.booking-type-fields{display:grid;grid-template-columns:minmax(0,1fr) 90px;}.booking-type-fields input:not([type=color]){width:100%;}.booking-type-fields input[type=color]{width:100%;height:48px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}.booking-checkbox{display:flex;align-items:center;gap:12px;font-size:.9rem}.booking-checkbox input{width:20px;height:20px;accent-color:var(--amber)}
.guest-appointments{margin:32px 0}.guest-appointments>p{font-size:.9rem;margin-bottom:22px}.guest-appointment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.guest-appointment{padding:24px;border-radius:14px}.guest-appointment h3{margin:14px 0 12px;font-size:1.25rem}.guest-appointment p{margin:10px 0 0}.guest-appointment-time{font-size:.9rem}.booking-type-pill{display:inline-flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:.78rem;color:var(--muted)}
.booking-toolbar [hidden],.booking-layout [hidden],.booking-dialog [hidden]{display:none!important}
@media(max-width:1100px){.booking-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.booking-calendar-card{padding:22px 18px}#bookingCalendar .fc-toolbar-title{font-size:1.25rem}#bookingCalendar .fc-toolbar-chunk:nth-child(2){order:-1;width:100%}}
@media(max-width:800px){.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-sidebar{position:static}.booking-sidebar h2{margin-bottom:12px}#myCalendar{max-width:260px}#staffCalendars{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px}.booking-sidebar h3{margin:18px 0 12px}.booking-sidebar-hint{margin:16px 0 12px}.booking-staff-pages{max-width:260px}.booking-calendar-card{padding:20px 16px}.booking-help{font-size:.78rem}}
@media(max-width:600px){.booking-wrap{padding:24px 12px}.booking-toolbar{width:100%;gap:12px}.booking-toolbar .btn{flex:1;min-width:0;}.booking-calendar-card{padding:18px 10px}.booking-calendar-heading{gap:10px}.booking-calendar-heading h2{font-size:1.2rem}.booking-timezone{font-size:.7rem}.booking-legend{gap:8px 14px;margin-bottom:18px}.booking-legend-item{font-size:.75rem}#bookingCalendar .fc-toolbar{gap:12px}#bookingCalendar .fc-button{padding:7px 9px;font-size:.7rem;min-height:38px}#bookingCalendar .fc-toolbar-title{font-size:1.35rem}.booking-dialog{width:calc(100% - 24px)}.booking-fields{grid-template-columns:minmax(0,1fr);}.booking-guest-link{padding:16px 12px}.booking-guest-search{flex-direction:column}.booking-dialog-actions{align-items:stretch;}.booking-dialog-actions>.btn{width:100%;}.booking-dialog-actions .booking-toolbar{flex-direction:column}.booking-dialog-actions .booking-toolbar .btn{width:100%;}.booking-linked-guest{align-items:flex-start;flex-direction:column}.guest-appointment{padding:20px}}
@media(prefers-reduced-motion:reduce){.booking-person{transition:none}}

/* Employees / HR. Shared stylesheet: all earlier app styles remain above. */
.employee-wrap{max-width:1200px}.employee-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 24px}.employee-heading h1,.employee-heading h2,.employee-heading h3{margin:0 0 8px}.employee-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--muted,#657575);margin:0 0 8px}.employee-actions{display:flex;align-items:center;flex-wrap:wrap;margin:18px 0;}.employee-actions .btn{white-space:normal;}.employee-directory{margin-bottom:30px}.employee-search,.employee-lookup{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:0 0 20px}.employee-search label{flex:1;min-width:220px}.employee-wrap label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600}.employee-wrap input,.employee-wrap select,.employee-wrap textarea{box-sizing:border-box;width:100%;}.employee-wrap textarea{resize:vertical;}.employee-wrap input:disabled,.employee-wrap select:disabled,.employee-wrap textarea:disabled{opacity:1;cursor:default;}.employee-wrap label small{font-weight:400;color:var(--muted,#657575);line-height:1.5}.employee-person{display:grid;grid-template-columns:1fr 1.4fr;gap:8px 20px;width:100%;border:0;border-bottom:1px solid var(--line,#d8e1df);background:transparent;color:inherit;text-align:left;padding:18px 12px;cursor:pointer;font:inherit;border-radius:8px}.employee-person:hover,.employee-person:focus-visible{background:var(--paper,#f6f6f1)}.employee-person small{grid-column:1/-1;overflow-wrap:anywhere}.employee-pagination{display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.employee-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 20px;border-bottom:1px solid var(--line,#d8e1df);padding-bottom:12px}.employee-tabs button{border:1px solid var(--line,#d8e1df);border-radius:10px;background:transparent;color:inherit;font:inherit;padding:12px 18px;cursor:pointer;min-height:44px}.employee-tabs button.is-selected{background:#214f52;color:#fff;border-color:#214f52}.employee-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0}.employee-stat{padding:20px;background:var(--card,#fff);border:1px solid var(--line,#d8e1df);border-radius:14px;display:flex;flex-direction:column;gap:10px}.employee-stat span{font-size:.85rem;color:var(--muted,#657575)}.employee-stat strong{font-size:1.8rem;font-weight:600}.employee-year-picker{max-width:360px}.employee-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0;}.employee-wide{grid-column:1/-1}.employee-lookup{margin-top:24px}.employee-lookup label{flex:1}.employee-field-group{border-top:1px solid var(--line,#d8e1df);padding:20px 0}.employee-field-group summary{cursor:pointer;font-weight:700;font-size:1.05rem;padding:6px 0}.employee-workdays{border:1px solid var(--line,#d8e1df);border-radius:12px;display:flex;gap:20px;flex-wrap:wrap;padding:18px;margin:24px 0 10px}.employee-wrap .employee-workdays label,.employee-wrap .employee-check{flex-direction:row;align-items:center;gap:10px}.employee-wrap input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:#214f52;margin:0;flex-shrink:0}.employee-training-row{display:grid;grid-template-columns:1.2fr 1fr 1.5fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--line,#d8e1df);padding:24px 0}.employee-history{padding:20px 0;border-bottom:1px solid var(--line,#d8e1df);overflow-wrap:anywhere}.employee-history h3,.employee-history h4{margin:0 0 10px}.employee-history p{white-space:pre-wrap;line-height:1.6;margin:8px 0}.employee-dialog{box-sizing:border-box;width:min(640px,calc(100% - 28px));max-height:90dvh;padding:30px;border:1px solid var(--line,#d8e1df);border-radius:18px;background:var(--card,#fff);color:inherit;box-shadow:0 24px 80px #0003}.employee-dialog::backdrop{background:#143a3c99;backdrop-filter:blur(3px)}.employee-dialog>form>label{margin:18px 0}.employee-dialog .employee-actions{justify-content:flex-end;margin-bottom:0;}.employee-catalogue-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line,#d8e1df)}.employee-dashboard{margin:24px 0}.employee-dashboard .employee-heading{margin-bottom:12px}.employee-dashboard .employee-stats{margin-bottom:0}.employee-estimate{font-weight:700}.employee-panel{padding:28px}.employee-wrap button:focus-visible,.employee-wrap a:focus-visible{outline:3px solid #d89024;outline-offset:3px}.employee-wrap button:disabled{opacity:.6;cursor:wait}
@media(max-width:850px){.employee-training-row{grid-template-columns:1fr 1fr}.employee-heading{gap:12px}.employee-person{grid-template-columns:1fr}.employee-person small{grid-column:auto}}
@media(max-width:600px){.employee-form-grid{grid-template-columns:1fr;}.employee-training-row{grid-template-columns:1fr}.employee-wide{grid-column:auto}.employee-panel{padding:18px}.employee-dialog{padding:20px}.employee-tabs button{flex:1;font-size:.85rem;padding:10px}.employee-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-actions .btn{flex:1;}.employee-heading .employee-actions{width:100%;}.employee-workdays{gap:14px}.employee-search .btn{width:100%;}}

/* Products & services. One shared CSS file; earlier app styles remain above. */
.products-wrap{max-width:1200px}.products-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:0 0 24px}.products-heading h1,.products-heading h2,.products-heading h3,.products-heading h4{margin:0 0 8px}.products-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--muted);margin:0 0 8px}.products-actions{display:flex;align-items:center;flex-wrap:wrap;margin:18px 0;}.products-actions .btn{white-space:normal;}.products-search{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:26px}.products-search>label:first-child{flex:1;min-width:220px}.products-search .products-actions{margin:0;}.products-wrap label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600}.products-wrap input,.products-wrap select,.products-wrap textarea{width:100%;}.products-wrap textarea{resize:vertical;}.products-wrap label small{font-weight:400;color:var(--muted);line-height:1.5}.products-wrap input:disabled,.products-wrap select:disabled,.products-wrap textarea:disabled{opacity:1;}.products-wrap input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:0;accent-color:var(--ink2)}.products-wrap .products-check{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.products-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.products-item>div>strong{font-size:1.1rem;overflow-wrap:anywhere}.products-item p{margin:6px 0 0!important}.products-price{display:flex;flex-direction:column;gap:4px}.products-price>span{font-size:.8rem;color:var(--muted)}.products-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-top:26px}.products-empty{text-align:center;padding:44px 20px}.products-empty p{max-width:600px;margin:14px auto 24px!important}.products-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.products-type-card{border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:start;gap:12px}.products-type-card h3{font-size:1.35rem;margin:0}.products-type-card>.products-actions{margin-top:auto;padding-top:14px;margin-bottom:0;}.products-kind{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.products-dialog{box-sizing:border-box;width:min(660px,calc(100% - 28px));max-height:90dvh;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);box-shadow:0 24px 80px #0003}.products-dialog::backdrop{background:#143a3c99;backdrop-filter:blur(3px)}.products-record-dialog{width:min(820px,calc(100% - 28px))}.products-builder-dialog{width:min(980px,calc(100% - 28px))}.products-dialog .products-heading{margin-bottom:18px}.products-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0;}.products-wide{grid-column:1/-1}.products-type-choice{display:flex;flex-direction:column;gap:8px;width:100%;padding:20px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.products-type-choice:hover,.products-type-choice:focus-visible{background:var(--paper)}.products-type-choice span,.products-type-choice small{color:var(--muted)}.products-templates{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0;padding:20px;border:1px dashed var(--line);border-radius:12px}.products-field-card{padding:24px;border:1px solid var(--line);border-radius:14px;margin:20px 0}.products-field-card.is-archived{background:var(--paper)}.products-field-card .products-heading{margin:0}.products-field-card .products-actions{margin:0;}.products-field-flags{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.products-field-card>p{margin-top:18px;color:var(--muted);font-size:.85rem}.products-preview{border:1px solid var(--line);border-radius:12px;padding:20px;margin:24px 0}.products-preview summary{font-weight:700;cursor:pointer}.products-builder-footer{justify-content:flex-end}.products-retired{padding:20px;background:var(--paper);border-radius:12px;margin:20px 0}.products-retired p{white-space:pre-wrap;overflow-wrap:anywhere}.products-wrap button:focus-visible,.products-wrap a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
@media(max-width:760px){.products-item{grid-template-columns:minmax(0,1fr) auto;gap:16px}.products-item>.btn{grid-column:1/-1;justify-self:start;}.products-heading{gap:12px}.products-type-grid{grid-template-columns:1fr}.products-field-card{padding:18px}.products-dialog{padding:20px}}
@media(max-width:520px){.products-form-grid{grid-template-columns:1fr;}.products-wide{grid-column:auto}.products-heading>.products-actions{width:100%;}.products-actions .btn{flex:1;}.products-search{align-items:stretch}.products-search>label{width:100%}.products-search>.products-actions{width:100%;}.products-search>.btn{width:100%;}.products-field-flags{gap:16px}.products-templates{padding:14px}.products-templates>.btn{flex:1;}.products-item{grid-template-columns:1fr}.products-item>.btn{justify-self:stretch;}.products-pagination{justify-content:center}}

/* Searchable business starting points for the product type builder. */
.products-preset-library{padding:22px;border:1px solid var(--line);border-radius:14px;margin:24px 0;background:var(--paper)}.products-preset-library>.products-heading{margin-bottom:12px}.products-preset-library>details>summary{cursor:pointer;font-weight:700;padding:12px 0}.products-preset-search{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:18px 0}.products-preset-search label{flex:1;min-width:220px}.products-preset-businesses{max-height:460px;overflow-y:auto;padding:2px 8px 2px 2px;overscroll-behavior:contain}.products-preset-business{border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--card)}.products-preset-business>summary{padding:18px;cursor:pointer;display:list-item;list-style-position:inside}.products-preset-business>summary strong{font-size:1rem}.products-preset-business>summary span{display:inline-block;color:var(--muted);font-size:.8rem;margin-left:14px}.products-preset-business[open]>summary{border-bottom:1px solid var(--line)}.products-preset-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.products-preset-card{padding:18px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:10px}.products-preset-card h4{margin:0;font-size:1rem}.products-preset-card p{margin:0;line-height:1.5}.products-preset-card small,.products-preset-options{font-size:.8rem;color:var(--muted)}.products-preset-card>.btn{align-self:start;}.products-preset-library #presetSelection:empty{display:none}.products-preset-library #presetSelection:not(:empty){margin:12px 0;font-weight:600}.products-preset-library #presetCount{font-size:.85rem;margin:14px 0}
@media(max-width:650px){.products-preset-cards{grid-template-columns:1fr;padding:12px}.products-preset-library{padding:16px}.products-preset-businesses{max-height:390px}.products-preset-search>.btn{width:100%;}.products-preset-business>summary span{margin-left:8px}.products-preset-card>.btn{align-self:stretch;}}

/* Customer and employee email / telephone contact buttons. */
.customer-contact div + div { margin-top: 8px; }
.customer-contact a[href^="mailto:"],
.customer-contact a[href^="tel:"],
#employeeContacts a[href^="mailto:"],
#employeeContacts a[href^="tel:"] {box-sizing: border-box;max-width: 100%;overflow-wrap: anywhere;}
.customer-contact a:focus-visible,
#employeeContacts a:focus-visible {outline: 3px solid var(--amber);outline-offset: 3px;}
.customer-contact a[href^="mailto:"]::before,
.customer-contact a[href^="tel:"]::before,
#employeeContacts a::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--contact-icon) center / contain no-repeat;
  mask: var(--contact-icon) center / contain no-repeat;
}
.customer-contact a[href^="mailto:"], #employeeContacts a[href^="mailto:"] {--contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");}
.customer-contact a[href^="tel:"], #employeeContacts a[href^="tel:"] {--contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2A19.8 19.8 0 0 1 3.1 5.2 2 2 0 0 1 5.1 3h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.6a2 2 0 0 1-.5 2.1L9 10.6a16 16 0 0 0 4.4 4.4l1.2-1.2a2 2 0 0 1 2.1-.5c.8.3 1.7.5 2.6.6a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");}
#employeeContacts { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 4px; }
#employeeContacts:empty { display: none; }
@media(max-width:520px) {
  #employeeContacts { flex-direction: column; align-items: stretch; gap: 10px; }
  #employeeContacts a {width: 100%;}
}
@media(prefers-reduced-motion:reduce) {
}

/* Administrator company profile: all styling stays in the shared stylesheet. */
.company-settings-wrap { max-width: 1360px; }
.company-settings { margin: 28px 0 40px; }
.company-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
.company-heading h2 { margin: 0 0 8px; }
.company-heading p { margin: 0; max-width: 760px; }
.company-badge { display: inline-flex; align-items: center; padding: 7px 12px; border: 1px solid var(--line); border-radius: 24px; background: var(--card); font-size: .78rem; font-weight: 600; white-space: nowrap; }
.company-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 28px; align-items: start; }
#companySettings { min-width: 0; }
#companyFields { margin: 0; padding: 0; border: 0; min-width: 0; }
#companyFields:disabled { opacity: .65; }
.company-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.company-section-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.company-section-nav a { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); text-decoration: none; font-size: .8rem; font-weight: 600; }
.company-section-nav a:hover { border-color: var(--amber); background: var(--paper); }
.company-section { margin: 0 0 18px; padding: 24px; border-radius: 16px; scroll-margin-top: 100px; }
.company-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; font-size: 1.08rem; font-weight: 700; min-height: 32px; }
.company-section > summary::-webkit-details-marker { display: none; }
.company-section-toggle { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; background: var(--paper); border-radius: 50%; font: 500 1.2rem/1 system-ui,sans-serif; transition: transform .15s ease; }
.company-section[open] .company-section-toggle { transform: rotate(45deg); }
.company-section > p { margin: 14px 0 24px; font-size: .88rem; }
.company-form-grid {display: grid;grid-template-columns: repeat(2,minmax(0,1fr));}
.company-form-grid .field { min-width: 0; margin: 0; }
.company-wide { grid-column: 1 / -1; }
.company-form-grid label {display: block;margin: 0 0 8px;}
.company-form-grid input:not([type=checkbox]), .company-form-grid select, .company-form-grid textarea {display: block;box-sizing: border-box;width: 100%;}
.company-form-grid textarea {resize: vertical;}
.company-form-grid input[type=color] { width: 112px; height: 48px; padding: 6px; cursor: pointer; }
.company-form-grid small { display: block; font-size: .78rem; line-height: 1.6; margin-top: 8px; }
.company-form-grid .company-check { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); cursor: pointer; min-height: 48px; }
.company-check input {flex: 0 0 22px;width: 22px;height: 22px;margin: 0;accent-color: var(--amber);}
.company-required { color: var(--err); }
.company-address-title { font-family: inherit; font-size: .95rem; margin: 4px 0 -4px; }
.company-save-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); margin: 24px 0; }
.company-save-bar small { display: block; margin-top: 6px; font-size: .78rem; }
#companySaveState { font-size: .88rem; font-weight: 600; }
.company-actions {display: flex;flex-wrap: wrap;}
.company-preview { position: sticky; top: 100px; border-radius: 16px; padding: 24px; min-width: 0; }
.company-preview h3 { font-family: inherit; font-size: 1rem; margin: 0 0 8px; }
.company-preview > p { font-size: .8rem; margin: 0 0 20px; }
.company-letterhead { border-top: 4px solid var(--ink); padding-top: 18px; overflow-wrap: anywhere; }
.company-letterhead p { margin: 0 0 6px; font-size: .82rem; white-space: pre-wrap; }
.company-letterhead .company-preview-name { font-size: 1.05rem; font-weight: 700; margin-bottom: 12px; }
.company-letterhead .company-preview-meta { margin-top: 14px; font-size: .74rem; color: var(--muted); }
.company-preview .company-preview-note { margin: 22px 0 0; font-size: .76rem; }
.company-settings [hidden] { display: none !important; }
.company-settings a:focus-visible, .company-settings summary:focus-visible, .company-settings button:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
@media(max-width:1050px) { .company-layout { grid-template-columns: minmax(0,1fr); } .company-preview { position: static; max-width: 700px; } }
@media(max-width:600px) { .company-form-grid {grid-template-columns: minmax(0,1fr);} .company-wide { grid-column: auto; } .company-section { padding: 20px 16px; } .company-section-nav { gap: 8px; } .company-section-nav a { flex: 1 1 180px; } .company-actions {width: 100%;flex-direction: column;} .company-actions .btn {width: 100%;} .company-save-bar { padding: 18px; } .company-check { align-items: start; } }
@media(prefers-reduced-motion:reduce) { .company-section-toggle { transition: none; } }

/* Company logo editor and future document-header preview. */
.company-logo-editor { display: grid; grid-template-columns: 160px minmax(0,1fr); align-items: start; gap: 24px; padding: 22px; margin: 0 0 28px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.company-logo-thumb { display: grid; place-items: center; min-height: 140px; padding: 12px; border: 1px dashed var(--line); border-radius: 12px; background: var(--card); text-align: center; overflow: hidden; }
.company-logo-thumb img { display: block; width: 100%; max-height: 150px; object-fit: contain; }
.company-logo-thumb span { font-size: .8rem; }
.company-logo-controls { min-width: 0; }
.company-logo-controls h3 { font-family: inherit; font-size: 1rem; margin: 0 0 8px; }
.company-logo-controls p { font-size: .8rem; margin: 0 0 16px; }
.company-logo-controls label { display: block; font-size: .86rem; font-weight: 600; margin: 0 0 8px; }
.company-logo-controls input[type=file] {display: block;width: 100%;max-width: 100%;}
.company-logo-controls input[type=file]::file-selector-button { margin-right: 12px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--text); font: inherit; cursor: pointer; }
.company-logo-controls small { display: block; font-size: .78rem; margin: 10px 0 18px; }
.company-logo-controls .msg { margin-top: 18px; }
.company-letterhead .company-document-logo { display: block; width: auto; max-width: 100%; max-height: 100px; object-fit: contain; margin: 0 0 18px; }
@media(max-width:650px) { .company-logo-editor { grid-template-columns: minmax(0,1fr); padding: 16px; gap: 18px; } .company-logo-thumb { width: 160px; justify-self: start; } .company-logo-controls .company-actions {flex-direction: column;} .company-logo-controls .btn {width: 100%;} }

/* Editable company VAT defaults and shared product price breakdowns. */
.company-vat-example { margin-top: 24px; padding: 18px 20px; border: 1px solid var(--line); border-left: 4px solid var(--amber); border-radius: 12px; background: var(--paper); }
.company-vat-example > strong { font-size: .88rem; }
.company-vat-example p { margin: 10px 0; font-size: .95rem; font-weight: 600; }
.company-vat-example small { display: block; font-size: .8rem; }
.product-vat-summary { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; max-width: 340px; }
.product-vat-summary small { font-size: .73rem; font-weight: 400; }
.products-price .product-vat-amounts { font-size: .8rem; line-height: 1.6; color: var(--text); }
.product-vat-panel { display: flex; flex-direction: column; gap: 10px; margin: 24px 0; padding: 20px; border: 1px solid var(--line); border-left: 4px solid var(--amber); border-radius: 12px; background: var(--paper); }
.product-vat-panel small { font-size: .8rem; }
.product-vat-panel .product-vat-amounts { font-size: .95rem; font-weight: 600; }

/* Sales: independent feature UI, one complete shared stylesheet. */
.sales-wrap { max-width: 1440px; }
.sales-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 0 0 24px; }
.sales-heading h1,.sales-heading h2,.sales-heading h3 { margin: 0 0 8px; }
.sales-heading p { margin: 0; }
.sales-eyebrow { font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px !important; }
.sales-actions {display: flex;align-items: center;flex-wrap: wrap;}
.sales-search { display: flex; gap: 18px; align-items: end; flex-wrap: wrap; margin-bottom: 28px; }
.sales-search label { min-width: 140px; flex: 1; font-size: .82rem; font-weight: 600; }
.sales-search label:first-child { flex: 2; min-width: 220px; }
.sales-search input,.sales-search select,.sales-form-grid input,.sales-form-grid select,.sales-form-grid textarea,.sales-summary-layout textarea,.sales-item-table input,.sales-item-table select,.sales-refund-item input,#saleReasonForm textarea {display: block;width: 100%;box-sizing: border-box;margin-top: 8px;}
.sales-list-card { padding: 28px; border-radius: 16px; }
.sales-list-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.sales-list-row:last-child { border-bottom: 0; }
.sales-list-row p { margin: 6px 0 12px; font-size: .85rem; overflow-wrap: anywhere; }
.sales-list-price { display: flex; flex-direction: column; gap: 8px; text-align: right; }
.sales-list-price > strong { font-size: 1.12rem; }
.sales-list-price small { font-size: .78rem; }
.sales-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sales-badge { display: inline-flex; padding: 4px 10px; border-radius: 24px; border: 1px solid var(--line); background: var(--paper); font-size: .74rem; font-weight: 600; }
.sales-badge-paid,.sales-badge-completed { border-color: var(--ok); }
.sales-badge-part_paid,.sales-badge-draft { border-color: var(--amber); }
.sales-badge-overdue,.sales-badge-refund_due { border-color: var(--err); }
.sales-badge-cancelled { color: var(--muted); }
.sales-pagination { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; font-size: .85rem; }
.sales-empty { padding: 36px 0; }
.sales-dialog { width: min(1260px,calc(100% - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; border: 1px solid var(--line); border-radius: 18px; padding: 30px; background: var(--card); color: var(--text); box-shadow: 0 24px 80px #0003; }
.sales-dialog::backdrop { background: #14343ba6; backdrop-filter: blur(3px); }
.sales-payment-dialog { width: min(720px,calc(100% - 32px)); }
.sales-lookup { width: min(850px,calc(100% - 32px)); }
.sales-refund-dialog { width: min(900px,calc(100% - 32px)); }
.sales-dialog h3,.sales-dialog h4 { font-family: inherit; }
.sales-context { padding: 14px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); font-size: .86rem; margin: 0 0 24px; }
#saleFields { padding: 0; margin: 0; border: 0; min-width: 0; }
.sales-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sales-form-grid {display: grid;grid-template-columns: repeat(3,minmax(0,1fr));margin: 24px 0;}
.sales-form-grid label{min-width: 0;}.sales-summary-layout > label,#saleReasonForm > label { font-size: .86rem; font-weight: 600; min-width: 0; }
.sales-form-grid textarea,#saleReasonForm textarea {resize: vertical;}
.sales-wide { grid-column: 1 / -1; }
.sales-customer-card { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 22px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; margin: 26px 0; }
.sales-customer-card h3 { margin: 0 0 10px; font-size: 1rem; }
.sales-customer-card p { margin: 8px 0 0; font-size: .82rem; overflow-wrap: anywhere; }
.sales-invoice-fields {padding: 22px;border-radius: 14px;border: 1px solid var(--line);background: var(--paper);margin: 24px 0;}
.sales-invoice-fields h3 { margin: 0 0 8px; }
.sales-invoice-fields p { margin: 0; font-size: .82rem; }
.sales-items-heading { margin-top: 32px; align-items: center; }
.sales-items-heading h3 { margin-bottom: 6px; }
.sales-items-heading p { font-size: .82rem; }
.sales-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.sales-item-table { width: 100%; border-collapse: collapse; min-width: 1060px; font-size: .84rem; }
.sales-item-table th,.sales-item-table td { padding: 16px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.sales-item-table th { background: var(--paper); font-size: .75rem; color: var(--muted); }
.sales-item-table tr:last-child td { border-bottom: 0; }
.sales-item-table td:first-child { width: 26%; min-width: 220px; }
.sales-item-table td:nth-child(2),.sales-item-table td:nth-child(3) { min-width: 120px; }
.sales-item-table td:nth-child(4) { min-width: 180px; }
.sales-item-table td > small { display: block; margin-top: 8px; font-size: .75rem; }
.sales-item-table td > input,.sales-item-table td > select {margin-top: 0;}
.sales-item-table td:first-child input,.sales-item-table td > select + input {margin-top: 10px;}
.sales-line-net,.sales-line-vat,.sales-line-gross { white-space: nowrap; padding-top: 28px !important; }
.sales-summary-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 30px; margin: 26px 0; }
.sales-totals { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.sales-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 12px; font-size: .9rem; }
.sales-totals .sales-total-grand { border-top: 1px solid var(--line); padding-top: 16px; margin: 16px 0 0; font-size: 1.15rem; }
.sales-totals p { font-size: .78rem; margin-bottom: 0; }
.sales-initial-payment { padding: 22px; border: 1px solid var(--line); border-radius: 14px; margin: 26px 0; }
.sales-initial-payment h3 { margin: 0 0 8px; }
.sales-initial-payment p { font-size: .82rem; margin: 0; }
.sales-editor-actions {margin: 28px 0;}
.sales-lookup-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.sales-lookup-row p { margin: 8px 0 0; font-size: .84rem; }
.sales-lookup-row small { display: block; margin-top: 8px; }
.sales-lookup-row .btn {flex-shrink: 0;}
.sales-settlement { padding-top: 30px; border-top: 1px solid var(--line); margin-top: 24px; }
.sales-balance-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 16px; margin: 24px 0; }
.sales-balance-card { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.sales-balance-card span { display: block; font-size: .78rem; color: var(--muted); margin-bottom: 8px; }
.sales-balance-card strong { font-size: 1.15rem; }
.sales-ledger-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.sales-ledger-row > div { flex: 1; min-width: 180px; }
.sales-ledger-row p { margin: 8px 0 0; font-size: .8rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.sales-refund-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.sales-refund-item small { display: block; font-size: .8rem; margin-top: 8px; }
.sales-refund-item input {width: 140px;flex: 0 0 140px;margin: 0;}
.sales-refund-totals { margin: 24px 0; padding: 18px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; font-size: .9rem; line-height: 1.8; }
.sales-no-vat .sales-vat-column,.sales-wrap [hidden] { display: none !important; }
.sales-wrap input:disabled,.sales-wrap select:disabled,.sales-wrap textarea:disabled {opacity: .8;cursor: default;}
.sales-wrap a:focus-visible,.sales-wrap button:focus-visible{ outline: 3px solid var(--amber); outline-offset: 3px; }
@media(max-width:850px) { .sales-form-grid {grid-template-columns: repeat(2,minmax(0,1fr));} .sales-summary-layout { grid-template-columns: minmax(0,1fr); } .sales-list-row { grid-template-columns: minmax(0,1fr) auto; gap: 18px; } .sales-list-row > .btn {grid-column: 1 / -1;justify-self: start;} .sales-list-card { padding: 22px; } .sales-dialog { padding: 24px; } }
@media(max-width:550px) { .sales-form-grid {grid-template-columns: minmax(0,1fr);} .sales-wide { grid-column: auto; } .sales-dialog { width: calc(100% - 20px); padding: 20px 16px; } .sales-search { align-items: stretch; gap: 16px; } .sales-search > label{ width: 100%; flex: 1 1 100%; }.sales-search > .sales-actions {width: 100%;flex: 1 1 100%;} .sales-actions {width: 100%;} .sales-actions .btn {flex: 1 1 160px;} .sales-customer-card { padding: 18px; } .sales-list-row { grid-template-columns: minmax(0,1fr); } .sales-list-price { text-align: left; } .sales-list-row > .btn {justify-self: stretch;} .sales-balance-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .sales-refund-item { flex-wrap: wrap; gap: 12px; } .sales-refund-item input {width: 100%;flex: 1 1 100%;} .sales-lookup-row { align-items: start; } .sales-pagination { gap: 10px; font-size: .78rem; } }

/* Product stock and customer warranty returns */
.stock-panel { margin: 28px 0; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.stock-panel h3 { margin-top: 0; }
.stock-summary { font-size: .82rem; color: var(--ink); line-height: 1.7; }
.stock-panel .stock-summary { font-weight: 600; margin: 20px 0; }
.stock-history-row { padding: 12px 0; border-top: 1px solid var(--line); font-size: .78rem; overflow-wrap: anywhere; }
.stock-line-availability { display: block; margin-top: 10px; color: var(--muted); font-size: .75rem; line-height: 1.6; }
.sales-item-table td:first-child select {margin-top: 12px;}
.stock-return-mode { display: block; margin: 24px 0 14px; }
.sales-refund-item > span { flex: 1 1 250px; }
.sales-refund-item > select {flex: 0 1 240px;width: 240px;margin: 0;}
.sales-refund-item { flex-wrap: wrap; }
#saleRepairs { margin-top: 30px; }
@media(max-width:550px) { .stock-panel { padding: 18px; } .sales-refund-item > select {width: 100%;flex: 1 1 100%;} }

/* Invoices: one shared stylesheet for the app and print layout. */
.invoice-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; margin: 0 0 24px; }
.invoice-heading h1,.invoice-heading h2 { margin: 0 0 10px; }
.invoice-actions {display: flex;flex-wrap: wrap;align-items: center;margin: 26px 0;}
.invoice-editor { width: min(1050px,calc(100% - 32px)); }
.invoice-info { padding: 22px; margin: 24px 0; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); line-height: 1.7; overflow-wrap: anywhere; }
.invoice-preview,.invoice-saved-paper { margin: 28px auto; padding: 40px; border: 1px solid #dce4e2; border-radius: 12px; background: #fff; color: #14343b; box-shadow: 0 8px 28px rgba(20,52,59,.06); }
.invoice-saved-paper { max-width: 920px; }
.invoice-logo { display: block; max-width: 230px; max-height: 100px; width: auto; height: auto; object-fit: contain; margin-bottom: 28px; }
.invoice-paper { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.invoice-document-header { table-layout: fixed; border-bottom: 2px solid #14343b; padding-bottom: 24px; margin-bottom: 26px; }
.invoice-document-header td { vertical-align: top; padding: 0 0 24px; }
.invoice-document-header h1 { font-size: 25px; letter-spacing: .06em; margin: 0 0 14px; }
.invoice-document-header h2 { font-size: 21px; margin: 0 0 10px; }
.invoice-document-header h3 { font-size: 17px; margin: 0 0 14px; }
.invoice-document-header p { margin: 8px 0; }
.invoice-bill-to { margin: 26px 0; padding: 22px; border: 1px solid #dce4e2; border-radius: 10px; }
.invoice-bill-to h3 { margin: 0 0 10px; }
.invoice-bill-to p { margin: 0; }
.invoice-lines { border-collapse: collapse; table-layout: fixed; margin: 26px 0; font-size: 11px; }
.invoice-lines th,.invoice-lines td { padding: 12px 8px; vertical-align: top; border-bottom: 1px solid #dce4e2; overflow-wrap: anywhere; }
.invoice-lines th { background: #edf3f2; font-weight: 600; }
.invoice-totals { margin: 26px 0; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.invoice-totals td { padding: 12px 8px; }
.invoice-paper > h3 { margin: 24px 0 10px; }
.invoice-document-footer { margin-top: 32px; border-top: 1px solid #dce4e2; padding-top: 18px; color: #596b70; font-size: 11px; }
.invoices-wrap [hidden] { display: none !important; }
.invoice-credit-list { margin-top: 20px; }
@media(max-width:600px) { .invoice-preview,.invoice-saved-paper { padding: 20px 14px; } .invoice-document-header h1 { font-size: 17px; } .invoice-document-header h2 { font-size: 17px; } .invoice-paper { font-size: 11px; } .invoice-lines { font-size: 9px; } .invoice-lines th,.invoice-lines td { padding: 9px 4px; } .invoice-actions .btn {flex: 1 1 160px;} .invoice-totals { font-size: 11px; } }
@media print {
 @page { size: A4; margin: 15mm; }
 .invoice-view-body { background: #fff !important; color: #14343b !important; }
 .invoice-view-body .topbar,.invoice-view-body .top,.invoice-view-body .invoice-no-print { display: none !important; }
 .invoice-view-body .wrap { width: 100%; max-width: none; margin: 0; padding: 0; }
 .invoice-view-body .invoice-saved-paper { width: 100%; max-width: none; margin: 0; padding: 0; box-shadow: none; border: 0; border-radius: 0; }
 .invoice-view-body .invoice-paper { font-size: 10pt; }
 .invoice-view-body .invoice-lines { font-size: 8pt; }
 .invoice-view-body .invoice-lines thead { display: table-header-group; }
 .invoice-view-body .invoice-lines tr { break-inside: avoid; page-break-inside: avoid; }
 .invoice-view-body .invoice-bill-to,.invoice-view-body .invoice-totals,.invoice-view-body .invoice-document-header { break-inside: avoid; }
 .invoice-view-body .invoice-logo { max-width: 50mm; max-height: 22mm; }
 .invoice-view-body * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Purchase orders: one shared stylesheet, existing styles preserved. */
.po-wrap{max-width:1280px}.po-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.po-heading h1,.po-heading h2,.po-heading h3{margin:0}.po-actions{display:flex;align-items:center;flex-wrap:wrap;}.po-table-wrap{overflow-x:auto}.po-table{width:100%;border-collapse:collapse}.po-table th,.po-table td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--line,#dce5e5);vertical-align:middle}.po-table th{color:var(--muted,#6b7a80);font-size:.86rem}.po-table .po-actions{min-width:145px;}.po-editor{width:min(1100px,95vw);max-width:1100px}.po-editor h3{margin-top:28px}.po-fields{border:0;padding:0;margin:0;min-width:0;}.po-fields legend.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.po-item-heading{margin-top:28px;margin-bottom:12px}.po-item-heading h3{margin:0}.po-item{display:grid;grid-template-columns:2fr 1.1fr 1fr 1fr 1.3fr .8fr;gap:14px;background:var(--surface,#f5f8f8);border:1px solid var(--line,#dce5e5);padding:18px;border-radius:14px;margin:0 0 16px}.po-item label{min-width:0}.po-item input{width:100%;box-sizing:border-box;}.po-item>.btn{grid-column:1/-1;justify-self:end;}.po-description{grid-column:span 2}.po-totals{display:flex;justify-content:flex-end;padding:20px;background:#edf3f3;border-radius:12px;font-weight:700;margin:20px 0;color:#16363d}.po-editor-actions{margin:26px 0 16px;padding-top:20px;border-top:1px solid var(--line,#dce5e5);}.po-catalogue-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line,#dce5e5)}.po-view{max-width:1000px}.po-paper{background:#fff;color:#172c32;padding:42px;margin:24px 0}.po-document-logo{display:block;width:auto;height:auto;max-width:190px;max-height:84px;object-fit:contain;margin-bottom:26px}.po-document{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.po-document table{width:100%;border-collapse:collapse;table-layout:fixed}.po-document th,.po-document td{padding:12px 8px;vertical-align:top;overflow-wrap:anywhere}.po-document h2{font-size:22px;margin:0 0 12px}.po-document h3{font-size:16px;margin:0 0 8px}.po-document-items th{background:#edf3f3;font-size:12px}.po-document-items tbody td{border-bottom:1px solid #e6ecec}.po-document-totals{margin-top:18px}.po-document-note{margin-top:24px}.po-company-registration{font-size:11px;color:#637378;margin-top:32px}.po-draft{padding:14px;background:#fff3cb;border-radius:10px;color:#654b00}.po-cancelled{padding:20px;border:2px solid #bd4848;background:#fff3f3;color:#8b2424;border-radius:12px;margin:20px 0}.po-no-print form .po-actions{margin-top:16px;}
@media(max-width:800px){.po-item{grid-template-columns:repeat(2,minmax(0,1fr))}.po-paper{padding:20px}.po-document{font-size:12px}.po-document h2{font-size:18px}.po-document td,.po-document th{padding:8px 4px}.po-totals{justify-content:flex-start}.po-table th,.po-table td{padding:12px 8px}}
@media print{body.po-view-page{background:#fff;color:#172c32}.po-view-page .top,.po-view-page .po-no-print{display:none!important}.po-view-page .wrap{max-width:none;width:auto;margin:0;padding:0}.po-view-page .po-paper{padding:0;margin:0;border:0;box-shadow:none;border-radius:0}.po-document{font-size:10pt;line-height:1.35}.po-document thead{display:table-header-group}.po-document-items tr,.po-document-totals,.po-document-note{break-inside:avoid}.po-document th,.po-document td{padding:7pt 4pt}.po-document-logo{max-width:50mm;max-height:22mm}.po-cancelled{break-inside:avoid}.po-draft,.po-cancelled,.po-document th{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4;margin:15mm}}

/* Shared meeting invitations and guest responses. Previous styles preserved. */
.meeting-staff-link{border:1px solid var(--line,#dce5e5);border-radius:12px;padding:18px;margin:20px 0}.meeting-staff-link legend{font-weight:700;padding:0 8px}.meeting-actions{display:flex;align-items:center;flex-wrap:wrap;margin:16px 0;}.meeting-person-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line,#dce5e5)}.meeting-person-row>span:first-child,.meeting-person-row>div:first-child{flex:1;min-width:140px}.meeting-status{display:inline-flex;align-items:center;border-radius:20px;padding:6px 11px;font-size:.82rem;font-weight:700;white-space:nowrap;background:#edf1f2;color:#455f68}.meeting-status-pending{background:#fff3d7;color:#765300}.meeting-status-accepted{background:#dcf1e6;color:#205d41}.meeting-status-declined{background:#fce4e4;color:#8e3030}.meeting-delivery{font-size:.82rem;margin:5px 0 0}.meeting-attendance{margin:22px 0;padding:18px;border:1px solid var(--line,#dce5e5);border-radius:12px}.meeting-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.meeting-heading h3{margin:0}.meeting-inbox{border-top:1px solid var(--line,#dce5e5);padding-top:18px;margin-top:22px}.meeting-inbox-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;background:#f6f9f9;color:#18373e;border:1px solid #dce5e5;border-radius:12px;padding:14px;margin:12px 0;text-align:left;cursor:pointer}.meeting-inbox-item:hover,.meeting-inbox-item:focus-visible{border-color:#4f6d7a;background:#edf4f4}.meeting-inbox-item .muted{font-size:.8rem}.meeting-inbox .booking-staff-pages{flex-wrap:wrap;gap:8px}.meeting-invitation-dialog{max-width:620px}.meeting-response-details{display:grid;grid-template-columns:95px minmax(0,1fr);gap:12px 16px;margin:24px 0}.meeting-response-details dt{font-weight:700}.meeting-response-details dd{margin:0;overflow-wrap:anywhere}.meeting-response-page{min-height:100vh;background:#f2f6f6;padding:36px 18px;box-sizing:border-box}.meeting-response-card{max-width:660px;margin:30px auto;background:#fff;padding:32px}.meeting-response-card h1{margin-top:0}.meeting-response-card .msg{display:block;margin:20px 0}.meeting-guest-status{margin:18px 0}.guest-meeting-response .meeting-actions{margin-bottom:0;}
@media(max-width:600px){.meeting-response-card{padding:22px;margin:8px auto}.meeting-response-details{grid-template-columns:1fr;gap:5px}.meeting-response-details dd{margin-bottom:12px}.meeting-person-row{gap:10px}.meeting-attendance,.meeting-staff-link{padding:14px}.meeting-heading .btn{width:100%;}}

/* Purchase order goods receiving */
.por-page { display:grid;gap:24px; }
.por-page .card { padding:24px; }
.por-meta{ display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:20px 0; }.por-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:20px 0;}
.por-line { padding:22px 0;border-top:1px solid #dde4ed; }
.por-line h3 { margin:0 0 10px; }
.por-picker { display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0; }
.por-picker label { flex:1;min-width:220px; }
.por-results { display:flex;flex-wrap:wrap;gap:12px;width:100%; }
.por-selected { flex-basis:100%;margin:0;font-weight:600; }
.por-page .po-actions {margin-top:24px;}
.por-page textarea {width:100%;}
.por-page [hidden] { display:none!important; }
@media(max-width:600px) { .por-page .card { padding:18px; }.por-meta{ grid-template-columns:1fr; }.por-fields {grid-template-columns:1fr;}.por-picker .btn {width:100%;} }

/* Finance module */
.fin-page { display:grid;gap:24px; }.fin-page .card { padding:24px; }
.fin-tabs,.fin-toolbar,.fin-period form { display:flex;flex-wrap:wrap;align-items:end;gap:16px; }
.fin-tabs { align-items:center; }.fin-toolbar { margin-bottom:24px; }
.fin-period label,.fin-toolbar label { flex:1;min-width:160px; }
.fin-metrics { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:24px; }
.fin-metric { display:flex;flex-direction:column;gap:10px; }.fin-metric p { margin:0; }.fin-metric strong { font-size:1.65rem;letter-spacing:-.03em; }.fin-metric small { line-height:1.5; }
.fin-two { display:grid;grid-template-columns:1fr 1.1fr;gap:24px;margin-bottom:24px; }
.fin-chart { display:grid;gap:22px;margin:24px 0; }.fin-chart-row { display:grid;grid-template-columns:1fr auto;gap:9px; }.fin-bar { height:12px;background:#f5b653;border-radius:6px;grid-column:1/-1; }.fin-bar-income { background:#27b68c; }
.fin-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:20px 0;}
.fin-dialog { width:min(900px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:30px; }.fin-dialog fieldset { border:0;padding:0;margin:0;min-width:0; }.fin-dialog label { display:flex;flex-direction:column;gap:8px; }.fin-dialog label.fin-check { flex-direction:row;align-items:center;gap:10px;margin:20px 0; }.fin-check input {width:auto;}
.fin-dialog .po-actions {margin:22px 0;}.fin-dialog textarea {width:100%;}.fin-dialog #finEntryHistory p { line-height:1.7; }
.fin-template { padding:22px 0;border-top:1px solid #dde4ed; }.fin-note,.fin-tax-summary { background:#f4f7fb;border:1px solid #dce4ef;border-radius:14px;padding:20px;margin:20px 0;color:#24364a; }.fin-note summary { cursor:pointer;font-weight:600; }.fin-note li { margin:12px 0;line-height:1.6; }
.fin-page [hidden],.fin-dialog [hidden] { display:none!important; }.fin-page [data-panel]>.card { margin-bottom:24px; }.fin-report table { width:100%;border-collapse:collapse;margin:20px 0; }.fin-report td,.fin-report th { padding:10px;border-bottom:1px solid #dde4ed;text-align:left; }.fin-report h2 { margin-top:32px; }.fin-report .report-disclaimer { padding:20px;background:#fff6db;border:1px solid #ecd397;border-radius:12px;color:#3a3020; }.fin-report .report-logo { max-width:240px;max-height:90px; }
@media(max-width:850px) { .fin-two { grid-template-columns:1fr; }.fin-dialog { padding:22px; } }
@media(max-width:550px) { .fin-tabs .btn {flex:1;}.fin-page .card { padding:18px; }.fin-fields {grid-template-columns:1fr;}.fin-toolbar .btn {width:100%;} }
@media print { body.fin-report,.fin-report .card { background:#fff;color:#1b2a2e; }.fin-report .muted { color:#5d6b6e; }.fin-report .fin-no-print,.fin-report .topbar { display:none!important; }.fin-report .wrap { width:100%;max-width:none;margin:0;padding:0; }.fin-report .card { box-shadow:none;border:0; }.fin-report table { font-size:9pt; }.fin-report tr { break-inside:avoid; }.fin-report thead { display:table-header-group; }.fin-report h2 { break-after:avoid; } }

/* Business locations and employee workplace selector */
.business-locations { padding:26px;margin:28px 0; }
.location-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:22px 0; }
.location-card { border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--card); }
.location-address,.employee-location-address { white-space:pre-line;overflow-wrap:anywhere; }.location-card h3 { margin-bottom:14px; }
.location-dialog { width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:30px; }
.location-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:20px 0;}
.location-fields label {display:flex;flex-direction:column;}
.location-check { display:flex;align-items:center;gap:12px;margin:24px 0; }.location-check input {width:auto;}
.location-dialog .company-actions {margin-top:24px;}
.employee-location-address { display:block;line-height:1.6;margin-top:8px;color:var(--muted); }
@media(max-width:550px){.business-locations,.location-dialog { padding:20px; }.location-fields {grid-template-columns:1fr;}.business-locations .company-heading { flex-wrap:wrap;gap:16px; }}

/* SaaS platform and company licence notices */
.platform-page { background:var(--paper);color:var(--text); }
.platform-nav { max-width:1250px;margin:auto;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap; }
.platform-nav nav{ display:flex;flex-wrap:wrap;align-items:center;gap:18px; }.platform-actions {display:flex;flex-wrap:wrap;align-items:center;}.platform-nav a { text-decoration:none; }.platform-brand { display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.25rem; }
.platform-public,.platform-admin { display:grid;gap:30px;padding-bottom:48px; }.platform-public .card,.platform-admin .card { padding:28px; }
.platform-hero { padding:58px 0 40px;max-width:900px; }.platform-hero h1 { font-size:clamp(2.25rem,5vw,4rem);letter-spacing:-.035em;line-height:1.12; }.platform-lead { font-size:1.2rem;max-width:760px;margin:26px 0; }.platform-hero .platform-actions {margin:28px 0;}
.platform-feature-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:24px 0; }.platform-price { display:grid;grid-template-columns:1fr 1fr;gap:24px; }.platform-price-value { font-size:2rem; }.platform-price li { margin:12px 0; }
.platform-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:24px 0;}.platform-page label { display:flex;flex-direction:column;gap:8px; }.platform-check { flex-direction:row!important;align-items:start;gap:14px!important;line-height:1.6; }.platform-check input {width:auto;margin-top:7px;}
.platform-footer { text-align:center;padding:30px;border-top:1px solid var(--line); }.platform-resend { margin-top:24px; }.platform-login { max-width:500px!important;margin:60px auto;padding:32px; }.platform-login form { display:grid;gap:22px; }
.platform-dialog { width:min(850px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:30px; }.platform-dialog section,.platform-dialog details,.platform-dialog #platformNotesForm { border-top:1px solid var(--line);padding-top:24px;margin-top:24px; }.platform-dialog .platform-actions {margin:22px 0;}
.saas-banner { padding:14px 24px;display:flex;gap:18px;flex-wrap:wrap;background:var(--card);border-bottom:1px solid var(--line);font-size:.9rem; }.saas-login-note { padding:24px;margin:20px auto;max-width:900px;text-align:center; }
@media(max-width:600px){.platform-price { grid-template-columns:1fr; }.platform-fields {grid-template-columns:1fr;}.platform-nav { padding:18px; }.platform-public .card,.platform-admin .card,.platform-dialog { padding:22px; }}

@media print{.saas-banner,.saas-login-note{display:none!important;}}


/* Shared form refresh. Excludes toggles, buttons{
  box-sizing: border-box;
  max-width: 100%;
  min-height: 50px !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 14px !important;
  background-color: var(--card) !important;
  color: var(--text);
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  box-shadow: 0 2px 5px rgba(20,52,59,.05) !important;
  transition: border-color .18s ease, box-shadow .18s ease;
} colour pickers and hidden inputs.
   Important sizing overrides older feature-specific form rules consistently. */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=color]):not([type=range]),
select, textarea {box-sizing: border-box;max-width: 100%;}
textarea {resize: vertical;}
input::placeholder, textarea::placeholder {opacity: .85;}
input[aria-invalid=true], select[aria-invalid=true], textarea[aria-invalid=true] { border-color: var(--err) !important; }
input:disabled, select:disabled, textarea:disabled {cursor: not-allowed;}
input[type=file] {white-space: normal;}
input[type=file]::file-selector-button {
  margin: 0 14px 0 0;
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  color: var(--text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
}


/* Shared screen layout polish; printed business documents retain their layout. */
@media screen {
  .btn {overflow-wrap: anywhere;} .booking-toolbar {
    gap: 12px;
  }
  .customer-search, .employee-search, .employee-lookup, .products-search,
  .sales-search, .fin-toolbar, .fin-period form{
    align-items: flex-end;
    gap: 16px;
  }
  form.platform-actions {align-items: flex-end;}
  .customer-search > .btn, .employee-search > .btn,
  .employee-lookup > .btn, .products-search > .btn,
  .sales-search > .btn, .fin-toolbar > .btn,
  .fin-period form > .btn, form.platform-actions > .btn {flex-shrink: 0;}
  .platform-page input:not([type=checkbox]):not([type=radio]),
  .platform-page select, .platform-page textarea {width: 100%;min-width: 0;}
  form.platform-actions > label { flex: 1 1 260px; min-width: 0; }
  .platform-fields {grid-template-columns: repeat(2,minmax(0,1fr));align-items: start;}
  .platform-fields > label {display: grid;grid-template-rows: minmax(2.8em,auto) auto;align-content: start;min-width: 0;}
  .platform-fields > label > small { font-weight: 400; color: var(--muted); }
  #platformSignup > .platform-actions {margin-top: 24px;}
  #platformWorkspace { margin-top: 24px; }
  .platform-check input {flex-shrink: 0;}
  .employee-heading > .employee-actions,
  .products-heading > .products-actions {margin-top: 0;margin-bottom: 0;}
  .employee-form-grid > *, .products-form-grid > *,
  .sales-form-grid > *, .company-form-grid > *, .fin-fields > * { min-width: 0; }
  .booking-guest-search { align-items: flex-end; }
  .platform-feature-grid > .card { height: 100%; }
  .platform-nav nav { gap: 12px 20px; }
}
@media screen and (max-width: 600px) {
  .platform-fields {grid-template-columns: minmax(0,1fr);}
  .platform-fields > label {grid-template-rows: auto auto;}
  form.platform-actions > label{ flex: 1 1 100%; width: 100%; } form.platform-actions > .btn {flex: 1 1 100%;width: 100%;}
  .employee-lookup > label { min-width: 0; flex-basis: 100%; }
  .employee-lookup > .btn {width: 100%;}
  .platform-nav { align-items: flex-start; }
  .platform-nav nav { width: 100%; }
  .platform-public .platform-actions > .btn {flex: 1 1 180px;}
}

/* Preserve conditional controls when buttons use flex layout. */
.btn[hidden] {display: none !important;}

/* Public homepage feature icons and licensing panel. */
.platform-feature-card { display:flex;flex-direction:column;align-items:flex-start;gap:14px; }
.platform-feature-card h3,.platform-feature-card p { margin:0; }
.platform-feature-icon { display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;border:1px solid var(--line);border-radius:17px;background:var(--paper);color:var(--ink2); }
@media(prefers-color-scheme:dark){.platform-feature-icon{color:var(--amber);}}
.platform-public .platform-licence { position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:48px;padding:44px;border:1px solid var(--ink2);border-top:5px solid var(--amber);border-radius:22px;background:var(--ink);color:#f4efe6;box-shadow:0 18px 45px rgba(20,52,59,.16);overflow:hidden; }
.platform-licence-badge { display:inline-block;margin:0 0 22px;padding:7px 12px;border:1px solid #ffffff38;border-radius:30px;color:var(--amber);font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase; }
.platform-licence h2 { font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.025em;margin-bottom:22px; }
.platform-licence h2 span { color:var(--amber); }
.platform-licence-lead { font-size:1rem;line-height:1.75;max-width:550px;color:#e0e7e4; }
.platform-licence-price { display:flex;flex-direction:column;gap:6px;margin:26px 0 10px; }
.platform-licence-price strong { font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2; }
.platform-licence-price span,.platform-licence-note { font-size:.88rem;color:#d2ddda; }
.platform-licence .platform-actions {margin-top:26px;}
.platform-licence-details { align-self:stretch;border:1px solid #ffffff26;border-radius:16px;padding:28px;background:#ffffff08; }
.platform-licence-details h3 { margin:0 0 22px;font-size:1.5rem; }
.platform-licence-details ul { list-style:none;padding:0;margin:0;display:grid;gap:18px; }
.platform-licence-details li { position:relative;padding-left:28px;margin:0;line-height:1.6;font-size:.92rem; }
.platform-licence-details li::before { content:'✓';position:absolute;left:0;top:0;color:var(--amber);font-weight:700; }
.platform-trial-highlight { display:grid;gap:9px;margin-top:28px;padding-top:24px;border-top:1px solid #ffffff30; }
.platform-trial-highlight strong { color:var(--amber);font-size:1.4rem; }
.platform-trial-highlight span { font-weight:600;font-size:.9rem; }
.platform-trial-highlight small { color:#d2ddda;line-height:1.65; }
@media(max-width:850px){.platform-public .platform-licence{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px;}}
@media(max-width:600px){.platform-public .platform-licence{padding:24px 20px;}.platform-licence-details{padding:22px 18px;}.platform-licence .platform-actions>.btn{width:100%;}.platform-feature-grid{grid-template-columns:minmax(0,1fr);}}

/* Platform admin title panel. */
.platform-admin > .company-heading {
  padding: 28px 30px;
  border-radius: 18px;
  background: var(--ink);
  color: #fffdf8;
  border: 1px solid #3e6b60;
  border-left: 5px solid var(--amber);
  box-shadow: 0 8px 24px rgba(20,52,59,.10);
  margin-bottom: 0;
}
.platform-admin > .company-heading h1 { color: #fffdf8; margin: 0 0 10px; }
.platform-admin > .company-heading .muted { color: #e0eee6; margin: 0; max-width: 680px; }
.platform-admin > .company-heading > .btn {flex-shrink: 0;}
@media(max-width:600px) {
  .platform-admin > .company-heading { padding: 24px 20px; gap: 20px; }
  .platform-admin > .company-heading > .btn {width: 100%;}
}

/* Public sales homepage and trial signup headings. */
.platform-public > .platform-hero {
  max-width: none;
  padding: 48px 40px;
  border-radius: 22px;
  border-top: 5px solid var(--amber);
  background: var(--ink);
  color: #fffdf8;
  box-shadow: 0 12px 32px rgba(20,52,59,.12);
}
.platform-public > .platform-hero h1 { color: #fffdf8; max-width: 850px; }
.platform-public > .platform-hero .employee-eyebrow { color: var(--amber); }
.platform-public > .platform-hero .platform-lead,
.platform-public > .platform-hero .muted { color: #e0eee6; }
.platform-public #trial > .company-heading {
  padding: 24px;
  background: var(--ink);
  color: #fffdf8;
  border-radius: 14px;
  border-left: 5px solid var(--amber);
  margin-bottom: 26px;
}
.platform-public #trial > .company-heading h2 { color: #fffdf8; margin-bottom: 10px; }
.platform-public #trial > .company-heading .muted { color: #e0eee6; margin-bottom: 0; }
@media(max-width:600px) {
  .platform-public > .platform-hero { padding: 32px 22px; }
  .platform-public #trial > .company-heading { padding: 22px 18px; }
}

/* One main brand green across public and platform admin panels. */
.platform-public > .platform-hero,
.platform-public #trial > .company-heading,
.platform-admin > .company-heading,
.platform-public .platform-licence {
  background: var(--ink);
  border-right: 1px solid #3e6b60;
  border-bottom: 1px solid #3e6b60;
}
.platform-licence-details { border-color: #3e6b60; background: transparent; }

/* Stock counts: shared controls, balanced working layouts and clear statuses. */
.sc-page { max-width:1280px; }
.sc-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px; }
.sc-heading h1,.sc-heading h2,.sc-heading h3 { margin:0 0 10px; }
.sc-heading p { margin:0; }
.sc-actions {display:flex;align-items:center;flex-wrap:wrap;}
.sc-panel { padding:28px;margin-bottom:24px; }
.sc-search { display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px; }
.sc-search > label:first-child { flex:2 1 280px; }
.sc-search > label { flex:1 1 180px; }
.sc-page label { display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600;min-width:0; }
.sc-page input:not([type=checkbox]),.sc-page select,.sc-page textarea {width:100%;min-width:0;}
.sc-count-row { display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--line); }
.sc-count-row > div { flex:1;min-width:180px; }
.sc-count-row h3 { margin:0 0 8px;font-size:1.2rem; }
.sc-count-row p { margin:0;font-size:.85rem; }
.sc-pagination { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;margin-top:24px;font-size:.85rem; }
.sc-metrics { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:24px; }
.sc-metrics > div { display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card); }
.sc-metrics span { color:var(--muted);font-size:.8rem; }
.sc-metrics strong { font-size:1.7rem;line-height:1.2; }
.sc-guidance { padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;background:var(--card);font-size:.9rem;margin:20px 0 24px; }
.sc-table-wrap { overflow-x:auto; }
.sc-table { width:100%;border-collapse:collapse; }
.sc-table th,.sc-table td { padding:18px 12px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left; }
.sc-table th { color:var(--muted);font-size:.8rem;white-space:nowrap; }
.sc-table td:not(:first-child) { font-variant-numeric:tabular-nums; }
.sc-table td:first-child { min-width:220px;max-width:350px;overflow-wrap:anywhere; }
.sc-table td small { display:block;font-size:.78rem;margin-top:7px; }
.sc-table .btn {white-space:nowrap;}
.sc-badge { display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:30px;border:1px solid var(--line);font-size:.77rem;font-weight:700;white-space:nowrap;text-transform:none; }
.sc-ok,.sc-completed { background:#dcefe5;color:#205b45;border-color:#b4d5c3; }
.sc-discrepancy,.sc-draft { background:#fff0cd;color:#735100;border-color:#e8d49e; }
.sc-excluded,.sc-cancelled,.sc-pending { background:var(--paper);color:var(--muted); }
.sc-warning,.sc-variance { color:var(--err);font-weight:600; }
.sc-dialog { width:min(780px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);box-shadow:0 24px 80px #0003; }
.sc-dialog::backdrop { background:#14343b99;backdrop-filter:blur(3px); }
.sc-dialog .sc-actions {margin-top:22px;}
.sc-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0;}
.sc-wide { grid-column:1/-1; }
.sc-page .sc-check { flex-direction:row;align-items:center;gap:12px; }
.sc-check input {width:20px;height:20px;flex-shrink:0;accent-color:var(--ink2);}
.sc-condition-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0; }
.sc-condition-grid .muted { font-size:.82rem;font-weight:400; }
.sc-audit { margin-top:26px;border-top:1px solid var(--line);padding-top:20px; }
.sc-audit summary { cursor:pointer;font-weight:600; }
.sc-audit p { font-size:.85rem;padding:10px 0;border-bottom:1px solid var(--line); }
.sc-page [hidden] { display:none!important; }
@media(max-width:950px){.sc-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){.sc-panel{padding:20px 16px;}.sc-dialog{padding:24px 18px;}.sc-condition-grid,.sc-fields{grid-template-columns:minmax(0,1fr);}.sc-condition-grid{gap:18px;}.sc-search>.btn{width:100%;}.sc-actions>.btn{flex:1 1 180px;}.sc-heading>.sc-actions{width:100%;}.sc-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.sc-metrics>div{padding:16px;}.sc-pagination{justify-content:center;}.sc-count-row>.btn{width:100%;}}

.sc-event { padding:14px 0;border-bottom:1px solid var(--line); }.sc-event summary { font-weight:500;font-size:.85rem; }.sc-event p { border:0;padding:0;margin:10px 0;overflow-wrap:anywhere; }

/* Sales-led invoice workflow and read-only document library. */
.invoice-library-guide { padding:20px 22px;margin:0 0 26px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:14px;background:var(--card);line-height:1.7; }
.invoice-library-guide p { margin:10px 0 18px; }
.invoice-library-panel,.invoice-issue-panel { padding:28px; }
.invoice-library-panel .sales-search { gap:18px; }
.invoice-library-panel .sales-search>.invoice-actions {margin:0;}
.invoice-library-caption { font-size:.83rem;padding-bottom:20px;border-bottom:1px solid var(--line); }
.invoice-library-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto) minmax(150px,190px);gap:26px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line); }
.invoice-library-info { min-width:0;overflow-wrap:anywhere; }
.invoice-library-info>strong { font-size:1.06rem; }
.invoice-library-info p { margin:7px 0;font-size:.85rem; }
.invoice-library-info .sales-tags { margin-top:12px; }
.invoice-library-amount { display:flex;flex-direction:column;gap:7px;text-align:right;font-variant-numeric:tabular-nums; }
.invoice-library-amount strong { font-size:1.15rem; }
.invoice-library-amount small { font-size:.8rem; }
.invoice-library-actions {display:flex;flex-direction:column;}
.invoice-library-empty { padding:40px 20px;text-align:center; }
.invoice-issue-panel .invoice-heading { margin-bottom:22px; }
@media(max-width:850px){.invoice-library-row{grid-template-columns:minmax(0,1fr) auto;gap:20px;}.invoice-library-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;}.invoice-library-actions>.btn{flex:1 1 160px;}}
@media(max-width:550px){.invoice-library-panel,.invoice-issue-panel{padding:22px 16px;}.invoice-library-row{grid-template-columns:minmax(0,1fr);}.invoice-library-amount{text-align:left;}.invoice-library-panel .sales-search>.invoice-actions{width:100%;}.invoice-library-guide{padding:18px;}}
@media print{.invoice-library-guide.invoice-no-print{display:none!important;}}

/* Shared navigation: dashboard on the left, page actions on the right. */
.app-page-toolbar { background:var(--card);border-bottom:1px solid var(--line); }
.app-page-toolbar-inner { width:100%;max-width:1280px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px 24px; }
.app-dashboard-link { flex-shrink:0;white-space:nowrap;color:var(--text);border-color:var(--line); }
.app-dashboard-link svg { flex-shrink:0; }
.app-page-actions { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;min-width:0; }
.app-page-actions > :is(.products-actions,.employee-actions,.booking-toolbar,.po-actions,.sc-actions,.invoice-actions,.company-actions,.sales-actions) { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin:0!important; }
.app-page-actions [hidden] { display:none!important; }
@media screen {
 .app-page-toolbar ~ main.wrap { max-width:1280px;padding-left:24px;padding-right:24px; }
}
@media(max-width:800px) {
 .app-page-toolbar-inner { flex-wrap:wrap;align-items:flex-start;gap:16px;padding:16px 20px; }
 .app-page-actions { width:100%;justify-content:flex-start; }
 .app-page-actions > :is(.products-actions,.employee-actions,.booking-toolbar,.po-actions,.sc-actions,.invoice-actions,.company-actions,.sales-actions) { width:100%;justify-content:flex-start; }
 .app-page-actions .btn {flex:1 1 160px;}
}
@media screen and (max-width:600px) {
 .app-page-toolbar ~ main.wrap { padding-left:20px;padding-right:20px; }
}
@media print {
 .app-page-toolbar,.fin-report .top { display:none!important; }
}

/* Modern calendar skin: preserve custom appointment colours and calendar behavior. */
.booking-layout { grid-template-columns:260px minmax(0,1fr);gap:24px; }
.booking-sidebar { padding:22px 18px;position:static;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 18px rgba(20,52,59,.035); }
.booking-sidebar-heading { margin:0 8px 20px; }
.booking-sidebar-heading .employee-eyebrow { display:block;margin:0 0 8px;font-size:.68rem;letter-spacing:.12em; }
.booking-sidebar-heading h2 { font:650 1.15rem/1.3 "Segoe UI",system-ui,sans-serif;margin:0; }
.booking-sidebar .booking-person { min-height:52px;padding:10px 12px;margin:4px 0;border-radius:12px;gap:11px; }
.booking-sidebar .booking-person > span:last-child { min-width:0;overflow-wrap:anywhere;line-height:1.4; }
.booking-sidebar .booking-person.is-selected { background:var(--ink);border-color:var(--ink);color:#fffdf8;box-shadow:0 3px 9px rgba(20,52,59,.1); }
.booking-sidebar .booking-avatar { width:32px;height:32px;flex-basis:32px;border-radius:10px;font-size:.7rem;background:var(--paper);color:var(--text); }
.booking-sidebar .booking-person.is-selected .booking-avatar { background:var(--amber);color:var(--ink); }
.booking-sidebar-section { border:0;border-top:1px solid var(--line);margin:20px 0 0;padding:18px 0 0; }
.booking-sidebar-section > summary { display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font:650 .84rem/1.45 "Segoe UI",system-ui,sans-serif;color:var(--text);padding:3px 2px; }
.booking-sidebar-section > summary::-webkit-details-marker { display:none; }
.booking-disclosure { margin-left:auto;font-size:1.1rem;color:var(--muted);transition:transform .15s ease; }
.booking-sidebar-section[open] > summary .booking-disclosure { transform:rotate(180deg); }
.booking-inbox-count { display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:20px;background:var(--amber);color:var(--ink);font-size:.73rem;font-weight:700; }
.booking-sidebar #staffSearch { margin:16px 0 12px;gap:8px; }
.booking-sidebar #staffQuery { font-size:.85rem;min-width:0;flex:1; }
.booking-sidebar #staffSearch .btn {place-items:center;flex:0 0 46px;}
.booking-sidebar #staffCalendars { max-height:320px;overflow:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin; }
.booking-sidebar .booking-staff-pages { max-width:none;margin:14px 0 0;gap:8px;font-size:.7rem; }
.booking-sidebar .booking-staff-pages .btn {flex:0 1 auto;}
.booking-sidebar .booking-sidebar-hint { display:flex;align-items:flex-start;gap:9px;margin:22px 4px 2px;padding-top:18px;border-top:1px solid var(--line);font-size:.74rem;line-height:1.6; }
.booking-sidebar-hint svg { flex-shrink:0;margin-top:3px; }
.booking-inbox-hint { margin:16px 0;font-size:.78rem;color:var(--muted);line-height:1.6; }
.booking-sidebar .meeting-inbox-item { margin:10px 0;padding:12px;gap:6px;background:var(--paper);border-color:var(--line);color:var(--text);border-radius:12px; }
.booking-sidebar .meeting-inbox-item strong { font-size:.83rem;line-height:1.45;overflow-wrap:anywhere; }
.booking-sidebar .meeting-inbox-item .muted { font-size:.73rem; }
.booking-sidebar .meeting-status { font-size:.68rem;padding:4px 8px; }
.booking-calendar-card { padding:26px;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(20,52,59,.045); }
.booking-calendar-heading { margin-bottom:18px;align-items:center; }
.booking-calendar-heading h2 { font:650 1.3rem/1.3 "Segoe UI",system-ui,sans-serif;letter-spacing:-.02em; }
.booking-calendar-heading p { font-size:.8rem; }
.booking-timezone { border:0;background:var(--paper);font-size:.7rem;padding:7px 11px; }
.booking-colour-key { margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:18px; }
.booking-colour-key > summary,.booking-shortcuts > summary { cursor:pointer;color:var(--muted);font:600 .77rem/1.5 "Segoe UI",system-ui,sans-serif; }
.booking-colour-key .booking-legend { margin:16px 0 0;gap:8px; }
.booking-legend-item { padding:5px 10px;border:1px solid var(--line);border-radius:24px;font-size:.72rem; }
.booking-colour-dot { width:9px;height:9px;flex-basis:9px; }
.booking-shortcuts { margin-top:20px; }
.booking-shortcuts .booking-help { margin:12px 0 0; }
#bookingCalendar { --fc-today-bg-color:rgba(242,177,52,.07);--fc-now-indicator-color:var(--amber);--fc-button-bg-color:var(--card);--fc-button-text-color:var(--text);--fc-button-border-color:var(--line);--fc-button-hover-bg-color:var(--paper);--fc-button-hover-border-color:var(--muted);--fc-button-active-bg-color:var(--ink);--fc-button-active-border-color:var(--ink);font-family:"Segoe UI",system-ui,sans-serif; }
#bookingCalendar .fc-header-toolbar { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:22px; }
#bookingCalendar .fc-toolbar-chunk:nth-child(2) { order:initial;width:auto;text-align:center; }
#bookingCalendar .fc-toolbar-title { font:650 1.12rem/1.3 "Segoe UI",system-ui,sans-serif;letter-spacing:-.02em; }
#bookingCalendar .fc-button { min-height:38px;padding:8px 11px;border-radius:9px;font-size:.73rem;font-weight:600;transition:background .15s ease; }
#bookingCalendar .fc-button-group { gap:4px;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:12px; }
#bookingCalendar .fc-button-group > .fc-button { margin:0;border-color:transparent;border-radius:8px; }
#bookingCalendar .fc-button-primary:not(:disabled).fc-button-active { color:#fffdf8;background:var(--ink);border-color:var(--ink);box-shadow:0 2px 5px rgba(20,52,59,.12); }
#bookingCalendar .fc-button:disabled { opacity:.45; }
#bookingCalendar .fc-col-header-cell { background:var(--paper); }
#bookingCalendar .fc-col-header-cell-cushion { padding:14px 4px;font-size:.67rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700; }
#bookingCalendar .fc-scrollgrid { border-radius:14px; }
#bookingCalendar .fc-daygrid-day-top { padding:5px; }
#bookingCalendar .fc-daygrid-day-number { display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%;font-size:.78rem;font-weight:600; }
#bookingCalendar .fc-day-today .fc-daygrid-day-number { background:var(--amber);color:var(--ink); }
#bookingCalendar .fc-daygrid-day-events { margin:2px 5px 9px; }
#bookingCalendar .fc-daygrid-event { margin:4px 0;padding:5px 7px;min-height:26px; }
#bookingCalendar .fc-event { border-radius:8px;border-width:0;box-shadow:0 2px 4px rgba(20,52,59,.08);font-size:.72rem; }
#bookingCalendar .fc-event-title { font-weight:600; }
#bookingCalendar .fc-event-time { font-weight:650; }
#bookingCalendar .fc-timegrid-event { padding:4px 6px; }
#bookingCalendar .fc-timegrid-slot { height:32px; }
#bookingCalendar .fc-timegrid-slot-label-cushion { font-size:.7rem; }
#bookingCalendar .fc-daygrid-more-link { font-size:.7rem;font-weight:650;color:var(--muted);padding:4px 6px; }
#bookingCalendar .fc-list-day-cushion { background:var(--paper);font-size:.8rem; }
#bookingCalendar .fc-list-event td { padding:14px 12px; }
#bookingCalendar .fc-popover { border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 36px rgba(20,52,59,.15);background:var(--card); }
#bookingCalendar .fc-popover-header { padding:12px;background:var(--paper); }
@media(max-width:1100px){#bookingCalendar .fc-header-toolbar{grid-template-columns:1fr auto;}#bookingCalendar .fc-toolbar-chunk:nth-child(2){grid-column:1/-1;grid-row:1;text-align:left;}#bookingCalendar .fc-toolbar-chunk:nth-child(3){text-align:right;}}
@media(max-width:850px){.booking-layout{grid-template-columns:minmax(0,1fr);}.booking-sidebar{padding:22px;}.booking-sidebar #staffCalendars{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px;max-height:220px;}.booking-sidebar .booking-person{max-width:none;}.booking-calendar-card{padding:22px;}}
@media(max-width:600px){.booking-calendar-card{padding:20px 12px;}.booking-sidebar{padding:20px 16px;}.booking-calendar-heading{gap:12px;}#bookingCalendar .fc-header-toolbar{gap:12px;grid-template-columns:minmax(0,1fr);}#bookingCalendar .fc-toolbar-chunk:nth-child(2){grid-row:1;grid-column:1;}#bookingCalendar .fc-toolbar-chunk:nth-child(3){text-align:left;}#bookingCalendar .fc-button{padding:8px 10px;}#bookingCalendar .fc-col-header-cell-cushion{font-size:.61rem;}#bookingCalendar .fc-daygrid-event{padding:4px;font-size:.65rem;}.booking-timezone{max-width:100%;overflow-wrap:anywhere;}}
@media(prefers-reduced-motion:reduce){.booking-disclosure,#bookingCalendar .fc-button{transition:none;}}

/* Account/security UI uses the same brand palette and shared controls. */
.account-page { max-width:1280px; }.account-heading{margin-bottom:28px;}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}.account-panel{padding:28px;margin-bottom:24px;min-width:0;}.account-panel h2{font:650 1.2rem/1.4 "Segoe UI",system-ui,sans-serif;margin-bottom:18px;}.account-panel p{font-size:.9rem;line-height:1.7;}.account-panel form,.account-auth-card form{display:grid;gap:20px;}.account-page label,.account-auth-card label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600;}.account-page input,.account-auth-card input{width:100%;min-width:0;}.account-actions{display:flex;align-items:center;flex-wrap:wrap;margin-top:12px;}.account-panel form>.btn{justify-self:start;}.account-value{font-weight:650;overflow-wrap:anywhere;}.account-heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}.account-session{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:20px 0;}.account-session>div{min-width:0;overflow-wrap:anywhere;}.account-session p{margin:8px 0 0;font-size:.8rem;}.account-session>.btn{flex-shrink:0;}.account-event{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);font-size:.82rem;}.account-event strong{text-transform:capitalize;}.account-dialog{width:min(540px,calc(100% - 28px));max-height:90dvh;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);}.account-dialog::backdrop{background:#14343b99;backdrop-filter:blur(3px);}#accountEnrollment{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);}#accountQr{display:block;margin:0 auto 22px;max-width:100%;height:auto;background:#fff;border:10px solid #fff;border-radius:12px;}#accountManualKey{font-family:monospace;font-size:.86rem;}.account-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;}.account-codes code{display:block;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere;font-size:.88rem;}.account-auth-body{min-height:100vh;display:grid;place-items:center;padding:30px 18px;}.account-auth-card{width:min(100%,520px);padding:36px;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--amber);border-radius:20px;box-shadow:0 15px 45px #14343b12;}.account-auth-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;margin-bottom:30px;}.account-auth-card h1{font-size:2rem;}.account-auth-card>p{margin:18px 0 24px;}.account-auth-back{font-size:.85rem;}.account-auth-card form>.btn{width:100%;}.account-page [hidden],.account-auth-card [hidden],#mfaLoginForm[hidden],#loginCredentials[hidden],#loginPasswordButton[hidden]{display:none!important;}
@media(max-width:700px){.account-grid{grid-template-columns:minmax(0,1fr);gap:0;}.account-panel{padding:24px 20px;}.account-codes{grid-template-columns:minmax(0,1fr);}.account-session{align-items:flex-start;flex-direction:column;}.account-session>.btn{width:100%;}.account-actions>.btn{flex:1 1 180px;}.account-auth-card{padding:28px 22px;}}

/* Supplier directory and purchase order selection */
.supplier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;margin:24px 0}.supplier-card h2{font-size:1.15rem;margin:0 0 14px}.supplier-address{white-space:pre-line;line-height:1.6}.supplier-contact{width:fit-content;overflow-wrap:anywhere;}.supplier-fields{border:0;padding:0;min-width:0;}.supplier-footer,.supplier-pagination{margin-top:24px}.supplier-picker{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:18px;margin-bottom:20px;border:1px solid var(--border,#dce5e0);border-radius:14px;background:#f5f9f6}.supplier-picker label{flex:1 1 260px}.supplier-picker>p,.supplier-picker>div{flex-basis:100%;margin:0}.supplier-picker:has(#poSupplierResults:empty)>#poSupplierResults{display:none}

/* Personal notification centre */
.notification-bell{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;min-height:44px;border:1px solid var(--border,#dce5e0);border-radius:12px;color:inherit;text-decoration:none;font-weight:600;white-space:nowrap}.notification-bell:hover{background:rgba(255,255,255,.12)}.notification-badge{min-width:23px;padding:3px 6px;border-radius:20px;background:#a33131;color:#fff;font-size:.75rem;line-height:1.2;text-align:center}.notification-badge[hidden]{display:none}.notification-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.notification-summary{padding:10px 16px;border-radius:30px;background:#e8f3ed;color:#164b35;font-weight:700;white-space:nowrap}.notification-list{display:grid;gap:16px;margin:24px 0}.notification-card{padding:24px;border:1px solid #dce5e0;border-radius:16px;background:#fff;box-shadow:0 3px 14px #163e2910}.notification-card.is-unread{border-left:5px solid #176347;background:#fcfffd}.notification-card.is-dismissed{background:#f6f8f7}.notification-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.notification-category{font-size:.8rem;font-weight:700;letter-spacing:.02em;color:#34644e}.notification-status{font-size:.78rem;border:1px solid #dce5e0;border-radius:20px;padding:4px 10px;color:#58675f}.is-unread .notification-status{background:#e7f3eb;color:#185338}.notification-card h2{font-size:1.12rem;margin:14px 0 10px;overflow-wrap:anywhere}.notification-card p{line-height:1.65;overflow-wrap:anywhere;margin:0}.notification-actions{margin-top:20px;}.notification-pagination{margin:24px 0}.notification-footnote{font-size:.88rem;line-height:1.7;max-width:900px}.notification-options{display:grid;gap:12px;margin:20px 0 26px}.notification-option{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid #dce5e0;border-radius:12px;cursor:pointer}.notification-option input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:3px;accent-color:#176347}.notification-option strong,.notification-option small{display:block}.notification-option small{line-height:1.5;color:#63726a;font-weight:400;margin-top:5px}.notification-empty{padding:48px 24px;text-align:center;border:1px dashed #c6d9ce;border-radius:16px;background:#f6faf7}.notification-empty h2{font-size:1.2rem}.notification-bell:focus-visible{outline:3px solid #76b791;outline-offset:3px}@media(max-width:640px){.notification-heading{align-items:flex-start;flex-direction:column}.notification-card{padding:18px}.notification-card-heading{align-items:flex-start}.notification-actions .btn{flex:1 1 auto;}.notification-bell{justify-content:flex-start}}@media print{.notification-bell{display:none}}

/* Keep the notification bell visible when the account menu is collapsed. */
.top{gap:16px}.top>.notification-bell{margin-left:auto}.tb-menu .who{max-width:14rem;overflow:hidden;text-overflow:ellipsis}.notification-bell svg{flex-shrink:0}@media(max-width:1100px){.top{flex-wrap:wrap}.tb-toggle{display:block}.tb-menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:12px;padding:14px 0 6px;margin-top:10px;border-top:1px solid rgba(255,255,255,.2)}.tb-menu.open{display:flex}.tb-clock{align-items:flex-start;padding:0;border:0}.tb-label{display:inline}.tb-menu .btn{width:100%;}.notification-bell>span:not(.notification-badge){display:none}.notification-bell{padding:10px}.tb-menu .who{max-width:none}}

/* Quotes and estimates — shared proposal styling. */
.quote-list{display:grid;gap:16px;margin:24px 0}.quote-list-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px}.quote-list-card h2{font-size:1.2rem;margin:8px 0}.quote-list-card p{margin:8px 0}.quote-list-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:16px}.quote-status{font-size:.8rem;text-transform:capitalize;border:1px solid #c7dacd;border-radius:20px;padding:6px 12px;color:#20563d;background:#f0f7f2}.quote-pagination,.quote-footer{margin-top:24px}.quote-editor{width:min(1100px,calc(100vw - 32px));max-width:1100px}.quote-builder-section{padding:20px 0;border-block-start:1px solid #dce5e0;margin-top:24px}.quote-selection{padding:16px;border-radius:12px;background:#f1f7f3;overflow-wrap:anywhere}.quote-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;padding:18px;border:1px solid #dce5e0;border-radius:14px;margin:16px 0}.quote-line-title{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.quote-lookup-result{display:block;width:100%;margin:12px 0;text-align:left;white-space:normal;padding:16px!important}.quote-detail-lines{padding:16px;border-radius:12px;background:#f4f8f5;margin-top:20px}.quote-history{font-size:.88rem;color:#52665a;line-height:1.7}.quote-history p{padding:12px 0;border-bottom:1px solid #e3ebe5}.quote-document{color:#163829;font-size:10pt}.quote-document-items{border-collapse:collapse}.quote-document-items td{border-bottom:1px solid #dce5e0}@media(max-width:640px){.quote-list-card{align-items:flex-start;flex-direction:column}.quote-list-side{justify-content:flex-start}.quote-line{grid-template-columns:1fr 1fr}.quote-line-title{grid-column:1/-1}.quote-line label:has([data-field=line_note]){grid-column:1/-1}.quote-footer .btn{flex:1 1 auto;}}

.quote-line label:has([data-field=line_note]){grid-column:1/-1}

/* Guided company onboarding */
.onboarding-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start;margin:28px 0}.onboarding-sidebar{padding:22px;position:sticky;top:105px}.onboarding-sidebar progress{width:100%;height:8px;accent-color:#176347;margin:8px 0 22px}.onboarding-sidebar nav{display:grid;gap:8px}.onboarding-step{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:#496353;text-align:left;cursor:pointer;font:inherit}.onboarding-step-number{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #bfd4c5;border-radius:50%;font-size:.8rem;font-weight:700}.onboarding-step.is-current{background:#15563e;color:#fff;border-color:#15563e;font-weight:600}.onboarding-step.is-current .onboarding-step-number{border-color:#80b799;background:#246b4d}.onboarding-step:hover:not(:disabled){border-color:#8ab79b}.onboarding-sidebar>p:last-child{font-size:.82rem;line-height:1.6;margin-top:24px}.onboarding-panel{padding:30px;min-width:0}.onboarding-step-heading{margin-bottom:26px}.onboarding-step-heading h2{font-size:1.55rem;margin:10px 0}.onboarding-check{display:flex!important;align-items:flex-start;gap:12px;grid-column:1/-1;padding:14px;border:1px solid #d9e6dd;border-radius:12px;background:#f7faf8}.onboarding-check input[type=checkbox]{width:20px;min-height:20px;height:20px;flex:0 0 20px;accent-color:#176347;margin-top:2px}.onboarding-check small{flex-basis:100%}.onboarding-panel label small{font-weight:400;line-height:1.5;margin-top:5px}.onboarding-extra{margin:24px 0}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #dce7df;padding-top:24px;margin-top:30px}.onboarding-secondary{border-top:1px solid #e0e9e3;padding-top:20px;margin-top:24px}.onboarding-warning{padding:18px 22px;border:1px solid #d8bd75;border-radius:14px;background:#fff9e9;color:#675122;line-height:1.7}.onboarding-main-address{padding:18px;border:1px solid #ccded2;border-radius:14px;background:#f1f8f3;margin-bottom:24px}.onboarding-main-address p{white-space:pre-line;line-height:1.6}.onboarding-logo-preview{display:block;max-width:240px;max-height:100px;object-fit:contain;object-position:left;margin:16px 0}.onboarding-checklist-card{padding:20px;border:1px solid #dce7df;border-radius:14px;margin:16px 0}.onboarding-checklist-card h3{margin-top:0}.onboarding-review-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid #e0e9e3;line-height:1.6;overflow-wrap:anywhere}.onboarding-complete-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e3f3e8;color:#15563e;font-size:1.7rem;margin-bottom:20px}.onboarding-prompt{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:5px solid #176347;margin:24px 0;padding:24px;flex-wrap:wrap}.onboarding-prompt h2{font-size:1.25rem;margin:8px 0}.onboarding-prompt .msg{flex-basis:100%}@media(max-width:900px){.onboarding-layout{grid-template-columns:1fr}.onboarding-sidebar{position:static}.onboarding-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-sidebar>p:last-child{display:none}}@media(max-width:600px){.onboarding-panel{padding:20px}.onboarding-step{font-size:.85rem;padding:8px;gap:8px}.onboarding-review-row{grid-template-columns:1fr;gap:5px}.onboarding-footer{align-items:stretch;flex-direction:column}.onboarding-footer>.btn{width:100%;}.onboarding-footer .po-actions .btn{flex:1 1 auto;}.onboarding-prompt .po-actions{width:100%;}.onboarding-prompt .btn{flex:1 1 auto;}}

/* Platform operator console · scoped to admin login and dashboard only. */
.platform-console{--pa-brand:var(--ink);--pa-soft:#e9f1ed;--pa-border:#dce5e1;--pa-muted:#667873;--pa-surface:#fff;--pa-bg:#f3f6f4;--pa-text:#18332d;background:var(--pa-bg);color:var(--pa-text);color-scheme:light;--card:var(--pa-surface);--line:var(--pa-border);--muted:var(--pa-muted);--text:var(--pa-text);font-size:15px}
.platform-console h1,.platform-console h2,.platform-console h3{font-family:inherit;letter-spacing:-.035em;font-weight:700}
.platform-console h2{font-size:1.45rem}.platform-console h3{font-size:1.05rem}
.platform-console input:not([type=checkbox]):not([type=radio]),.platform-console select,.platform-console textarea{width:100%;min-width:0;}
.platform-console textarea{resize:vertical;}
.platform-console label{font-size:.85rem;font-weight:650;color:var(--pa-text)}
.platform-console :focus-visible{outline:3px solid #b98923;outline-offset:3px}
.platform-console .msg:empty{display:none}.platform-console .msg{margin:0;padding:13px 16px;border-radius:11px;overflow-wrap:anywhere}
.platform-console .msg.err{background:#fff0ee;color:#942b24;border:1px solid #f2c7c2}.platform-console .msg.ok{background:#edf7f0;color:#245f40;border:1px solid #cce1d3}
.platform-console .platform-brand{color:inherit;gap:12px;text-decoration:none;font-size:1.35rem;line-height:1.15;letter-spacing:-.04em}
.platform-console .platform-brand small{display:block;font-size:.65rem;font-weight:500;letter-spacing:.04em;margin-top:5px;color:var(--pa-muted)}
.pa-monogram{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--pa-brand);color:#fff;font-weight:750;font-size:1.5rem;border:1px solid #ffffff30;flex-shrink:0}
.platform-console .platform-nav{max-width:1360px;padding:24px 32px;gap:20px}.pa-operator{font-size:.8rem;color:var(--pa-muted);overflow-wrap:anywhere}
.platform-console .platform-admin{max-width:1360px;gap:24px;padding:0 32px 56px}
.platform-console .platform-admin>.company-heading{margin:0;padding:34px 36px;background:var(--pa-brand);color:#fff;border:1px solid #3e6b60;border-radius:20px;box-shadow:0 10px 30px #14343b10;display:flex;align-items:center;justify-content:space-between;gap:24px}
.platform-console .company-heading h1{font-size:clamp(1.9rem,3.5vw,2.7rem);margin-bottom:10px}.platform-console .company-heading .muted{font-size:.95rem;max-width:620px;color:#d7e6e0}
.pa-eyebrow{font-size:.66rem!important;text-transform:uppercase;letter-spacing:.15em;font-weight:750;margin:0 0 9px!important;color:var(--pa-muted)}
.platform-console .company-heading .pa-eyebrow,.pa-login-story .pa-eyebrow{color:#b8d7c9}
.pa-section-nav{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--pa-border);padding-bottom:16px}
.pa-section-nav a{padding:8px 13px;border-radius:9px;text-decoration:none;font-size:.85rem;font-weight:600;color:var(--pa-muted)}
.pa-section-nav a:hover{background:#e4ece7;color:var(--pa-brand)}
.platform-console .pa-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}
.platform-console .platform-admin .card{border:1px solid var(--pa-border);border-radius:17px;padding:27px;background:var(--pa-surface);box-shadow:0 3px 10px #163b2e03;min-width:0}
.platform-console .pa-metrics .card{padding:22px 24px;border-top:3px solid #93b5a4;display:flex;align-items:flex-start;flex-direction:column;gap:8px}
.platform-console .pa-metrics p{font-size:.8rem;font-weight:600}.platform-console .pa-metrics strong{font-size:2.25rem;line-height:1.2;letter-spacing:-.06em;color:var(--pa-brand)}
.platform-console .pa-metrics small{font-size:.73rem}.pa-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.pa-section-heading h2{margin:0}
.platform-console .pa-help{font-size:.82rem;margin:12px 0 18px;line-height:1.6;color:var(--pa-muted)}
.pa-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border:1px solid #d4e1da;border-radius:7px;font-size:.7rem;line-height:1.4;font-weight:650;background:#eff4f1;color:#36554a;white-space:nowrap}
.pa-state-paid,.pa-state-ready{background:#eaf5ee;color:#24643f;border-color:#cde5d5}.pa-state-trial{background:#edf2fa;color:#355582;border-color:#d4dff0}
.pa-state-error,.pa-state-expired,.pa-state-suspended,.pa-state-customer_limit,.pa-state-usage_unavailable{background:#fff0ec;color:#984232;border-color:#f1d3c8}
.pa-state-pending,.pa-state-queued,.pa-state-provisioning{background:#fff7e7;color:#886324;border-color:#eeddb8}
.pa-attention-list{display:grid;gap:0}.pa-attention-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid #e8eeea}
.pa-attention-row strong{font-size:.9rem}.platform-console .pa-attention-row p{font-size:.8rem;margin-top:4px}.pa-attention-row .btn{flex-shrink:0;}
.platform-console .pa-search{align-items:flex-end;margin:0 0 20px;gap:12px}.platform-console .pa-search>label{flex:1 1 300px}.platform-console .pa-search>.btn{flex:0 0 auto;}
.pa-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;padding:18px;background:#f6f9f7;border:1px solid #e2eae5;border-radius:12px;margin-bottom:20px}
.pa-filters>label{flex:0 1 230px;min-width:180px}.pa-filters>span{margin-left:auto;align-self:center;font-size:.75rem}
.platform-console .customer-table-wrap{border:1px solid var(--pa-border);border-radius:12px;overflow-x:auto;margin:0 0 16px}
.platform-console .customer-table{width:100%;border-collapse:collapse;font-size:.83rem;min-width:790px}
.platform-console .customer-table th{background:#f5f8f6;color:#65776f;padding:14px 16px;font-size:.67rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid var(--pa-border)}
.platform-console .customer-table td{padding:19px 16px;border-bottom:1px solid #e8eeea;vertical-align:middle;overflow-wrap:anywhere}
.platform-console .customer-table tbody tr:last-child td{border-bottom:0}.platform-console .customer-table tbody tr:hover{background:#fafcfb}
.platform-console .customer-table p{margin:5px 0 0;font-size:.75rem}.pa-cell-badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.pa-cell-note{display:block;color:var(--pa-muted);font-size:.73rem;margin-top:7px}
.platform-console .pa-empty{text-align:center;padding:28px 18px;color:var(--pa-muted);font-size:.85rem}
.platform-console #paCompanies>p,.platform-console #paPayments>p{font-size:.78rem;line-height:1.65}
.platform-console details>summary{cursor:pointer;font-weight:650;padding:3px 0}.pa-audit-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--pa-border);font-size:.82rem}.pa-audit-row small{white-space:nowrap;font-size:.72rem}
.platform-console .platform-fields{margin:22px 0;grid-template-columns:repeat(2,minmax(0,1fr));}.platform-console .platform-fields>label{display:flex;min-width:0;}
.platform-console section[id],.platform-console details[id]{scroll-margin-top:24px}
.platform-console .platform-dialog{width:min(920px,calc(100vw - 32px));max-height:90vh;border:1px solid var(--pa-border);border-radius:20px;padding:34px;color:var(--pa-text);background:var(--pa-surface);box-shadow:0 32px 100px #102b2860}
.platform-console .platform-dialog::backdrop{background:#102b2866;backdrop-filter:blur(3px)}
.platform-console .platform-dialog>h2{padding-right:40px;margin-bottom:20px}.platform-console .platform-dialog .close{position:absolute;top:18px;right:18px;width:38px;height:38px;display:grid;place-items:center;background:#eff4f1;color:var(--pa-brand);border:1px solid var(--pa-border);border-radius:10px;font-size:1.5rem;cursor:pointer}
.platform-console #platformCompanyInfo{display:grid;gap:12px;font-size:.87rem}.platform-console #platformCompanyInfo p{margin:0}.platform-console #platformCompanyInfo>.btn{justify-self:start;}.platform-console #platformCompanyMessage:not(:empty){margin-top:20px}
.platform-console #platformNotesForm{display:grid;gap:18px}.platform-console #platformNotesForm>.btn{justify-self:start;}
.platform-console .pa-login-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;margin:0}
.pa-login-story{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:48px clamp(28px,5vw,84px);background:var(--pa-brand);color:#fff;position:relative;overflow:hidden}
.pa-login-story::after{content:'';position:absolute;width:460px;height:460px;border:1px solid #ffffff0d;border-radius:50%;right:-300px;top:20%;pointer-events:none;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02}
.platform-console .pa-login-story .platform-brand small{color:#bdd3cb}.pa-login-story .pa-monogram{background:#ffffff0c}.pa-login-intro{max-width:490px;position:relative;z-index:1}
.platform-console .pa-login-intro h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.055em;margin:16px 0 23px}.pa-login-intro>p:not(.pa-eyebrow){color:#c7dcd3;font-size:.98rem;line-height:1.8;max-width:380px}
.pa-login-capabilities{display:grid;gap:24px;margin-top:40px}.pa-login-capabilities>div{display:flex;gap:17px;align-items:flex-start}.pa-login-capabilities>div>span{border:1px solid #8cae9c55;border-radius:10px;min-width:38px;height:38px;display:grid;place-items:center;color:#b8d7c9;font-size:.7rem}.pa-login-capabilities p{margin:0;color:#bcd2c8;font-size:.8rem}.pa-login-capabilities strong{display:block;color:#fff;font-size:.88rem;margin:0 0 3px}
.pa-login-foot{color:#a8c2b7;font-size:.75rem;margin:0}.pa-login-panel{display:flex;align-items:center;justify-content:center;padding:50px clamp(24px,5vw,76px);background:#fff}
.pa-login-form{width:100%;max-width:400px}.pa-login-form>h2{font-size:2.2rem;margin:21px 0 10px}.pa-login-form>.muted{font-size:.9rem;margin:0 0 28px}
.platform-console #platformAdminLogin{display:grid;gap:10px}.platform-console #platformAdminLogin>label{margin-top:12px;gap:9px}.platform-console #platformAdminLogin>label:first-child{margin-top:0}
.pa-password-field{position:relative}.pa-password-toggle{position:absolute;right:7px;top:7px;bottom:7px;padding:0 10px;border:0;border-radius:7px;background:#edf3ef;color:var(--pa-brand);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer}
.platform-console #platformAdminLogin input[name=code]{letter-spacing:.28em;max-width:100%;}.platform-console #paCodeHelp{font-size:.75rem;margin-bottom:10px}.platform-console .pa-login-submit{width:100%;justify-content:space-between;margin-top:14px;min-height:50px}
.pa-login-form .msg:not(:empty){margin-bottom:20px}.pa-login-note{margin-top:30px;padding:20px 0 0;border-top:1px solid var(--pa-border);font-size:.78rem}.pa-login-note strong{font-size:.8rem}.pa-login-note p{margin:7px 0 0;line-height:1.7}
@media(min-width:1600px){.pa-login-story{padding-top:64px;padding-bottom:64px}.pa-login-form{max-width:430px}}
@media(max-width:1000px){.platform-console .platform-admin{padding:0 22px 40px}.platform-console .platform-nav{padding:20px 22px}.platform-console .pa-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-login-story{padding:35px}.platform-console .pa-login-intro h1{font-size:2.4rem}.pa-filters>span{margin-left:0}}
@media(max-width:700px){.platform-console .pa-login-shell{grid-template-columns:1fr}.pa-login-story{padding:28px;gap:28px}.pa-login-capabilities,.pa-login-foot{display:none}.platform-console .pa-login-intro h1{font-size:2rem;margin:0 0 14px}.pa-login-intro>p:not(.pa-eyebrow){margin:0}.pa-login-panel{padding:32px 24px 44px}.platform-console .platform-nav{align-items:center}.pa-operator{display:none}.platform-console .platform-nav .platform-actions{width:auto;}.platform-console .platform-admin>.company-heading{padding:26px;align-items:flex-start;flex-direction:column}.platform-console .platform-admin>.company-heading>.btn{width:auto;}.platform-console .platform-admin .card{padding:22px}.platform-console .platform-fields{grid-template-columns:1fr;}.pa-section-heading{align-items:flex-start;flex-wrap:wrap}.pa-filters>label{flex:1 1 180px}.platform-console .pa-search>label{flex-basis:100%;width:100%}.platform-console .pa-search>.btn{width:auto;flex:1;}.platform-console .platform-dialog{padding:24px}.pa-audit-row{flex-direction:column;gap:4px}.pa-attention-row{gap:12px}.pa-section-nav{gap:2px}.pa-section-nav a{padding:8px 10px}}
@media(max-width:400px){.platform-console .platform-admin{padding-left:14px;padding-right:14px}.platform-console .pa-metrics{gap:10px}.platform-console .pa-metrics .card{padding:16px}.platform-console .pa-metrics p{font-size:.72rem}.platform-console .pa-metrics strong{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){.platform-console{scroll-behavior:auto}}

/* BizCore company workspace: the shared platform design, applied to screen UI. */
@media screen {
 .bc-app,.bc-auth-page,.bc-account-auth{--bc-brand:#14343b;--bc-soft:#e9f1ed;--bc-border:#dce5e1;--bc-muted:#667873;--bc-surface:#fff;--bc-bg:#f3f6f4;--bc-text:#18332d;--ink:#14343b;--ink2:#1f4a53;--paper:#f3f6f4;--card:#fff;--line:#dce5e1;--text:#18332d;--muted:#667873;background:var(--bc-bg);color:var(--bc-text);font:15px/1.65 "Segoe UI",system-ui,sans-serif;color-scheme:light}
 .bc-app h1,.bc-app h2,.bc-app h3,.bc-auth-page h1,.bc-auth-page h2,.bc-account-auth h1{font-family:inherit;font-weight:700;letter-spacing:-.035em}
 .bc-app h1{font-size:clamp(1.85rem,3vw,2.6rem)}.bc-app h2{font-size:1.35rem}.bc-app h3{font-size:1.05rem}
 .bc-app :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not([type=range]),.bc-auth-page input:not([type=hidden]),.bc-account-auth input:not([type=hidden]){width:100%;min-width:0;}
 .bc-app textarea{resize:vertical;}
 .bc-app :focus-visible,.bc-auth-page :focus-visible,.bc-account-auth :focus-visible{outline:3px solid #b98923;outline-offset:3px}
 .bc-app input:is([type=checkbox],[type=radio]){accent-color:var(--bc-brand);flex-shrink:0}
 .bc-app :is(.field>label,.platform-fields>label,.sales-fields>label,.po-fields>label,.fin-fields>label,.employee-fields>label,.products-fields>label,.onboarding-fields>label),.bc-auth-page label{font-size:.83rem;font-weight:650;color:var(--bc-text)}
 .bc-app label{line-height:1.5}.bc-app .field{margin-bottom:20px}.bc-app .row2{column-gap:24px;row-gap:0}
 .bc-app :is(.employee-fields,.products-fields,.sales-fields,.fin-fields,.po-fields,.company-fields,.account-grid){gap:22px}
 .bc-app :is(.employee-actions,.customer-actions,.customer-row-actions,.products-actions,.po-actions,.sales-actions,.account-actions,.notification-actions,.booking-toolbar,.meeting-actions){gap:12px;align-items:center}
 .bc-app :is(.employee-actions,.customer-actions,.products-actions,.po-actions,.sales-actions,.account-actions)>[hidden],.bc-app [hidden],.bc-auth-page [hidden],.bc-account-auth [hidden]{display:none!important}
 .bc-app .msg:empty,.bc-auth-page .msg:empty{display:none}.bc-app .msg,.bc-auth-page .msg{border-radius:11px;overflow-wrap:anywhere}
 .bc-app .msg.err,.bc-auth-page .msg.err{background:#fff0ee;color:#942b24;border:1px solid #f2c7c2;padding:13px 16px}
 .bc-app .msg.ok,.bc-auth-page .msg.ok{background:#edf7f0;color:#245f40;border:1px solid #cce1d3;padding:13px 16px}
 .bc-app .top{background:#fff;color:var(--bc-text);border-bottom:1px solid var(--bc-border);padding:20px max(24px,calc((100vw - 1312px)/2));min-height:88px;gap:16px;box-shadow:0 2px 12px #163b2e03;position:relative;z-index:10}
 .bc-app .top .brand{font:750 1.3rem/1.2 "Segoe UI",system-ui,sans-serif;letter-spacing:-.035em;gap:11px;white-space:nowrap}
 .bc-app .top .brand img{border:1px solid #dce5e1;border-radius:11px;padding:5px;width:43px;height:43px;background:#f7faf8}
 .bc-app .top .brand small{display:block;margin-top:5px;color:var(--bc-muted);font-size:.63rem;font-weight:500;letter-spacing:.04em}
 .bc-app .tb-menu{gap:12px}.bc-app .tb-menu .who{font-size:.78rem;opacity:1;color:var(--bc-muted);max-width:10rem}.bc-app .tb-clock{font-size:.7rem;color:var(--bc-muted);border-color:var(--bc-border)}
 .bc-app .tb-clock time{font-size:.85rem;color:var(--bc-brand)}.bc-app .tb-toggle{color:var(--bc-brand);border-color:var(--bc-border);border-radius:10px}
 .bc-app .icon-btn,.bc-app .notification-bell{border:1px solid var(--bc-border);border-radius:11px;color:var(--bc-brand);min-height:44px;background:#fff}
 .bc-app .icon-btn:hover,.bc-app .notification-bell:hover{background:var(--bc-soft)}.bc-app .notification-bell{font-size:.8rem;padding:10px 12px}
 .bc-app .app-page-toolbar{background:#fff;border-bottom:1px solid var(--bc-border)}
 .bc-app .app-page-toolbar-inner{max-width:1360px;padding:17px 32px;gap:16px;align-items:center}
 .bc-app .app-dashboard-link{border-color:transparent;background:#f1f5f2;font-size:.8rem}
 .bc-app .saas-banner{max-width:1296px;margin:20px auto 0;padding:14px 19px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 20px;background:#e9f1ed;color:#36564a;border:1px solid #d4e3d9;border-left:3px solid #759f88;border-radius:11px;font-size:.75rem}
 .bc-app .saas-banner strong{font-size:.8rem}.bc-app .saas-banner span{line-height:1.6}
 .bc-app main.wrap,.bc-app .app-page-toolbar~main.wrap{max-width:1360px;padding:28px 32px 56px;min-width:0}
 .bc-app main.booking-wrap,.bc-app .app-page-toolbar~main.booking-wrap{max-width:1480px}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading),.bc-dashboard-hero{background:var(--bc-brand);border:1px solid #3e6b60;border-radius:19px;padding:30px 34px;margin:0 0 26px;color:#fff;box-shadow:0 9px 28px #14343b0b;min-width:0}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading) :is(h1,p),.bc-dashboard-hero h1{color:inherit}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading) :is(.muted,p:not([class])),.bc-dashboard-hero .muted{color:#c7dcd3}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading) h1{margin:0 0 9px}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading) p{margin:0;max-width:820px;font-size:.9rem}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading) :is(.employee-eyebrow,.sales-eyebrow,.products-eyebrow){color:#b8d7c9;font-size:.65rem;margin-bottom:10px;letter-spacing:.12em}
 .bc-eyebrow{font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.14em;color:var(--bc-muted);margin:0 0 9px!important}
 .bc-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0!important}.bc-dashboard-hero .bc-eyebrow{color:#b8d7c9}.bc-dashboard-hero h1{margin:0 0 10px}.bc-dashboard-hero p:last-child{margin:0;font-size:.88rem}.bc-hero-mark{width:76px;height:76px;display:grid;place-items:center;border:1px solid #ffffff35;border-radius:22px;font-size:2.6rem;font-weight:700;color:#d3e8dc;background:#ffffff06;flex-shrink:0}
 .bc-module-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:34px 0 20px}.bc-module-heading h2{margin:0;font-size:1.45rem}.bc-module-heading>p{font-size:.82rem;margin:0}
 .bc-app .bc-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}
 .bc-app .bc-module-grid .customer-module{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:25px;border:1px solid var(--bc-border);border-radius:17px;background:#fff;min-height:218px;text-decoration:none;box-shadow:0 3px 10px #163b2e03;transition:border-color .15s,box-shadow .15s}
 .bc-app .bc-module-grid .customer-module:hover{transform:none;border-color:#8eafa0;box-shadow:0 8px 25px #14343b0d}
 .bc-module-icon{width:45px;height:45px;display:grid;place-items:center;border:1px solid #d7e4dc;background:#edf4ef;color:var(--bc-brand);border-radius:12px;margin-bottom:19px}
 .bc-app .bc-module-grid h3{font-size:1.04rem;margin:0 0 9px}.bc-app .bc-module-grid p{font-size:.82rem;line-height:1.65;margin:0 0 20px;max-width:320px}.bc-module-open{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:14px;border-top:1px solid #e8eeea;color:#416152;font-size:.7rem;font-weight:650}.bc-module-open>span{font-size:1rem}
 .bc-app .card,.bc-app .notification-card,.bc-app .supplier-card{background:#fff;border:1px solid var(--bc-border);border-radius:17px;padding:26px;box-shadow:0 3px 10px #163b2e03;min-width:0}
 .bc-app .card h2{margin-bottom:18px}.bc-app .employee-dashboard{margin:24px 0}.bc-app .onboarding-prompt{margin:24px 0;border-left:4px solid #759f88}.bc-app .employee-dashboard .employee-heading{gap:20px;margin-bottom:18px}
 .bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search){display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;padding:20px;background:#f7faf8;border:1px solid var(--bc-border);border-radius:13px;margin:0 0 22px}
 .bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search)>:is(label,.field){flex:1 1 200px;min-width:0;margin:0}
 .bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search)>label{display:flex;flex-direction:column;gap:8px;font-size:.8rem;font-weight:650}
 .bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search)>.btn{flex:0 0 auto;}
 .bc-app .customer-table-wrap{border:1px solid var(--bc-border);border-radius:13px;padding:0;overflow-x:auto;background:#fff}
 .bc-app :is(.customer-table,.sc-table,.sales-item-table,.access-matrix){border-collapse:collapse;width:100%;font-size:.83rem;color:var(--bc-text)}
 .bc-app :is(.customer-table,.sc-table,.sales-item-table,.access-matrix) th{background:#f5f8f6;border-bottom:1px solid var(--bc-border);color:#65776f;font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px;font-weight:750}
 .bc-app :is(.customer-table,.sc-table,.sales-item-table,.access-matrix) td{padding:17px 16px;border-bottom:1px solid #e8eeea;vertical-align:middle}
 .bc-app :is(.customer-table,.sc-table,.sales-item-table) tbody tr:hover{background:#fafcfb}.bc-app .customer-table tr:last-child td{border-bottom:0}
 .bc-app :is(.sales-list-row,.po-list-row,.quote-list-card,.employee-list-row,.fin-entry-row){border-color:var(--bc-border);border-radius:13px;background:#fff;padding:22px;gap:20px}
 .bc-app :is(.sales-status,.po-status,.quote-status,.sc-status,.employee-badge,.notification-status){font-size:.7rem;font-weight:650;border-radius:7px;padding:5px 10px;line-height:1.4}
 .bc-app :is(.employee-stat,.fin-metric,.sales-total,.sc-stat){border:1px solid var(--bc-border);border-radius:13px;background:#fff;box-shadow:none}
 .bc-app .fin-metric{border-top:3px solid #93b5a4}.bc-app .fin-metric strong{color:var(--bc-brand)}
 .bc-app :is(.fin-tabs,.employee-tabs,.sc-tabs){display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--bc-border);padding-bottom:16px;margin-bottom:24px}
 .bc-app dialog{background:#fff;color:var(--bc-text);border:1px solid var(--bc-border);border-radius:20px;padding:32px;box-shadow:0 32px 100px #102b2860;max-height:90dvh;overflow:auto}
 .bc-app dialog::backdrop{background:#102b2866;backdrop-filter:blur(3px)}.bc-app dialog h2{font-size:1.5rem;margin:0 40px 18px 0}.bc-app dialog>.muted{font-size:.85rem;line-height:1.7}
 .bc-app dialog .close{top:16px;right:16px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--bc-border);border-radius:10px;background:#eff4f1;color:var(--bc-brand);font-size:1.4rem}
 .bc-app :is(.customer-actions,.sales-footer,.po-footer,.employee-footer){padding-top:22px;margin-top:22px;border-top:1px solid var(--bc-border)}
 .bc-app .booking-sidebar{background:#fff;border-color:var(--bc-border);border-radius:17px;padding:23px 18px;position:sticky;top:24px}
 .bc-app .booking-calendar-card{padding:26px;border-color:var(--bc-border);box-shadow:none}.bc-app .booking-person.is-selected{background:#e9f1ed;border-color:#a5c1b0;color:var(--bc-brand)}.bc-app .booking-person.is-selected .booking-avatar{background:var(--bc-brand);color:#fff}
 .bc-app .booking-sidebar-section>summary{font-size:.74rem}.bc-app .booking-calendar-heading h2{font-size:1.25rem}.bc-app .fc{--fc-border-color:#e0e8e3;--fc-today-bg-color:#f0f6f2;--fc-neutral-bg-color:#f5f8f6;--fc-button-bg-color:#14343b;--fc-button-border-color:#14343b;--fc-button-hover-bg-color:#204b50;--fc-button-hover-border-color:#204b50;--fc-button-active-bg-color:#285954;--fc-button-active-border-color:#285954}
 .bc-app .fc .fc-button-primary{border-radius:9px;padding:9px 13px;font-size:.8rem;box-shadow:none}.bc-app .fc .fc-toolbar-title{font-size:1.15rem;font-family:inherit;font-weight:650}.bc-app .fc .fc-col-header-cell-cushion{font-size:.72rem;font-weight:650;color:var(--bc-muted);padding:12px 4px}
 .bc-app .onboarding-step.is-current{background:var(--bc-brand);border-color:var(--bc-brand)}.bc-app .onboarding-step.is-current .onboarding-step-number{background:#ffffff12;border-color:#92b6a4}.bc-app .onboarding-sidebar{top:24px}.bc-app .onboarding-sidebar progress{accent-color:var(--bc-brand)}
 .bc-app .notification-card.is-unread{border-left:4px solid #759f88}.bc-app .notification-summary{border-radius:8px;font-size:.75rem;background:#e9f1ed;color:#d8eee2}.bc-app main.wrap>.notification-heading .notification-summary{background:#ffffff15;color:#edf6f0;border:1px solid #ffffff30}
 .bc-app .invoice-library-guide,.bc-app .invoice-info{border:1px solid var(--bc-border);border-radius:13px;background:#fff;color:var(--bc-text);padding:22px}
 .bc-app .account-panel{margin-bottom:24px}.bc-app .company-settings-wrap>.card{margin-top:24px}.bc-app .fin-period{border:1px solid var(--bc-border);border-radius:13px;background:#f7faf8}
 /* Full-page company sign-in; preserves the existing login/signup/MFA forms. */
 .bc-auth-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.bc-auth-story{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:48px clamp(28px,5vw,84px);background:var(--bc-brand);color:#fff;position:relative;overflow:hidden}
 .bc-auth-story::after{content:'';position:absolute;width:460px;height:460px;border:1px solid #ffffff0d;border-radius:50%;right:-300px;top:20%;pointer-events:none;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02}
 .bc-auth-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.35rem;font-weight:700;letter-spacing:-.04em;line-height:1.2}.bc-auth-brand small{display:block;font-size:.65rem;font-weight:500;letter-spacing:.04em;margin-top:5px;color:#bdd3cb}
 .bc-brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#ffffff0c;border:1px solid #ffffff30;font-weight:750;font-size:1.5rem;flex-shrink:0}
 .bc-auth-intro{max-width:490px;position:relative;z-index:1}.bc-auth-intro .bc-eyebrow{color:#b8d7c9}.bc-auth-intro h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.055em;margin:16px 0 23px}.bc-auth-intro>p:not(.bc-eyebrow){color:#c7dcd3;font-size:.98rem;line-height:1.8;max-width:380px}
 .bc-auth-capabilities{display:grid;gap:24px;margin-top:40px}.bc-auth-capabilities>div{display:flex;gap:17px;align-items:flex-start}.bc-auth-capabilities>div>span{border:1px solid #8cae9c55;border-radius:10px;min-width:38px;height:38px;display:grid;place-items:center;color:#b8d7c9;font-size:.7rem}.bc-auth-capabilities p{margin:0;color:#bcd2c8;font-size:.8rem}.bc-auth-capabilities strong{display:block;color:#fff;font-size:.88rem;margin-bottom:3px}.bc-auth-foot{color:#a8c2b7;font-size:.75rem;margin:0}
 .bc-auth-panel{display:flex;align-items:center;justify-content:center;padding:50px clamp(24px,5vw,76px);background:#fff;min-width:0}.bc-auth-content{width:100%;max-width:420px}.bc-auth-view{width:100%;min-width:0}.bc-auth-view h2{font-size:2.2rem;margin:21px 0 10px}.bc-auth-lead{font-size:.9rem;margin:0 0 25px;line-height:1.7}
 .bc-auth-badge{display:inline-flex;padding:5px 10px;border:1px solid #d4e1da;border-radius:7px;font-size:.7rem;font-weight:650;background:#eff4f1;color:#36554a}
 .bc-auth-company{padding:0 0 20px;margin-bottom:24px;border-bottom:1px solid var(--bc-border);font-size:.82rem}.bc-auth-company strong{color:var(--bc-brand);font-size:.95rem}.bc-auth-company p{color:var(--bc-muted);font-size:.72rem;line-height:1.6;margin:7px 0 0}
 .bc-auth-page .field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.bc-auth-page .field label{margin:0;}.bc-auth-page :is(.row2){gap:16px}.bc-auth-page .row2 .field{min-width:0}.bc-auth-page .swap{font-size:.8rem;line-height:1.6;margin:18px 0}.bc-auth-page .swap a{color:#365e4f;font:inherit;font-weight:650}
 .bc-auth-page #loginPasswordButton,.bc-auth-page #signupForm>button{width:100%;justify-content:space-between;min-height:50px;margin-top:8px}.bc-auth-page .msg:not(:empty){margin-bottom:20px}.bc-auth-page #mfaLoginForm>p{font-size:.84rem;line-height:1.7}.bc-auth-page #mfaLoginForm .btn{flex:1 1 auto;}
 .bc-password-field{position:relative;width:100%}.bc-password-toggle{position:absolute;right:7px;top:7px;bottom:7px;border:0;border-radius:7px;background:#edf3ef;color:var(--bc-brand);font-family:inherit;font-size:.75rem;font-weight:650;padding:0 10px;cursor:pointer}
 .bc-account-auth .account-auth-card,.bc-account-auth .notice{background:#fff;border:1px solid var(--bc-border);border-top:5px solid var(--bc-brand);border-radius:20px;box-shadow:0 16px 45px #14343b12;padding:34px}.bc-account-auth .account-auth-brand{color:var(--bc-brand)}.bc-account-auth h1{font-size:2rem}.bc-account-auth .account-auth-back{font-size:.8rem}
}
@media screen and (max-width:1100px){
 .bc-app .top{padding:18px 24px;flex-wrap:wrap}.bc-app .tb-menu{padding:16px 0 4px;border-top:1px solid var(--bc-border)}.bc-app .tb-menu .who{max-width:none}.bc-app .tb-menu .btn{width:100%;}.bc-app .tb-clock{align-items:flex-start}.bc-app .saas-banner{margin:18px 24px 0}.bc-app .bc-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-app .onboarding-sidebar{position:static}
}
@media screen and (max-width:800px){
 .bc-app main.wrap,.bc-app .app-page-toolbar~main.wrap{padding:24px 22px 40px}.bc-app .app-page-toolbar-inner{padding:16px 22px;flex-wrap:wrap}.bc-app .app-page-actions{width:100%;justify-content:flex-start}.bc-app .app-page-actions .btn{flex:1 1 auto;}.bc-app .booking-layout{grid-template-columns:1fr}.bc-app .booking-sidebar{position:static}.bc-app .booking-calendar-card{padding:20px}.bc-app .bc-module-grid{gap:16px}.bc-app .bc-module-grid .customer-module{padding:22px}.bc-auth-story{padding:35px}.bc-auth-intro h1{font-size:2.4rem}
}
@media screen and (max-width:600px){
 .bc-app .top{padding:17px 18px}.bc-app .saas-banner{margin:16px 18px 0;font-size:.7rem}.bc-app main.wrap,.bc-app .app-page-toolbar~main.wrap{padding:22px 18px 36px}.bc-app .app-page-toolbar-inner{padding:15px 18px}.bc-app .app-page-toolbar-inner>.app-dashboard-link{width:auto}.bc-app .bc-module-grid{grid-template-columns:1fr}.bc-app .bc-module-grid .customer-module{min-height:190px}.bc-module-heading{align-items:flex-start;flex-direction:column;gap:9px;margin-top:28px}.bc-hero-mark{display:none}
 .bc-app main.wrap>:is(.customer-heading,.employee-heading,.po-heading,.products-heading,.sales-heading,.invoice-heading,.sc-heading,.notification-heading,.account-heading,.bc-page-heading),.bc-dashboard-hero{padding:24px 22px;border-radius:16px}.bc-app .card,.bc-app .notification-card{padding:21px}.bc-app .card.customer-table-wrap{padding:0}.bc-app dialog{padding:25px 21px;max-width:calc(100vw - 24px)}
 .bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search){padding:16px;gap:14px}.bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search)>:is(label,.field){flex-basis:100%}.bc-app :is(.customer-search,.products-search,.sales-search,.employee-search,.sc-search)>.btn{width:100%;flex:1 1 auto;}.bc-app .employee-dashboard .employee-actions{width:100%;}.bc-app .employee-dashboard .employee-actions .btn{flex:1 1 auto;}.bc-app .fin-tabs .btn{flex:1 1 auto;}
 .bc-auth-shell{grid-template-columns:1fr}.bc-auth-story{padding:28px;gap:28px}.bc-auth-capabilities,.bc-auth-foot{display:none}.bc-auth-intro h1{font-size:2rem;margin:0 0 14px}.bc-auth-intro>p:not(.bc-eyebrow){margin:0}.bc-auth-panel{padding:30px 24px 42px}.bc-auth-view h2{font-size:1.9rem}.bc-auth-company{margin-bottom:22px}.bc-auth-page .row2{grid-template-columns:1fr;gap:0}
}
@media screen and (prefers-reduced-motion:reduce){.bc-app .customer-module{transition:none}}
@media screen {
 .bc-app .notification-summary{color:#36564a}
 .bc-app main.wrap>.notification-heading .notification-summary{color:#edf6f0}
}

/* Shared floating feedback: keep save results visible without moving the page. */
.bc-feedback{position:fixed;right:24px;bottom:24px;z-index:10000;display:flex;align-items:flex-start;gap:18px;width:min(460px,calc(100vw - 48px));box-sizing:border-box;padding:18px 20px;border:1px solid #b9d8c8;border-left:4px solid #24634d;border-radius:12px;background:#f1faf5;color:#163e30;box-shadow:0 12px 40px #102f2529;font:500 .94rem/1.6 system-ui,sans-serif;overflow-wrap:anywhere;max-height:calc(100dvh - 48px);overflow:auto}
.bc-feedback-error{background:#fff7f4;color:#71332b;border-color:#e5c4bc;border-left-color:#a44836}
.bc-feedback-close{flex:0 0 36px;display:grid;place-items:center;min-width:36px;min-height:36px;padding:0;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:24px/1 system-ui;cursor:pointer}
.bc-feedback-close:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.saas-banner[data-licence-state="customer_limit"],.saas-banner[data-licence-state="expired"]{border-left-color:#a44836;color:#71332b;background:#fff7f4}
@media(max-width:600px){.bc-feedback{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:calc(100vw - 28px);padding:14px 16px;font-size:.88rem}}
@media print{.bc-feedback{display:none!important}}

/* Public access and suspension pages share the company sign-in design. */
.bc-access-content h2{margin:18px 0 24px;font:700 clamp(1.9rem,3vw,2.5rem)/1.15 system-ui,sans-serif;letter-spacing:-.045em;color:#173e30}
.bc-access-status{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #e7d3b8;border-radius:12px;background:#fbf6ed;color:#6b4b22}
.bc-access-status p{margin:0;font-size:.92rem;line-height:1.7}
.bc-access-status-mark{flex:0 0 26px;display:grid;place-items:center;height:26px;border:1px solid #c9a775;border-radius:50%;font-weight:750}
.bc-access-description,.bc-access-help{margin:22px 0;color:#617268;font-size:.93rem;line-height:1.8}
.bc-access-contacts{margin:26px 0}.bc-access-contacts h3{margin:0 0 14px;color:#173e30;font-size:.95rem}
.bc-access-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;margin:12px 0;padding:17px 18px;border:1px solid #d5e2da;border-radius:12px;background:#f5f9f6;color:#194b36;text-decoration:none}
.bc-access-contact:hover{background:#eaf2ed;border-color:#93b49e}.bc-access-contact:focus-visible{outline:3px solid #24634d;outline-offset:3px}
.bc-access-contact-label{font-size:.75rem;color:#617268}.bc-access-contact strong{grid-column:1;font-size:.93rem;overflow-wrap:anywhere}.bc-access-contact>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:1.25rem}
.bc-access-actions{display:flex;flex-wrap:wrap;margin-top:26px;}
.bc-access-footnote{margin:24px 0 0;color:#718077;font-size:.76rem;line-height:1.8}
@media(max-width:600px){.bc-access-page .bc-auth-capabilities{display:none}.bc-access-actions .btn{width:100%;}.bc-access-content h2{font-size:1.9rem}.bc-access-contact{padding:15px}}

/* Optional Repairs & Tickets module. */
.repairs-wrap{max-width:1296px}.repair-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.repair-summary-card{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fff;border:1px solid #dce6df;border-radius:14px}.repair-summary-card strong{font-size:1.9rem;line-height:1.1;color:#194b36}.repair-summary-card span{color:#617268;font-size:.84rem}
.repair-filter{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto auto;align-items:end;gap:14px;margin-bottom:24px}.repair-filter .field{margin:0}.repair-pagination,.repair-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.repair-actions{display:flex;align-items:center;flex-wrap:wrap;}.repair-pagination{justify-content:space-between;margin-top:22px}.repair-actions{margin:24px 0;}.repair-inline{align-items:end}.repair-inline>.field{flex:1 1 240px}.repair-lines{white-space:pre-wrap;overflow-wrap:anywhere}.repair-badge{display:inline-flex;padding:6px 11px;border-radius:8px;background:#eaf2ed;color:#24543e;font-size:.78rem;font-weight:650;line-height:1.5}
.repair-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:30px;border:1px solid #d7e2da;border-radius:18px;background:#fff;color:#193d2e;box-sizing:border-box;box-shadow:0 24px 90px #14382a35;overflow:auto}.repair-dialog::backdrop{background:#102b2366;backdrop-filter:blur(3px)}.repair-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid #dce6df;padding-bottom:20px;margin-bottom:24px}.repair-dialog-heading h2{margin:5px 0 0;font-size:1.55rem;line-height:1.3}.repair-dialog .field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;font-size:.88rem;font-weight:600}.repair-dialog textarea,.repair-settings textarea{width:100%;box-sizing:border-box;resize:vertical;}.repair-dialog .muted,.repair-settings .muted{line-height:1.7;font-size:.85rem}.repair-dialog h3{font-size:1rem;margin:0 0 18px}.repair-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.repair-record-grid,.repair-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.repair-intake-section{margin-bottom:26px;padding-bottom:10px;border-bottom:1px solid #e1e9e3}.repair-help{background:#f4f7f4;border-radius:9px;padding:14px 16px;font-size:.82rem;line-height:1.7;color:#5f7365}.repair-work-card{padding:22px;background:#f7faf7;border:1px solid #dce6df;border-radius:12px;margin-bottom:22px;min-width:0}.repair-work-card p{font-size:.86rem;line-height:1.7;margin:9px 0;overflow-wrap:anywhere}.repair-record-text{padding:12px 0 18px;border-bottom:1px solid #e1e9e3;margin-bottom:16px}.repair-record-text p{line-height:1.8;font-size:.9rem}.repair-contact-link{text-underline-offset:3px;}.repair-history ol{list-style:none;padding:0;margin:0}.repair-history li{padding:16px 0 16px 20px;border-left:2px solid #b7d0bf;border-bottom:1px solid #e5ece6}.repair-history li p{font-size:.87rem;line-height:1.7;margin:0 0 8px}.repair-history li small{color:#718077;font-size:.76rem}.repair-settings .field{display:flex;flex-direction:column;gap:10px;margin:20px 0}.repairs-wrap [hidden]{display:none!important}
.repair-receipt{max-width:920px;margin:24px auto;background:#fff;border:1px solid #dce6df;border-radius:14px;padding:44px;color:#193d2e}.repair-receipt-header{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;border-bottom:3px solid #194b36;padding-bottom:26px}.repair-receipt-header h1{font-size:1.55rem;margin:14px 0}.repair-receipt-header h2{font-size:1.7rem;margin:10px 0}.repair-receipt p{font-size:.88rem;line-height:1.8;overflow-wrap:anywhere}.repair-receipt-logo{max-width:190px;max-height:85px;object-fit:contain}.repair-receipt-section{padding:20px 0;border-bottom:1px solid #dce6df}.repair-receipt-section h2{font-size:1rem;margin:0 0 12px}.repair-receipt-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.repair-receipt-details dt{font-size:.75rem;color:#62776a}.repair-receipt-details dd{font-size:.88rem;margin:5px 0 0;overflow-wrap:anywhere}.repair-receipt-footer{padding-top:22px}.repair-signatures{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:34px}
@media(max-width:1000px){.repair-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-filter>.field:first-child{grid-column:1/-1}.repair-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.repair-summary{gap:10px}.repair-summary-card{padding:17px}.repair-summary-card strong{font-size:1.6rem}.repair-dialog{padding:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.repair-form-grid{grid-template-columns:1fr;}.repair-record-grid,.repair-work-grid,.repair-filter,.repair-receipt-header,.repair-receipt-details{grid-template-columns:1fr}.repair-filter>.field:first-child{grid-column:auto}.repair-actions .btn{flex:1 1 auto;}.repair-work-card{padding:17px}.repair-dialog-heading{gap:12px}.repair-dialog-heading h2{font-size:1.2rem}.repair-receipt{padding:24px}.repair-signatures{gap:12px}}
@media print{.repair-receipt-page{background:#fff!important}.repair-receipt-page .top,.repair-receipt-page .app-page-toolbar,.repair-receipt-page .saas-banner,.repair-receipt-page .bc-feedback{display:none!important}.repair-receipt-page main.wrap{max-width:none!important;margin:0!important;padding:0!important}.repair-receipt{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:8mm}.repair-receipt-header,.repair-receipt-section,.repair-receipt-footer{break-inside:avoid}.repair-receipt-header{grid-template-columns:1.3fr 1fr}.repair-receipt-details{grid-template-columns:1fr 1fr}.repair-receipt h1,.repair-receipt h2{color:#173d2e!important}}

/* Repair charges, approvals and direct customer updates. */
.repair-commercial{margin:30px 0;padding:26px 0;border-top:2px solid #d6e4da;border-bottom:2px solid #d6e4da}.repair-commercial>.repair-dialog-heading h3{margin:6px 0 0;font-size:1.25rem}.repair-commercial table{min-width:720px}.repair-commercial .repair-work-card{margin-top:22px}.repair-commercial input,.repair-commercial select,.repair-commercial textarea{max-width:100%;box-sizing:border-box;}.repair-charge-totals{display:grid;gap:8px;max-width:340px;margin:22px 0 26px auto;background:#f1f6f2;border:1px solid #d5e3d9;border-radius:12px;padding:18px}.repair-charge-totals p{display:flex;justify-content:space-between;gap:24px;margin:0;font-size:.88rem}.repair-charge-totals p:last-child{padding-top:10px;margin-top:5px;border-top:1px solid #c9dbcf;font-size:1.05rem}.repair-approval-summary{padding:20px;border:1px solid #d8e4dc;background:#f5f8f5;border-radius:12px;margin:20px 0}.repair-approval-summary p{font-size:.85rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.repair-linked-sale:not(:empty){padding:22px;background:#eaf3ed;border:1px solid #c8ddcf;border-radius:12px;margin:22px 0}.repair-linked-sale p{margin:12px 0;font-size:.9rem}.repair-email-section{margin-top:30px;padding-top:24px;border-top:1px solid #d9e5dd}.repair-email-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid #e1e9e3;font-size:.8rem;overflow-wrap:anywhere}.repair-email-row span{flex:1 1 240px}.repair-commercial [hidden]{display:none!important}
@media(max-width:600px){.repair-commercial{padding:20px 0}.repair-charge-totals{max-width:none}.repair-commercial>.repair-dialog-heading{flex-wrap:wrap}.repair-commercial>.repair-dialog-heading .btn{width:100%;}}

/* Repair estimates and private customer approval. */
.repair-estimate-controls{margin:28px 0;padding:24px 0;border-top:1px solid #d7e4db;border-bottom:1px solid #d7e4db}.repair-estimate-history-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #e1e9e3}.repair-estimate-history-row>div:first-child{flex:1 1 260px;min-width:0}.repair-estimate-history-row p{font-size:.8rem;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.repair-estimate-history-row .repair-actions{margin:0;}
.bc-estimate-public{margin:0;background:#eef3ef;color:#193d2e;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}.repair-estimate-shell{max-width:1000px;margin:36px auto;padding:0 24px}.repair-estimate-welcome{display:flex;align-items:center;gap:18px;background:#173e30;color:#fff;padding:25px 30px;border-radius:16px 16px 0 0}.repair-estimate-welcome p{margin:4px 0}.repair-estimate-welcome .bc-eyebrow{color:#bed5c6}.repair-estimate-welcome .bc-brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #749c85;border-radius:12px;font-size:1.5rem;font-weight:750;color:#fff;flex-shrink:0}.repair-estimate-document{background:#fff;border:1px solid #d5e2d9;border-radius:14px;padding:40px}.bc-estimate-public .repair-estimate-document{border-radius:0 0 14px 14px}.repair-estimate-document h1{font-size:1.55rem}.repair-estimate-document h2{font-size:1.05rem}.repair-estimate-document .repair-receipt-header h2{font-size:1.65rem}.repair-estimate-document p{font-size:.88rem;line-height:1.8;overflow-wrap:anywhere}.repair-estimate-response{margin:24px 0;background:#fff;border:1px solid #d5e2d9;border-radius:14px;padding:30px}.repair-estimate-response h2{font-size:1.3rem;margin:0 0 14px}.repair-estimate-response p{font-size:.9rem;line-height:1.8;color:#5f7466}.repair-estimate-response .field{display:flex;flex-direction:column;gap:9px;margin:20px 0;font-size:.9rem;font-weight:600}.repair-estimate-response input:not([type=checkbox]),.repair-estimate-response textarea{width:100%;box-sizing:border-box;}.repair-estimate-status{font-size:.85rem;color:#61776a;margin:0 0 20px}.repair-estimate-controls [hidden]{display:none!important}
@media(max-width:600px){.repair-estimate-shell{margin:18px auto;padding:0 14px}.repair-estimate-welcome{padding:22px}.repair-estimate-document,.repair-estimate-response{padding:22px}.repair-estimate-document table{min-width:630px}.repair-estimate-response .repair-actions .btn{width:100%;}.repair-estimate-history-row .repair-actions{width:100%;}}
@media print{.bc-estimate-public,.repair-estimate-staff{background:#fff!important}.repair-estimate-welcome,.repair-estimate-response,.estimate-no-print,.repair-estimate-staff .top,.repair-estimate-staff .app-page-toolbar,.repair-estimate-staff .saas-banner,.repair-estimate-staff .bc-feedback,.repair-estimate-status,.bc-estimate-public .msg{display:none!important}.repair-estimate-shell{max-width:none;margin:0;padding:0}.repair-estimate-document{border:0;border-radius:0;padding:8mm}.repair-estimate-document .customer-table-wrap{overflow:visible}.repair-estimate-document table{min-width:0;width:100%}.repair-estimate-document .repair-receipt-header{grid-template-columns:1.3fr 1fr}.repair-estimate-document tr,.repair-estimate-document .repair-charge-totals{break-inside:avoid}}

/* Repair testing and handover */
#repairCompletion { margin-block: 24px; }
#repairCompletion h4 { margin: 28px 0 14px; }
.repair-test-row { display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(120px,.6fr) minmax(180px,1.5fr) auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border,#dce5e0); }
.repair-test-row small { grid-column:1/-1;color:var(--muted,#64746b); }
#repairAddCheck { margin-block:20px; }
#repairCollect > p { grid-column:1/-1; }
@media(max-width:760px){.repair-test-row{grid-template-columns:1fr;} .repair-test-row small{grid-column:auto;}#repairCompletion .btn{white-space:normal;}}

/* Shared touch signature control and immutable signed documents. */
.signature-pad { margin:18px 0; }
.signature-pad canvas { display:block;width:100%;max-width:900px;height:auto;aspect-ratio:3/1;background:#fff;border:2px solid #597b6b;border-radius:12px;touch-action:none;cursor:crosshair;box-shadow:inset 0 2px 7px #143c2110; }
.signature-pad-status { color:#53665c;font-size:.9rem; }
.signature-form,.signature-evidence { padding:24px;margin:24px 0;background:#fff;border:1px solid #d8e4dc;border-radius:16px; }
.signature-evidence .signature-image { display:block;width:450px;max-width:100%;height:auto;background:#fff;border-bottom:1px solid #cddbd2; }
.signature-evidence .muted { overflow-wrap:anywhere;font-size:.75rem; }
.signature-print-lines { padding:24px 0; }
.signature-print-lines p { margin:24px 0; }
.signature-optional { margin:20px 0;padding:16px;border:1px solid #cddbd2;border-radius:12px; }
.signature-optional summary { cursor:pointer;font-weight:650; }
@media print { .signature-form,.signature-pad,.signature-optional { display:none!important; } .signature-evidence { break-inside:avoid;box-shadow:none;border:0;padding:12px 0; } .signature-print-lines { break-inside:avoid; } }
@media print { .signature-no-print { display:none!important; } }

/* Personal tools belong in the green company workspace title panel. */
.bc-dashboard-hero { flex-wrap:wrap;gap:24px 36px; }
.bc-dashboard-hero>div:first-child { flex:1 1 240px;min-width:0; }
.workspace-personal { flex:0 1 550px;min-width:0;display:flex;flex-direction:column;gap:16px; }
.workspace-personal-links { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.workspace-personal-links a { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 15px;border:1px solid #ffffff4d;border-radius:10px;background:#ffffff0d;color:#fff;font-size:.8rem;font-weight:650;text-decoration:none; }
.workspace-personal-links a:first-child { background:#edf6ef;color:#184635;border-color:#edf6ef; }
.workspace-personal-links a:hover { background:#ffffff20; }
.workspace-personal-links a:first-child:hover { background:#fff; }
.workspace-pending { min-width:20px;text-align:center;border-radius:12px;padding:2px 5px;background:#f4cf71;color:#4c3609;font-size:.72rem; }
.workspace-tickets { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.workspace-ticket-total { color:#e1efe7;font-size:.78rem;font-weight:650;text-decoration:none;margin-right:4px; }
.workspace-ticket-light { display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid transparent;border-radius:9px;padding:8px 10px;font-size:.74rem;text-decoration:none;white-space:nowrap; }
.workspace-ticket-green { color:#174b34;background:#e7f5ec;border-color:#b5dec5; }
.workspace-ticket-amber { color:#6d4908;background:#fff1c8;border-color:#e8cf83; }
.workspace-ticket-red { color:#8d252f;background:#ffe8eb;border-color:#e8b1b9; }
.workspace-light-dot { width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0; }
.workspace-ticket-light:hover { filter:brightness(.96); }
.workspace-personal a:focus-visible { outline:3px solid #c5e5d4;outline-offset:3px; }
.workspace-personal [hidden] { display:none!important; }
@media(max-width:800px){.workspace-personal{flex:1 1 100%;padding-top:18px;border-top:1px solid #ffffff30}.workspace-personal-links a{flex:1 1 auto}.workspace-tickets{gap:8px}.workspace-ticket-total{flex-basis:100%}}
@media(min-width:1001px){.repair-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.repair-filter>.field:first-child{grid-column:span 2}.repair-filter>button{width:100%;min-height:46px}}
@media print{.workspace-personal{display:none!important}}

/* Scoped, company-approved support sessions. */
.bc-support-banner { display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff0cd;color:#5b4210;border-bottom:2px solid #d3a742;padding:14px max(24px,calc((100vw - 1296px)/2)); }
.bc-support-banner>div { flex:1 1 350px; }
.bc-support-banner strong,.bc-support-banner span { display:block; }
.bc-support-banner span { margin-top:4px;font-size:.78rem;overflow-wrap:anywhere; }
.bc-support-banner.support-check-failed { border-color:#b22f39; }
.bc-support-active .top a[href$="account.php"],.bc-support-active #notificationBell { display:none!important; }
.support-request { margin-block:22px; }
.support-request li { padding-block:5px;overflow-wrap:anywhere; }
.support-request details { margin-top:20px; }
.support-approval-form { max-width:720px;margin-top:20px; }
.platform-support { margin:26px 0;padding:24px;border:1px solid #d5e1da;border-radius:14px;background:#f6faf7; }
.support-scope-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:20px 0; }
#supportScopeGrid fieldset { display:flex;flex-flow:row wrap;align-items:center;gap:8px 18px;border:1px solid #cbdcd1;border-radius:10px;padding:12px 14px;min-width:0; }
.support-scope-grid legend { font-weight:700;font-size:.82rem; }
#supportScopeGrid fieldset > label { display:inline-flex;flex-direction:row;align-items:center;flex:0 1 auto;width:auto;max-width:100%;min-width:0;min-height:32px;gap:8px;font-size:.78rem;line-height:1.5;margin:0;text-transform:none;white-space:normal;cursor:pointer; }
#supportScopeGrid input[type=checkbox] { flex:0 0 17px;width:17px;max-width:17px;height:17px;min-height:17px;align-self:center;accent-color:#14343b;margin:0;padding:0; }
.support-session-row { margin-block:14px;padding:16px;background:#fff;border:1px solid #dce5df;border-radius:10px; }
.support-session-row p { white-space:pre-wrap;overflow-wrap:anywhere; }
.support-session-row small,#supportAudit small { display:block;color:#5a7064;overflow-wrap:anywhere; }
#supportLaunch form { padding:18px;border:2px solid #789e88;border-radius:12px;margin-block:18px;background:#fff; }
#supportRequestForm>label { display:block;margin-block:16px; }
@media(max-width:700px){.support-scope-grid{grid-template-columns:1fr}.platform-support{padding:16px}.bc-support-banner{padding:14px 18px}.bc-support-banner .btn{flex:1 1 auto;}}
@media print{.bc-support-banner{display:none!important}}

/* Backup settings and compact workspace recovery health. */
.backup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0;}.backup-opening{display:grid;gap:.65rem;margin:1rem 0 1.5rem}.backup-day{display:grid;grid-template-columns:minmax(130px,1fr) 1fr 1fr;gap:1rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--border,#dbe5df);border-radius:12px}.backup-day>label:first-child{display:flex;align-items:center;gap:.6rem}.backup-day input[type=checkbox]{width:1.1rem;height:1.1rem}.backup-health{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border:1px solid #b9d5c5;border-radius:12px;background:#f4faf6;color:#183f2e;text-decoration:none;font-size:.8rem;line-height:1.4}.backup-health svg{flex:none}.backup-health small{display:block}.backup-health[data-state=failed],.backup-health[data-state=overdue],.backup-health[data-state=stalled]{background:#fff0ed;border-color:#e8aaa0;color:#8c2e22}.backup-health[data-state=pending],.backup-health[data-state=queued],.backup-health[data-state=running],.backup-health[data-state=unknown]{background:#fff8e8;border-color:#e3cd93;color:#77591b}.backup-health[data-state=disabled]{background:#f2f4f3;color:#52635a;border-color:#d6ddd8}.backup-health[hidden]{display:none}#backupStatus{padding:1rem;border-radius:12px;background:#f1f6f3}#backupStatus[data-health=failed],#backupStatus[data-health=overdue],#backupStatus[data-health=stalled]{background:#fff0ed;color:#8c2e22}#backupSettings .platform-actions{flex-wrap:wrap;}#backupSettings label{min-width:0}#backupSettings select{max-width:100%;}@media(max-width:640px){.backup-fields{grid-template-columns:1fr;}.backup-day{grid-template-columns:1fr 1fr;gap:.75rem}.backup-day>label:first-child{grid-column:1/-1}.backup-health{width:100%}}

/* Compact accessible top-bar actions and temporary world clock. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.top .icon-btn,.top .notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:10px;box-sizing:border-box}.top .notification-badge{position:absolute;top:-7px;right:-7px;font-size:.68rem;min-width:19px;padding:3px 5px}.top [data-tooltip]:hover:after,.top [data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;z-index:1100;top:calc(100% + 9px);right:0;background:#123e2a;color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap;padding:7px 10px;border-radius:8px;pointer-events:none;box-shadow:0 4px 14px #102e2222}.top .icon-btn:focus-visible,.top .tb-timezone:focus-visible{outline:3px solid #76b791;outline-offset:3px}.top .tb-timezone{margin-top:5px;width:auto;max-width:225px;min-height:32px;height:32px;padding:4px 26px 4px 9px;font-size:.72rem;font-weight:600;color:#164b32;background-color:#f2f7f4;border:1px solid #cbded2;border-radius:8px;line-height:1.2}.top .tb-timezone option{color:#173c2a;background:#fff}.tb-clock{min-width:150px}.bc-app .bc-module-grid>.customer-module{padding-bottom:24px}@media(max-width:1100px){.top .tb-menu.open{flex-direction:row;flex-wrap:wrap;align-items:center}.top .tb-menu .tb-clock{flex:1 1 100%;align-items:flex-start}.top .tb-menu .who{flex:1 1 100%;padding-bottom:4px}.top .tb-timezone{width:100%;max-width:100%}.top .tb-menu .icon-btn{width:44px;flex-basis:44px}.top .notification-bell{flex-basis:44px}.top [data-tooltip]:focus-visible:after{right:auto;left:0}}@media print{.top .tb-timezone{display:none}}

/* Searchable app knowledge base: one shared stylesheet. */
.kb-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.kb-total{padding:9px 14px;border:1px solid #cbded2;border-radius:30px;color:#24553b;background:#f1f7f3;font-size:.8rem;white-space:nowrap}.kb-search{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto auto;align-items:end;gap:14px}.kb-search label{min-width:0}.kb-search input,.kb-search select{width:100%;}.kb-results-summary{font-size:.85rem;color:#526b5d;margin:20px 0 12px}.kb-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:24px;align-items:start}.kb-index{padding:14px;position:sticky;top:20px}.kb-index h2{font-size:1rem;padding:8px 10px;margin:0 0 8px}.kb-index ul{list-style:none;margin:0;padding:0;max-height:72vh;overflow:auto;overscroll-behavior:contain}.kb-index li+li{border-top:1px solid #e4ece7}.kb-index a{display:block;padding:14px 12px;border-radius:10px;text-decoration:none;color:#183f2d;border:1px solid transparent}.kb-index a:hover{background:#f3f8f5}.kb-index a[aria-current=page]{background:#edf6f0;border-color:#bdd6c6;box-shadow:inset 3px 0 #176347}.kb-index a small,.kb-index a strong,.kb-index a span{display:block}.kb-index a small{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#52725f;margin-bottom:4px}.kb-index a strong{font-size:.92rem;line-height:1.45}.kb-index a span{font-size:.78rem;color:#63776a;line-height:1.5;margin-top:5px}.kb-article{min-width:0;padding:32px;scroll-margin-top:24px}.kb-article:focus{outline:none}.kb-article:focus-visible{outline:3px solid #8fbd9f;outline-offset:3px}.kb-article h2{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.25;margin:16px 0}.kb-article-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#53705e;font-size:.75rem}.kb-intro{font-size:1rem;color:#52675a;line-height:1.7}.kb-steps{list-style:none;counter-reset:kb-step;padding:0;margin:26px 0}.kb-steps li{counter-increment:kb-step;position:relative;padding:0 0 22px 48px;line-height:1.75;font-size:.94rem;color:#2e4537}.kb-steps li:before{content:counter(kb-step);position:absolute;left:0;top:2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:#e8f3ec;color:#176347;font-weight:700;font-size:.83rem}.kb-note{border:1px solid #cfe0d5;border-left:4px solid #72a889;background:#f5f9f6;border-radius:12px;padding:18px 20px;margin:20px 0}.kb-note strong{font-size:.85rem;color:#225539}.kb-note p{font-size:.86rem;line-height:1.75;color:#486453;margin:7px 0 0}.kb-article-actions{display:flex;flex-wrap:wrap;margin:26px 0;}.kb-related{border-top:1px solid #dce7e0;padding-top:18px}.kb-related h3{font-size:1rem}.kb-related ul{padding-left:20px}.kb-related li{margin:10px 0}.kb-related a{color:#176347;font-size:.88rem;text-underline-offset:3px}.kb-footnote{font-size:.78rem;line-height:1.7;margin:24px 0}.kb-settings{margin-bottom:24px}.kb-settings-search{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.kb-settings-search label{flex:1 1 260px;min-width:0}.kb-wrap #kbFeedback{margin:16px 0;font-size:.9rem}.kb-wrap [hidden]{display:none!important}@media(max-width:1000px){.kb-search{grid-template-columns:1fr 1fr}.kb-layout{grid-template-columns:minmax(230px,290px) minmax(0,1fr)}.kb-article{padding:24px}}@media(max-width:700px){.kb-heading{flex-direction:column;gap:10px}.kb-total{white-space:normal}.kb-search{grid-template-columns:1fr 1fr}.kb-search label{grid-column:1/-1}.kb-layout{grid-template-columns:1fr}.kb-index{position:static}.kb-index ul{max-height:300px}.kb-article{padding:22px 18px}.kb-steps li{padding-left:42px}.kb-article-actions .btn{flex:1 1 auto;}.kb-settings-search .btn{flex:1 1 auto;}}@media print{body:has(#knowledgeBase) .top,body:has(#knowledgeBase) .app-page-toolbar,body:has(#knowledgeBase) .saas-banner,body:has(#knowledgeBase) .support-session-banner{display:none!important}.kb-heading,.kb-search,.kb-index,.kb-results-summary,.kb-total,.kb-footnote,#kbFeedback,.kb-article-actions,.kb-related{display:none!important}.kb-layout{display:block}.kb-wrap{max-width:none;padding:0}.kb-article{box-shadow:none;border:0;padding:0;color:#000}.kb-note{break-inside:avoid}.kb-steps li{break-inside:avoid}.kb-steps li:before{border:1px solid #bbb}}
/* Focused settings areas and compact city clock. */
.settings-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.settings-menu{display:flex;flex-direction:column;gap:3px;padding:10px;position:sticky;top:18px}.settings-menu a{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-size:.82rem;font-weight:600;line-height:1.3;color:#355a44;min-height:44px;box-sizing:border-box}.settings-menu a svg{flex:none}.settings-menu a:hover{background:#f1f7f3}.settings-menu a[aria-current=page]{background:#eaf4ed;color:#145332;border-color:#bcd5c5}.settings-menu a:focus-visible{outline:3px solid #8fbd9f;outline-offset:2px}.settings-content{min-width:0}.settings-pane-heading{font-size:1.25rem;margin:0 0 18px}.settings-ready [hidden]{display:none!important}.settings-ready .company-section-nav,.settings-ready .company-settings>.company-heading,.settings-ready .company-section>summary{display:none}.settings-ready .company-layout{display:block}.settings-ready .company-section{margin-top:0}.settings-ready .company-preview{position:static;max-width:none;margin:0}.settings-ready .company-save-bar{position:static;flex-wrap:wrap;gap:12px}.settings-ready .company-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.settings-ready .company-section>.muted:first-of-type{margin-top:0}.settings-ready .company-preview-note{line-height:1.6}.settings-ready .kb-settings{margin-bottom:0}.settings-content>div>section:first-child{margin-top:0}.top .tb-clock{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) auto;column-gap:10px;align-items:center}.top #tbTime,.top #tbDate{grid-column:1}.top .tb-zone-button{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;gap:5px;min-width:62px;min-height:34px;padding:6px 8px;border:1px solid #cbded2;border-radius:10px;background:#f2f7f4;color:#174f33;font-size:.7rem;font-weight:700;line-height:1;cursor:pointer}.top .tb-zone-button span{font-size:.7rem;opacity:1}.top .tb-zone-button:focus-visible{outline:3px solid #8fbd9f;outline-offset:2px}.top .tb-zone-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:1200;width:270px;max-width:calc(100vw - 40px);padding:16px;background:#fff;border:1px solid #cbded2;border-radius:14px;box-shadow:0 10px 35px #123c2924;color:#214931;line-height:1.5;text-align:left}.top .tb-zone-menu[hidden]{display:none!important}.top .tb-zone-menu label{font-size:.8rem;font-weight:700}.top .tb-zone-menu .tb-timezone{width:100%;max-width:none;margin:8px 0;min-height:40px}.top .tb-zone-menu p{font-size:.72rem;color:#62766a;margin:4px 0 0}.settings-content h2:focus{outline:none}@media(max-width:950px){.settings-workspace{grid-template-columns:185px minmax(0,1fr)}.settings-menu a{padding:10px 8px;font-size:.76rem}.settings-ready .company-form-grid{grid-template-columns:1fr;}.settings-ready .company-form-grid .company-wide{grid-column:1}}@media(max-width:650px){.settings-workspace{grid-template-columns:1fr;gap:18px}.settings-menu{position:static;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:9px}.settings-menu a{justify-content:center;padding:10px 5px}.settings-menu a span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.top .tb-zone-menu{left:0;right:auto}.top .tb-clock{width:100%}.settings-ready .company-save-bar .company-actions{flex-wrap:wrap;}.settings-ready .company-save-bar .btn{flex:1 1 auto;}}@media print{.settings-menu,.tb-zone-menu,.tb-zone-button{display:none!important}}

/* Uniform green workspace tiles; a fine gold highlight on the original icons. */
.bc-app.bc-dashboard .bc-module-grid .customer-module{--tile-accent:#1b6548;--tile-soft:#edf6f0;--tile-line:#c6ddcf;background:radial-gradient(ellipse at 100% 0%,#e1f0e788,transparent 60%),linear-gradient(140deg,#fff 45%,#f2f8f4);border-color:#d7e1d7;box-shadow:0 4px 15px #173f2910,inset 0 1px 0 #fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.bc-app.bc-dashboard .bc-module-grid .customer-module:before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#1b6548,#79a68a 65%,#d4e7d933);opacity:.8;pointer-events:none}
.bc-app.bc-dashboard .bc-module-grid .customer-module:hover{border-color:#84ae93;box-shadow:0 9px 25px #173f2915,inset 0 1px 0 #fff;transform:none}
.bc-app.bc-dashboard .bc-module-grid .customer-module:focus-visible{outline:3px solid #76a98b;outline-offset:4px}
.bc-dashboard .bc-module-icon{position:relative;isolation:isolate;overflow:hidden;width:49px;height:49px;color:var(--tile-accent);background:linear-gradient(140deg,#fff 0%,#edf6f0 58%,#dcebe1 100%);border-color:#c6ddcf;border-top-color:#c5ae73;border-radius:14px;box-shadow:inset 0 1px 0 #e6d9b7,inset 0 -1px 0 #fff,0 3px 8px #173f290a}
.bc-dashboard .bc-module-icon svg{position:relative;z-index:1}
.bc-dashboard .bc-module-icon:after{content:"";position:absolute;z-index:2;inset:-35% -45%;pointer-events:none;background:linear-gradient(105deg,transparent 30%,#ffffff00 36%,#ffffffb8 48%,#fff8 53%,#ffffff00 65%,transparent 70%);transform:translateX(-140%) rotate(-12deg);opacity:0}
.bc-dashboard .customer-module.is-icon-shining .bc-module-icon:after{animation:bc-icon-reflection .85s ease-out var(--shine-delay,0ms) 1 both}
@keyframes bc-icon-reflection{0%{transform:translateX(-140%) rotate(-12deg);opacity:0}20%{opacity:.85}75%{opacity:.85}100%{transform:translateX(140%) rotate(-12deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.bc-dashboard .bc-module-icon:after{animation:none!important;display:none}.bc-app.bc-dashboard .bc-module-grid .customer-module{transition:none}}
@media print{.bc-dashboard .bc-module-icon:after{display:none}}

/* Marketing: company campaigns and consent. */
.marketing-tabs,.marketing-inline,.marketing-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.marketing-actions{display:flex;align-items:center;flex-wrap:wrap;margin:18px 0;}.marketing-heading{justify-content:space-between}.marketing-transport{padding:14px 18px;border:1px solid #cbded2;background:#f1f7f3;border-radius:12px;font-size:.85rem}.marketing-campaigns,.marketing-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.marketing-fields{display:grid;grid-template-columns:1fr 1fr;}.marketing-wide{grid-column:1/-1}.marketing-dialog{width:min(900px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #cbded2;border-radius:18px;padding:26px;color:#254330}.marketing-dialog::backdrop{background:#102f235c}.marketing-dialog label{display:block;margin-bottom:10px}.marketing-dialog input,.marketing-dialog select,.marketing-dialog textarea{width:100%;}.marketing-dialog .marketing-check{display:flex;gap:10px;align-items:flex-start}.marketing-check input{width:20px;min-width:20px;height:20px;margin-top:3px;}.marketing-inline label{flex:1 1 240px}.marketing-contact{margin:14px 0}.marketing-contact p{margin:8px 0}.marketing-social-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:20px 0}.marketing-social{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:120px;padding:16px 10px;background:#f4f8f5;border:1px solid #d6e4db;border-radius:14px;color:#245a3b;cursor:pointer}.marketing-social:hover,.marketing-social:focus-visible{border-color:#7dab8d;background:#edf5ef}.marketing-social.is-linked{border-color:#9ec6ac;box-shadow:inset 0 3px #1c6547}.marketing-social span{font-weight:600;font-size:.8rem}.marketing-social small{font-size:.68rem;color:#61796b}#mktPreviewFrame{width:100%;height:65vh;border:1px solid #dbe6df;border-radius:12px}#marketingApp [hidden]{display:none!important}@media(max-width:700px){.marketing-fields{grid-template-columns:1fr;}.marketing-campaigns{grid-template-columns:1fr}.marketing-dialog{padding:20px}.marketing-actions .btn{flex:1 1 auto;}.marketing-social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Marketing social feed workspace */
.marketing-feed-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0}.marketing-feed-placeholder{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:170px;padding:22px;border:1px solid #cbded2;border-radius:16px;background:#f2f8f4;color:#174c36;text-align:left;font:inherit}.marketing-feed-placeholder span{font-size:.8rem;line-height:1.5;color:#587162}.marketing-feed-placeholder:not(.is-pending):hover{border-color:#a88b41;box-shadow:0 6px 20px #174c3610}.marketing-feed-placeholder.is-pending{background:#f7f9f8;opacity:.8}.marketing-feed-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:22px 0}.marketing-post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.marketing-feed-post{margin:0;min-width:0}.marketing-feed-panel small{display:block;line-height:1.6}#feedSetup ol{padding-left:24px;line-height:1.8}#feedSetup .msg:empty,#feedComposer .msg:empty{display:none}

/* Shared poster studio and safety controls */
.poster-studio-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,.95fr);gap:28px;align-items:start}.poster-preview{position:sticky;top:22px;padding:16px;border:1px solid #cadccf;border-radius:18px;background:#edf3ef}.poster-preview canvas{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 10px 28px #0c2d2320}.poster-library-card img{display:block;width:100%;max-height:260px;object-fit:contain;background:#eff5f0;margin-bottom:14px;border-radius:12px}.poster-library-card{min-width:0}.poster-publish-preview{display:block;width:min(280px,100%);max-height:330px;object-fit:contain;margin:16px 0;border:1px solid #c8dace;border-radius:12px}.marketing-operator-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.marketing-operator-form label{flex:1;min-width:180px}#posterStudio input[type=color]{height:46px;padding:6px}#posterStudio input[type=file]{max-width:100%;}@media(max-width:900px){.poster-studio-layout{grid-template-columns:1fr}.poster-preview{position:static;order:-1;max-width:520px;width:100%;margin:auto}}

/* Compact work address book in the shared menu. */
.ab-root{position:relative;flex:0 0 44px;display:inline-flex}.ab-panel{position:fixed;z-index:1400;overflow:auto;overscroll-behavior:contain;width:min(460px,calc(100vw - 24px));padding:18px;border:1px solid #cbded2;border-radius:18px;color:#1c4230;background:#fff;box-shadow:0 18px 65px #0d342b24;text-align:left}.ab-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ab-heading strong{font-size:1rem}.ab-heading small{display:block;font-size:.72rem;color:#6a7d70;margin-top:4px}.ab-close{border:0;border-radius:8px;background:#f0f6f2;color:#245138;width:32px;height:32px;font-size:23px;line-height:1;cursor:pointer}.ab-search{margin:0 0 12px}.ab-search input{width:100%;}.ab-message,.ab-footnote,.ab-empty{font-size:.74rem;line-height:1.6;color:#61776a}.ab-footnote{margin:14px 0 0}.ab-message:empty{display:none}.ab-group{border-top:1px solid #e1ebe5}.ab-group>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 4px;cursor:pointer;list-style:none;font-size:.82rem;font-weight:700}.ab-group>summary:before{content:'›';font-size:22px;line-height:1;color:#7f987f}.ab-group[open]>summary:before{transform:rotate(90deg)}.ab-group>summary>span:first-of-type{flex:1}.ab-group>summary::-webkit-details-marker{display:none}.ab-count{font-size:.7rem;font-weight:500;color:#718b79}.ab-contact{padding:13px 4px;border-top:1px solid #edf2ee}.ab-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ab-name{font:inherit;font-size:.82rem;font-weight:700;line-height:1.5;color:#185539;text-decoration:none;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;overflow-wrap:anywhere}.ab-name:hover{text-decoration:underline}.ab-role,.ab-office{font-size:.71rem;line-height:1.55;margin:4px 0;color:#67806d}.ab-office{color:#7d765b}.ab-contact-link{display:block;width:fit-content;max-width:100%;font-size:.75rem;line-height:1.6;color:#2b6750;overflow-wrap:anywhere;text-decoration:none;margin:4px 0}.ab-contact-link:hover{text-decoration:underline}.ab-calendar{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-width:34px;min-height:34px;padding:6px;border:1px solid #d7e3da;border-radius:9px;background:#f3f8f4;color:#2c6948;text-decoration:none}.ab-calendar:hover{border-color:#bda15c;background:#f8f6eb}.ab-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;font-size:.72rem}.ab-pagination button{padding:7px 10px;border:1px solid #d8e5dc;background:#f5f9f6;border-radius:8px;color:#27553e;cursor:pointer}.ab-pagination button:disabled{opacity:.45;cursor:default}.ab-person{width:min(480px,calc(100vw - 28px));max-height:85vh;overflow:auto}.ab-person .ab-contact-link{font-size:.9rem;margin:12px 0}.ab-person .ab-role,.ab-person .ab-office{font-size:.85rem}.ab-person h2{padding-right:24px}.ab-results[aria-busy=true]{opacity:.6}.ab-name:focus-visible,.ab-calendar:focus-visible,.ab-group>summary:focus-visible,.ab-close:focus-visible{outline:3px solid #8bb69b;outline-offset:3px}@media print{.ab-root,.ab-person{display:none!important}}
.ab-results{max-height:min(42vh,360px);overflow:auto;overscroll-behavior:contain;padding-right:3px}

/* Public trial page: an open feature directory between the teal sections. */
.platform-public .bc-showcase { padding:38px 8px 20px; }
.bc-showcase-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px; }
.bc-showcase-kicker { margin:0 0 14px;color:var(--ink2);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase; }
.bc-showcase-heading h2 { margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;letter-spacing:-.045em;color:var(--ink); }
.bc-showcase-heading h2 span { color:var(--ink2); }
.bc-showcase-heading > p { margin:0 0 4px;font-size:.95rem;line-height:1.8;color:var(--muted); }
.bc-feature-directory { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line); }
.bc-feature-link { appearance:none;position:relative;display:flex;align-items:center;gap:13px;min-width:0;min-height:108px;margin:0;padding:22px 14px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:none;transition:background .18s ease,color .18s ease; }
.bc-feature-symbol { display:grid;place-items:center;flex:0 0 42px;width:42px;height:46px;color:var(--ink2);position:relative; }
.bc-feature-symbol::after { content:'';position:absolute;bottom:0;width:13px;height:2px;background:var(--amber);border-radius:2px;transition:width .18s ease; }
.bc-feature-symbol svg { width:28px;height:28px; }
.bc-feature-label { font-size:.9rem;font-weight:700;line-height:1.4; }
.bc-feature-arrow { margin-left:auto;color:var(--ink2);opacity:.4;font-size:1.05rem; }
.bc-feature-link:hover { background:rgba(26,87,73,.055);color:var(--ink2); }
.bc-feature-link:hover .bc-feature-arrow { opacity:1; }
.bc-feature-link:hover .bc-feature-symbol::after { width:26px; }
.bc-feature-link:focus-visible,.bc-feature-close:focus-visible { outline:3px solid var(--amber);outline-offset:-3px; }
.bc-showcase-foot { display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:.85rem;line-height:1.6; }
.bc-showcase-foot > span { color:var(--muted); }
.bc-showcase-foot a { color:var(--ink2);font-weight:700;text-decoration:none; }
.bc-showcase-foot a:hover { text-decoration:underline; }
.bc-feature-dialog { box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:40px;border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #052c3555; }
.bc-feature-dialog:not([open]) { display:none; }
.bc-feature-dialog::backdrop { background:rgba(5,31,34,.65);backdrop-filter:blur(5px); }
.bc-feature-close { position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.5rem;cursor:pointer; }
.bc-feature-detail-icon { display:grid;place-items:center;width:64px;height:64px;margin:26px 0 18px;border-radius:18px;background:var(--ink);color:var(--amber); }
.bc-feature-detail-icon svg { width:34px;height:34px; }
.bc-feature-dialog h2 { margin:0 0 16px;font-size:1.85rem;letter-spacing:-.035em;line-height:1.2; }
.bc-feature-dialog #bcFeatureDescription { font-size:1rem;line-height:1.85;margin:0; }
.bc-feature-dialog .bc-feature-note { margin:20px 0 26px;font-size:.78rem;line-height:1.65;color:var(--muted); }
@media(min-width:1051px){.bc-feature-link:not(:nth-of-type(4n+1)){padding-left:22px;}}
@media(max-width:1050px){.bc-feature-directory{grid-template-columns:repeat(3,minmax(0,1fr));}.bc-feature-link{padding:20px 10px;}}
@media(max-width:760px){.bc-feature-directory{grid-template-columns:repeat(2,minmax(0,1fr));}.bc-showcase-heading{display:block;}.bc-showcase-heading>p{margin-top:20px;}.bc-feature-link{min-height:94px;gap:9px;}.bc-feature-label{font-size:.84rem;}.bc-showcase-foot{flex-direction:column;gap:8px;}}
@media(max-width:380px){.bc-feature-link{padding:18px 4px;}.bc-feature-symbol{flex-basis:32px;width:32px;}.bc-feature-arrow{display:none;}.bc-feature-label{font-size:.78rem;}.bc-feature-dialog{padding:32px 24px;}}
@media(prefers-reduced-motion:reduce){.bc-feature-link,.bc-feature-symbol::after{transition:none;}}
@media(prefers-color-scheme:dark){.bc-showcase-heading h2,.bc-feature-link,.bc-feature-dialog,.bc-feature-close{color:var(--text);}.bc-showcase-kicker,.bc-showcase-heading h2 span,.bc-feature-symbol,.bc-feature-arrow,.bc-showcase-foot a{color:#b9d5cb;}.bc-feature-link:hover{background:#ffffff08;color:#fffdf8;}}

/* Platform company management: fixed navigation, one focused panel at a time. */
.platform-console .platform-dialog.pa-company-dialog { width:min(1160px,calc(100vw - 32px));height:min(840px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;overflow:hidden; }
.pa-company-dialog[open] { display:flex;flex-direction:column; }
.pa-company-header { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid var(--pa-border);flex-shrink:0;background:var(--pa-surface); }
.pa-company-header h2 { margin:0;line-height:1.25;font-size:1.6rem;overflow-wrap:anywhere; }
.pa-company-header .pa-eyebrow { margin:0 0 6px; }
.platform-console .pa-company-dialog .pa-company-header .platform-actions {flex-wrap:nowrap;margin:0;}
.platform-console .pa-company-dialog .pa-company-header .close { position:static;flex-shrink:0; }
.pa-company-dialog > #platformCompanyMessage { flex-shrink:0;border-radius:0;margin:0;padding:12px 28px; }
.pa-company-layout { display:grid;grid-template-columns:190px minmax(0,1fr);flex:1;min-height:0; }
.pa-company-menu { display:flex;flex-direction:column;gap:7px;padding:22px 14px;background:#f0f5f2;border-right:1px solid var(--pa-border);overflow:auto; }
.pa-company-menu > button { appearance:none;display:flex;align-items:center;gap:12px;flex-shrink:0;width:100%;min-height:46px;padding:11px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--pa-brand);font:600 .9rem/1.4 'Segoe UI',system-ui,sans-serif;text-align:left;cursor:pointer; }
.pa-company-menu > button > span { display:grid;place-items:center;width:22px;font-size:1.3rem;line-height:1; }
.pa-company-menu svg,.pa-backup-indicator svg { width:21px;height:21px;display:block; }
.pa-company-menu > button:hover { background:#e2ebe5; }
.pa-company-menu > button[aria-selected=true] { background:var(--pa-brand);color:#fffdf8;box-shadow:0 4px 10px #163e3014; }
.pa-company-menu > button[aria-selected=true] > span { color:#f2b134; }
.pa-company-content { min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px; }
.platform-dialog .pa-company-panel { border:0;padding:0;margin:0; }
.platform-dialog .pa-company-panel[hidden],.pa-company-menu > button[hidden] { display:none !important; }
.platform-dialog .pa-company-panel h3 { margin:0 0 20px; }
.platform-dialog .pa-company-panel #platformNotesForm { border:0;padding:0;margin:0; }
.platform-dialog .pa-company-panel #platformSupport { border:0;border-radius:0;padding:0;margin:0;background:transparent; }
.pa-company-panel #platformCompanyInfo { display:grid;gap:12px; }
.pa-company-panel #platformCompanyInfo p { margin:0;overflow-wrap:anywhere; }
.pa-company-panel label { display:flex;flex-direction:column;gap:8px; }
.pa-company-panel textarea {width:100%;resize:vertical;}
.pa-company-panel #paBackupForceForm { display:grid;gap:12px;margin:24px 0 0; }
.platform-dialog .pa-company-panel #paBackupForceForm .platform-actions {margin:0;}
.pa-backup-indicator { display:inline-flex;align-items:center;gap:9px;min-height:38px;max-width:230px;padding:8px 12px;border:1px solid var(--pa-border);border-radius:24px;background:#f0f5f2;color:var(--pa-brand);font:700 .78rem/1.4 'Segoe UI',system-ui,sans-serif;cursor:pointer; }
.pa-backup-indicator > span:first-child { display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:1.2rem; }
.pa-backup-indicator[data-state=healthy] { color:#17623f;background:#eaf5ee;border-color:#b1d5bd; }
.pa-backup-indicator[data-state=running],.pa-backup-indicator[data-state=queued],.pa-backup-indicator[data-state=pending] { color:#78541d;background:#fff7e6;border-color:#ead4a8; }
.pa-backup-indicator[data-state=failed],.pa-backup-indicator[data-state=overdue],.pa-backup-indicator[data-state=stalled],.pa-backup-indicator[data-state=unknown] { color:#a13232;background:#fff0ef;border-color:#e6bfbb; }
.pa-backup-health { display:grid;gap:7px;padding:20px;border:1px solid var(--pa-border);border-left:4px solid #9aada3;border-radius:12px;background:#f6f9f7; }
.pa-backup-health strong { font-size:1.15rem; }
.pa-backup-health[data-state=healthy] { border-left-color:#24834c; }
.pa-backup-health[data-state=running],.pa-backup-health[data-state=queued],.pa-backup-health[data-state=pending] { border-left-color:#c18d24; }
.pa-backup-health[data-state=failed],.pa-backup-health[data-state=stalled],.pa-backup-health[data-state=overdue] { border-left-color:#ba4040; }
.pa-backup-health code,.pa-attention-row code { font-size:.77rem;overflow-wrap:anywhere; }
.pa-backup-alert-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--pa-border);padding-top:24px;margin-top:24px; }
.pa-backup-alert-heading h3 { margin:0; }
#paBackupAlertCount[data-state=failed] { background:#fbe9e6;color:#9c3333; }
#paBackupAlertCount[data-state=healthy] { background:#e8f3eb;color:#1c623d; }
@media(max-width:750px){.platform-console .platform-dialog.pa-company-dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);}.pa-company-header{padding:18px;align-items:flex-start;}.pa-company-header h2{font-size:1.25rem;}.pa-company-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);}.pa-company-menu{flex-direction:row;gap:6px;padding:10px;border-right:0;border-bottom:1px solid var(--pa-border);}.pa-company-menu>button{width:auto;white-space:nowrap;}.pa-company-content{padding:22px 18px;}.pa-backup-indicator{padding:7px;}.pa-backup-indicator #paBackupHealthLabel{display:none;}.pa-company-header .pa-eyebrow{font-size:.61rem;}}

/* BizCore-to-customer support: isolated floating widget and platform inbox. */
.bc-chat-widget { position:fixed;right:22px;bottom:20px;z-index:40;font:14px/1.55 'Segoe UI',system-ui,sans-serif;color:#173e35; }
.bc-chat-launch { display:flex;align-items:center;gap:10px;min-height:52px;padding:13px 19px;border:1px solid #406f60;border-radius:30px;background:#14343b;color:#fffdf8;box-shadow:0 8px 28px #14343b35;font:700 .85rem/1.4 'Segoe UI',system-ui,sans-serif;cursor:pointer; }
.bc-chat-launch svg { color:#f2b134; }
#bcChatUnread { padding:3px 7px;background:#f2b134;color:#14343b;border-radius:12px;font-size:.68rem; }
.bc-chat-panel { position:absolute;right:0;bottom:66px;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 110px);display:flex;flex-direction:column;border:1px solid #d1dfd7;border-radius:20px;background:#fffdf8;box-shadow:0 20px 70px #082f3240;overflow:hidden; }
.bc-chat-panel[hidden],.bc-chat-widget [hidden],.bc-chat-admin [hidden] { display:none !important; }
.bc-chat-panel > header { display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;background:#14343b;color:#fffdf8;border-top:3px solid #f2b134; }
.bc-chat-panel h2 { margin:3px 0 0;font:700 1.15rem/1.4 'Segoe UI',system-ui,sans-serif; }
.bc-chat-panel header small { color:#bfd9ce;font-size:.72rem; }
#bcChatHide { display:grid;place-items:center;width:34px;height:34px;background:#ffffff10;color:#fffdf8;border:1px solid #ffffff40;border-radius:10px;font-size:1.5rem;cursor:pointer; }
.bc-chat-scroll { min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px; }
.bc-chat-notice { padding:12px 14px;margin:0 0 18px;border:1px solid #d7e4dc;background:#eff5f0;border-radius:12px;font-size:.8rem; }
#bcChatWelcome { font-size:1rem;font-weight:700;margin-bottom:16px; }
.bc-chat-widget label,.bc-chat-admin form > label,.bc-chat-category-row label { display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:.8rem;font-weight:600; }
.bc-chat-widget input,.bc-chat-widget textarea {box-sizing:border-box;width:100%;min-width:0;}
.bc-chat-widget textarea {resize:vertical;}
.bc-chat-categories { display:flex;flex-wrap:wrap;gap:8px; }
.bc-chat-choice { border:1px solid #bdcfc4;border-radius:20px;padding:9px 12px;background:transparent;color:#214b3e;font:600 .78rem/1.4 'Segoe UI',system-ui,sans-serif;cursor:pointer; }
.bc-chat-choice[aria-pressed=true] { background:#14343b;border-color:#14343b;color:#fffdf8; }
.bc-chat-actions {display:flex;margin-top:14px;}
.bc-chat-privacy { font-size:.69rem;color:#5c7267;margin:18px 0 0; }
#bcChatError { color:#a42e2e;font-size:.8rem;overflow-wrap:anywhere; }
.bc-chat-messages { display:flex;flex-direction:column;gap:13px; }
.bc-chat-bubble { max-width:95%;padding:12px 14px;border:1px solid #d8e3dc;border-radius:14px;background:#edf4ee;color:#153d30;overflow-wrap:anywhere; }
.bc-chat-bubble strong { font-size:.71rem; }
.bc-chat-bubble p { white-space:pre-wrap;margin:5px 0 8px;line-height:1.7;font-size:.86rem; }
.bc-chat-bubble small { font-size:.64rem;color:#64766c; }
.bc-chat-team { align-self:flex-start;background:#14343b;color:#fffdf8;border-color:#14343b; }
.bc-chat-team small { color:#c3d7cd; }
.bc-chat-customer { align-self:flex-end; }
.bc-chat-admin { max-width:1400px; }
.bc-chat-desk { display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start; }
.bc-chat-list { max-height:760px;overflow:auto; }
.bc-chat-list h2 { font-size:1.2rem; }
.bc-chat-list > p { font-size:.78rem; }
.bc-chat-thread { display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;padding:14px;margin:10px 0;border:1px solid #d4e0d8;border-radius:12px;background:transparent;color:#214b3e;font:inherit;cursor:pointer; }
.bc-chat-thread span { font-size:.76rem; }
.bc-chat-thread small { font-size:.68rem; }
.bc-chat-thread[aria-pressed=true] { background:#e9f2eb;border-color:#45785c; }
.bc-chat-conversation { min-width:0; }
#chatAdminMessages { max-height:440px;overflow:auto;padding:12px 0;overscroll-behavior:contain; }
.bc-chat-admin textarea {width:100%;resize:vertical;}
.bc-chat-admin .bc-chat-available,.bc-chat-admin .bc-chat-check { display:flex;flex-direction:row;align-items:center;gap:10px; }
.bc-chat-available input,.bc-chat-check input {width:18px;height:18px;accent-color:#1f6345;}
.bc-chat-category-row { display:grid;grid-template-columns:130px 170px minmax(0,1fr) auto;gap:12px;align-items:end;border-top:1px solid #d8e3dc;padding:15px 0; }
.bc-chat-category-row label { margin:0; }
.bc-chat-category-row input {min-width:0;width:100%;}
.bc-chat-admin #chatCounts { padding:10px;font-size:.85rem;color:#5c7267; }
.bc-chat-admin #chatEtaForm { align-items:end;margin:24px 0; }
@media(max-width:850px){.bc-chat-desk{grid-template-columns:250px minmax(0,1fr);}.bc-chat-category-row{grid-template-columns:1fr 1fr;}.bc-chat-category-row label:nth-child(3){grid-column:1/-1;}}
@media(max-width:650px){.bc-chat-desk{grid-template-columns:minmax(0,1fr);}.bc-chat-list{max-height:310px;}.bc-chat-widget{right:14px;bottom:14px;}.bc-chat-launch{padding:13px 16px;}.bc-chat-panel{bottom:64px;}.bc-chat-category-row{grid-template-columns:minmax(0,1fr);}.bc-chat-category-row label:nth-child(3){grid-column:auto;}.bc-chat-conversation{padding:18px;}}
.bc-chat-widget[data-public="0"] #bcChatStart > label,.bc-chat-widget[data-public="0"] #bcChatStart > button[type="submit"] { display:none; }

/* Platform administration: one icon side menu and focused pages. */
.pa-console-layout { display:grid;grid-template-columns:238px minmax(0,1fr);gap:28px;max-width:1700px;margin:0 auto;padding:0 28px 32px;align-items:start; }
.platform-console .pa-console-layout > .platform-admin { width:100%;min-width:0;max-width:none;padding:0 0 40px;margin:0; }
.pa-sidebar { position:sticky;top:24px;min-width:0;border-radius:18px;background:#14343b;color:#fffdf8;box-shadow:0 12px 32px #14343b13;border:1px solid #315b58;border-top:3px solid #f2b134;overflow:hidden; }
.pa-side-links { padding:22px 13px 14px; }
.pa-side-intro { padding:0 12px 19px;border-bottom:1px solid #ffffff20;margin-bottom:13px; }
.pa-side-kicker { display:block;margin-bottom:10px;font-size:.6rem;letter-spacing:.18em;color:#f2b134;font-weight:800; }
.pa-side-intro strong { display:block;font-size:.97rem;line-height:1.5; }
.pa-side-intro p { margin:8px 0 0;color:#bfd4cc;font-size:.71rem;line-height:1.7; }
.pa-side-links nav { display:flex;flex-direction:column;gap:7px; }
.pa-side-links nav > a { display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 13px;border:1px solid transparent;border-radius:11px;text-decoration:none;color:#dce9e2;font-size:.8rem;font-weight:600;line-height:1.5; }
.pa-side-links nav > a:hover { background:#ffffff0c;color:#fffdf8; }
.pa-side-links nav > a[aria-current=page] { background:#f4efe6;color:#14343b;border-color:#fffdf8;box-shadow:0 4px 14px #001b201a; }
.pa-side-icon { flex:0 0 22px;display:grid;place-items:center;width:22px;height:24px;color:#dfb862; }
.pa-side-icon svg { width:21px;height:21px; }
.pa-side-links nav > a[aria-current=page] .pa-side-icon { color:#866014; }
.pa-side-foot { margin:24px 12px 4px;padding-top:17px;border-top:1px solid #ffffff20;color:#adc8bb;font-size:.68rem;line-height:1.8; }
.pa-side-badge { margin-left:auto;flex-shrink:0;padding:1px 7px;min-width:20px;border-radius:20px;background:#f2b134;color:#14343b;font-size:.65rem;text-align:center; }
.pa-side-badge[hidden] { display:none; }
.pa-sidebar-toggle { display:none;align-items:center;gap:12px;width:100%;padding:15px 17px;border:0;background:transparent;color:#fffdf8;font:600 .85rem/1.4 'Segoe UI',system-ui,sans-serif;text-align:left;cursor:pointer; }
.pa-console-layout #paCompanies,.pa-console-layout #paAttention,.pa-console-layout #paPayments { scroll-margin-top:24px; }
.pa-console-layout .bc-chat-desk { grid-template-columns:280px minmax(0,1fr); }
.pa-activity-search { display:flex;flex-direction:column;gap:8px;max-width:480px;margin:22px 0;font-size:.85rem;font-weight:600; }
.platform-console .pa-console-layout #chatSettings[hidden],.platform-console .pa-console-layout #chatInbox[hidden] { display:none !important; }
@media(max-width:1100px){.pa-console-layout{grid-template-columns:210px minmax(0,1fr);gap:22px;padding:0 22px 26px;}.pa-side-links nav>a{padding:11px 10px;font-size:.76rem;}.pa-console-layout .bc-chat-desk{grid-template-columns:minmax(0,1fr);}.pa-console-layout .bc-chat-list{max-height:330px;}.pa-console-layout .pa-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:780px){.pa-console-layout{grid-template-columns:minmax(0,1fr);gap:20px;padding:0 16px 24px;}.pa-sidebar{position:static;border-radius:14px;}.pa-sidebar-toggle{display:flex;}.pa-sidebar-enhanced:not(.is-open) .pa-side-links{display:none;}.pa-side-links{padding:8px 14px 16px;}.pa-side-intro,.pa-side-foot{display:none;}.pa-side-links nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}.pa-side-links nav>a{min-height:48px;font-size:.76rem;}.pa-side-links nav>a[aria-current=page]{background:#f4efe6;}.pa-console-layout .platform-admin>.company-heading{padding:24px;}.pa-console-layout .platform-fields{grid-template-columns:minmax(0,1fr);}}
@media(max-width:400px){.pa-side-links nav{grid-template-columns:minmax(0,1fr);}.pa-console-layout{padding-left:12px;padding-right:12px;}}
.platform-console.pa-has-sidebar .platform-nav { max-width:1700px;padding:24px 28px; }
@media(max-width:780px){.platform-console.pa-has-sidebar .platform-nav{padding:20px 16px;}.pa-sidebar:not(.pa-sidebar-enhanced) .pa-sidebar-toggle{display:none;}}

/* Explicit backup lifecycle and automatic-worker diagnostics. */
.pa-backup-timeline { display:grid;grid-template-columns:minmax(135px,.8fr) minmax(0,1.5fr);gap:10px 18px;margin:16px 0;padding:18px 0;border-top:1px solid #d8e4dc;border-bottom:1px solid #d8e4dc;font-size:.81rem;line-height:1.6; }
.pa-backup-timeline dt { color:#5b7165;font-weight:600; }
.pa-backup-timeline dd { margin:0;overflow-wrap:anywhere; }
.pa-backup-health > p { margin:4px 0;font-size:.84rem;line-height:1.7; }
.pa-backup-worker-note { padding:12px 14px;background:#fffdf8;border:1px solid #d7e2db;border-radius:10px;color:#335748; }
#paBackupMode { display:block;flex-basis:100%;font-size:.8rem;line-height:1.7; }
@media(max-width:550px){.pa-backup-timeline{grid-template-columns:minmax(0,1fr);gap:3px;}.pa-backup-timeline dd{margin-bottom:10px;}}


/* Signup story: fluid video, shrinkable grid and responsive controls. */
.platform-public { grid-template-columns:minmax(0,1fr); }
.platform-public > .bc-story-showcase { width:100%;max-width:100%;min-width:0;padding:32px 0 12px; }
.bc-story-showcase *, .bc-story-heading > *, .bc-story-controls > * { min-width:0; }
.bc-story-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px; }
.bc-story-heading h2 { margin:0;color:var(--ink);font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.15;letter-spacing:-.035em; }
.bc-story-heading h2 span { color:var(--ink2); }
.bc-story-heading p { color:var(--muted); }
.bc-story-heading .bc-showcase-kicker { color:var(--ink2); }
.bc-story-duration { color:var(--ink2);font-size:.7rem;font-weight:800;letter-spacing:.1em; }
.bc-story-player { width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden; }
.bc-story-player video { display:block;width:100%;max-width:100%;min-width:0;height:auto;aspect-ratio:16/9;object-fit:contain;background:#14343b; }
.bc-story-player-foot { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;padding:14px 18px;font-size:.78rem;color:var(--muted); }
.bc-story-player-foot p { margin:0; }
.bc-story-download, .bc-story-trial { color:var(--ink2);font-weight:700;text-decoration:none;overflow-wrap:anywhere; }
.bc-story-download:hover, .bc-story-trial:hover { text-decoration:underline; }
.bc-story-controls, .bc-story-controls > div { display:flex;align-items:center;flex-wrap:wrap;gap:12px; }
.bc-story-controls { justify-content:space-between;margin:20px 0; }
.bc-story-chapters { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0; }
.bc-story-chapters button { min-width:0;max-width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-family:inherit;font-size:.78rem;font-weight:600;line-height:1.5;text-align:left;cursor:pointer;white-space:normal;overflow-wrap:anywhere; }
.bc-story-chapters button span { color:var(--ink2);font-weight:800;margin-right:6px; }
.bc-story-chapters button[aria-current="step"] { border-color:var(--ink2);box-shadow:inset 3px 0 0 var(--amber); }
.bc-story-chapters button:hover { border-color:var(--ink2); }
.bc-story-chapters button:focus-visible, .bc-story-showcase a:focus-visible { outline:3px solid var(--amber);outline-offset:3px; }
.bc-story-transcript { margin:20px 0;color:var(--muted);font-size:.86rem;overflow-wrap:anywhere; }
.bc-story-transcript summary { cursor:pointer;font-weight:700;color:var(--ink2); }
.bc-story-transcript li { margin:12px 0; }
@media(max-width:760px) {
 .bc-story-heading { display:block; }
 .bc-story-heading > div + div { margin-top:20px; }
 .bc-story-chapters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bc-story-controls { align-items:flex-start;flex-direction:column; }
}
@media(max-width:440px) {
 .platform-public > .bc-story-showcase { padding-top:20px; }
 .bc-story-player { border-radius:12px; }
 .bc-story-player-foot { padding:12px;align-items:flex-start;flex-direction:column;gap:8px; }
 .bc-story-controls > div { width:100%; }
 .bc-story-controls .btn {flex:1 1 120px;white-space:normal;}
 .bc-story-chapters { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-color-scheme:dark) {
 .bc-story-heading h2 { color:var(--text); }
 .bc-story-heading h2 span, .bc-story-heading .bc-showcase-kicker, .bc-story-duration,
 .bc-story-download, .bc-story-trial, .bc-story-chapters button span, .bc-story-transcript summary { color:#b9d5cb; }
}

/* Platform company overview: isolated health and error diagnostics. */
.pa-company-health { min-width:0;margin:18px 0 24px;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--card); }
.pa-company-health .pa-section-heading { gap:14px;flex-wrap:wrap; }
.pa-company-health h4 { margin:0; }
.pa-health-identities { margin:16px 0 20px; }
.pa-health-pair { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--line); }
.pa-health-pair > div { display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere; }
.pa-health-pair > div:last-child { text-align:right;align-items:flex-end; }
.pa-health-pair span,.pa-health-tile > span { font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--muted); }
.pa-health-pair strong,.pa-health-pair a { font-size:.9rem;color:var(--text); }
.pa-health-pair a { font-weight:600;text-decoration:underline;text-underline-offset:3px; }
.pa-health-status-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.pa-health-tile { min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px; }
.pa-health-tile > span,.pa-health-state { display:block; }
.pa-health-state { margin-top:8px;font-size:.95rem;color:var(--muted); }
.pa-health-state::before { content:'';display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:currentColor; }
.pa-health-state[data-state="healthy"],.pa-health-state[data-state="complete"] { color:#28724d; }
.pa-health-state[data-state="queued"],.pa-health-state[data-state="running"],.pa-health-state[data-state="pending"],.pa-health-state[data-state="checking"] { color:#996315; }
.pa-health-state[data-state="failed"],.pa-health-state[data-state="unavailable"],.pa-health-state[data-state="unknown"],.pa-health-state[data-state="overdue"],.pa-health-state[data-state="stalled"] { color:#ad443b; }
.pa-health-tile p,#paHealthChecked,#paHealthErrorCounts { margin:8px 0;font-size:.76rem;line-height:1.65;overflow-wrap:anywhere; }
.pa-health-link { border:0;padding:0;background:transparent;color:var(--ink2);font-family:inherit;font-size:.77rem;font-weight:600;line-height:1.6;text-decoration:underline;text-underline-offset:3px;cursor:pointer; }
.pa-health-filter { display:flex;flex-direction:column;gap:5px;max-width:100%;font-size:.73rem;color:var(--muted); }
.pa-health-filter select {max-width:100%;width:100%;min-width:0;}
.pa-health-errors { display:grid;gap:10px;margin-top:14px; }
.pa-health-error { min-width:0;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:.8rem;overflow-wrap:anywhere; }
.pa-health-error summary { display:flex;align-items:center;flex-wrap:wrap;gap:8px;cursor:pointer;list-style:revert; }
.pa-health-error summary > span:nth-child(2) { flex:1 1 180px; }
.pa-health-error summary small { font-size:.7rem;color:var(--muted); }
.pa-health-severity { padding:2px 7px;border:1px solid currentColor;border-radius:6px;font-size:.68rem;font-weight:700;color:#ad443b; }
.pa-health-severity[data-severity="warning"] { color:#996315; }
.pa-health-severity[data-severity="notice"] { color:var(--muted); }
.pa-health-error dl { display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);gap:7px 16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line); }
.pa-health-error dt { color:var(--muted); }.pa-health-error dd { margin:0; }
.pa-company-health .pa-help { font-size:.72rem;line-height:1.7; }
@media(max-width:650px){.pa-company-health{padding:15px}.pa-health-status-grid{grid-template-columns:minmax(0,1fr)}.pa-health-pair{gap:12px}.pa-health-pair strong,.pa-health-pair a{font-size:.8rem}.pa-health-error dl{grid-template-columns:minmax(0,1fr);gap:3px}.pa-health-error dd{margin-bottom:7px}}
@media(prefers-color-scheme:dark){.pa-health-state[data-state="healthy"],.pa-health-state[data-state="complete"]{color:#8bc9a7}.pa-health-state[data-state="queued"],.pa-health-state[data-state="running"],.pa-health-state[data-state="pending"],.pa-health-state[data-state="checking"],.pa-health-severity[data-severity="warning"]{color:#edc471}.pa-health-state[data-state="failed"],.pa-health-state[data-state="unavailable"],.pa-health-state[data-state="unknown"],.pa-health-state[data-state="overdue"],.pa-health-state[data-state="stalled"],.pa-health-severity[data-severity="error"]{color:#f3a399}.pa-health-link{color:#bddacb}}


/* Direct document email: uses the shared dialog and button system. */
.document-email-dialog { width:min(800px,calc(100vw - 32px));max-width:calc(100vw - 32px); }
.document-email-dialog .sales-form-grid {margin:20px 0;}
.document-email-dialog .po-actions {flex-wrap:wrap;}
.document-email-dialog .muted { font-size:.8rem;line-height:1.65; }
.document-email-history { display:grid;gap:10px;margin:16px 0; }
.document-email-history .sales-ledger-row { display:block;padding:14px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere; }
.document-email-history p { margin:5px 0; }.document-email-history small { color:var(--muted); }
@media(max-width:520px){.document-email-dialog{padding:20px 16px}.document-email-dialog .sales-form-grid{grid-template-columns:minmax(0,1fr);}.document-email-dialog .po-actions>.btn{flex:1 1 140px;}}
@media print{.document-email-dialog{display:none!important}}

/* Company email settings: shared palette, balanced responsive controls. */
.company-mail-panel .company-mail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:24px 0}
.company-mail-grid label{display:flex;flex-direction:column;gap:8px;min-width:0;font-weight:600}
.company-mail-grid input,.company-mail-grid select{width:100%;box-sizing:border-box;}
.company-mail-grid small{font-size:.8rem;font-weight:400;line-height:1.5;opacity:.75}
.company-mail-status{padding:16px 18px;border:1px solid #b8d9cf;border-radius:12px;background:#eef7f3;color:#154f43;overflow-wrap:anywhere}
.company-mail-actions{display:flex;flex-wrap:wrap;align-items:center;margin:24px 0;}
@media(max-width:640px){.company-mail-panel .company-mail-grid{grid-template-columns:1fr}.company-mail-actions .btn{flex:1 1 180px;}}

/* Nested record creation: preserve the originating form in its existing dialog. */
.bc-workflow-dialog{width:min(1100px,96vw);max-width:96vw;height:min(880px,92dvh);max-height:92dvh;padding:0;border:1px solid #b8d9cf;border-radius:18px;background:#f5f8f7;box-shadow:0 28px 90px #102e3266;overflow:hidden}
.bc-workflow-dialog[open]{display:flex;flex-direction:column}
.bc-workflow-dialog::backdrop{background:#102e3280;backdrop-filter:blur(3px)}
.bc-workflow-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;background:#14343b;color:#fff;flex-shrink:0}
.bc-workflow-heading h2{margin:0;font-size:1.2rem;color:inherit}
.bc-workflow-info{margin:0;padding:10px 22px;font-size:.9rem;color:#35534c;background:#eef7f3;flex-shrink:0}
.bc-workflow-dialog iframe{width:100%;flex:1;min-height:0;border:0;background:#f5f8f7}
.bc-workflow-add{margin:6px!important;white-space:normal}
.bc-workflow-child>.top,.bc-workflow-child>header,.bc-workflow-child>.bc-app-footer{display:none!important}
.bc-workflow-child main>:not(dialog):not(.msg){display:none!important}.bc-workflow-child main{padding:0!important;margin:0!important}
.bc-workflow-child dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
@media(max-width:600px){.bc-workflow-heading{padding:12px;align-items:flex-start}.bc-workflow-heading h2{font-size:1rem}.bc-workflow-info{padding:10px 12px}.bc-workflow-dialog{width:98vw;max-width:98vw;height:96dvh;max-height:96dvh}}
.bc-app .bc-workflow-heading .btn.bc-workflow-return:focus-visible{outline:3px solid #f2b134;outline-offset:3px;}

/* Private quote response: the same company palette and comfortable mobile controls. */
.quote-response-page{padding:32px 16px;min-height:100dvh;background:var(--paper,#f4f7f5)}
.quote-response-card{max-width:760px;margin:0 auto;padding:clamp(20px,4vw,40px);border-top:5px solid #14343b}
.quote-response-card h1{margin-top:0}.quote-response-card form{margin-top:24px}.quote-response-card label{display:flex;flex-direction:column;gap:8px;margin:18px 0}
.quote-response-card input[name=name]{width:100%;box-sizing:border-box;}.quote-response-card .quote-response-confirm{flex-direction:row;align-items:flex-start;gap:12px;line-height:1.6}
.quote-response-card .quote-response-confirm input{width:20px;min-width:20px;height:20px;margin-top:3px;accent-color:#14343b;}
.quote-response-actions{display:flex;flex-wrap:wrap;margin:24px 0;}

/* Invoice guidance is informational; reserve red banners for actual errors. */
.bc-app .invoice-issue-panel .msg.info,.bc-app #invoicesMessage.info{display:block;background:#edf5f3;color:#244d43;border:1px solid #c5dcd3;padding:13px 16px}
.invoice-issue-panel .invoice-field-help{display:block;margin-top:7px;font-size:.78rem;font-weight:400;line-height:1.6;color:var(--muted,#61756c)}

/* Consistent field explanations and intentional below-cost pricing. */
.bc-field-help{display:block!important;margin:7px 0 3px;font-size:.8rem;font-weight:400;line-height:1.5;color:#942b24;overflow-wrap:anywhere}
input.bc-field-invalid,select.bc-field-invalid,textarea.bc-field-invalid{border-color:#b54c3d!important;box-shadow:0 0 0 2px #b54c3d18}
.bc-price-dialog{width:min(760px,94vw);max-width:94vw;max-height:90dvh;overflow:auto;padding:clamp(20px,4vw,32px);border:1px solid #c5d8ce;border-top:5px solid #c49739;border-radius:16px;color:#14343b;background:#fffdf8;box-shadow:0 24px 80px #14343b44}
.bc-price-dialog::backdrop{background:#102e3280;backdrop-filter:blur(3px)}.bc-price-dialog h2{margin-top:0}.bc-price-list{display:grid;gap:12px;margin:22px 0}.bc-price-row{padding:14px 16px;border:1px solid #e3d4b0;background:#fff6df;border-radius:10px}.bc-price-row p{margin:6px 0;line-height:1.5}.bc-price-shortfall{font-weight:600;color:#81551c}
.bc-price-dialog label{display:flex;flex-direction:column;gap:8px;margin:18px 0}.bc-price-dialog textarea{width:100%;box-sizing:border-box;}.bc-price-dialog .bc-price-confirm{flex-direction:row;align-items:flex-start;line-height:1.6}.bc-price-confirm input{width:20px;min-width:20px;height:20px;margin-top:3px;accent-color:#14343b;}.bc-price-actions{display:flex;flex-wrap:wrap;margin-top:24px;}
.bc-price-note,.bc-price-history{padding:16px 18px;margin:18px 0;border:1px solid #c8dcd3;border-radius:12px;background:#eef6f2}.bc-price-note.is-warning{border-color:#d5ae62;background:#fff5dd;color:#795019}.bc-price-note p{margin:8px 0 0;font-weight:600;line-height:1.6}.bc-price-basis{display:block;line-height:1.6;font-weight:400}.bc-price-history p{font-size:.85rem;line-height:1.6}.bc-price-history h3{margin-top:0}

.bc-price-dialog .bc-price-confirm{flex-wrap:wrap}.products-check>.bc-field-help,.bc-price-confirm>.bc-field-help,.quote-response-confirm>.bc-field-help{flex:1 0 100%;width:100%}

/* Company mailbox setup: matches the shared settings layout. */
.company-mail-panel [hidden]{display:none!important}
.company-mail-wide{grid-column:1/-1;margin:0}
.company-mail-panel details{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.company-mail-panel summary{font-weight:650;cursor:pointer}
.company-mail-panel .customer-option{margin:20px 0;align-items:flex-start}
@media(max-width:640px){.company-mail-wide{grid-column:auto}}

/* Backup protection and platform recovery: shared business styling. */
.bc-backup-settings { overflow:hidden; }
.bc-backup-health-card { display:grid;gap:8px;padding:24px 26px;margin:22px 0;border:1px solid #c7ddd1;border-left:5px solid #1b6552;border-radius:16px;background:linear-gradient(120deg,#edf7f1,#f9fcfa);color:#174d3d; }
.bc-backup-health-card strong { font-size:1.2rem;letter-spacing:-.02em; }
.bc-backup-health-card span { font-size:.86rem;color:#537161; }
.bc-backup-health-card[data-health=failed],.bc-backup-health-card[data-health=stalled],.bc-backup-health-card[data-health=overdue] { border-color:#dfb69e;border-left-color:#a5532f;background:#fff8f1; }
.bc-backup-settings .backup-opening { gap:10px; }
.bc-backup-settings .backup-day { padding:15px;border:1px solid #dbe7df;border-radius:12px;background:#f9fbfa;align-items:center; }
.bc-backup-points { margin-top:30px;padding-top:24px;border-top:1px solid #dbe7df; }
.bc-backup-points-heading { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap; }
.bc-backup-points-heading h3 { margin:0; }
.bc-backup-points td strong,.bc-backup-points td small { display:block; }
.bc-backup-points td small { margin-top:6px;font-size:.76rem; }
.bc-backup-points td { padding:18px 14px;vertical-align:middle; }
.bc-backup-points summary { color:#486657;font-size:.78rem;cursor:pointer; }
.bc-backup-points code { display:block;max-width:240px;margin-top:9px;overflow-wrap:anywhere;white-space:normal;font-size:.7rem; }
.bc-backup-badge { display:inline-flex;padding:6px 11px;border:1px solid #cbded1;border-radius:20px;background:#eef6f0;color:#21523c;font-size:.72rem;font-weight:700;white-space:nowrap; }
.bc-backup-points [data-state=failed] .bc-backup-badge { background:#fff2ed;border-color:#e6c1ad;color:#963f22; }
.bc-backup-points [data-state=running] .bc-backup-badge { background:#fff8e8;border-color:#e2d0a2;color:#7c5d21; }
.bc-recovery-panel { margin-top:32px;padding-top:28px;border-top:1px solid #d8e4dc; }
.bc-recovery-choices { margin:20px 0;padding:0;border:0;min-width:0; }
.bc-recovery-choices legend { font-weight:700;margin-bottom:12px;color:#244d3c; }
#paRecoveryPoints { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;max-height:360px;overflow:auto;padding:3px; }
.bc-recovery-point { display:flex!important;align-items:center;gap:14px!important;padding:16px!important;border:1px solid #d4e3d9;border-radius:12px;background:#fbfdfb;cursor:pointer; }
.bc-recovery-point:has(input:checked) { border-color:#237052;background:#edf6ef;box-shadow:0 0 0 2px #23705220; }
.bc-recovery-point input {width:18px!important;height:18px;accent-color:#1d624c;flex:0 0 auto;}
.bc-recovery-point strong,.bc-recovery-point small { display:block; }
.bc-recovery-point strong { color:#1d4d39;font-size:.86rem; }
.bc-recovery-point small { color:#657c6d;font-size:.73rem;margin-top:6px; }
.bc-recovery-job { display:grid;gap:10px;padding:19px;margin:12px 0;background:#f6f9f7;border:1px solid #d4e3d9;border-left:4px solid #638b71;border-radius:12px; }
.bc-recovery-job p { margin:0; }.bc-recovery-job .btn {justify-self:start;}
.bc-recovery-job[data-state=ready],.bc-recovery-job[data-state=complete] { border-left-color:#1c7650;background:#eef8f1; }
.bc-recovery-job[data-state=failed],.bc-recovery-job[data-state=blocked] { border-left-color:#ad5639;background:#fff7f2; }
#paRecoveryConfirm { max-width:580px;padding:30px;border:1px solid #bdd3c5;border-radius:18px; }
@media(max-width:600px){.bc-backup-health-card{padding:20px;}.bc-backup-points td{padding:13px 10px;}.bc-backup-points-heading{align-items:flex-start;}#paRecoveryPoints{grid-template-columns:1fr;}.bc-recovery-panel .platform-actions{align-items:stretch;flex-direction:column;}}

.bc-backup-health-card[data-health=disabled]{background:#f5f7f5;border-color:#d9dfdb;border-left-color:#87988e;color:#5d6d63;}
.bc-backup-health-card[data-health=queued],.bc-backup-health-card[data-health=pending],.bc-backup-health-card[data-health=running]{background:#fffaf0;border-color:#e7d8b9;border-left-color:#b78f47;color:#715321;}

/* Personal email workspace: scoped additions; existing application styles preserved. */
.ew-page{max-width:1660px}.ew-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 25px}.ew-heading h1{margin:3px 0 8px;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.045em}.ew-eyebrow{margin:0;color:#ad8843;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ew-heading .muted{margin:0}.ew-server-pill{display:flex;align-items:center;gap:9px;border:1px solid #d0ded5;background:#f3f8f5;border-radius:999px;padding:11px 16px;font-size:.78rem;font-weight:650;color:#245646;white-space:nowrap}.ew-server-pill span{color:#b58f4c;font-size:.7rem}.ew-shell{display:grid;grid-template-columns:205px minmax(290px,360px) minmax(340px,1fr);border:1px solid #d8e3dc;border-radius:20px;overflow:hidden;min-height:640px;background:white;box-shadow:0 12px 36px #173e2f08}.ew-folders{background:#f3f7f4;padding:22px 15px;border-right:1px solid #dce6df}.ew-compose{width:100%;justify-content:center;gap:9px;padding:13px 15px;margin-bottom:26px;border-radius:12px}.ew-folder-heading{display:flex;align-items:center;justify-content:space-between;margin:0 8px 12px}.ew-folder-heading h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#6c7d73;margin:0}.ew-folder{display:flex;gap:12px;align-items:center;width:100%;padding:12px 13px;margin:3px 0;border:1px solid transparent;border-radius:10px;background:transparent;color:#345849;text-align:left;font:inherit;font-size:.88rem;cursor:pointer;overflow-wrap:anywhere}.ew-folder:hover{background:#e8f0e9}.ew-folder.is-active{background:#174e3c;color:white;box-shadow:0 4px 10px #174e3c15}.ew-folder-symbol{color:#af8f51;font-size:1.15rem;width:20px;flex-shrink:0}.ew-provider-note{font-size:.74rem;line-height:1.7;color:#788a7e;margin:32px 10px 6px}.ew-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:37px;height:37px;border:1px solid #d8e4dc;border-radius:10px;background:#fff;color:#245646;font-size:1.2rem;cursor:pointer;line-height:1}.ew-icon:hover{background:#eaf3ed;border-color:#a6bfae}.ew-icon:focus-visible,.ew-folder:focus-visible,.ew-mail-row:focus-visible{outline:3px solid #b49a60;outline-offset:-3px}.ew-icon:disabled{opacity:.45;cursor:wait}.ew-danger{color:#9d463f}.ew-list-pane{border-right:1px solid #dce6df;display:flex;flex-direction:column;min-width:0}.ew-list-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 20px 13px;gap:10px}.ew-list-heading h2{margin:0;font-size:1.12rem;overflow-wrap:anywhere}.ew-search{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 16px 16px;border-bottom:1px solid #e4ece6}.ew-search label{min-width:0}.ew-search label:first-child{grid-column:1/-1}.ew-search input{width:100%;box-sizing:border-box;min-width:0;}.ew-message-list{flex:1;max-height:650px;overflow:auto}.ew-mail-row{display:block;text-align:left;width:100%;padding:17px 19px;border:0;border-bottom:1px solid #edf1ee;border-left:3px solid transparent;background:white;cursor:pointer;color:#33493c;font:inherit}.ew-mail-row:hover{background:#f6f9f6}.ew-mail-row.is-active{background:#edf5ef;border-left-color:#b08a43}.ew-mail-row.is-unread{background:#f5f9f6;border-left-color:#245c47}.ew-mail-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8rem}.ew-mail-top strong{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.ew-mail-row.is-unread strong{font-weight:800}.ew-mail-top time{font-size:.64rem;white-space:nowrap;color:#7a897f}.ew-mail-subject{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:8px 0 5px;font-size:.85rem}.ew-mail-row small{color:#8a978e;font-size:.67rem}.ew-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e6ece8;padding:13px 15px;font-size:.7rem;color:#738377}.ew-reader{padding:25px 28px;min-width:0;overflow-wrap:anywhere}.ew-reader h2{font-size:1.4rem;line-height:1.4;letter-spacing:-.025em;margin:20px 0}.ew-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px;min-height:300px;padding:40px 25px;color:#788c7e}.ew-empty svg{color:#b29152;margin-bottom:9px}.ew-empty h2{color:#24533e;margin:6px 0;font-size:1.2rem}.ew-empty p{font-size:.86rem;line-height:1.7;margin:0;max-width:280px}.ew-reader-actions{display:flex;align-items:center;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #e7ede8;}.ew-envelope{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px 15px;margin:0 0 22px;font-size:.79rem}.ew-envelope dt{color:#89968d}.ew-envelope dd{margin:0;color:#445d4b}.ew-body{font-family:inherit;font-size:.89rem;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;color:#364f3e;margin:20px 0}.ew-safe-note{border-top:1px solid #e8eee9;padding-top:16px;color:#8b998f;font-size:.68rem;line-height:1.6}.ew-attachments{display:flex;gap:8px;flex-wrap:wrap}.ew-attachment{font-size:.76rem;padding:9px 12px;border:1px solid #dbE6de;background:#f5f8f5;border-radius:9px;color:#24513d;text-decoration:none}.ew-attachment:hover{background:#e9f2ea}.ew-dialog{width:min(820px,calc(100vw - 32px));max-width:820px;max-height:90vh;box-sizing:border-box;padding:28px;border:1px solid #d7e4da;border-radius:19px;overflow:auto}.ew-dialog::backdrop{background:#0d302a80;backdrop-filter:blur(4px)}.ew-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.ew-dialog-heading h2{margin:5px 0;font-size:1.45rem;letter-spacing:-.03em}.ew-dialog form>label{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:.83rem;font-weight:600}.ew-dialog input:not([type=checkbox]),.ew-dialog textarea,.ew-dialog select{width:100%;box-sizing:border-box;}.ew-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:15px 0;}.ew-fields label{display:flex;flex-direction:column;}.ew-dialog-actions{display:flex;align-items:center;flex-wrap:wrap;margin:20px 0 6px;}.ew-dialog-actions .muted{font-size:.73rem;line-height:1.6}.ew-dialog hr{border:0;border-top:1px solid #e2eae5;margin:25px 0}.ew-dialog h3{font-size:1rem;margin-top:22px}.ew-check,.ew-dialog form>label.ew-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.65;font-weight:400;margin:16px 0}.ew-check input{margin-top:5px;flex-shrink:0;}.ew-config-summary{background:#f3f7f4;padding:12px 15px;border-radius:10px;color:#42614e;font-size:.77rem;line-height:1.7;overflow-wrap:anywhere}
@media(min-width:1500px){.ew-shell{grid-template-columns:220px minmax(330px,400px) minmax(400px,1fr)}}
@media(max-width:1100px){.ew-shell{grid-template-columns:175px minmax(240px,.8fr) minmax(280px,1fr)}.ew-reader{padding:20px}.ew-folders{padding:18px 10px}.ew-mail-top{flex-direction:column;gap:5px}}
@media(max-width:900px){.ew-shell{grid-template-columns:170px minmax(0,1fr)}.ew-reader{grid-column:1/-1;border-top:1px solid #dce6df}.ew-reader>.ew-empty{min-height:190px}.ew-list-pane{border-right:0}.ew-message-list{max-height:400px}.ew-mail-top{flex-direction:row}}
@media(max-width:600px){.ew-heading{align-items:flex-start;flex-direction:column;gap:12px}.ew-shell{grid-template-columns:1fr;border-radius:14px}.ew-folders{border-right:0;border-bottom:1px solid #dce6df;padding:14px}.ew-folders nav{display:flex;overflow:auto;gap:5px}.ew-folder{width:auto;white-space:nowrap;flex-shrink:0;font-size:.76rem;padding:9px 12px}.ew-folder-heading,.ew-provider-note{display:none}.ew-compose{width:auto;margin-bottom:12px}.ew-reader{grid-column:1;padding:20px 16px}.ew-message-list{max-height:350px}.ew-dialog{padding:20px;max-height:94vh}.ew-dialog-actions{align-items:stretch;}.ew-dialog-actions .btn{flex:1;}.ew-server-pill{font-size:.7rem;padding:9px 12px}.ew-fields{grid-template-columns:1fr;}.ew-mail-top strong{max-width:60vw}.ew-body{font-size:.84rem}}

.ew-reader-actions select{max-width:145px;}

.ew-activity-row{padding:16px 0;display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid #e3eae5;font-size:.85rem}.ew-activity-row small{color:#7d8f83;white-space:nowrap}

/* Compact workspace navigation: one shared stylesheet. */
.bc-app .compact-top{position:relative;flex-wrap:nowrap;gap:12px}
.compact-top .tb-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:9px;border:1px solid #d5e2dc;background:#f4f8f5;position:relative;flex:0 0 44px}
.compact-top .tb-menu{display:none!important;position:absolute;right:20px;top:calc(100% - 4px);z-index:1200;width:min(380px,calc(100vw - 32px));max-height:min(78vh,760px);overflow:auto;box-sizing:border-box;padding:18px!important;margin:0;border:1px solid #d6e3db!important;border-radius:16px;background:#fff;box-shadow:0 18px 55px #123d2e24;color:#244d3d;gap:6px!important}
.compact-top .tb-menu.open{display:flex!important;flex-direction:column!important;align-items:stretch!important}
.compact-top .tb-tools-heading{margin:0 0 10px;font-weight:750;font-size:.85rem;color:#174e3c;letter-spacing:.03em}
.compact-top .tb-menu>.icon-btn,.compact-top .tb-menu>.ab-root>.icon-btn{width:100%!important;min-height:43px;height:auto;flex:0 0 auto!important;justify-content:flex-start;gap:13px;border:0;border-radius:9px;background:transparent;padding:10px 12px;color:#245442;text-decoration:none}
.compact-top .tb-menu>.icon-btn:hover,.compact-top .ab-root>.icon-btn:hover{background:#eef5f0}
.compact-top .tb-tool-label{font-size:.84rem;font-weight:600;line-height:1.4}
.compact-top .tb-menu>.who{max-width:none!important;font-size:.78rem;padding:7px 11px;border-bottom:1px solid #e7eee9;margin-bottom:5px}
.compact-top .tb-clock{flex:none!important;width:auto;min-width:0;padding:10px 12px!important;border:1px solid #e3ebe5;border-radius:10px;background:#f6f9f6;position:relative}
.compact-top .tb-menu .tb-zone-menu{position:static;width:100%;box-shadow:none;margin-top:10px;box-sizing:border-box}
.compact-top .tb-menu .ab-root{width:100%;position:static}.compact-top .tb-menu .ab-panel{position:static;width:100%;max-width:none;box-sizing:border-box;box-shadow:none;margin:8px 0;max-height:45vh;overflow:auto}
.compact-top [data-tooltip]:hover:after,.compact-top [data-tooltip]:focus-visible:after{display:none}
.tb-tool-alerts{border-top:1px solid #e1eae4;margin-top:10px;padding-top:12px}.tb-tool-alerts h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#718477;margin:0 10px 7px}.tb-tool-alerts a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:#245442;text-decoration:none;font-size:.8rem}.tb-tool-alerts a:hover{background:#edf5ef}.tb-alert-dot,.tb-tools-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#bb8540;box-shadow:0 0 0 3px #bb854018;flex-shrink:0}.tb-tool-alerts b{margin-left:auto;font-size:.74rem}.tb-tools-dot{position:absolute;right:3px;top:3px}.tb-tools-dot[hidden]{display:none}
.bc-dashboard .workspace-module-section{margin:24px 0 30px}.bc-dashboard .workspace-group-title{display:flex;align-items:center;gap:12px;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:#456454;margin:0 0 12px}.workspace-group-title:after{content:'';height:1px;flex:1;background:#dbe6df}
.bc-app.bc-dashboard .bc-module-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.bc-app.bc-dashboard .bc-module-grid>.customer-module{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:12px;row-gap:4px;align-content:center;padding:17px!important;min-height:94px;border-radius:13px;text-align:left}
.bc-app.bc-dashboard .bc-module-grid .bc-module-icon{grid-row:1/3;align-self:center;width:38px;height:38px;margin:0;border-radius:11px}.bc-app.bc-dashboard .bc-module-icon svg{width:21px;height:21px}.bc-app.bc-dashboard .bc-module-grid h3{font-size:.91rem;line-height:1.3;margin:0;align-self:end}.bc-app.bc-dashboard .bc-module-grid p{font-size:.72rem;line-height:1.45;margin:0;align-self:start}
@media(max-width:600px){.bc-app .compact-top{padding:12px 16px}.compact-top .brand small{display:none}.compact-top .brand span{font-size:1rem}.compact-top .tb-menu{right:16px}.bc-app.bc-dashboard .bc-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bc-app.bc-dashboard .bc-module-grid>.customer-module{padding:13px!important;grid-template-columns:1fr;min-height:116px;gap:7px}.bc-app.bc-dashboard .bc-module-grid .bc-module-icon{grid-row:auto;width:32px;height:32px}.bc-app.bc-dashboard .bc-module-grid h3{font-size:.81rem}.bc-app.bc-dashboard .bc-module-grid p{display:none}}
@media(prefers-reduced-motion:reduce){.bc-dashboard .customer-module,.bc-dashboard .bc-module-icon{animation:none!important;transition:none!important}}
@media print{.compact-top .tb-menu,.compact-top .tb-toggle{display:none!important}}

.bc-dashboard .workspace-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;align-items:start}.bc-dashboard .workspace-groups .workspace-module-section{margin:16px 0 10px}.bc-dashboard .workspace-groups .bc-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:850px){.bc-dashboard .workspace-groups{grid-template-columns:1fr}}
/* Tasks & follow-ups — shared stylesheet, scoped to task UI. */
.task-page{max-width:1300px}.task-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:22px 0}.task-filters label,.task-dialog form>label,.task-field-grid label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:650}.task-filters label{min-width:160px}.task-filters .task-search{flex:1;min-width:220px}.task-filters input,.task-filters select,.task-dialog input:not([type=checkbox]),.task-dialog textarea,.task-dialog select{width:100%;box-sizing:border-box;}.task-list{display:grid;gap:12px}.task-card{background:#fff;border:1px solid #dce6df;border-left:4px solid #b39a62;border-radius:14px;padding:20px 22px;box-shadow:0 4px 18px #174e3c05}.task-card.is-overdue{border-left-color:#b65346}.task-card-head,.task-card-foot,.task-tags,.task-section-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.task-form-actions,.task-record-actions{display:flex;align-items:center;flex-wrap:wrap;}.task-card-head{justify-content:space-between;align-items:start}.task-card h2{font-size:1rem;line-height:1.45;margin:0 0 5px;overflow-wrap:anywhere}.task-card p{margin:0;font-size:.78rem}.task-tags{gap:7px}.task-status,.task-priority{font-size:.67rem;font-weight:700;border-radius:20px;padding:5px 10px;background:#edf4ef;color:#37604b}.task-priority{text-transform:capitalize;background:#f6f2e9;color:#866633}.task-priority-urgent{background:#fae9e5;color:#a64a40}.task-priority-high{background:#fcf0d9;color:#946a1d}.task-card-foot{margin-top:15px;padding-top:12px;border-top:1px solid #edf1ee;font-size:.75rem;color:#6f8476}.task-card.is-overdue .task-card-foot>span:first-child{color:#a64a40;font-weight:650}.task-dialog{width:min(850px,calc(100vw - 28px));max-width:850px;max-height:90vh;overflow:auto;border:1px solid #d7e3db;border-radius:18px;padding:28px;box-sizing:border-box}.task-dialog::backdrop{background:#143e3180;backdrop-filter:blur(3px)}.task-dialog form>label{margin:16px 0}.task-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0;}.task-help{font-size:.74rem;line-height:1.7;color:#728478}.task-checks,.task-record,#taskHistory{border-top:1px solid #e2ebe5;margin-top:23px;padding-top:17px}.task-section-heading{justify-content:space-between}.task-dialog h3{font-size:.9rem;margin:0 0 12px}.task-check-row{display:flex;align-items:center;gap:12px;margin:9px 0}.task-check-row input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#174e3c}.task-check-row input[type=text]{flex:1;min-width:0;}.task-remove{background:#f7f2ed;color:#9b6349;border:1px solid #e5ddd3;border-radius:9px;width:34px;height:34px;flex-shrink:0;font-size:1.25rem;cursor:pointer}.task-record-actions select{flex:1;min-width:180px;width:auto!important;}.task-form-actions{margin-top:24px;padding-top:18px;border-top:1px solid #e1eae4;}.task-form-actions .muted{font-size:.72rem}.task-event{padding:13px 0;border-bottom:1px solid #e8eee9;overflow-wrap:anywhere}.task-event strong{font-size:.77rem}.task-event time{display:block;font-size:.68rem;color:#86948a;margin:5px 0}.task-event p{white-space:pre-wrap;font-size:.8rem;line-height:1.6;margin:7px 0}.task-empty{text-align:center;padding:50px 20px;color:#6b8072;background:#f3f7f4;border-radius:15px}.task-empty h2{font-size:1.15rem;color:#24513f}#taskComment textarea{width:100%;box-sizing:border-box;margin-bottom:10px;}#taskComment button{margin-bottom:10px}.task-dashboard-count{font-size:.7rem;color:#6c7f70}.task-dashboard-count.is-overdue{color:#a54d40}
@media(max-width:600px){.task-field-grid{grid-template-columns:1fr;}.task-dialog{padding:22px 18px}.task-filters label{flex:1;min-width:135px}.task-card{padding:17px}.task-form-actions .btn{flex:1;}.task-tags{margin-top:5px}}

/* Documents workspace — scoped additions; shared app styling remains intact. */
.dw-page{padding-bottom:2rem}.dw-secure{font-size:.78rem;color:var(--primary,#135d50);background:#eaf4ef;border:1px solid #d5e7dd;border-radius:999px;padding:.55rem .85rem;white-space:nowrap}
.dw-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.4rem;align-items:start}.dw-sidebar,.dw-main{background:#fff;border:1px solid #dce7e2;border-radius:18px;box-shadow:0 5px 20px #133e2910;padding:1.25rem}.dw-sidebar{position:sticky;top:1rem}.dw-side-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}.dw-side-head h2{font-size:1rem;margin:0}.dw-sidebar nav{display:grid;gap:.4rem}.dw-folder{display:flex;align-items:center;gap:.65rem;text-align:left;border:1px solid transparent;border-radius:10px;padding:.8rem;background:transparent;color:#254f43;width:100%;font:inherit;cursor:pointer}.dw-folder:hover{background:#f0f6f2}.dw-folder[aria-current="true"]{background:#145649;color:#fff;border-color:#145649;box-shadow:inset 3px 0 #c8ad62}.dw-folder svg{flex-shrink:0}.dw-side-action{display:block;width:100%;margin-top:.8rem;padding:.75rem;text-align:left;background:#f7faf8;border:1px solid #dbe7df;border-radius:10px;color:#235748;font:inherit;cursor:pointer}.dw-help{font-size:.8rem;line-height:1.55;color:#617169;margin:.65rem 0}.dw-filters{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1.2rem}.dw-filters label:first-child{flex:1;min-width:170px}.dw-filters label{margin:0}.dw-filters input,.dw-filters select{margin:0;width:100%;}.dw-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1px solid #d8e5dd;background:#f6faf7;border-radius:10px;color:#205d4c;font-size:1.35rem;cursor:pointer}.dw-list{display:grid;gap:.7rem;min-height:100px}.dw-row{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem;text-align:left;border:1px solid #dce6df;background:#fff;border-radius:12px;color:#203c31;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}.dw-row:hover{border-color:#a9bfae;box-shadow:0 4px 15px #18533d0d}.dw-row svg{color:#336f58;flex-shrink:0}.dw-row strong{display:block;font-size:.96rem;overflow-wrap:anywhere}.dw-row small{display:block;color:#6b776f;font-size:.78rem;margin-top:.35rem}.dw-dialog{width:min(860px,calc(100vw - 32px));max-width:860px;max-height:90dvh;overflow:auto;border:1px solid #d7e5dd;border-radius:20px;padding:2rem;color:#203a31;box-shadow:0 24px 100px #0e332b40}.dw-dialog::backdrop{background:#102e2680;backdrop-filter:blur(3px)}.dw-dialog.dw-small{max-width:560px}.dw-dialog h2{margin:0 2rem 1rem 0;font-size:1.5rem;overflow-wrap:anywhere}.dw-dialog h3{font-size:1rem;margin:1.5rem 0 .7rem}.dw-dialog .close{position:absolute;right:1rem;top:.85rem;width:34px;height:34px;border:1px solid #d9e4dd;border-radius:50%;background:#f5f8f6;color:#315b49;font-size:1.5rem;cursor:pointer}.dw-dialog label{display:grid;gap:.45rem;font-size:.85rem;font-weight:600;margin-bottom:1rem}.dw-dialog input,.dw-dialog select,.dw-dialog textarea{width:100%;margin:0;min-width:0;}.dw-dialog textarea{resize:vertical;}.dw-dialog textarea[name="body"]{min-height:240px;}.dw-fields{display:grid;grid-template-columns:1fr 1fr;}.dw-actions{display:flex;align-items:center;flex-wrap:wrap;margin:1.1rem 0;}.dw-actions select{flex:1;min-width:180px;}.dw-version-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.dw-version-bar label{flex:1;min-width:180px;margin:0}.dw-version-bar .btn{align-self:flex-end;}.dw-preview{background:#f3f6f4;border:1px solid #dbe4de;border-radius:12px;overflow:hidden;min-height:100px;padding:.75rem}.dw-preview iframe{display:block;border:0;width:100%;height:58vh;background:white;border-radius:6px}.dw-preview img{display:block;max-width:100%;max-height:60vh;margin:auto;object-fit:contain}.dw-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;padding:.6rem;max-height:55vh;overflow:auto}.dw-notes{white-space:pre-wrap;overflow-wrap:anywhere}.dw-history-row{padding:.65rem 0;border-bottom:1px solid #e6ece7;font-size:.85rem;line-height:1.5;overflow-wrap:anywhere}.dw-dialog .msg:empty,.dw-page .msg:empty{display:none}.dw-dialog [hidden],.dw-page [hidden]{display:none!important}.dw-dialog button:disabled{opacity:.55;cursor:not-allowed}.dw-dialog .btn:focus-visible{outline:3px solid #c7ac65;outline-offset:3px;}.dw-folder:focus-visible,.dw-icon:focus-visible,.dw-row:focus-visible{outline:3px solid #c7ac65;outline-offset:3px}
@media(max-width:760px){.dw-layout{grid-template-columns:1fr;gap:1rem}.dw-sidebar{position:static;padding:1rem}.dw-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.dw-sidebar .dw-help{display:none}.dw-folder{font-size:.82rem;padding:.65rem;overflow-wrap:anywhere}.dw-main{padding:1rem}.dw-dialog{padding:1.35rem;width:calc(100vw - 20px);max-height:93dvh}.dw-fields{grid-template-columns:1fr;}.dw-secure{white-space:normal}.dw-filters label:nth-child(2){flex:1}.dw-version-bar .btn{flex:1;}.dw-preview iframe{height:48vh}.dw-actions .btn{flex:1;}}
@media(prefers-reduced-motion:reduce){.dw-row{transition:none}}
.dw-folder.is-active{background:#145649;color:#fff;border-color:#145649;box-shadow:inset 3px 0 #c8ad62}.dw-folder span{min-width:0}.dw-folder strong,.dw-folder small{display:block;overflow-wrap:anywhere}.dw-folder small{font-size:.69rem;font-weight:400;opacity:.8;margin-top:.25rem}.dw-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #dce6df;border-radius:12px;background:#fff}.dw-card-copy{flex:1;min-width:0}.dw-card h2{font-size:.98rem;margin:0 0 .35rem;overflow-wrap:anywhere}.dw-card p{font-size:.8rem;margin:0 0 .3rem}.dw-card small{color:#66766c;font-size:.76rem}.dw-file-icon{display:grid;place-items:center;width:46px;height:54px;flex-shrink:0;border:1px solid #d5e4d9;border-radius:9px;background:#edf5ef;color:#246048;font-weight:700;font-size:.7rem;box-shadow:inset 0 3px #c6ab65}.dw-empty{padding:2.5rem 1rem;text-align:center;color:#607167}.dw-empty h2{font-size:1.15rem;color:#285c49}.dw-event{padding:.8rem 0;border-bottom:1px solid #e2eae4;font-size:.83rem}.dw-event strong,.dw-event small{display:block}.dw-event small{margin-top:.3rem;color:#6b796f}.dw-event p{margin:.4rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.dw-dialog .dw-actions .dw-help{margin:0}@media(max-width:480px){.dw-card{gap:.7rem;flex-wrap:wrap}.dw-sidebar nav{grid-template-columns:1fr}.dw-filters .btn{flex:1;}}

/* Document approvals: shared stylesheet, additions scoped to this module. */
.dwa-page{max-width:1120px;padding-bottom:3rem}.dwa-panel,.dwa-review{background:#fff;border:1px solid #dbe6df;border-radius:18px;padding:1.5rem;box-shadow:0 5px 20px #153c2c0a;margin-bottom:1.25rem}.dwa-panel h2,.dwa-review h2{font-size:1.13rem;margin:0 0 .9rem}.dwa-panel h3{font-size:1rem;margin:0 0 .4rem}.dwa-list{display:grid;gap:.85rem}.dwa-list .dwa-panel{margin:0}.dwa-row-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.dwa-badge,.dwa-status{display:inline-flex;border:1px solid #d2e3d7;background:#edf5ef;color:#255d43;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;text-transform:capitalize;white-space:nowrap}.dwa-pending{background:#fff8e9;color:#806322;border-color:#ead8a7}.dwa-declined,.dwa-cancelled{background:#fdf0ed;color:#99443b;border-color:#eed0c9}.dwa-changes_requested{background:#edf3fa;color:#3a5879;border-color:#cddbec}.dwa-expired,.dwa-superseded,.dwa-unavailable{background:#f3f4f3;color:#68776c;border-color:#dce3de}.dwa-panel label,.dwa-response>label{display:grid;gap:.5rem;font-size:.88rem;font-weight:600;margin-bottom:1rem}.dwa-panel input,.dwa-panel select,.dwa-panel textarea,.dwa-response input,.dwa-response textarea{width:100%;margin:0;box-sizing:border-box;}.dwa-page .dwa-confirm{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;font-weight:400;line-height:1.5}.dwa-page .dwa-confirm input{width:19px;height:19px;flex:0 0 19px;margin-top:3px;accent-color:#145649;}.dwa-panel [hidden],.dwa-page [hidden]{display:none!important}.dwa-page .msg:empty{display:none}.dwa-copy{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.dwa-review-page .dwa-page{max-width:920px}.dwa-review h1{font-size:1.8rem;line-height:1.25;margin:.5rem 0 1rem;overflow-wrap:anywhere}.dwa-response{border-top:1px solid #e0e8e2;padding-top:1.5rem;margin-top:1.5rem}.dwa-fingerprint{font-family:monospace;font-size:.72rem;color:#627268;overflow-wrap:anywhere;margin:1.5rem 0 0}.dwa-paper-only{display:none}.dwa-inbox-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid #e0e9e3;color:#225a43;text-decoration:none}.dwa-inbox-row span{font-size:.8rem;color:#64756a}.dwa-page .signature-pad{margin-bottom:1rem}.dwa-page .signature-pad canvas{display:block;width:100%;height:auto;aspect-ratio:3/1;touch-action:none;border:1px dashed #a8bfb0;border-radius:12px;background:#fff}.dwa-page .signature-image{display:block;max-width:100%;width:450px;height:auto;border:1px solid #dbe5df;border-radius:8px}.dwa-page button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:680px){.dwa-panel,.dwa-review{padding:1.1rem}.dwa-row-head{flex-direction:column;gap:.5rem}.dwa-review h1{font-size:1.45rem}.dwa-inbox-row{flex-direction:column;align-items:flex-start;gap:.4rem}.dwa-page .dw-actions .btn{flex:1;}}
@media print{body.dwa-review-page{background:#fff!important;color:#111!important}.dwa-review-page .top,.dwa-review-page .app-page-toolbar,.dwa-review-page .dwa-no-print,.dwa-review-page .saas-notice,.dwa-review-page [data-support-chat],.dwa-review-page .support-chat-root{display:none!important}.dwa-review-page .dwa-page{max-width:none;width:auto;margin:0;padding:0}.dwa-review-page .dwa-review{border:0;box-shadow:none;padding:0}.dwa-review-page .dwa-paper-only{display:block;margin-top:2rem;border-top:1px solid #999;padding-top:1rem}.dwa-review-page .signature-evidence{break-inside:avoid}.dwa-review-page .dwa-fingerprint{color:#333}.dwa-review-page a{color:#111}}

/* Central company email: one shared stylesheet, scoped additions. */
.cm-panel{padding:1.5rem}.cm-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cm-heading h2{margin:.35rem 0 .7rem}.cm-heading p{max-width:760px}.cm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.cm-fields label{display:grid;}.cm-routing>label{display:grid;gap:.5rem;font-weight:600;font-size:.86rem;margin-bottom:.6rem}.cm-fields input,.cm-fields select,.cm-routing>label select{width:100%;margin:0;box-sizing:border-box;}.cm-fields small{font-size:.76rem;line-height:1.5;font-weight:400;color:#63756b}.cm-actions{display:flex;align-items:center;flex-wrap:wrap;margin:1rem 0;}.cm-server-summary{background:#edf5ef;border:1px solid #d4e5d9;border-left:3px solid #c6ab65;padding:.85rem 1rem;border-radius:10px;color:#315c47;font-size:.85rem;overflow-wrap:anywhere}.cm-boxes{display:grid;gap:.65rem;margin:1.2rem 0}.cm-mailbox{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid #dce7df;border-radius:12px}.cm-mailbox strong{overflow-wrap:anywhere}.cm-mailbox p{font-size:.8rem;margin:.35rem 0 0}.cm-reference{display:block;margin-top:.5rem;max-width:100%;overflow-wrap:anywhere;font-size:.69rem;color:#66786b}.cm-editor,.cm-routing{border-top:1px solid #dce6df;padding-top:1.4rem;margin-top:1.4rem}.cm-panel .cm-option{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;line-height:1.55;margin:1rem 0}.cm-option input{width:19px;height:19px;flex:0 0 19px;accent-color:#145649;margin-top:3px;}.cm-panel details{padding:.85rem;border:1px solid #dce7df;border-radius:10px;margin:.8rem 0}.cm-panel summary,.cm-marketing-settings>summary{cursor:pointer;font-weight:600;color:#295d46}.cm-marketing-settings{margin:1.2rem 0;padding:1rem;border:1px solid #d5e4da;border-radius:14px;background:#f6faf7}.cm-marketing-settings .cm-panel{margin-top:1rem}.cm-activity{max-height:300px;overflow:auto}.cm-activity p{padding:.65rem 0;border-bottom:1px solid #e2eae4;font-size:.78rem;overflow-wrap:anywhere;line-height:1.55}.cm-panel [hidden]{display:none!important}.cm-panel .msg:empty{display:none}.cm-panel button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:680px){.cm-fields{grid-template-columns:1fr;}.cm-panel{padding:1rem}.cm-mailbox{align-items:flex-start;flex-direction:column}.cm-actions .btn{flex:1;min-width:130px;}.cm-heading .btn{width:100%;}}

/* Projects and job costing: shared palette, contained layouts. */
.jp-page{padding-bottom:3rem}.jp-toolbar,.jp-row,.jp-detail-heading{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.jp-actions{display:flex;align-items:center;flex-wrap:wrap;}.jp-toolbar{align-items:end;margin:1.2rem 0}.jp-toolbar label{display:grid;gap:.45rem;font-weight:600}.jp-fields label{display:grid;}.jp-grow{flex:1;min-width:200px}.jp-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem}.jp-card,.jp-detail{background:var(--card,#fff);border:1px solid #dce8e4;border-radius:18px;padding:1.25rem;box-shadow:0 7px 22px #124c3c07}.jp-card h2{font-size:1.12rem;margin:0}.jp-card .jp-row{justify-content:space-between}.jp-pill{font-size:.78rem;border-radius:999px;background:#e7f2ee;color:#205849;padding:.35rem .7rem;text-transform:capitalize;white-space:nowrap}.jp-detail{margin-top:1.4rem;scroll-margin-top:5rem}.jp-detail-heading{justify-content:space-between}.jp-detail-heading h2{margin:.2rem 0}.jp-tabs{display:flex;gap:.4rem;overflow-x:auto;border-bottom:1px solid #dde8e4;margin:1.25rem 0;padding-bottom:.65rem}.jp-tab{border:0;background:transparent;color:#45645b;padding:.7rem .95rem;border-radius:9px;cursor:pointer;font:inherit;white-space:nowrap}.jp-tab.is-active{background:#155747;color:white}.jp-tab:focus-visible{outline:3px solid #c4a15c;outline-offset:2px}.jp-panel{min-width:0}.jp-panel>.jp-row{margin-bottom:.85rem}.jp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.8rem;margin:1.2rem 0}.jp-metrics article{background:#f3f8f6;border:1px solid #e0eae6;border-radius:13px;padding:1rem}.jp-metrics p{margin:0 0 .4rem}.jp-metrics strong{font-size:1.25rem;color:#155747}.jp-entry{border-bottom:1px solid #e0eae6;padding:1rem 0;overflow-wrap:anywhere}.jp-entry .jp-row{justify-content:space-between}.jp-brief{white-space:pre-wrap;line-height:1.7}.jp-dialog{width:min(650px,calc(100vw - 2rem));max-height:90dvh;overflow:auto}.jp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0;}.jp-fields>label:has(textarea){grid-column:1/-1;}.jp-fields>.jp-lookup,.jp-fields>p{grid-column:1/-1}.jp-fields input,.jp-fields select,.jp-fields textarea{width:100%;min-width:0;}.jp-fields input[type=checkbox]{width:1.2rem;height:1.2rem}.jp-lookup{border:1px solid #dce8e4;border-radius:12px;padding:1rem}.jp-lookup h3{font-size:1rem;margin:0 0 .8rem}.jp-lookup .jp-row{flex-wrap:nowrap;margin-bottom:.65rem}.jp-lookup input{flex:1;}.jp-lookup select{width:100%;}.jp-dialog .jp-actions{justify-content:flex-end;padding-top:.8rem;}@media(max-width:600px){.jp-fields{grid-template-columns:1fr;}.jp-toolbar>label{width:100%}.jp-detail{padding:1rem}.jp-detail-heading .jp-actions{width:100%;}.jp-metrics{grid-template-columns:1fr 1fr}.jp-metrics strong{font-size:1rem}}

/* Guided data import uses the same shared form and button styling. */
.di-page{padding-bottom:3rem}.di-steps{display:flex;gap:.7rem;flex-wrap:wrap;list-style:none;padding:0;margin:1.3rem 0}.di-steps li{flex:1;min-width:140px;border-radius:10px;padding:.8rem;background:#e8f2ee;color:#205849;font-weight:600}.di-box{background:var(--card,#fff);border:1px solid #dce8e4;border-radius:18px;padding:1.4rem;margin:1.1rem 0;scroll-margin-top:5rem}.di-box h2{font-size:1.2rem;margin-top:0}.di-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.di-grid label,.di-box details>label{display:grid;gap:.5rem;font-weight:600}.di-wide{grid-column:1/-1}.di-actions{display:flex;align-items:center;flex-wrap:wrap;margin-top:1rem;}.di-actions h2{margin:0 auto 0 0}.di-table-wrap{overflow:auto;max-height:520px;border:1px solid #e2eae6;border-radius:12px;margin:.8rem 0}.di-table-wrap th{position:sticky;top:0;background:#eff6f3;z-index:1}.di-table-wrap select{min-width:180px;}.di-help{display:block;color:#58756a;font-size:.8rem;margin-top:.35rem}.di-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.di-totals article{display:grid;gap:.4rem;padding:1rem;background:#eff6f3;border-radius:12px;color:#205849}.di-totals strong{font-size:1.7rem}.di-box details{padding:1rem;border:1px solid #dce8e4;border-radius:12px;margin-top:1rem}.di-box summary{cursor:pointer;font-weight:600}.di-box label.di-check{display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0;font-weight:400}.di-check input{width:1.15rem;height:1.15rem;flex:none;margin:.2rem 0;}.di-history-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 0;border-bottom:1px solid #e2eae6}.di-history-row p{margin:.3rem 0 0}.di-box button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.di-grid{grid-template-columns:1fr}.di-box{padding:1rem}.di-totals{grid-template-columns:1fr}.di-steps li{font-size:.85rem}}

/* Optional CRM: one shared stylesheet and the existing BizCore palette. */
.crm-page{padding-bottom:3rem}.crm-filters{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end;margin:1.2rem 0}.crm-filters label{display:grid;gap:.45rem;font-weight:600}.crm-fields label{display:grid;}.crm-filters label{min-width:125px;flex:1}.crm-grow{flex:2!important;min-width:210px!important}.crm-actions{display:flex;align-items:center;flex-wrap:wrap;}.crm-row,.crm-detail-header{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.crm-view-tabs{display:flex;gap:.4rem;border-bottom:1px solid #dce8e4;padding-bottom:.7rem;margin:1rem 0}.crm-view{border:0;border-radius:9px;background:transparent;color:#49695e;padding:.7rem 1rem;font:inherit;cursor:pointer}.crm-view.is-active{background:#155747;color:#fff}.crm-board{display:grid;grid-template-columns:repeat(6,minmax(240px,1fr));gap:.8rem;overflow-x:auto;align-items:start;padding:.25rem .1rem 1rem;min-width:0}.crm-column{background:#edf4f0;border:1px solid #dce8e4;border-radius:14px;padding:.8rem;min-height:190px;border-top:3px solid #3e7563}.crm-column>.crm-row{justify-content:space-between;margin-bottom:.8rem}.crm-column h2{font-size:1rem;margin:.3rem 0}.crm-stage-count{font-size:.8rem;border-radius:20px;background:#fff;padding:.2rem .55rem;color:#3d6455}.crm-stage-negotiating{border-top-color:#b59858}.crm-stage-won{border-top-color:#155747}.crm-stage-lost{border-top-color:#8e7773;background:#f4f1ef}.crm-card{background:#fff;border:1px solid #dce8e4;border-radius:12px;padding:1rem;margin-bottom:.7rem;box-shadow:0 4px 13px #164d3b06;overflow-wrap:anywhere}.crm-card[draggable=true]{cursor:grab}.crm-card h3{font-size:1rem;line-height:1.45;margin:0 0 .4rem}.crm-card p{font-size:.85rem;margin:.4rem 0}.crm-card .crm-row{margin-top:.8rem}.crm-card.is-late{border-left:3px solid #b59858}.crm-card.is-dragging{opacity:.45}.crm-next{color:#285d4b}.crm-list{display:grid;gap:.7rem}.crm-list-row{background:#fff;border:1px solid #dce8e4;border-radius:12px;padding:1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.crm-detail,.crm-report{background:#fff;border:1px solid #dce8e4;border-radius:18px;padding:1.4rem;margin-top:1.2rem;scroll-margin-top:5rem}.crm-detail-header{justify-content:space-between;border-bottom:1px solid #e2ebe6;padding-bottom:.9rem}.crm-detail h2{margin:.2rem 0}.crm-detail h3{font-size:1.05rem;margin:1.5rem 0 .7rem}.crm-detail-body{min-width:0}.crm-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.7rem;margin:1rem 0}.crm-summary article{background:#f1f7f4;border:1px solid #e2ebe6;padding:1rem;border-radius:12px}.crm-summary p{font-size:.85rem;margin:0 0 .45rem}.crm-summary strong{color:#155747;font-size:1.08rem}.crm-brief,.crm-event>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.crm-event{border-top:1px solid #e2ebe6;padding:.8rem 0}.crm-event .crm-row{justify-content:space-between}.crm-event p{margin:.35rem 0}.crm-outcome{padding:.85rem;border-radius:10px;background:#f5f0e8;color:#725e31}.crm-dialog{width:min(760px,calc(100vw - 2rem));max-height:90dvh;overflow:auto}.crm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.2rem 0;}.crm-fields label:has(textarea){grid-column:1/-1;}.crm-fields>p,.crm-fields>details{grid-column:1/-1}.crm-fields input,.crm-fields textarea,.crm-fields select{width:100%;min-width:0;}.crm-address{padding:1rem;border:1px solid #dce8e4;border-radius:12px}.crm-address summary{cursor:pointer;font-weight:600}.crm-address label{margin-top:.8rem}.crm-dialog>.crm-actions,.crm-dialog form>.crm-actions{justify-content:flex-end;margin-top:1rem;}.crm-view:focus-visible,.crm-card:focus-visible{outline:3px solid #b59858;outline-offset:3px}@media(max-width:600px){.crm-fields{grid-template-columns:1fr;}.crm-filters label{min-width:calc(50% - .5rem)}.crm-grow{min-width:100%!important}.crm-summary{grid-template-columns:1fr 1fr}.crm-detail,.crm-report{padding:1rem}.crm-board{grid-template-columns:repeat(6,minmax(265px,85vw))}}

.crm-detail-header>div:first-child{min-width:0;flex:1 1 260px}.crm-detail h2{overflow-wrap:anywhere}.crm-row{min-width:0}

/* Finance and recurring billing · 24 October 2026. Shared stylesheet only. */
.rb-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start;margin-top:22px}
.rb-content{min-width:0;display:grid;gap:20px}.rb-content>.card{margin:0}.rb-layout .rb-sidebar{display:flex;flex-direction:column;gap:7px;margin:0;padding:14px;background:#14343b;border:1px solid #28565b;border-radius:18px;position:sticky;top:88px;box-shadow:0 10px 30px #14343b12;align-items:stretch}
.rb-layout .rb-sidebar>a,.rb-layout .rb-sidebar>button{width:100%;white-space:normal;}
.rb-layout .rb-sidebar svg{flex:0 0 20px;color:#d9c18a}.rb-layout .rb-sidebar>a:hover,.rb-layout .rb-sidebar>button:hover{background:#ffffff12;border-color:#89afa64d;color:#fff}
.rb-layout .rb-sidebar>[aria-current=page]{background:#ffffff14;border-color:#d9c18a80;color:#fff}.rb-sidebar a:focus-visible,.rb-sidebar button:focus-visible{outline:3px solid #d9c18a;outline-offset:2px}
.rb-page .po-heading{gap:18px}.rb-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:18px 0}.rb-toolbar>label{flex:1 1 210px}.rb-toolbar>.btn{flex:0 0 auto;}.rb-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0;}.rb-fields>label{min-width:0;}.rb-check{display:flex;align-items:center;gap:12px;line-height:1.6;margin:16px 0}.rb-check input{width:20px;height:20px;flex:0 0 20px;accent-color:#14343b;}.rb-page .po-actions,.rb-dialog .po-actions{display:flex;align-items:center;flex-wrap:wrap;margin:18px 0;}.rb-dialog{width:min(1050px,calc(100vw - 32px));max-width:1050px;max-height:90dvh;overflow:auto;padding:30px}.rb-dialog fieldset{border:0;padding:0;min-width:0}.rb-dialog fieldset:disabled{opacity:.8}.rb-dialog .close{margin:0 0 12px 16px}.rb-item{padding:18px;background:#f7faf8;border:1px solid #dbe7e2;border-radius:14px;margin:14px 0}.rb-item .po-heading{margin:0}.rb-item .rb-fields{grid-template-columns:repeat(4,minmax(0,1fr));}.rb-results{display:flex;gap:9px;flex-wrap:wrap}.rb-results:empty{display:none}.rb-history{padding:16px 0;border-bottom:1px solid #dbe7e2}.rb-warning{color:#87521b;font-size:.9rem;line-height:1.5}.rb-note{border-left:3px solid #d9c18a}.rb-note h2{font-size:1.15rem}.rb-dialog .msg:not(:empty){position:sticky;top:0;z-index:2}.rb-page [hidden],.rb-dialog [hidden],.rb-layout [hidden]{display:none!important}
@media(max-width:900px){.rb-layout{grid-template-columns:1fr;gap:16px}.rb-layout .rb-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.rb-fields,.rb-item .rb-fields{grid-template-columns:repeat(2,minmax(0,1fr));}.rb-dialog{padding:22px}}
@media(max-width:520px){.rb-fields,.rb-item .rb-fields{grid-template-columns:1fr;}.rb-toolbar>.btn{flex:1 1 auto;}.rb-dialog{padding:18px;width:calc(100vw - 16px)}.rb-page .po-heading{align-items:flex-start;flex-wrap:wrap}}

.rb-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.rb-totals:empty{display:none}.rb-totals>article{display:grid;gap:7px;padding:17px;border:1px solid #dbe7e2;border-radius:12px;background:#f7faf8}.rb-totals strong{font-size:1.3rem;color:#14343b}.rb-totals small{color:#506b69}


/* ===== BIZCORE SHARED UI SYSTEM · 24 October 2026 =====
   Four button roles; one control size; one spacing scale.
   Module CSS above owns layout only, not .btn dimensions/colours. */
@media screen {
 :root {
  --ui-brand:#14343b;--ui-brand-hover:#204b50;--ui-gold:#f2b134;
  --ui-nav:#e9f1ed;--ui-nav-hover:#dceae2;--ui-nav-border:#bfd2c7;
  --ui-neutral:#f5f7f6;--ui-neutral-hover:#e9eeeb;--ui-neutral-ink:#455b53;
  --ui-danger:#a9362e;--ui-danger-hover:#8e2923;--ui-border:#c8d7ce;
  --ui-surface:#fff;--ui-ink:#18332d;--ui-muted:#61746b;
  --ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:20px;--ui-space-6:24px;
  --ui-control-height:38px;--ui-control-font:14px;--ui-control-radius:8px;
  --ui-panel-padding:20px;--ui-dialog-padding:22px;--ui-field-gap:12px;
 }
 /* The same geometry applies to every text button, including <a> navigation. */
 body :is(.btn,.linkbtn),.swap button,.customer-contact a,#employeeContacts a,.repair-contact-link,.supplier-contact {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);
  min-height:var(--ui-control-height);height:auto;max-width:100%;padding:8px 14px;margin:0;
  border:1px solid var(--ui-nav-border);border-radius:var(--ui-control-radius);
  background:var(--ui-nav);color:var(--ui-brand);font:600 var(--ui-control-font)/20px "Segoe UI",system-ui,sans-serif;
  text-align:center;text-decoration:none;letter-spacing:normal;text-transform:none;vertical-align:middle;
  white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:none;filter:none;transform:none;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
 }
 /* 1. Actions: submit, save, create, send or confirm. */
 body .btn-primary{background:var(--ui-brand);border-color:var(--ui-brand);color:#fff}
 body .btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-brand-hover);border-color:var(--ui-brand-hover);color:#fff}
 /* 2. Navigation: an anchor or a button opening another view. Legacy ghost maps here. */
 body :is(.btn-nav,.btn-ghost,.linkbtn),.customer-contact a,#employeeContacts a,.repair-contact-link,.supplier-contact{background:var(--ui-nav);border-color:var(--ui-nav-border);color:var(--ui-brand)}
 body :is(.btn-nav,.btn-ghost,.linkbtn):hover:not(:disabled):not([aria-disabled=true]),.swap button:hover:not(:disabled),.customer-contact a:hover,#employeeContacts a:hover,.repair-contact-link:hover,.supplier-contact:hover{background:var(--ui-nav-hover);border-color:#93b3a2;color:var(--ui-brand)}
 /* 3. Secondary: close, cancel, reset, refresh. */
 body .btn-secondary{background:var(--ui-neutral);border-color:#d4ded8;color:var(--ui-neutral-ink)}
 body .btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-neutral-hover);border-color:#afc1b6;color:#29483b}
 /* 4. Destructive: delete, remove, revoke, void. */
 body :is(.btn-danger,.btn.customer-delete,.btn.booking-danger){background:var(--ui-danger);border-color:var(--ui-danger);color:#fff}
 body :is(.btn-danger,.btn.customer-delete,.btn.booking-danger):hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-danger-hover);border-color:var(--ui-danger-hover);color:#fff}
 :is(.btn,.linkbtn,.swap button):focus-visible{outline:3px solid var(--ui-gold);outline-offset:3px;box-shadow:none}
 :is(.btn,.linkbtn,.swap button):is(:disabled,[aria-disabled=true]),fieldset:disabled .btn{opacity:.58;cursor:not-allowed;filter:none;transform:none}
 a.btn[aria-disabled=true]{pointer-events:none}
 :is(.btn,.linkbtn)[hidden]{display:none!important}
 .btn svg{width:18px;height:18px;flex:0 0 18px;vertical-align:middle}
 .btn:has(>svg):not(:has(>span)){gap:var(--ui-space-2)}
 /* An active navigation state does not turn navigation into a data action. */
 :is(nav,[role=tablist],.employee-tabs,.sc-tabs) .btn,
 .btn:is([role=tab],[data-tab],[data-settings-section]){background:var(--ui-nav);border-color:var(--ui-nav-border);color:var(--ui-brand)}
 :is(nav,[role=tablist],.employee-tabs,.sc-tabs) .btn:is(.btn-primary,[aria-selected=true],[aria-current=page],.is-active),
 .btn:is([role=tab],[data-tab])[aria-selected=true]{background:var(--ui-nav-hover);border-color:#af8a43;box-shadow:inset 0 -2px 0 #d0af6c;color:var(--ui-brand)}
 /* Compact controls. Native date/select behaviour and validation are retained. */
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=color]):not([type=range]),select,textarea{
  box-sizing:border-box;min-width:0;max-width:100%;min-height:var(--ui-control-height);padding:8px 11px;
  border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-ink);
  font:400 var(--ui-control-font)/20px "Segoe UI",system-ui,sans-serif;box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease;
 }
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=color]):not([type=range]),select{height:var(--ui-control-height)}
 select{padding-right:28px}select[multiple],select[size]:not([size="1"]){height:auto;min-height:96px}
 textarea{height:auto;min-height:80px;resize:vertical;line-height:1.5}textarea[rows="2"]{min-height:64px}
 :is(input,select,textarea):hover:not(:disabled):not([type=hidden]){border-color:#94b3a2}
 :is(input,select,textarea):focus{border-color:#477662;outline:2px solid #b88b31;outline-offset:2px;box-shadow:0 0 0 3px #f2b13418}
 :is(input,select,textarea):is([aria-invalid=true],.bc-field-invalid){border-color:var(--ui-danger)!important;outline-color:var(--ui-danger)}
 :is(input,select,textarea):disabled{background:#f0f4f1;color:#61746b;cursor:not-allowed;box-shadow:none}
 :is(input,textarea)::placeholder{color:#718078;opacity:1}
 :is(input[type=checkbox],input[type=radio]){width:18px!important;height:18px!important;min-height:0!important;padding:0!important;flex:0 0 18px;accent-color:var(--ui-brand);vertical-align:middle;cursor:pointer}
 input[type=hidden]{display:none!important}
 input[type=file]{height:auto;min-height:var(--ui-control-height);padding:3px 8px;line-height:30px}
 input[type=file]::file-selector-button{height:30px;margin:0 10px 0 0;padding:3px 10px;border:1px solid var(--ui-nav-border);border-radius:6px;background:var(--ui-nav);color:var(--ui-brand);font:600 13px/20px "Segoe UI",system-ui,sans-serif;cursor:pointer}
 input[type=color]{width:42px;height:var(--ui-control-height);padding:3px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius)}
 .ui-short,input.ui-short{width:100%;max-width:12rem}.ui-money{max-width:12rem}.ui-date{max-width:13rem}
 /* Label/control spacing is consistent; help text remains close to its field. */
 :is(.field,.access-fields,.booking-fields,.booking-type-fields,.company-fields,.products-fields,.sales-fields,.sales-invoice-fields,.sc-fields,.po-fields,.por-fields,.marketing-fields,.customer-form-grid,.employee-form-grid,.employee-fields,.products-form-grid,.sales-form-grid,.company-form-grid,.fin-fields,.platform-fields,.supplier-fields,.repair-form-grid,.task-field-grid,.crm-fields,.jp-fields,.rb-fields,.dw-fields,.cm-fields,.backup-fields,.location-fields,.onboarding-fields,.ew-fields) label,
 :is(.field,.access-fields,.booking-fields,.booking-type-fields,.company-fields,.products-fields,.sales-fields,.sales-invoice-fields,.sc-fields,.po-fields,.por-fields,.marketing-fields,.customer-form-grid,.employee-form-grid,.employee-fields,.products-form-grid,.sales-form-grid,.company-form-grid,.fin-fields,.platform-fields,.supplier-fields,.repair-form-grid,.task-field-grid,.crm-fields,.jp-fields,.rb-fields,.dw-fields,.cm-fields,.backup-fields,.location-fields,.onboarding-fields,.ew-fields)>label{
  font-size:13px;font-weight:600;line-height:1.4;gap:var(--ui-space-1);margin-top:0;margin-bottom:0;grid-template-rows:none;min-width:0;
 }
 .field{margin-bottom:var(--ui-space-3)}.field>label{display:block;margin-bottom:var(--ui-space-1)}
 :is(.access-fields,.booking-fields,.booking-type-fields,.company-fields,.products-fields,.sales-fields,.sales-invoice-fields,.sc-fields,.po-fields,.por-fields,.marketing-fields,.customer-form-grid,.employee-form-grid,.employee-fields,.products-form-grid,.sales-form-grid,.company-form-grid,.fin-fields,.platform-fields,.supplier-fields,.repair-form-grid,.task-field-grid,.crm-fields,.jp-fields,.rb-fields,.dw-fields,.cm-fields,.backup-fields,.location-fields,.onboarding-fields,.ew-fields){gap:var(--ui-field-gap);align-items:start}
 :is(.access-fields,.booking-fields,.booking-type-fields,.company-fields,.products-fields,.sales-fields,.sales-invoice-fields,.sc-fields,.po-fields,.por-fields,.marketing-fields,.customer-form-grid,.employee-form-grid,.employee-fields,.products-form-grid,.sales-form-grid,.company-form-grid,.fin-fields,.platform-fields,.supplier-fields,.repair-form-grid,.task-field-grid,.crm-fields,.jp-fields,.rb-fields,.dw-fields,.cm-fields,.backup-fields,.location-fields,.onboarding-fields,.ew-fields)>label:not(:has(input[type=checkbox],input[type=radio])){display:grid;align-content:start}
 :is(form,fieldset) label:has(>input:is([type=checkbox],[type=radio])){display:flex;align-items:flex-start;gap:var(--ui-space-2);line-height:1.5}
 :is(form,fieldset) label>input:is([type=checkbox],[type=radio]){margin-top:2px}
 :is(.field,.fin-fields,.company-form-grid,.employee-fields,.crm-fields,.jp-fields,.rb-fields) small{font-size:12px;line-height:1.45;font-weight:400}
 #customerForm .row2{gap:12px 16px;margin-bottom:16px}#customerForm .field label{margin-bottom:4px}#customerForm .field{margin:0}
 :is(.employee-fields,.products-form-grid,.fin-fields,.supplier-fields,.crm-fields,.jp-fields,.rb-fields,.cm-fields,.backup-fields){margin-top:16px;margin-bottom:16px}
 /* Shared action rows own spacing. Buttons never add their own ad-hoc margins. */
 :is(.ui-actions,.customer-actions,.customer-row-actions,.employee-actions,.products-actions,.company-actions,.sales-actions,.sales-editor-actions,.po-actions,.po-editor-actions,.meeting-actions,.invoice-actions,.invoice-library-actions,.platform-actions,.account-actions,.bc-access-actions,.bc-chat-actions,.bc-price-actions,.booking-dialog-actions,.cm-actions,.company-mail-actions,.crm-actions,.di-actions,.dw-actions,.ew-dialog-actions,.ew-reader-actions,.jp-actions,.kb-article-actions,.marketing-actions,.notification-actions,.quote-response-actions,.repair-actions,.sc-actions,.task-form-actions,.task-record-actions){display:flex;align-items:center;gap:var(--ui-space-3);flex-wrap:wrap;min-width:0}
 :is(.ui-actions,.customer-actions,.employee-actions,.products-actions,.company-actions,.sales-actions,.po-actions,.meeting-actions,.invoice-actions,.platform-actions,.cm-actions,.crm-actions,.dw-actions,.jp-actions,.repair-actions,.sc-actions)>:is(.btn,.linkbtn){margin:0;flex-shrink:0}
 :is(.customer-search,.employee-search,.employee-lookup,.products-search,.sales-search,.fin-toolbar,.fin-period form,.rb-toolbar,.jp-toolbar,.crm-filters,.task-filters,.sc-search,.bank-toolbar,.booking-guest-search,.kb-settings-search,form.platform-actions){gap:var(--ui-space-3);align-items:flex-end}
 :is(.customer-search,.employee-search,.employee-lookup,.products-search,.sales-search,.fin-toolbar,.rb-toolbar,.task-filters,.crm-filters){margin-bottom:var(--ui-space-4)}
 :is(.customer-search,.employee-search,.employee-lookup,.products-search,.sales-search,.sc-search){padding:var(--ui-space-4)}
 :is(.customer-search,.employee-search,.employee-lookup,.products-search,.sales-search,.fin-toolbar,.rb-toolbar,.jp-toolbar,.crm-filters,.task-filters,.sc-search,.bank-toolbar)>label{margin:0;gap:4px;font-size:13px;line-height:1.4}
 :is(form,dialog)>.ui-actions,:is(form,dialog)>.customer-actions{margin-top:var(--ui-space-4);padding-top:var(--ui-space-4)}
 .ui-stack{display:grid;gap:var(--ui-space-3)}.ui-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-field-gap)}.ui-span-all{grid-column:1/-1}
 /* Screen surfaces only: printed invoices, quotes, POs and letters stay unchanged. */
 :is(body.bc-app,body.platform-console) :is(.card,.jp-detail,.crm-detail,.crm-report,.dwa-panel,.cm-panel){padding:var(--ui-panel-padding)}
 :is(body.bc-app,body.platform-console) dialog:not(.bc-workflow-dialog):not(.pa-company-dialog){padding:var(--ui-dialog-padding)}
 :is(body.bc-app,body.platform-console) :is(.customer-table,.po-table,.sc-table,.access-matrix) :is(th,td){padding:10px 12px;font-size:13px;line-height:1.45}
 :is(body.bc-app,body.platform-console) :is(.customer-table,.po-table,.sc-table,.access-matrix) th{font-size:12px;letter-spacing:.025em}
 .customer-contact{display:flex;flex-wrap:wrap;gap:8px}.customer-contact div+div{margin-top:0}
 #employeeContacts{gap:var(--ui-space-2);margin:12px 0}
 .customer-dialog h2,.employee-dialog h2,.products-dialog h2,.rb-dialog h2{margin-bottom:12px}
 :is(body.bc-app,body.platform-console) .wrap{padding-top:24px;padding-bottom:24px}
 :is(.customer-heading,.employee-heading,.products-heading,.po-heading,.company-heading,.ew-heading){margin-bottom:16px;gap:16px}
 :is(.bc-app,.platform-console) :is(.customer-actions,.sales-footer,.po-footer,.employee-footer){margin-top:16px;padding-top:16px}
 /* Inline actions without an action-row wrapper still have breathing room. */
 :is(td,.crm-detail-body,.jp-panel,.fin-entry-history)>.btn{margin:4px 8px 4px 0}
 :is(td,.crm-detail-body,.jp-panel,.fin-entry-history)>:is(.ui-actions,.po-actions,.crm-actions,.jp-actions)>.btn{margin:0}
 @media(min-width:1100px){
  .employee-fields,.company-form-grid,.fin-fields,.supplier-fields,.repair-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  :is(.employee-fields,.company-form-grid,.fin-fields,.supplier-fields,.repair-form-grid)>label:has(textarea){grid-column:1/-1}
 }
 @media(max-width:760px),(pointer:coarse){
  :root{--ui-control-height:44px;--ui-control-font:16px;--ui-panel-padding:16px;--ui-dialog-padding:18px}
  body :is(.btn,.linkbtn),.swap button,.customer-contact a,#employeeContacts a,.repair-contact-link,.supplier-contact{padding:11px 14px}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):not([type=color]):not([type=range]),select,textarea{padding:11px 12px}
  input[type=file]{padding:6px 8px}textarea{min-height:90px}
 }
 @media(max-width:680px){
  .ui-grid,.employee-fields,.company-form-grid,.fin-fields,.supplier-fields,.repair-form-grid,.crm-fields,.jp-fields,.rb-fields,.cm-fields{grid-template-columns:minmax(0,1fr)}
  .ui-short,input.ui-short,.ui-money,.ui-date{max-width:none}
  :is(.ui-actions,.customer-actions,.employee-actions,.products-actions,.company-actions,.sales-actions,.po-actions,.meeting-actions,.invoice-actions,.platform-actions,.cm-actions,.crm-actions,.dw-actions,.jp-actions,.repair-actions,.sc-actions){gap:8px}
  :is(.customer-search,.employee-search,.employee-lookup,.products-search,.sales-search,.fin-toolbar,.rb-toolbar,.task-filters)>label{min-width:0}
  .btn{min-width:0}
 }
 @media(prefers-reduced-motion:reduce){.btn,.linkbtn,input,select,textarea{transition:none!important}}
}
@media screen {
 /* Navigation remains a link, rendered with the shared navigation-button treatment. */
 body a.btn{background:var(--ui-nav);border-color:var(--ui-nav-border);color:var(--ui-brand)}
 body a.btn:hover:not([aria-disabled=true]){background:var(--ui-nav-hover);border-color:#93b3a2;color:var(--ui-brand)}
 :is(.icon-btn,.ew-icon,.dw-icon,.tb-toggle,.close){min-width:var(--ui-control-height);min-height:var(--ui-control-height);border-radius:var(--ui-control-radius)}
 .close{display:inline-grid;place-items:center;line-height:1}
 :is(input[name=postcode],input[name=vehicle_reg],input[name=terms_days],input[name=quantity],input[name=year_month],input[name=year_day]){max-width:12rem}
 :is(input[type=date],input[type=time]){max-width:14rem}
 :is(.ui-actions,.customer-actions,.employee-actions,.products-actions,.company-actions,.sales-actions,.po-actions,.meeting-actions,.invoice-actions,.platform-actions,.cm-actions,.crm-actions,.dw-actions,.jp-actions,.repair-actions,.sc-actions)>.btn:last-child{margin-right:0}
 :is(.rb-sidebar,.settings-menu,.pa-company-menu){gap:8px}
 :is(.rb-sidebar,.settings-menu,.pa-company-menu)>:is(a,button){border-radius:var(--ui-control-radius)}
 .bc-app h1{font-size:clamp(1.7rem,2.7vw,2.2rem)}
 @media(max-width:680px){:is(input[name=postcode],input[name=vehicle_reg],input[name=terms_days],input[name=quantity],input[name=year_month],input[name=year_day],input[type=date],input[type=time]){max-width:100%}}
}
@media screen {
 /* Component adapters share the same tokens; no module-specific button sizing. */
 body :is(.rb-sidebar,.pa-company-menu)>.btn{justify-content:flex-start;text-align:left}
 body .settings-menu a,body :is(.jp-tab,.crm-view){display:flex;align-items:center;gap:8px;min-height:var(--ui-control-height);padding:8px 14px;border:1px solid var(--ui-nav-border);border-radius:var(--ui-control-radius);background:var(--ui-nav);color:var(--ui-brand);font:600 var(--ui-control-font)/20px "Segoe UI",system-ui,sans-serif;text-decoration:none}
 body .settings-menu a:hover,body :is(.jp-tab,.crm-view):hover{background:var(--ui-nav-hover);border-color:#93b3a2}
 body .settings-menu a[aria-current=page],body :is(.jp-tab,.crm-view).is-active{background:var(--ui-nav-hover);border-color:#af8a43;box-shadow:inset 0 -2px 0 #d0af6c;color:var(--ui-brand)}
 body .fc .fc-button{min-height:var(--ui-control-height);height:auto;margin:0;padding:8px 14px;border:1px solid var(--ui-nav-border);border-radius:var(--ui-control-radius);background:var(--ui-nav);color:var(--ui-brand);font:600 var(--ui-control-font)/20px "Segoe UI",system-ui,sans-serif;box-shadow:none;text-transform:none}
 body .fc .fc-button:hover{background:var(--ui-nav-hover);border-color:#93b3a2;color:var(--ui-brand)}
 body .fc .fc-button:is(.fc-button-active,:focus-visible){background:var(--ui-nav-hover);border-color:#af8a43;color:var(--ui-brand);box-shadow:none}
 body .fc .fc-button-group{gap:8px}body .fc .fc-button:disabled{opacity:.58;cursor:not-allowed}
 @media(max-width:760px),(pointer:coarse){body :is(.jp-tab,.crm-view),body .settings-menu a,body .fc .fc-button{padding-top:11px;padding-bottom:11px}}
 @media(max-width:820px){body .settings-menu a{justify-content:center}}
}
@media screen {
 .ui-grid>.field{margin:0}.ui-grid>.ui-span-all{grid-column:1/-1}
 :is(body.bc-app,body.platform-console) dialog:not(.bc-workflow-dialog) h2{margin-right:calc(var(--ui-control-height) + 12px)}
}

/* Compact workspace welcome and recovery review · 24 October 2026 */
.bc-app .bc-dashboard-hero{padding:16px 22px;gap:12px 24px;border-radius:14px;}
.bc-dashboard-hero h1{font-size:1.65rem;margin:0 0 4px;line-height:1.2;}
.bc-dashboard-hero .bc-eyebrow{margin:0 0 5px;font-size:.68rem;}
.bc-dashboard-hero>div:first-child{flex:1 1 200px;}
.bc-dashboard-hero .workspace-personal{flex:0 1 560px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);align-items:center;justify-items:end;gap:8px 14px;margin-left:auto;}
.workspace-personal .workspace-personal-links{grid-column:2;grid-row:1;justify-content:flex-end;justify-self:end;}
.workspace-personal .backup-health{grid-column:2;grid-row:2;justify-self:end;width:100%;max-width:280px;box-sizing:border-box;margin-left:auto;padding:8px 11px;border-radius:9px;}
.workspace-personal .backup-health span{min-width:0;overflow-wrap:anywhere;}
.workspace-personal .backup-health small{font-size:.7rem;}
.workspace-personal .workspace-tickets{grid-column:1;grid-row:1 / span 2;justify-content:flex-end;flex-wrap:wrap;gap:7px;}
.workspace-recovery-note{grid-column:1 / -1;margin:0;font-size:.75rem;line-height:1.5;text-align:right;color:#e2eee8;}
.bc-backup-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:14px 0;}
.bc-backup-review-actions p{margin:0;flex:1 1 250px;}
.bc-recovery-review-card{max-width:900px;}
.bc-recovery-review-card form{display:grid;gap:12px;}
.bc-recovery-review-card form>label:not(.platform-check){display:grid;gap:6px;}
.bc-recovery-review-card form>p{margin:0 0 12px;}
.bc-recovery-review-card h2{font-size:1.15rem;margin-top:24px;}
@media(max-width:800px){
 .bc-dashboard-hero .workspace-personal{flex:1 1 100%;padding-top:10px;gap:10px;}
 .bc-dashboard-hero .workspace-personal{grid-template-columns:minmax(0,1fr) minmax(0,270px);}
 .workspace-personal .backup-health{max-width:270px;}
}
@media(max-width:480px){
 .bc-app .bc-dashboard-hero{padding:14px 16px;}
 .bc-dashboard-hero h1{font-size:1.4rem;}
 .bc-dashboard-hero .workspace-personal{grid-template-columns:minmax(0,1fr);}
 .workspace-personal .workspace-personal-links{grid-column:1;grid-row:1;}
 .workspace-personal .backup-health{grid-column:1;grid-row:2;width:min(100%,270px);max-width:100%;}
 .workspace-personal .workspace-tickets{grid-column:1;grid-row:3;justify-content:flex-end;}
}

/* Knowledge index: readable stacked navigation with consistent breathing room. */
@media screen {
 body.bc-app .kb-index{min-width:0;}
 body.bc-app .kb-index h2{padding:0 2px;margin:0 0 14px;}
 body.bc-app .kb-index ul{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:2px 4px 4px 2px;box-sizing:border-box;}
 body.bc-app .kb-index li{min-width:0;margin:0;padding:0;}
 body.bc-app .kb-index li+li{border-top:0;}
 body.bc-app .kb-index a.btn{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px;width:100%;max-width:100%;height:auto;box-sizing:border-box;padding:14px 16px;text-align:left;white-space:normal;}
 body.bc-app .kb-index a.btn>:is(small,strong,span){display:block;min-width:0;width:100%;margin:0;text-align:left;white-space:normal;word-break:normal;overflow-wrap:break-word;}
 body.bc-app .kb-index a.btn small{font-size:11px;line-height:1.5;letter-spacing:.025em;font-weight:600;}
 body.bc-app .kb-index a.btn strong{font-size:14px;line-height:1.5;font-weight:700;}
 body.bc-app .kb-index a.btn span{font-size:12px;line-height:1.6;font-weight:400;}
}

/* Shared UK date entry: display day-month-year, submit the original ISO date. */
@media screen {
 .bc-uk-date{position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--ui-control-height,38px);gap:6px;width:100%;min-width:0;max-width:22rem;align-items:start;}
 .bc-uk-date.bc-uk-date-no-picker{grid-template-columns:minmax(0,1fr);}
 .bc-uk-date[hidden]{display:none!important;}
 body .bc-uk-date>.bc-uk-date-native{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;clip-path:inset(50%);pointer-events:none;}
 body .bc-uk-date>.bc-uk-date-entry{grid-column:1;grid-row:1;width:100%;max-width:none;min-width:0;box-sizing:border-box;font-variant-numeric:tabular-nums;}
 body .bc-uk-date>.bc-uk-date-picker{grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:var(--ui-control-height,38px);height:var(--ui-control-height,38px);min-height:var(--ui-control-height,38px);padding:0;box-sizing:border-box;border:1px solid var(--ui-nav-border,#bfd2c7);border-radius:var(--ui-control-radius,8px);background:var(--ui-nav,#e9f1ed);color:var(--ui-brand,#14343b);cursor:pointer;}
 .bc-uk-date-picker svg{flex:none;}
 .bc-uk-date-picker:disabled{opacity:.5;cursor:default;}
 .bc-uk-date-picker:focus-visible{outline:3px solid #af8a43;outline-offset:2px;}
 .bc-uk-date-entry[aria-invalid=true]{border-color:#a9362e;}
 .bc-uk-date>:is(.bc-field-help,.bc-uk-date-error){grid-column:1/-1;grid-row:2;}
 .bc-uk-date-error{font-size:12px;line-height:1.5;color:#a9362e;white-space:normal;}
}
@media print{.bc-uk-date-native,.bc-uk-date-picker{display:none!important;}.bc-uk-date{display:block;}}

/* Supplier return workspace uses the same compact controls and shared palette. */
.sr-toolbar{margin:18px 0 12px;}
.sr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;}
.sr-summary>.card{display:grid;gap:8px;margin:0;}
.sr-summary strong{font-size:1.4rem;color:#14343b;}
.sr-list{display:grid;gap:16px;margin-top:18px;}
.sr-return{min-width:0;margin:0;}
.sr-row{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap;}
.sr-row h2{font-size:1.1rem;margin:0 0 6px;}
.sr-return p{line-height:1.6;overflow-wrap:anywhere;}
.sr-return .ui-actions{margin:14px 0;}
.sr-return details{margin-top:12px;padding-top:12px;border-top:1px solid #dce8e4;}
.sr-return summary{cursor:pointer;font-weight:600;}
.sr-quantity{padding:6px 10px;border-radius:8px;background:#edf4f0;color:#204b50;font-size:.85rem;white-space:nowrap;}
.sr-dialog{width:min(720px,calc(100vw - 28px));max-height:90dvh;overflow:auto;}
.sr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-field-gap,12px);margin:16px 0;}
.sr-fields label{display:grid;gap:4px;min-width:0;align-content:start;}
.sr-fields label:has(textarea){grid-column:1/-1;}
.sr-fields :is(input,select,textarea){max-width:100%;box-sizing:border-box;}
.sr-dialog .ui-actions{justify-content:flex-end;margin-top:16px;}
@media(max-width:680px){.sr-summary,.sr-fields{grid-template-columns:minmax(0,1fr);}}

/* Stock locations: shared controls, compact cards and consistent spacing. */
.sl-page{display:grid;gap:18px}.sl-page>.card{padding:20px}.sl-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.sl-heading h1,.sl-heading h2,.sl-heading h3{margin:0}.sl-list{display:grid;gap:14px;margin:16px 0}.sl-item{padding:16px;border:1px solid var(--border,#dce7e3);border-radius:12px;background:var(--surface,#fff)}.sl-item p{margin:8px 0}.sl-item .ui-actions{margin-top:14px}.sl-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.sl-stats>div{display:grid;gap:3px}.sl-stats strong{font-size:1.1rem;color:var(--brand,#075c50)}.sl-search{display:grid;grid-template-columns:minmax(200px,2fr) minmax(180px,1fr) auto;align-items:end;gap:14px}.sl-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}#slDialog{width:min(680px,calc(100vw - 28px))}#slDialog form{padding:8px}#slDialog .ui-actions{margin-top:18px}@media(max-width:640px){.sl-search,.sl-fields{grid-template-columns:1fr}.sl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-page>.card{padding:16px}}

/* Expenses: compact shared controls with consistent breathing space. */
.ex-page{display:grid;gap:18px}.ex-page>.card{padding:20px}.ex-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.ex-heading h1,.ex-heading h2,.ex-heading h3{margin:0}.ex-search{display:grid;grid-template-columns:minmax(180px,2fr) minmax(160px,1fr) auto;align-items:end;gap:14px}.ex-list{display:grid;gap:14px;margin:16px 0}.ex-item{border:1px solid var(--border,#dce7e3);border-radius:12px;padding:15px;background:var(--surface,#fff)}.ex-item p{margin:7px 0}.ex-status{font-weight:650;color:var(--brand,#075c50)}.ex-fields,.ex-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.ex-summary>div{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--border,#dce7e3)}.ex-wide{grid-column:1/-1}.ex-note{border-left:3px solid var(--brand,#075c50);padding:10px 14px;background:#f1f7f5}.ex-upload{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding:14px 0}.ex-upload label{flex:1;min-width:220px}#exActions{margin:18px 0}#exDialog{width:min(760px,calc(100vw - 28px))}#exDialog form{padding:8px}#exDialog .ui-actions{margin-top:18px}@media(max-width:640px){.ex-fields,.ex-summary,.ex-search{grid-template-columns:1fr}.ex-page>.card{padding:16px}.ex-wide{grid-column:auto}}

/* Asset register and employee equipment: use the shared button/input system. */
.ar-page{display:grid;gap:18px}.ar-page>.card{padding:20px}.ar-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.ar-heading h1,.ar-heading h2,.ar-heading h3{margin:0}.ar-list{display:grid;gap:14px;margin:16px 0}.ar-item{padding:15px;border:1px solid var(--border,#dce7e3);border-radius:12px;background:var(--surface,#fff)}.ar-item p{margin:8px 0}.ar-item .ui-actions{margin-top:12px}.ar-search{display:grid;grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) minmax(150px,1fr) auto;align-items:end;gap:14px}.ar-summary,.ar-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.ar-summary>div{display:grid;gap:4px;padding:9px 0;border-bottom:1px solid var(--border,#dce7e3)}.ar-status{font-weight:650;color:var(--brand,#075c50)}.ar-note{padding:10px 14px;border-left:3px solid var(--brand,#075c50);background:#f1f7f5}.ar-wide{grid-column:1/-1}#arActions{margin:18px 0}#arDialog{width:min(800px,calc(100vw - 28px))}#arDialog form{padding:8px}#arDialog .ui-actions{margin-top:18px}@media(max-width:680px){.ar-search,.ar-summary,.ar-fields{grid-template-columns:1fr}.ar-page>.card{padding:16px}.ar-wide{grid-column:auto}}

/* Rotas, attendance and weekly hours — uses the one shared application stylesheet. */
.wf-page{max-width:1440px}.wf-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.wf-heading h1,.wf-heading h2{margin:0}.wf-toolbar{display:flex;gap:.85rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.wf-toolbar label{min-width:175px;flex:1}.wf-toolbar label:first-child{flex:1.5}.wf-toolbar button{margin-bottom:0}.wf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.wf-fields label{display:flex;flex-direction:column;gap:.4rem}.wf-fields input[type=checkbox]{align-self:flex-start}.wf-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;align-items:start}.wf-day{min-width:0;background:#f4f8f6;border:1px solid #dbe7e1;border-radius:12px;padding:.75rem}.wf-day h3{margin:0}.wf-day p{margin:.45rem 0;overflow-wrap:anywhere}.wf-day>.btn{margin-top:.6rem}.wf-shift{background:#fff;border:1px solid #d3e2da;border-left:3px solid #235e50;border-radius:9px;padding:.7rem;margin-top:.65rem;font-size:.85rem}.wf-state-draft{border-left-color:#bc9a43}.wf-state-cancelled{opacity:.65;border-left-color:#8d9993}.wf-status{display:inline-flex;background:#e7f0eb;color:#205749;border:1px solid #cbdfd3;border-radius:20px;font-size:.8rem;font-weight:650;padding:.22rem .65rem}.wf-warning{color:#805b17;background:#fff8e6;border:1px solid #ebddb8;border-radius:8px;padding:.6rem;line-height:1.5}.wf-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin:1rem 0}.wf-summary>div{background:#f4f8f6;border:1px solid #dbe7e1;border-radius:10px;padding:.8rem}.wf-summary strong,.wf-summary span{display:block}.wf-summary strong{margin-top:.35rem;font-size:1.05rem}.wf-summary>p{grid-column:1/-1}.wf-list{display:grid;gap:.8rem;margin-top:1rem}.wf-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.85rem;border:1px solid #dbe7e1;border-radius:10px;padding:.9rem 1rem;background:#fff}.wf-row>div:first-child{flex:1;min-width:190px}.wf-row p{margin:.4rem 0;overflow-wrap:anywhere}.wf-history{margin-top:1.2rem;padding-top:1rem;border-top:1px solid #dbe7e1}.wf-history summary{cursor:pointer;font-weight:650;color:#205749}.wf-day .ui-actions{gap:.45rem;margin-top:.65rem}.wf-day .btn{min-height:32px;padding:.35rem .6rem;font-size:.8rem}.wf-page .ui-actions{margin-bottom:.8rem}.wf-page .sales-dialog{width:min(760px,calc(100vw - 2rem));max-height:90dvh;overflow:auto}.wf-page .sales-dialog::backdrop{background:#102f2780;backdrop-filter:blur(3px)}
@media(max-width:1200px){.wf-week{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:800px){.wf-week{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.wf-week,.wf-fields{grid-template-columns:1fr}.wf-toolbar label{min-width:100%}.wf-summary{grid-template-columns:1fr 1fr}.wf-row .ui-actions{width:100%}}

.wf-offsets{grid-column:1/-1;border-top:1px solid #dbe7e1;padding-top:.75rem}.wf-offsets summary{cursor:pointer;color:#205749;font-weight:600}.wf-offsets[open] label{margin-top:.75rem}

/* One shared decision dialog for workspace, platform and support chat. */
:root{--bc-decision-green:#174c42;--bc-decision-gold:#b59141}
body .bc-system-dialog{position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;width:min(480px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;height:fit-content!important;box-sizing:border-box;border:1px solid #cbded4!important;border-top:4px solid var(--bc-decision-green)!important;border-radius:16px!important;padding:0!important;overflow:auto!important;background:#fff!important;color:#193b35!important;box-shadow:0 24px 80px #102e2840!important;text-align:left!important;z-index:2147483647}
body .bc-system-dialog::backdrop{background:#102e2880;backdrop-filter:blur(4px)}
.bc-system-dialog-form{display:block!important;padding:24px!important;margin:0!important;min-width:0}.bc-system-dialog-head{display:flex;align-items:center;gap:13px;margin:0 0 18px}.bc-system-dialog-mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--bc-decision-green);border:1px solid var(--bc-decision-gold);color:#e4cd88;font-size:24px;font-weight:750}.bc-system-dialog-eyebrow{margin:0 0 3px!important;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;color:#61786d}.bc-system-dialog-title{margin:0!important;padding:0!important;font-size:20px!important;line-height:1.3!important;color:var(--bc-decision-green)!important;overflow-wrap:anywhere}.bc-system-dialog-message{margin:0 0 20px!important;padding:0!important;line-height:1.65;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;color:#344f44}.bc-system-dialog-label{display:block;margin:0 0 7px;font-size:13px;font-weight:650;color:#244d3f}.bc-system-dialog-input{width:100%;box-sizing:border-box;margin:0 0 18px!important;border:1px solid #bacfc2!important;border-radius:9px!important;padding:10px 12px!important;min-height:42px;background:#fbfdfb!important;color:#193b35!important;font:inherit!important;resize:vertical}.bc-system-dialog-input:focus{outline:2px solid #b5914160;outline-offset:2px;border-color:var(--bc-decision-green)!important}.bc-system-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:16px;margin:0!important;border-top:1px solid #e2ebe5;flex-wrap:wrap}.bc-system-dialog-actions .btn{margin:0!important;min-width:98px;min-height:40px;justify-content:center}.bc-system-dialog-actions .btn-primary{background:var(--bc-decision-green)!important;border-color:var(--bc-decision-green)!important;color:#fff!important}.bc-system-dialog-actions .btn-secondary{background:#f3f8f5!important;border:1px solid #c9dbcf!important;color:var(--bc-decision-green)!important}.bc-system-dialog-actions .btn-secondary:hover{background:#e6f0e9!important}.bc-system-dialog-actions .btn:focus-visible{outline:3px solid #b59141!important;outline-offset:3px}.bc-system-dialog-actions .btn-danger{background:#9b4352!important;border-color:#9b4352!important;color:white!important}@media(max-width:480px){.bc-system-dialog-form{padding:20px!important}.bc-system-dialog-actions .btn{min-height:44px;flex:1}.bc-system-dialog-input{font-size:16px!important}.bc-system-dialog-title{font-size:19px!important}}@media(prefers-reduced-motion:reduce){.bc-system-dialog{animation:none!important;transition:none!important}}
.bc-system-dialog-failure{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 32px));padding:16px 20px;border-radius:12px;background:#fff5e7;border:1px solid #b59141;color:#493a1e;box-shadow:0 10px 35px #193b3530;z-index:2147483647}

/* Platform administration menu button colours */
.platform-console .pa-side-links nav > a {
  background: #f4efe6;
  color: #14343b;
  border-color: #ddd4c4;
}

.platform-console .pa-side-links nav > a:hover,
.platform-console .pa-side-links nav > a:focus-visible {
  background: #e7ddcc;
  color: #14343b;
}

.platform-console .pa-side-links nav > a[aria-current="page"] {
  background: #f4efe6;
  color: #14343b;
  border-color: #b98927;
}

.platform-console .pa-side-links nav > a .pa-side-icon {
  color: #866014;
}
