*{box-sizing:border-box}

body{
margin:0;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
background:#f3f6f9;
color:#17232d
}

button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hide{display:none!important}

header{
background:#17324d;
color:#fff;
padding:17px 20px;
display:flex;
justify-content:space-between;
align-items:center;
position:sticky;
top:0;
z-index:10
}

header .user{text-align:right}
header #role{font-size:13px;color:#dce8f2;margin-top:3px}

#signOut{
background:none;
border:0;
color:white;
padding:4px 0;
text-decoration:underline
}

.wrap{
max-width:1100px;
margin:auto;
padding:16px
}

.login{
max-width:420px;
margin:10vh auto;
background:white;
padding:26px;
border-radius:18px;
box-shadow:0 4px 25px rgba(0,0,0,.08)
}

.login h1{margin:0 0 5px}

label{
display:block;
font-weight:700;
margin:15px 0 7px
}

input,select,textarea{
width:100%;
padding:15px;
border:1px solid #d5dee6;
border-radius:11px;
background:white;
font-size:16px
}

textarea{
min-height:110px;
resize:vertical
}

.primary{
width:100%;
padding:16px;
margin-top:18px;
border:0;
border-radius:12px;
background:#17324d;
color:white;
font-weight:800;
font-size:17px
}

.tiles{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px
}

.tile{
background:white;
border:1px solid #d8e0e7;
border-radius:16px;
padding:22px;
text-align:left;
min-height:125px;
font-size:19px;
font-weight:800;
box-shadow:0 2px 8px rgba(0,0,0,.04)
}

.tile:active{transform:scale(.99)}

.tile small{
display:block;
color:#64717c;
font-size:14px;
line-height:1.4;
font-weight:500;
margin-top:8px
}

.head{
display:flex;
gap:12px;
align-items:center;
margin-bottom:15px
}

.head h2{margin:0}

.back,.mini{
border:0;
border-radius:10px;
padding:11px 13px;
background:#e3e9ee;
font-weight:800
}

.card{
background:white;
border:1px solid #d8e0e7;
border-radius:15px;
padding:18px
}

.cards{
display:grid;
gap:11px
}

.cards .card h3{margin:0 0 7px}

.choices{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:8px
}

.choice{
padding:14px 5px;
border:1px solid #d5dee6;
border-radius:10px;
background:white;
font-weight:800
}

.choice.on{
outline:3px solid #8fc4e8;
background:#eef7fd
}

.badge{
display:inline-block;
padding:5px 9px;
border-radius:999px;
background:#e8edf2;
font-size:12px;
font-weight:800;
margin:2px
}

.urgent,.no{
background:#fee2e2;
color:#8b1e1e
}

.high,.unsure{
background:#fff0c2;
color:#795500
}

.yes{
background:#dcfce7;
color:#17633d
}

.stats{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:10px;
margin-bottom:15px
}

.stat{
background:white;
border:1px solid #d8e0e7;
border-radius:13px;
padding:15px
}

.stat b{
font-size:27px;
display:block
}

.stat span{
font-size:13px;
color:#64717c
}

.tabs{
display:flex;
gap:7px;
overflow:auto;
margin-bottom:13px;
padding-bottom:3px
}

.tabs button{
white-space:nowrap;
border:1px solid #d8e0e7;
background:white;
border-radius:999px;
padding:10px 13px;
font-weight:700
}

.tabs button.on{
background:#17324d;
color:white
}

.grid2{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px
}

.msg{
padding:11px;
border-radius:9px;
margin-top:10px;
background:#dcfce7;
color:#17633d;
font-weight:600
}

.err{
background:#fee2e2;
color:#8b1e1e
}

.muted{
font-size:13px;
color:#64717c
}

@media(max-width:700px){

.wrap{padding:13px}

.tiles,.grid2{
grid-template-columns:1fr
}

.tile{
min-height:112px;
padding:20px
}

.stats{
grid-template-columns:1fr 1fr
}

.login{
margin:7vh 14px
}

}

/* Equipment Management */

.equipment-tools h3{
margin-top:0
}

.equipment-filters{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:10px
}

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

.equipment-row{
background:white;
border:1px solid #d8e0e7;
border-radius:12px;
padding:13px 15px;
display:flex;
align-items:center;
justify-content:space-between;
gap:15px
}

.equipment-name{
font-weight:800;
font-size:16px
}

.equipment-meta{
font-size:13px;
color:#64717c;
margin-top:3px
}

.equipment-status-area{
display:flex;
align-items:center;
gap:9px
}

.equipment-status{
display:inline-block;
padding:6px 9px;
border-radius:999px;
font-size:12px;
font-weight:800;
white-space:nowrap
}

.equipment-status-available{
background:#dcfce7;
color:#17633d
}

.equipment-status-attention{
background:#fff0c2;
color:#795500
}

.equipment-status-out{
background:#fee2e2;
color:#8b1e1e
}

.equipment-status-select{
width:auto;
min-width:165px;
padding:8px
}

.equipment-add-summary{
font-weight:800;
font-size:17px;
cursor:pointer
}

@media(max-width:700px){

.equipment-filters{
grid-template-columns:1fr
}

.equipment-row{
display:block
}

.equipment-status-area{
margin-top:10px;
justify-content:space-between
}

.equipment-status-select{
min-width:0;
width:55%
}

}

/* Driver Job Workflow */

.job-card{
padding:0;
overflow:hidden
}

.job-summary{
list-style:none;
padding:18px;
display:flex;
justify-content:space-between;
align-items:center;
gap:15px;
cursor:pointer
}

.job-summary::-webkit-details-marker{
display:none
}

.job-summary h3{
margin:0 0 8px
}

.job-summary-meta{
margin-top:8px
}

.job-open-arrow{
font-size:35px;
font-weight:700;
color:#17324d
}

.job-card[open] .job-open-arrow{
transform:rotate(90deg)
}

.job-detail{
border-top:1px solid #e0e6eb;
padding:18px
}

.job-details-text{
font-size:17px;
line-height:1.45;
margin-bottom:12px
}

.job-actions{
display:flex;
gap:8px;
flex-wrap:wrap;
margin:18px 0
}

.job-complete{
background:#dcfce7;
color:#17633d
}

.job-start{
background:#dbeafe;
color:#174b78
}

.job-update-box{
margin-top:18px;
padding-top:15px;
border-top:1px solid #e0e6eb
}

.job-update-box textarea{
min-height:85px
}

.job-history{
margin-top:20px
}

.job-history h4{
margin-bottom:8px
}

.job-history-item{
padding:10px 0;
border-top:1px solid #e6ebef
}


/* V3 - Automatic Job Deadline Escalation */

.job-overdue{
border:3px solid #b91c1c !important;
box-shadow:0 0 0 2px rgba(185,28,28,.08)
}

.job-due-today{
border:3px solid #dc5f00 !important;
box-shadow:0 0 0 2px rgba(220,95,0,.08)
}

.job-due-tomorrow{
border:2px solid #e6a400 !important
}

.job-due-soon{
border:2px solid #e5c24b !important
}

.job-deadline-badge{
margin-left:4px
}

.job-deadline-badge.job-overdue{
background:#b91c1c;
color:white;
border:0 !important;
box-shadow:none
}

.job-deadline-badge.job-due-today{
background:#dc5f00;
color:white;
border:0 !important;
box-shadow:none
}

.job-deadline-badge.job-due-tomorrow{
background:#fff0c2;
color:#795500;
border:0 !important
}

.job-deadline-badge.job-due-soon{
background:#fff7d6;
color:#705c00;
border:0 !important
}

.stat-alert{
border:2px solid #b91c1c;
background:#fff5f5
}

.stat-alert b{
color:#b91c1c
}

.stat-warning{
border:2px solid #dc8b00;
background:#fffbeb
}

.stat-warning b{
color:#a85c00
}

@media(max-width:700px){

.job-overdue,
.job-due-today,
.job-due-tomorrow,
.job-due-soon{
border-radius:14px
}

}


/* ========================================================
   VENUES
   ======================================================== */

.management-tile{
  background:#173a59;
  color:#fff;
  border-color:#173a59;
}

.management-tile small{
  color:#fff;
  opacity:.85;
}

.venue-dimensions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.venue-add-hall{
  margin-top:14px;
}

.venue-extra-hall{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #d9e1e8;
}

.venue-extra-hall-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.venue-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin-top:12px;
}

.venue-checks label{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:10px;
  border:1px solid #d9e1e8;
  border-radius:10px;
}

.venue-checks input[type="checkbox"]{
  width:20px;
  height:20px;
  margin:0;
}

.venue-suboptions{
  margin-top:18px;
  padding:15px;
  border-radius:12px;
  background:#f4f7f9;
}

.venue-leaflet-reminder{
  border:2px solid #173a59;
}

.venue-leaflet-check{
  display:flex;
  align-items:center;
  gap:10px;
  margin:15px 0 20px;
  font-size:1.05rem;
}

.venue-leaflet-check input{
  width:22px;
  height:22px;
}

.venue-admin-hall,
.venue-admin-section{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #e1e6ea;
}

@media(max-width:650px){

  .venue-dimensions{
    grid-template-columns:1fr;
  }

  .venue-checks{
    grid-template-columns:1fr;
  }
}



/* ========================================================
   VENUE MANAGEMENT INBOX
   ======================================================== */

.tab-with-badge{
display:flex !important;
align-items:center;
gap:7px
}

.notification-badge{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:20px;
height:20px;
padding:0 5px;
border-radius:999px;
background:#c62828;
color:#fff;
font-size:11px;
font-weight:900
}

.management-tile{
position:relative;
overflow:hidden
}

.management-tile-content{
display:flex;
align-items:stretch;
justify-content:space-between;
gap:12px;
width:100%
}

.management-alerts{
display:flex;
flex-direction:column;
gap:4px;
justify-content:center;
margin:-8px -10px -8px 0
}

.management-alert-strip{
display:flex;
align-items:center;
justify-content:center;
background:#c62828;
color:#fff;
font-size:10px;
font-weight:900;
letter-spacing:.25px;
padding:6px 8px;
border-radius:7px 0 0 7px;
white-space:nowrap
}

.venue-inbox-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:12px
}

.venue-inbox-header h3{
margin-bottom:3px
}

.venue-inbox-list{
display:grid;
gap:9px
}

.venue-inbox-card{
width:100%;
border:1px solid #d8e0e7;
background:#fff;
border-radius:13px;
padding:14px 16px;
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
text-align:left;
color:inherit
}

.venue-inbox-card.venue-unviewed{
border-left:5px solid #c62828;
background:#fffafa
}

.venue-inbox-name-row{
display:flex;
align-items:center;
gap:8px
}

.venue-inbox-name{
font-size:16px
}

.venue-new-dot{
width:9px;
height:9px;
border-radius:50%;
background:#c62828;
flex:none
}

.venue-inbox-dims{
font-size:14px;
margin:5px 0
}

.venue-detail-name{
margin:0 0 5px
}

.venue-detail-hall{
padding:12px 0;
border-top:1px solid #e2e7eb
}

.venue-detail-hall:first-of-type{
border-top:0
}

.venue-detail-measurement{
font-size:19px;
font-weight:800;
margin-top:4px
}

.venue-detail-tags{
display:flex;
gap:7px;
flex-wrap:wrap
}

.venue-detail-tag{
background:#e8eef3;
border-radius:999px;
padding:7px 10px;
font-size:13px;
font-weight:700
}

.venue-detail-kitchen{
margin-top:15px;
padding-top:15px;
border-top:1px solid #e2e7eb
}

.venue-detail-notes{
white-space:pre-wrap;
line-height:1.45
}

.venue-leaflet-yes{
padding:12px;
background:#dcfce7;
color:#17633d;
border-radius:10px;
font-weight:800
}

.venue-leaflet-no{
padding:12px;
background:#fff0c2;
color:#795500;
border-radius:10px;
font-weight:800
}

.venue-clear-card{
border:2px solid #173a59
}



/* Lead refinements */

.lead-leaflet-reminder{
text-align:center
}

.clear-lead-button{
background:#17324d
}

.email-link{
color:#173a59;
font-weight:700;
text-decoration:underline
}

.email-action{
display:inline-block;
margin-top:8px;
margin-bottom:4px
}



/* Quote equipment picker */

.quote-list-status{
display:flex;
align-items:center;
gap:5px;
margin-top:4px
}

.quoted-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:4px 7px;
border-radius:6px;
background:#2374a6;
color:#fff;
font-size:11px;
font-weight:900;
letter-spacing:.3px
}

.quote-equipment-row{
margin-bottom:12px;
padding:12px;
border:1px solid #d8e0e7;
border-radius:11px;
background:#f8fafb
}

.quote-equipment-row-head{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:8px
}

.quote-equipment-picker{
background:#fff;
border:1px solid #d5dee6;
border-radius:10px
}

.quote-equipment-picker > summary{
cursor:pointer;
padding:14px;
font-weight:700;
list-style:none
}

.quote-equipment-picker > summary::-webkit-details-marker{
display:none
}

.quote-equipment-menu{
border-top:1px solid #e1e7eb;
padding:7px
}

.quote-equipment-category{
border-bottom:1px solid #edf0f2
}

.quote-equipment-category:last-child{
border-bottom:0
}

.quote-equipment-category > summary{
cursor:pointer;
padding:11px 8px;
font-weight:800
}

.quote-equipment-items{
display:grid;
gap:4px;
padding:4px 6px 10px
}

.quote-equipment-choice{
width:100%;
border:0;
border-radius:8px;
background:#eef3f6;
padding:10px;
text-align:left;
font-weight:600
}

.quote-equipment-choice:hover{
background:#dde8ef
}

.quote-add-equipment{
margin-bottom:8px
}



/* Quote overview card layout */

.quote-card-content{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(160px,0.8fr);
gap:22px;
width:100%;
align-items:start
}

.quote-card-main{
min-width:0
}

.quote-card-customer{
display:flex;
align-items:baseline;
gap:5px;
flex-wrap:wrap;
font-size:16px
}

.quote-event-date{
font-weight:700;
color:#526472
}

.quote-card-price{
margin-top:5px;
font-weight:700
}

.quote-card-equipment{
min-width:0;
font-size:13px
}

.quote-equipment-heading{
display:block;
margin-bottom:3px;
font-size:12px;
text-transform:uppercase;
letter-spacing:.35px;
color:#526472
}

.quote-card-equipment ul{
margin:0;
padding-left:18px
}

.quote-card-equipment li{
margin:2px 0;
line-height:1.3
}


/* Mobile */

@media (max-width:650px){

  .quote-card-content{
    grid-template-columns:1fr;
    gap:10px
  }

  .quote-card-equipment{
    padding-top:9px;
    border-top:1px solid #e1e7eb
  }

}



/* Keep Quote action buttons visually consistent with main app buttons */

.danger-zone .quote-action-button{
width:100%;
min-height:46px;
padding:12px 16px;
border-radius:10px;
font-size:15px;
font-weight:800;
box-sizing:border-box;
display:block
}

.danger-zone #quotePlusSeven{
margin:0
}

.danger-zone #deleteQuote{
margin-top:12px !important;
border:0;
background:#b91c1c;
color:#fff;
cursor:pointer
}

.danger-zone #deleteQuote:hover{
background:#991b1b
}



/* ========================================================
   UNIVERSAL DESTRUCTIVE BUTTON
   Same visual design as primary buttons, but red.
   Use class="danger-button" for destructive actions.
   ======================================================== */

.danger-button{
  width:100%;
  display:block;
  box-sizing:border-box;

  border:0;
  border-radius:10px;

  padding:14px 16px;
  min-height:54px;

  background:#b91c1c;
  color:#ffffff;

  font:inherit;
  font-weight:800;
  text-align:center;

  cursor:pointer;
}

.danger-button:hover{
  background:#991b1b;
}

.danger-button:active{
  background:#7f1d1d;
}

.danger-button:disabled{
  opacity:.55;
  cursor:not-allowed;
}


/* +7 Days — same button design as primary/danger buttons, grey */
#quotePlusSeven{
  width:100%;
  display:block;
  box-sizing:border-box;
  border:0;
  border-radius:10px;
  padding:14px 16px;
  min-height:54px;
  background:#e2e8f0;
  color:#000;
  font:inherit;
  font-weight:800;
  text-align:center;
  cursor:pointer;
}

#quotePlusSeven:hover{
  background:#cbd5e1;
}

/* Quote requiring management attention */
.quote-needs-attention{
  border:2px solid #c62828 !important;
  background:#fff5f5 !important;
}

.quote-needs-attention:hover{
  background:#ffeded !important;
}


/* Completed jobs awaiting Management acknowledgement */
.job-completed-attention{
  border:2px solid #75c98b !important;
  background:#f1fff5 !important;
}

.job-completed-attention:hover{
  background:#e7fbed !important;
}

/* Completed job awaiting Management acknowledgement */
.job-completed-attention{
  border:2px solid #75c98b !important;
  background:#f1fff5 !important;
}

.job-completed-attention:hover{
  background:#e7fbed !important;
}


/* Individual unread marker for completed Management jobs */
.job-notification-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  margin-left:8px;
  border-radius:999px;
  background:#d93025;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
}

/* STAFF - OPERATIONAL GROUP OPTIONS */

.staff-group-options{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:8px 0 6px;
}

.staff-group-options label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  margin:0;
  padding:10px 14px;
  border:1px solid #d9dee5;
  border-radius:8px;
  background:#f7f8fa;
  cursor:pointer;
  font-weight:600;
}

.staff-group-options input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
}



/* =========================================================
   SUNDORNE OPERATIONS - BRAND THEME
   ========================================================= */

/*
  Brand colours taken from the Sundorne Master Brand Pack.
  Keep operational screens clean: white panels + navy structure
  with brighter colours used as accents.
*/

:root{
  --sundorne-sky:#39AEEA;
  --sundorne-cyan:#00AEEF;
  --sundorne-red:#ED1C24;
  --sundorne-yellow:#FFC20E;
  --sundorne-green:#79C843;
  --sundorne-navy:#162A69;
  --sundorne-pink:#EC168C;

  --sundorne-page:#f4f9fc;
  --sundorne-panel:#ffffff;
  --sundorne-border:#d7e3eb;
  --sundorne-text:#10233b;
}


/* ---------- PAGE ---------- */

body{
  background:
    linear-gradient(
      180deg,
      #eef9ff 0,
      var(--sundorne-page) 220px,
      var(--sundorne-page) 100%
    );
  color:var(--sundorne-text);
}


/* ---------- TOP BRAND EDGE ---------- */

body::before{
  content:"";
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:6px;
  z-index:9999;

  background:linear-gradient(
    90deg,
    var(--sundorne-red) 0%,
    var(--sundorne-red) 25%,
    var(--sundorne-yellow) 25%,
    var(--sundorne-yellow) 50%,
    var(--sundorne-green) 50%,
    var(--sundorne-green) 75%,
    var(--sundorne-cyan) 75%,
    var(--sundorne-cyan) 100%
  );
}


/* ---------- HEADINGS ---------- */

h1,
h2,
h3{
  color:var(--sundorne-navy);
}


/* ---------- CARDS / PANELS ---------- */

.card,
.venue-inbox-card{
  background:var(--sundorne-panel);
  border-color:var(--sundorne-border);
}


/* ---------- PRIMARY BUTTONS ---------- */

button.primary,
.primary{
  background:var(--sundorne-navy);
  border-color:var(--sundorne-navy);
  color:#fff;
}

button.primary:hover,
.primary:hover{
  background:#203a82;
}


/* ---------- STANDARD BUTTON POLISH ---------- */

button{
  transition:
    background-color .15s ease,
    border-color .15s ease,
    transform .08s ease,
    box-shadow .15s ease;
}

button:active{
  transform:translateY(1px);
}


/* ---------- FORM FIELDS ---------- */

input,
select,
textarea{
  border-color:#cddde8;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--sundorne-sky);
  outline:none;
  box-shadow:0 0 0 3px rgba(57,174,234,.14);
}


/* ---------- BADGES ---------- */

.badge{
  border-radius:999px;
}


/* ---------- MANAGEMENT / NAV TABS ---------- */

[data-tab]{
  transition:
    background-color .15s ease,
    border-color .15s ease,
    box-shadow .15s ease;
}

[data-tab]:hover{
  border-color:var(--sundorne-sky);
}


/* ---------- NOTIFICATION BADGES ---------- */

.job-notification-badge{
  background:var(--sundorne-red);
  color:#fff;
}


/* ---------- COMPLETED JOBS ---------- */

.job-completed-attention{
  border-color:var(--sundorne-green) !important;
  background:#f3fff4 !important;
}


/* ---------- MUTED / SUPPORTING TEXT ---------- */

.muted{
  color:#587086;
}


/* ---------- SMALL BRAND ACCENT ---------- */

/*
  A reusable Sundorne stripe which we can add selectively
  to future screens without making the operational UI busy.
*/

.sundorne-brand-stripe{
  height:5px;
  width:100%;
  border-radius:999px;

  background:linear-gradient(
    90deg,
    var(--sundorne-red) 0 25%,
    var(--sundorne-yellow) 25% 50%,
    var(--sundorne-green) 50% 75%,
    var(--sundorne-cyan) 75% 100%
  );
}


/* ---------- MOBILE ---------- */

@media(max-width:700px){

  body::before{
    height:5px;
  }

}


/* =========================================================
   SUNDORNE HOME SCREEN
   Branded operational tiles
   ========================================================= */

#home .tiles{
  gap:16px;
}


/* Base home tile */

#home .tile{
  position:relative;
  overflow:hidden;

  border:1px solid var(--sundorne-border);
  border-radius:18px;

  padding:25px 24px 23px;

  background:#fff;

  box-shadow:
    0 3px 10px rgba(22,42,105,.06);

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease;
}


/* Coloured top edge */

#home .tile::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
}


/* Individual operational colours */

#home .tile[data-go="issue"]::before{
  background:var(--sundorne-red);
}

#home .tile[data-go="jobs"]::before{
  background:var(--sundorne-sky);
}

#home .tile[data-go="office"]::before{
  background:var(--sundorne-yellow);
}

#home .tile[data-go="venue"]::before{
  background:var(--sundorne-green);
}

#home .tile[data-go="lead"]::before{
  background:var(--sundorne-pink);
}


/* Slight colour tint on hover */

#home .tile[data-go="issue"]:hover{
  border-color:rgba(237,28,36,.45);
}

#home .tile[data-go="jobs"]:hover{
  border-color:rgba(57,174,234,.55);
}

#home .tile[data-go="office"]:hover{
  border-color:rgba(255,194,14,.65);
}

#home .tile[data-go="venue"]:hover{
  border-color:rgba(121,200,67,.60);
}

#home .tile[data-go="lead"]:hover{
  border-color:rgba(236,22,140,.45);
}


/* Desktop interaction */

@media(hover:hover){

  #home .tile:hover{
    transform:translateY(-2px);

    box-shadow:
      0 7px 18px rgba(22,42,105,.10);
  }

}


/* Tile headings */

#home .tile{
  color:var(--sundorne-navy);
}

#home .tile small{
  color:#587086;
  margin-top:9px;
}


/* =========================================================
   MANAGEMENT TILE
   ========================================================= */

#home .management-tile{
  background:
    linear-gradient(
      135deg,
      var(--sundorne-navy),
      #17466b
    );

  border-color:var(--sundorne-navy);
  color:#fff;

  box-shadow:
    0 4px 14px rgba(22,42,105,.16);
}


/* Sundorne rainbow edge on Management */

#home .management-tile::before{
  background:linear-gradient(
    90deg,
    var(--sundorne-red) 0 25%,
    var(--sundorne-yellow) 25% 50%,
    var(--sundorne-green) 50% 75%,
    var(--sundorne-cyan) 75% 100%
  );
}


#home .management-tile small{
  color:#fff;
  opacity:.88;
}


/* Don't change management colour on hover */

#home .management-tile:hover{
  border-color:var(--sundorne-navy);
}


/* =========================================================
   MOBILE HOME
   ========================================================= */

@media(max-width:700px){

  #home .tiles{
    gap:12px;
  }

  #home .tile{
    min-height:105px;
    padding:22px 20px 19px;
    border-radius:16px;
  }

  #home .tile::before{
    height:5px;
  }

}


/* =========================================================
   THE BOUNCY HUB - HEADER
   ========================================================= */

.hub-brand{
  display:flex;
  flex-direction:column;
}

.hub-title{
  color:#fff;
  font-size:20px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.2px;
}

.hub-company{
  margin-top:3px;
  color:#dce8f2;
  font-size:12px;
  font-weight:600;
}

.hub-brand #role{
  margin-top:4px;
  font-size:11px;
  color:#a9c3d7;
  text-transform:capitalize;
}

@media(max-width:700px){

  .hub-title{
    font-size:18px;
  }

  .hub-company{
    font-size:11px;
  }

}


/* BOUNCY HUB - USER DETAILS */

header .user{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}

header .user #name{
  font-size:16px;
  line-height:1.1;
}

header .user #role{
  margin-top:3px;
  color:#b9cede;
  font-size:11px;
  line-height:1.2;
  text-transform:capitalize;
}

header .user #signOut{
  margin-top:4px;
}

/* =========================================================
   THE BOUNCY HUB - BRAND WORDMARK
   ========================================================= */

.hub-title{
  font-family:
    "Arial Rounded MT Bold",
    "Trebuchet MS",
    Arial,
    sans-serif;
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1px;
  color:#fff;
  text-shadow:0 2px 0 rgba(0,0,0,.08);
}

.hub-company{
  margin-top:6px;
  font-size:12px;
  line-height:1.1;
  font-weight:600;
  color:#dce8f2;
}

header{
  padding-top:18px;
  padding-bottom:18px;
}

@media(max-width:700px){
  .hub-title{
    font-size:25px;
    letter-spacing:-.7px;
  }

  .hub-company{
    margin-top:5px;
    font-size:11px;
  }

  header{
    padding-top:15px;
    padding-bottom:15px;
  }
}


/* =========================================================
   THE BOUNCY HUB - LOGIN BRANDING
   ========================================================= */

.login-brand{
  margin-bottom:6px;
}

.login-hub-title{
  font-family:
    "Arial Rounded MT Bold",
    "Trebuchet MS",
    Arial,
    sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1px;
  color:var(--sundorne-navy);
}

.login-company{
  margin-top:7px;
  font-size:13px;
  font-weight:700;
  color:#587086;
}

.login-signin-label{
  margin-top:20px;
  margin-bottom:4px;
  font-weight:700;
}

@media(max-width:700px){
  .login-hub-title{
    font-size:30px;
  }
}


/* =========================================================
   VENUE NAME LIVE SEARCH
   ========================================================= */

.venue-name-results{
  display:grid;
  gap:7px;
  margin-top:8px;
}

.venue-name-result{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;

  width:100%;
  padding:12px 14px;

  border-radius:10px;
  background:#fff;

  text-align:left;
  font-size:15px;
}

.venue-name-result-title{
  font-weight:800;
}

.venue-name-result-status{
  font-weight:800;
}


/* Complete */

.venue-name-complete{
  border:1px solid #65ad4a;
  color:#287326;
  background:#f3fff1;
}

.venue-name-complete:hover{
  background:#eaffE7;
}


/* Information required */

.venue-name-required{
  border:1px solid #dc6666;
  color:#a71919;
  background:#fff4f4;
}

.venue-name-required:hover{
  background:#ffeaea;
}


/* New venue */

.venue-name-new{
  display:flex;
  flex-direction:column;
  gap:3px;

  padding:12px 14px;

  border:1px dashed #9aabb8;
  border-radius:10px;

  background:#f7f9fb;
}

.venue-name-new span{
  color:#587086;
  font-size:13px;
}


/* Selected venue status */

.venue-status-message{
  display:flex;
  flex-direction:column;
  gap:3px;

  margin-top:10px;
  padding:12px 14px;

  border-radius:10px;
}

.venue-status-message span{
  font-size:13px;
}

.venue-status-complete{
  border:1px solid #65ad4a;
  background:#f3fff1;
  color:#287326;
}

.venue-status-required{
  border:1px solid #dc6666;
  background:#fff4f4;
  color:#a71919;
}


@media(max-width:700px){

  .venue-name-result{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }

}


/* ========================================================
   REPORT ISSUE PHOTOS
   ======================================================== */

.issue-photo-box{
  margin:8px 0 20px;
}

.issue-photo-help{
  margin-top:8px;
}

.issue-photo-preview{
  display:grid;
  grid-template-columns:
    repeat(auto-fill,minmax(105px,1fr));
  gap:10px;
  margin-top:12px;
}

.issue-photo-preview-item{
  position:relative;
  aspect-ratio:1 / 1;
  border-radius:10px;
  overflow:hidden;
  background:#eee;
}

.issue-photo-preview-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.issue-photo-remove{
  position:absolute;
  top:5px;
  right:5px;
  width:30px;
  height:30px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:22px;
  line-height:30px;
  cursor:pointer;
}

.issue-upload-frame{
  position:fixed;
  width:1px;
  height:1px;
  border:0;
  opacity:0;
  pointer-events:none;
  left:-10000px;
  top:-10000px;
}


/* Management issue photos */

.issue-reference{
  margin-top:6px;
}

.admin-issue-photos{
  display:grid;
  grid-template-columns:
    repeat(auto-fill,minmax(130px,1fr));
  gap:12px;
  margin-top:14px;
}

.admin-issue-photo{
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}

.admin-issue-photo img{
  display:block;
  width:100%;
  height:120px;
  object-fit:cover;
  background:#eee;
}

.admin-issue-photo-actions{
  display:flex;
  gap:6px;
  padding:8px;
  flex-wrap:wrap;
}

.admin-issue-photo-actions .mini{
  margin:0;
  text-decoration:none;
}

.issue-photo-failed{
  margin-top:12px;
  padding:9px 11px;
  border-radius:8px;
  background:#fff3cd;
  color:#664d03;
  font-size:.9rem;
}



/* =========================================================
   CUSTOMER REVIEW QR
   ========================================================= */


/* Home tile */

#home .review-home-tile::before{
  background:var(--sundorne-cyan);
}

#home .review-home-tile:hover{
  border-color:rgba(0,174,239,.55);
}


/* Brand selection */

.review-select-card{
  max-width:720px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--sundorne-border);
  border-radius:18px;
  padding:26px;
  box-shadow:
    0 3px 12px rgba(22,42,105,.07);
}

.review-select-card h3{
  margin-top:0;
  font-size:23px;
}

.review-brand-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:22px;
}

.review-brand-button{
  min-height:150px;
  border-radius:18px;
  border:2px solid #d7e3eb;
  background:#fff;
  padding:24px 20px;
  text-align:left;
  cursor:pointer;
}

.review-brand-button strong{
  display:block;
  font-size:21px;
  margin-bottom:10px;
}

.review-brand-button span{
  display:block;
  font-size:14px;
  line-height:1.4;
  opacity:.72;
}

.review-brand-sundorne{
  border-top:7px solid var(--sundorne-sky);
  color:var(--sundorne-navy);
}

.review-brand-party{
  border-top:7px solid #1c3758;
  color:#1c3758;
}


/* Customer-facing QR mode */

header.review-mode-hidden{
  display:none !important;
}

main.wrap.review-mode{
  max-width:none;
  margin:0;
  padding:0;
}

#reviewDisplay{
  min-height:100vh;
}

.review-customer-screen{
  min-height:100vh;
  box-sizing:border-box;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  text-align:center;

  padding:
    34px 22px 30px;

  background:#fff;
}

.review-company-name{
  font-size:22px;
  font-weight:900;
  letter-spacing:.01em;
  margin-bottom:24px;
}

.review-customer-screen h1{
  margin:0;
  font-size:clamp(32px,6vw,52px);
  line-height:1.05;
}

.review-intro{
  margin:
    14px 0 25px;

  font-size:
    clamp(18px,3vw,24px);

  color:#536271;
}

.review-qr-shell{
  background:#fff;

  border-radius:22px;

  padding:18px;

  box-shadow:
    0 6px 28px rgba(16,35,59,.13);

  border:
    1px solid #dce6ed;
}

#reviewQrCode{
  width:min(320px,70vw);
  height:min(320px,70vw);

  display:flex;
  align-items:center;
  justify-content:center;
}

#reviewQrCode img,
#reviewQrCode canvas{
  width:100% !important;
  height:100% !important;
  display:block;
}

.review-scan-text{
  margin-top:24px;

  font-size:
    clamp(17px,2.5vw,21px);

  line-height:1.4;

  font-weight:700;
}

.review-done{
  margin-top:30px;

  min-width:180px;

  border:0;
  border-radius:13px;

  padding:15px 28px;

  font-size:17px;
  font-weight:800;

  color:#fff;
  background:var(--sundorne-navy);

  cursor:pointer;
}


/* Sundorne presentation */

.review-sundorne .review-company-name,
.review-sundorne .review-customer-screen h1{
  color:var(--sundorne-navy);
}

.review-sundorne .review-qr-shell{
  border-top:
    6px solid var(--sundorne-sky);
}


/* Party Doctors presentation */

.review-party-doctors .review-company-name,
.review-party-doctors .review-customer-screen h1{
  color:#1c3758;
}

.review-party-doctors .review-qr-shell{
  border-top:
    6px solid #1c3758;
}

.review-party-doctors .review-done{
  background:#1c3758;
}


@media(max-width:700px){

  .review-brand-options{
    grid-template-columns:1fr;
  }

  .review-brand-button{
    min-height:120px;
  }

  .review-customer-screen{
    justify-content:flex-start;
    padding-top:42px;
  }

  .review-company-name{
    margin-bottom:18px;
  }

  .review-qr-shell{
    padding:14px;
  }

}


/* =========================================================
   BOUNCY HUB DESKTOP WORKSPACE V1
   ========================================================= */

.desktop-sidebar,
.desktop-page-heading{
  display:none;
}

@media(min-width:1024px){

  #app:not(.hide){
    min-height:100vh;
  }

  #app > header{
    position:sticky;
    top:0;
    z-index:30;
    min-height:76px;
    padding:13px 28px;
  }

  #app > header .hub-title{
    font-size:25px;
  }

  .desktop-shell{
    display:flex;
    align-items:stretch;
    min-height:calc(100vh - 76px);
  }

  .desktop-sidebar{
    display:flex;
    flex-direction:column;
    position:sticky;
    top:76px;
    height:calc(100vh - 76px);
    overflow-y:auto;
    flex:0 0 244px;
    background:#ffffff;
    border-right:1px solid #dce5ef;
    padding:25px 13px 18px;
  }

  .desktop-sidebar-heading{
    padding:0 14px;
    margin:0 0 12px;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    color:#7b8b9e;
  }

  .desktop-management-heading{
    margin-top:24px;
  }

  .desktop-nav{
    display:flex;
    align-items:center;
    gap:13px;
    width:100%;
    padding:13px 14px;
    margin:2px 0;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#354b63;
    text-align:left;
    font-size:14px;
    font-weight:650;
  }

  .desktop-nav span{
    flex:1;
  }

  .desktop-nav:hover{
    background:#edf4fa;
  }

  .desktop-nav.active{
    background:#e5eef9;
    color:#162a69;
    font-weight:800;
    box-shadow:inset 3px 0 0 #39aeea;
  }

  .desktop-sidebar-footer{
    margin-top:auto;
    padding:22px 14px 5px;
    font-size:11px;
    color:#91a0af;
  }

  .desktop-workspace{
    flex:1;
    min-width:0;
    background:#f4f7fb;
  }

  .desktop-page-heading{
    display:block;
    padding:27px 34px 0;
  }

  .desktop-page-eyebrow{
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    color:#8192a4;
  }

  #desktopPageTitle{
    margin:5px 0 0;
    color:#162a69;
    font-size:27px;
    line-height:1.25;
  }

  .desktop-workspace > .wrap{
    max-width:none;
    margin:0;
    padding:24px 34px 42px;
  }

  #home .tiles{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  #home .tile{
    min-height:130px;
    padding:22px;
  }

  #home .tile small{
    font-size:13px;
  }

  .desktop-workspace .card{
    box-shadow:0 2px 10px rgba(22,42,105,.04);
  }

  /* Customer-facing review display */
  #app:has(header.review-mode-hidden) .desktop-sidebar,
  #app:has(header.review-mode-hidden) .desktop-page-heading{
    display:none!important;
  }

  #app:has(header.review-mode-hidden) .desktop-shell{
    display:block;
    min-height:100vh;
  }

  #app:has(header.review-mode-hidden) .desktop-workspace{
    min-height:100vh;
  }

  #app:has(header.review-mode-hidden) .desktop-workspace > .wrap{
    padding:0;
  }
}

@media(min-width:1024px) and (max-width:1250px){
  #home .tiles{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}\n

/* =========================================================
   BOUNCY HUB OFFICE OVERVIEW V2
   ========================================================= */

.desktop-office-overview{
  display:none;
}

@media(min-width:1024px){

  #app.office-desktop-user #home > .tiles{
    display:none;
  }

  #app.office-desktop-user #desktopOfficeOverview:not(.hide){
    display:block;
  }

  .desktop-more-toggle{
    margin-top:22px;
    border-top:1px solid #e0e7ef;
    border-radius:0;
    padding-top:19px;
  }

  .desktop-more-tools{
    padding-left:15px;
  }

  .desktop-more-tools .desktop-nav{
    font-size:13px;
    padding:10px 12px;
  }

  .office-overview-intro{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:22px;
  }

  .office-overview-intro h2{
    margin:0;
    font-size:24px;
    color:#162a69;
  }

  .office-overview-intro p{
    margin:7px 0 0;
    color:#66788b;
    font-size:14px;
  }

  .overview-refresh{
    border:1px solid #d5e0eb;
    border-radius:9px;
    padding:11px 16px;
    background:white;
    color:#17324d;
    font-weight:700;
  }

  .office-overview-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:15px;
    margin-bottom:22px;
  }

  .overview-stat{
    background:white;
    border:1px solid #dce5ef;
    border-radius:14px;
    padding:22px;
    text-align:left;
    box-shadow:0 3px 12px rgba(22,42,105,.04);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    min-height:160px;
  }

  .overview-stat > span{
    color:#53687e;
    font-size:14px;
    font-weight:700;
  }

  .overview-stat strong{
    font-size:37px;
    color:#162a69;
    line-height:1;
  }

  .overview-stat small{
    margin-top:auto;
    color:#2475ad;
    font-size:12px;
    font-weight:700;
  }

  .overview-stat:hover,
  .overview-panel button:hover{
    border-color:#39aeea;
    background:#f8fcff;
  }

  .office-overview-panels{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }

  .overview-panel{
    background:white;
    border:1px solid #dce5ef;
    border-radius:14px;
    padding:22px;
    min-width:0;
  }

  .overview-panel h3{
    margin:0 0 18px;
    color:#162a69;
    font-size:18px;
  }

  .overview-panel > button{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    width:100%;
    background:white;
    border:0;
    border-bottom:1px solid #edf1f5;
    padding:15px 5px;
    text-align:left;
    color:#354b63;
    font-size:14px;
  }

  .overview-panel > button b{
    font-size:18px;
    color:#162a69;
  }

  .overview-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .overview-actions button{
    border:1px solid #dce5ef;
    border-radius:10px;
    padding:16px 12px;
    background:#f8fafc;
    text-align:left;
    font-size:14px;
    font-weight:700;
    color:#17324d;
  }

  .overview-note,
  .overview-status{
    font-size:12px;
    color:#8291a0;
    margin-top:18px;
  }

  #app.office-desktop-user .desktop-page-heading{
    display:none;
  }

  #app.office-desktop-user .desktop-workspace > .wrap{
    padding-top:32px;
  }

  #app.office-desktop-user #admin .head{
    display:none;
  }

  #app.office-desktop-user #admin .tabs{
    flex-wrap:wrap;
    overflow:visible;
  }

}

@media(min-width:1024px) and (max-width:1350px){
  .office-overview-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(min-width:1024px) and (max-width:1150px){
  .office-overview-panels{
    grid-template-columns:1fr;
  }
}


/* BOUNCY HUB JOBS DUE V3 */

@media(min-width:1024px){

  .office-overview-panels{
    grid-template-columns:1fr;
  }

  .overview-jobs-panel{
    padding:22px;
  }

  .overview-panel-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:16px;
  }

  .overview-panel-heading h3{
    margin:0;
  }

  .overview-panel-heading p{
    margin:6px 0 0;
    color:#7a8998;
    font-size:13px;
  }

  .overview-panel-heading button{
    border:1px solid #dce5ef;
    border-radius:9px;
    background:#f8fafc;
    padding:10px 15px;
    font-weight:700;
    color:#17324d;
  }

  .overview-job-header,
  .overview-job-row{
    display:grid;
    grid-template-columns:2fr 1.3fr 1fr .8fr 1fr 24px;
    gap:14px;
    align-items:center;
  }

  .overview-job-header{
    padding:12px 15px;
    background:#f2f6fa;
    color:#60748a;
    font-size:12px;
    font-weight:800;
    border-radius:8px;
  }

  .overview-job-row{
    width:100%;
    border:0;
    border-bottom:1px solid #e9eef3;
    background:white;
    padding:16px 15px;
    text-align:left;
    color:#3d5065;
    font-size:13px;
  }

  .overview-job-row:hover{
    background:#f6faff;
  }

  .overview-job-title{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
  }

  .overview-job-title strong{
    color:#17324d;
    font-size:14px;
  }

  .overview-job-title small{
    color:#b42318;
    font-weight:800;
    font-size:10px;
  }

  .overview-job-row.is-overdue{
    background:#fff9f7;
  }

  .overview-priority{
    font-style:normal;
    font-weight:700;
  }

  .overview-job-arrow{
    font-size:23px;
    color:#8295a8;
  }

  .overview-empty{
    color:#7b8996;
    padding:18px 5px;
    font-size:14px;
  }

}


/* BOUNCY HUB COMPACT OVERVIEW V4 */

@media (min-width:1024px) {

  /* Reduce space above the dashboard */
  #app.office-desktop-user .desktop-workspace > .wrap {
    padding-top: 20px;
  }

  .office-overview-intro {
    margin-bottom: 14px;
  }

  .office-overview-intro h2 {
    font-size: 23px;
  }

  .office-overview-intro p {
    display: none;
  }

  /* Put overview figures and attention panel side by side */
  .desktop-office-overview {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 16px;
    align-items: stretch;
  }

  .desktop-office-overview.hide {
    display: none !important;
  }

  .office-overview-intro {
    grid-column: 1 / -1;
  }

  .office-overview-stats {
    grid-column: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 0;
  }

  .overview-stat {
    min-height: 0;
    padding: 16px 18px;
    gap: 6px;
  }

  .overview-stat strong {
    font-size: 29px;
  }

  .overview-stat small {
    margin-top: 3px;
  }

  /* Flatten the panels wrapper into the main grid */
  .office-overview-panels {
    display: contents;
  }

  .office-overview-panels > .overview-panel:first-child {
    grid-column: 2;
    grid-row: 2;
    padding: 17px 20px;
  }

  .office-overview-panels > .overview-panel:first-child h3 {
    margin-bottom: 7px;
    font-size: 17px;
  }

  .office-overview-panels > .overview-panel:first-child > button {
    padding: 10px 3px;
  }

  /* Jobs Due immediately below the overview */
  .office-overview-panels > .overview-jobs-panel {
    grid-column: 1 / -1;
    grid-row: 3;
    padding: 19px 22px;
  }

  .overview-panel-heading {
    margin-bottom: 12px;
  }

  .overview-status {
    grid-column: 1 / -1;
    margin-top: 0;
  }

}

@media (min-width:1024px) and (max-width:1200px) {

  .desktop-office-overview {
    grid-template-columns: 1fr;
  }

  .office-overview-stats,
  .office-overview-panels > .overview-panel:first-child,
  .office-overview-panels > .overview-jobs-panel {
    grid-column: 1;
    grid-row: auto;
  }

}


/* BOUNCY HUB CALENDAR SHELL V1 */
.calendar-page{
  max-width:1500px;
  margin:auto;
}
.calendar-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
}
.calendar-top h2{
  margin:0;
  color:#17324d;
}
.calendar-top p{
  margin:6px 0 0;
  color:#66788b;
}

/* BOUNCY HUB WORKING CALENDAR V2 */
.office-calendar-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px;background:white;border:1px solid #dce5ef;
  border-radius:12px;margin-bottom:12px
}
.office-calendar-toolbar h3{margin:0 12px;min-width:180px;text-align:center}
.office-calendar-toolbar button{
  border:1px solid #dce5ef;border-radius:8px;
  padding:10px 14px;background:white
}
.office-calendar-toolbar .primary{background:#17324d;color:white;margin-left:auto}
.office-calendar-legend{display:flex;gap:20px;margin:12px 0;font-size:13px}
.office-calendar-legend span:first-child{color:#2563eb}
.office-calendar-legend span:last-child{color:#c05621}
.office-calendar-grid{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  gap:1px;background:#dce5ef;border:1px solid #dce5ef;
  border-radius:12px;overflow:hidden
}
.cal-weekday{
  background:#edf3f9;padding:12px 4px;text-align:center;
  font-size:13px;font-weight:700
}
.cal-day{min-width:0;min-height:125px;background:white;padding:7px}
.cal-other{background:#f6f8fb}
.cal-today{box-shadow:inset 0 0 0 2px #2475ad}
.cal-day-add{border:0;background:transparent;padding:4px;font-weight:700}
.cal-event{
  display:block;width:100%;margin:3px 0;padding:6px;
  border:0;border-radius:5px;text-align:left;font-size:12px;
  overflow-wrap:anywhere;cursor:pointer
}
.cal-diary{background:#dbeafe;color:#1d4ed8}
.cal-job{background:#ffedd5;color:#9a3412}
.office-calendar-modal{
  position:fixed;inset:0;background:#0008;z-index:1000;
  display:flex;align-items:center;justify-content:center;padding:20px
}
.office-calendar-modal.hide{display:none}
.office-calendar-modal .card{
  width:min(100%,520px);max-height:90vh;overflow:auto
}
.office-calendar-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
#calStatus{font-size:13px;color:#64748b;margin:10px 0}
@media(max-width:767px){
  .cal-day{min-height:65px;padding:3px}
  .cal-event{font-size:10px;padding:4px}
  .office-calendar-toolbar h3{min-width:120px}
}


/* BOUNCY HUB CALENDAR POLISH V3 */

.cal-day-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 7px;
}

.cal-date-number {
  font-weight: 700;
  font-size: 14px;
  color: #253b53;
}

.cal-day-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #2475ad;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

.cal-day-add:hover {
  background: #175985;
}

.cal-day-add:focus-visible {
  outline: 2px solid #17324d;
  outline-offset: 2px;
}

.calendar-top {
  margin-bottom: 12px;
}

@media (max-width: 767px) {
  .cal-day-heading {
    gap: 2px;
  }

  .cal-date-number {
    font-size: 12px;
  }

  .cal-day-add {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
    font-size: 15px;
  }
}


/* BOUNCY HUB BCN CALENDAR DISPLAY V1 */

.cal-bcn {
  background: #dcfce7;
  color: #166534;
  border-left: 3px solid #16a34a;
}

.cal-bcn:hover {
  background: #bbf7d0;
}

.office-calendar-legend span:nth-child(3) {
  color: #15803d;
}

.bcn-detail-row {
  padding: 10px 0;
  border-bottom: 1px solid #e5e7eb;
}

.bcn-detail-row strong {
  display: block;
  margin-bottom: 4px;
  color: #334155;
}

.bcn-detail-row div {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#bcnBookingModal .card {
  width: min(100%, 600px);
  max-height: 90vh;
  overflow-y: auto;
}


/* BOUNCY HUB COMPACT BCN V4 */

.cal-day {
  min-height: 120px;
}

.cal-booking-count {
  display: block;
  border: 0;
  background: transparent;
  padding: 2px 0 5px;
  font-size: 11px;
  font-weight: 700;
  color: #15803d;
  text-align: left;
  cursor: pointer;
}

.cal-event {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 5px 6px;
  font-size: 11px;
}

.cal-more {
  border: 0;
  background: transparent;
  color: #2475ad;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 3px;
  cursor: pointer;
}

#calDayModal .card {
  width: min(100%, 620px);
  max-height: 90vh;
  overflow-y: auto;
}

.cal-day-list-item {
  display: block;
  width: 100%;
  padding: 11px;
  margin: 5px 0;
  border-radius: 7px;
  border: 0;
  text-align: left;
  cursor: pointer;
  font-size: 13px;
}

@media (max-width: 767px) {
  .cal-booking-count {
    font-size: 9px;
  }
  .cal-event {
    font-size: 10px;
  }
}


/* BOUNCY HUB COLLAPSIBLE BCN V5 */

.cal-booking-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  margin: 5px 0;
  padding: 8px 9px;
  background: #e8f7ee;
  color: #166534;
  border: 1px solid #b9e8c9;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.cal-booking-toggle:hover {
  background: #d6f2e1;
}

.cal-booking-expanded {
  padding-left: 5px;
  margin-bottom: 8px;
  border-left: 2px solid #86cfa2;
}

.cal-bcn-event {
  background: #fee2e2;
  color: #991b1b;
  border-left: 3px solid #dc2626;
  white-space: normal;
  font-weight: 700;
  line-height: 1.4;
}

.cal-bcn-event:hover {
  background: #fecaca;
}

.cal-booking-toggle:focus-visible,
.cal-bcn-event:focus-visible {
  outline: 2px solid #17324d;
  outline-offset: 2px;
}


/* BOUNCY HUB TODAY HIGHLIGHT V1 */

.cal-day.cal-today {
  background: #edf6ff;
  outline: 2px solid #2475ad;
  outline-offset: -2px;
  position: relative;
  z-index: 1;
}

.cal-day.cal-today .cal-date-number {
  color: #155b94;
  font-weight: 800;
}

.cal-day.cal-today .cal-date-number::after {
  content: "TODAY";
  display: inline-block;
  margin-left: 7px;
  padding: 3px 6px;
  border-radius: 4px;
  background: #2475ad;
  color: white;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.4px;
  vertical-align: middle;
}


/* BOUNCY HUB BCN EQUIPMENT CHECK V1 */

.bcn-equipment-check {
  padding: 16px;
  margin: 0 0 20px;
  border: 1px solid #d8e2ee;
  border-radius: 10px;
  background: #f8fafc;
}

.bcn-equipment-check h3 {
  margin: 0 0 14px;
  color: #12376b;
  font-size: 16px;
  font-weight: 700;
}

.bcn-equipment-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 11px 0;
  border-top: 1px solid #e2e8f0;
}

.bcn-equipment-row strong {
  flex: 1 1 220px;
  min-width: 0;
  font-size: 14px;
  line-height: 1.4;
}

.bcn-equipment-row small {
  flex: 0 0 100%;
  color: #64748b;
  font-size: 12px;
}

.bcn-equipment-status {
  display: inline-block;
  flex-shrink: 0;
  padding: 5px 9px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.bcn-equipment-status.success {
  background: #dcfce7;
  color: #166534;
}

.bcn-equipment-status.warning {
  background: #fef3c7;
  color: #92400e;
}

.bcn-equipment-status.danger {
  background: #fee2e2;
  color: #991b1b;
}

.bcn-equipment-unmatched {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #fcd34d;
  border-radius: 8px;
  background: #fffbeb;
  color: #92400e;
  font-size: 13px;
  line-height: 1.5;
}

.bcn-equipment-unmatched strong {
  display: block;
  margin-bottom: 5px;
}


/* BOUNCY HUB CALENDAR EQUIPMENT WARNINGS V1 */

.cal-event.cal-bcn.cal-bcn-danger {
  background: #fee2e2;
  border-color: #ef9a9a;
  color: #991b1b;
  font-weight: 700;
}

.cal-event.cal-bcn.cal-bcn-warning {
  background: #fef3c7;
  border-color: #f5ca68;
  color: #92400e;
  font-weight: 700;
}

.cal-safety-count {
  display: inline-block;
  margin-left: 7px;
  padding: 2px 6px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.cal-safety-count.danger {
  background: #fee2e2;
  color: #991b1b;
}

.cal-safety-count.warning {
  background: #fef3c7;
  color: #92400e;
}


/* BOUNCY HUB OFFICE OVERVIEW DIARY AND SAFETY V3 */
.overview-operational-list{display:flex;flex-direction:column;gap:9px}
.overview-operation-row{display:grid;grid-template-columns:135px minmax(0,1fr);gap:14px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.overview-operation-row.is-today{border-left:4px solid #2563eb;background:#eff6ff}
.overview-operation-date{font-weight:700;font-size:13px;color:#334155}
.overview-today-tag{display:inline-block;margin-left:4px;font-size:10px;color:#1d4ed8}
.overview-operation-body{min-width:0;overflow-wrap:anywhere}
.overview-operation-body strong{display:block;font-size:14px;color:#17233b}
.overview-operation-body small{display:block;margin-top:4px;color:#64748b}
.overview-operation-body p{white-space:pre-wrap;margin:7px 0 0;font-size:13px;line-height:1.45;color:#475569}
.overview-safety-row.is-danger{border-left:4px solid #dc2626;background:#fff7f7}
.overview-safety-row.is-warning{border-left:4px solid #d97706;background:#fffbeb}
.overview-affected-equipment{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;font-size:13px}
.overview-affected-equipment em{font-size:11px;font-weight:700;font-style:normal;border-radius:20px;padding:4px 8px;white-space:nowrap}
.overview-affected-equipment em.is-danger{background:#fee2e2;color:#991b1b}
.overview-affected-equipment em.is-warning{background:#fef3c7;color:#92400e}
@media(min-width:1024px){
 .desktop-office-overview{grid-template-columns:1fr!important}
 .desktop-office-overview .office-overview-stats{grid-column:1!important;grid-row:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .desktop-office-overview .office-overview-panels{display:flex!important;flex-direction:column;gap:16px;grid-column:1!important}
 .desktop-office-overview .office-overview-panels>.overview-panel{grid-column:auto!important;grid-row:auto!important;width:100%;box-sizing:border-box}
 .desktop-office-overview .office-overview-panels>.overview-diary-panel{order:0}
 .desktop-office-overview .office-overview-panels>.overview-booking-safety-panel{order:1}
 .desktop-office-overview .office-overview-panels>.overview-jobs-panel{order:2}
 .desktop-office-overview .overview-status{grid-column:1!important}
}
@media(min-width:1024px) and (max-width:1200px){.desktop-office-overview .office-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.overview-operation-row{grid-template-columns:1fr;gap:5px}.overview-affected-equipment{align-items:flex-start;flex-direction:column;gap:4px}}

/* BOUNCY HUB OFFICE OVERVIEW COMPACT V4 */
@media(min-width:1024px){
  .desktop-office-overview{
    display:grid!important;
    grid-template-columns:minmax(0,0.88fr) minmax(0,1.12fr)!important;
    gap:16px!important;
    align-items:stretch;
  }
  .desktop-office-overview .office-overview-intro{grid-column:1/-1!important;grid-row:1!important}
  .desktop-office-overview .office-overview-stats{
    grid-column:1!important;grid-row:2!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr));gap:12px!important;
    margin:0!important;min-width:0;
  }
  .desktop-office-overview .overview-stat{min-height:0!important;padding:13px 16px!important}
  .desktop-office-overview .overview-stat strong{font-size:27px!important}
  .desktop-office-overview .office-overview-panels{display:contents!important}
  .desktop-office-overview .office-overview-panels>.overview-operations-panel{
    grid-column:2!important;grid-row:2!important;
    display:flex;flex-direction:column;gap:10px;
    padding:16px 18px!important;min-width:0;width:auto!important;
  }
  .desktop-office-overview .office-overview-panels>.overview-jobs-panel{
    grid-column:1/-1!important;grid-row:3!important;width:auto!important;
  }
  .desktop-office-overview .overview-status{grid-column:1/-1!important;grid-row:4!important}
}
.overview-operations-title{font-size:17px!important;margin:0 0 1px!important}
.overview-operations-section{min-width:0}
.overview-operations-section+.overview-operations-section{border-top:1px solid #e2e8f0;padding-top:10px}
.overview-operations-section .overview-panel-heading{margin-bottom:6px}
.overview-operations-section .overview-panel-heading h3{font-size:14px!important;margin:0!important}
.overview-operations-section .overview-panel-heading p{font-size:12px}
.overview-operations-section .overview-panel-heading button{font-size:12px;padding:6px 9px}
.overview-operations-section .overview-operation-row{padding:8px 10px;grid-template-columns:115px minmax(0,1fr);gap:9px}
.overview-operations-section .overview-operation-body strong{font-size:12px}
.overview-operations-section .overview-affected-equipment{font-size:12px;margin-top:5px}
.overview-operations-section .overview-empty{margin:7px 0;font-size:12px}
@media(min-width:1024px) and (max-width:1200px){
  .desktop-office-overview{grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr)!important}
  .desktop-office-overview .office-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1023px){
  .overview-operations-panel{display:flex;flex-direction:column;gap:12px}
}
@media(max-width:650px){
  .overview-operations-section .overview-operation-row{grid-template-columns:1fr;gap:4px}
}

/* BOUNCY HUB OVERVIEW CLEANUP V5 */
.overview-operations-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.overview-operations-topline .overview-operations-title{margin:0!important}
.overview-operations-topline button{border:1px solid #d9e3ef;border-radius:8px;background:#f8fafc;color:#12335d;font-weight:700;padding:7px 11px;cursor:pointer;white-space:nowrap}
.overview-operations-section .overview-panel-heading{margin-bottom:4px}
.overview-operations-section .overview-panel-heading p:empty{display:none}
.overview-operations-section .overview-operational-list:empty{display:none}
.overview-operations-section .overview-affected-equipment{justify-content:flex-end;margin-top:3px}
.desktop-office-overview .overview-status:empty{display:none}

/* BOUNCY HUB OVERVIEW COMPACT OPEN BUTTONS V6 */
.overview-v6-row{display:flex!important;align-items:center!important;gap:12px!important;min-height:45px!important;padding:9px 12px!important}
.overview-v6-row .overview-operation-date{flex:0 0 94px;white-space:nowrap}
.overview-v6-row .overview-operation-body{flex:1 1 auto;min-width:0;margin:0!important}
.overview-v6-row .overview-operation-body strong{display:block;overflow-wrap:anywhere}
.overview-v6-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center;justify-content:flex-end}
.overview-v6-badges em{font-style:normal;font-size:11px;font-weight:700;white-space:nowrap;border-radius:99px;padding:4px 9px}
.overview-v6-badges em.is-danger{background:#fee2e2;color:#b91c1c}
.overview-v6-badges em.is-warning{background:#fef3c7;color:#92400e}
.overview-v6-open{flex:0 0 auto!important;border:1px solid #d7e1ed!important;background:#f8fafc!important;color:#15385c!important;border-radius:7px!important;padding:6px 12px!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important}
.overview-v6-open:hover{background:#eaf2fb!important}
@media(max-width:720px){.overview-v6-row{flex-wrap:wrap}.overview-v6-row .overview-operation-date{flex-basis:100%}.overview-v6-badges{margin-left:auto}}

/* BOUNCY HUB ISSUE DIRECT OPEN V7 */
.hub-issue-focused{outline:3px solid #1d75d0!important;outline-offset:3px;box-shadow:0 0 0 7px rgba(29,117,208,.12)!important}


/* BOUNCY HUB FLEET REGISTER V1 */
.fleet-panel{display:grid;gap:18px}.fleet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fleet-heading h2{margin:0}.fleet-heading p{margin:4px 0 0;color:#667085}.fleet-primary{border:0;border-radius:9px;padding:11px 15px;background:#173b62;color:white;font-weight:700;cursor:pointer}.fleet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fleet-stats>div{border:1px solid #d8e0e7;border-radius:12px;padding:15px;background:white;display:grid;gap:4px}.fleet-stats small{color:#667085}.fleet-stats strong{font-size:26px}.fleet-tools{display:flex;gap:10px;flex-wrap:wrap}.fleet-tools input{flex:1;min-width:190px}.fleet-tools input,.fleet-tools select,.fleet-form-grid input,.fleet-form-grid select,.fleet-form-grid textarea{border:1px solid #cbd5e1;border-radius:8px;padding:10px;font:inherit;background:white;color:#182334}.fleet-scroll{overflow-x:auto;border:1px solid #d8e0e7;border-radius:12px;background:white}.fleet-table{width:100%;border-collapse:collapse;font-size:14px}.fleet-table th{text-align:left;background:#f3f6fa;color:#526276;font-size:12px;padding:12px;white-space:nowrap}.fleet-table td{padding:13px 12px;border-top:1px solid #e5eaf0;vertical-align:middle}.fleet-table td small{display:block;color:#667085;margin-top:3px}.fleet-table td.overdue{color:#b42318;font-weight:700}.fleet-table td.soon{color:#9a6700;font-weight:700}.fleet-pill{display:inline-block;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:700;white-space:nowrap}.fleet-pill.success{background:#e4f5e9;color:#176a39}.fleet-pill.warning{background:#fff1ce;color:#805900}.fleet-pill.danger{background:#fee5e4;color:#aa2424}.fleet-open{border:1px solid #c9d6e5;background:white;color:#173b62;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}.fleet-editor-card{background:white;border:1px solid #cbd5e1;border-radius:14px;padding:18px}.fleet-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.fleet-editor-heading h3{margin:0 0 12px}.fleet-editor-heading button{border:0;background:transparent;cursor:pointer}.fleet-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fleet-form-grid label{display:grid;align-content:start;gap:5px;font-size:13px;font-weight:650}.fleet-form-grid .fleet-wide{grid-column:1/-1}.fleet-editor-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.fleet-detail-section{border-top:1px solid #e3e8ef;margin-top:18px;padding-top:14px}.fleet-related{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5;padding:10px 0}.fleet-related span{flex:1}.fleet-related strong{min-width:125px}.fleet-panel .hide{display:none!important}
@media(max-width:760px){.fleet-stats{gap:7px}.fleet-stats>div{padding:10px}.fleet-stats strong{font-size:21px}.fleet-form-grid{grid-template-columns:1fr 1fr}.fleet-table thead{display:none}.fleet-table,.fleet-table tbody,.fleet-table tr,.fleet-table td{display:block;width:100%}.fleet-table tr{padding:12px;border-bottom:1px solid #d8e0e7}.fleet-table td{border:0;padding:5px 0;display:flex;justify-content:space-between;gap:12px}.fleet-table td:before{content:attr(data-label);color:#667085;font-size:12px}.fleet-table td:last-child{justify-content:flex-end}.fleet-heading .fleet-primary{width:100%}.fleet-related{flex-wrap:wrap}}
@media(max-width:480px){.fleet-form-grid{grid-template-columns:1fr}}

/* BOUNCY HUB FLEET CALENDAR V2 */
.cal-event.cal-fleet{display:block;width:100%;text-align:left;border:1px solid #b7cbe0;background:#eaf2fb;color:#173b62;font-size:11px;line-height:1.3;white-space:normal;cursor:pointer}
.cal-event.cal-fleet-due{border-color:#e9b7a9;background:#fff0eb;color:#9c2f20;font-weight:750}
.overview-fleet-row.is-danger .overview-operation-body strong{color:#b42318}
@media(min-width:800px){.fleet-tools{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr)}.fleet-tools input{min-width:0}}

/* BOUNCY HUB FLEET MAINTENANCE ATTACHMENTS V3 */
.fleet-history-entry {
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 10px 0;
  background: #fafcff;
}
.fleet-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.fleet-history-entry p {
  margin: 8px 0;
  color: #3b4858;
  white-space: pre-wrap;
}
.fleet-cost {
  font-weight: 700;
  color: #173b62;
}
.fleet-attachment-list {
  display: grid;
  gap: 6px;
}
.fleet-attachment {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid #e6ebf2;
  padding: 8px 0;
}
.fleet-attachment > span {
  flex: 1;
  min-width: 160px;
  overflow-wrap: anywhere;
}
.fleet-attachment-upload {
  display: inline-flex;
  position: relative;
  align-items: center;
  gap: 6px;
  border: 1px solid #c9d6e5;
  border-radius: 8px;
  padding: 8px 12px;
  font-weight: 700;
  color: #173b62;
  background: white;
  cursor: pointer;
  margin-top: 8px;
}
.fleet-attachment-upload input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.fleet-upload-status {
  display: block;
  margin-top: 5px;
  color: #667085;
}

/* BOUNCY HUB PERSISTENT FLEET ALERTS V8 */
.overview-fleet-actions{
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:flex-end;
}
.overview-fleet-clear{
  color:#526579;
  background:#fff;
}
.overview-fleet-overdue{
  background:#fff1f1;
  border-left:3px solid #dc2626;
}
.overview-fleet-overdue .overview-operation-body strong{
  color:#a61b1b;
}
@media(max-width:650px){
  .overview-fleet-actions{
    flex-wrap:wrap;
  }
}

/* BOUNCY HUB DESKTOP MANAGEMENT TABLES V1 */
@media(min-width:850px){
  #adminBody .hub-management-table{margin-bottom:16px}
  #adminBody .hub-mgmt-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
  #adminBody .hub-mgmt-heading h3{margin:0;color:#0b2a50;font-size:21px}
  #adminBody .hub-mgmt-controls{display:grid;grid-template-columns:minmax(0,3fr) minmax(170px,1fr);gap:12px;margin-bottom:16px}
  #adminBody .hub-mgmt-controls input,#adminBody .hub-mgmt-controls select{width:100%;margin:0;min-width:0}
  #adminBody .hub-mgmt-table-scroll{overflow-x:auto;border:1px solid #d4dfeb;border-radius:13px;background:#fff}
  #adminBody .hub-mgmt-table{width:100%;border-collapse:collapse;min-width:780px;font-size:13px}
  #adminBody .hub-mgmt-table th{background:#f1f5f9;color:#344b65;text-align:left;padding:14px 13px;font-size:12px}
  #adminBody .hub-mgmt-table td{padding:13px;border-top:1px solid #e0e8f0;vertical-align:middle}
  #adminBody .hub-mgmt-table td.hub-mgmt-primary{font-weight:750;color:#09264a}
  #adminBody .hub-mgmt-table tr:hover:not(.hub-mgmt-detail){background:#f8fbff}
  #adminBody .hub-mgmt-table td:last-child{text-align:right}
  #adminBody .hub-mgmt-table .hub-mgmt-detail>td{padding:15px;background:#f7f9fc;text-align:left}
  #adminBody .hub-mgmt-table .hub-mgmt-detail .card{margin:0;text-align:left}
  #adminBody .hub-mgmt-table [hidden]{display:none!important}
  #adminBody .hub-mgmt-existing-grid{display:block}
  #adminBody .hub-mgmt-existing-grid>:nth-child(2){display:none}
  #adminBody .hub-mgmt-existing-grid>:first-child{width:100%;max-width:100%;box-sizing:border-box}
  #adminBody .hub-mgmt-form-closed{display:none!important}
  #adminBody .hub-mgmt-empty-cards{display:none}
  #adminBody .hub-mgmt-no-results{padding:14px;color:#64748b}
}


/* BOUNCY HUB LEADS EQUIPMENT TABLES V2 */
@media (min-width:850px) {
  #adminBody .hub-leads-source {
    display:none;
  }

  #adminBody .hub-equip-table {
    width:100%;
  }

  #adminBody .hub-equip-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin:0 0 15px;
  }

  #adminBody .hub-equip-heading h3 {
    margin:0;
    color:#0b2a50;
    font-size:21px;
  }

  #adminBody .hub-equip-table .hub-mgmt-table {
    width:100%;
    border-collapse:collapse;
    background:#fff;
  }

  #adminBody .hub-equip-table th {
    background:#f1f5f9;
    color:#344b65;
    text-align:left;
    padding:13px;
    font-size:12px;
  }

  #adminBody .hub-equip-table td {
    padding:13px;
    border-top:1px solid #e0e8f0;
  }

  #adminBody .hub-equip-table .hub-mgmt-primary {
    font-weight:750;
    color:#09264a;
  }

  #adminBody .hub-equip-table td:last-child {
    text-align:right;
  }

  #adminBody .hub-equip-table .hub-mgmt-detail td {
    text-align:left;
    background:#f7f9fc;
  }

  #adminBody .hub-equip-table .hub-mgmt-detail .equipment-row {
    margin:0;
    width:100%;
  }

  #adminBody .hub-equip-table [hidden],
  #adminBody .hub-leads-table [hidden] {
    display:none!important;
  }
}


/* BOUNCY HUB MOBILE HOME TILE RESTORATION V1 */

/*
   Office Overview belongs on desktop only.
   Mobile retains the original coloured tile menu.
*/

@media screen and (max-width:1023px){

  #app #home #desktopOfficeOverview{
    display:none!important;
  }

  #app #home > .tiles{
    display:grid!important;
  }

}

/*
   Preserve the existing desktop Office Overview.
   Hide shortcut tiles for office administrators
   only when using the desktop workspace.
*/

@media screen and (min-width:1024px){

  #app.office-desktop-user #home > .tiles{
    display:none!important;
  }

}
