@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap");

/* ======================================================================
   Gizzi Operations Base44 CSS replacement
   Original plugin CSS is retained first for full functional coverage.
   Base44 matching layer follows and overrides shared selectors.
   ====================================================================== */

.gizzi-portal{max-width:768px;margin:0 auto;padding:16px}.gizzi-job-card,.gizzi-job-sheet{background:#fff;border:1px solid #e5e5e5;border-radius:12.8px;padding:14.4px;margin:12.8px 0;box-shadow:0 6.4px 19.2px rgba(0,0,0,.06)}.gizzi-job-card h3{margin-top:0}.gizzi-button{display:inline-flex;align-items:center;justify-content:center;background;:#111;color:#fff!important;border-radius:799.2px;padding:8.8px 14.4px;text-decoration:none;border:0;font-weight:700;cursor:pointer}.gizzi-job-sheet textarea{width:100%;border:1px solid #ddd;border-radius:9.6px;padding:9.6px}.gizzi-job-sheet label{font-weight:600}

.gizzi-job-sheet input[type=text],.gizzi-job-sheet input[type=email]{width:100%;border:1px solid #ddd;border-radius:9.6px;padding:9.6px}.gizzi-notice{padding:9.6px 11.2px;border-radius:9.6px;margin:9.6px 0}.gizzi-notice-success{background:#e9f8ef;border:1px solid #bce5ca}.gizzi-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12.8px;margin:16px 0}.gizzi-stat-card{background:#fff;border:1px solid #e5e5e5;border-radius:12.8px;padding:14.4px;box-shadow:0 6.4px 19.2px rgba(0,0,0,.06)}.gizzi-stat-card strong{display:block;color:#555;margin-bottom:6.4px}.gizzi-stat-card span{font-size:24px;font-weight:800}

/* Gizzi Ops v1.2.0 frontend admin dashboard */
.gizzi-admin-shell{--gizzi-yellow:#ffd400;--gizzi-dark:#111;--gizzi-red:#ef4444;--gizzi-blue:#148cff;--gizzi-muted:#64748b;--gizzi-border:#e6eaf0;display:grid;grid-template-columns:208px minmax(0,1fr);min-height:608px;background:#f6f7f9;border:1px solid var(--gizzi-border);border-radius:14.4px;overflow:hidden;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a}.gizzi-admin-sidebar{background:#111;color:#fff;padding:17.6px 14.4px;display:flex;flex-direction:column;gap:6.4px}.gizzi-brand{display:flex;gap:9.6px;align-items:center;padding:0 0 19.2px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}.gizzi-brand img{width:35.2px;height:35.2px;object-fit:contain;background:#fff;border-radius:6.4px}.gizzi-brand-mark{width:35.2px;height:35.2px;border-radius:8px;background:#fff;color:#111;font-weight:900;display:grid;place-items:center}.gizzi-brand strong{display:block;color:var(--gizzi-yellow);text-transform:uppercase;letter-spacing:0.064em}.gizzi-brand span{display:block;color:#a1a1aa;text-transform:uppercase;font-size:9.6px;letter-spacing:0.096em}.gizzi-admin-sidebar a{display:flex;align-items:center;gap:9.6px;color:#a1a1aa;text-decoration:none;text-transform:uppercase;font-size:10.4px;font-weight:800;letter-spacing:0.016em;padding:10.4px 11.2px;border-radius:9.6px}.gizzi-admin-sidebar a span{width:16px;text-align:center;font-size:14.4px}.gizzi-admin-sidebar a:hover,.gizzi-admin-sidebar a.active{background:var(--gizzi-yellow);color:#111}.gizzi-admin-main{padding:35.2px 33.6px;overflow:auto}.gizzi-admin-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:27.2px}.gizzi-admin-topbar h1{font-size:27.2px;line-height:1.1;margin:0 0 6.4px;font-weight:900;color:#0f172a}.gizzi-admin-topbar p{margin:0;color:var(--gizzi-muted);font-size:13.6px}.gizzi-admin-actions{display:flex;align-items:center;gap:9.6px}.gizzi-admin-button,.gizzi-admin-small-button,.gizzi-admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6.4px;border:0;text-decoration:none;border-radius:9.6px;font-weight:900;line-height:1;}.gizzi-admin-button{background:var(--gizzi-red);color:#fff!important;padding:12px 17.6px}.gizzi-admin-small-button{background:var(--gizzi-red);color:#fff!important;padding:8px 11.2px}.gizzi-admin-icon-btn{width:36.8px;height:36.8px;background:#fff;color:#111!important;border:1px solid var(--gizzi-border);box-shadow:0 3.2px 11.2px rgba(15,23,42,.06)}.gizzi-admin-cards{display:grid;grid-template-columns:repeat(5,minmax(104px,1fr));gap:14.4px;margin-bottom:38.4px}.gizzi-admin-card{background:#fff;border-radius:12.8px;padding:19.2px 19.2px;box-shadow:0 2px 6.4px rgba(15,23,42,.04);border:1px solid #f0f2f5;display:flex;align-items:center;justify-content:space-between;min-height:94.4px}.gizzi-admin-card strong{display:block;text-transform:uppercase;color:#64748b;font-size:11.2px;letter-spacing:0.032em;margin-bottom:9.6px}.gizzi-admin-card span{display:block;font-size:27.2px;font-weight:950;line-height:1;color:#0f172a}.gizzi-admin-card p{margin:9.6px 0 0;color:#64748b;font-size:11.2px}.gizzi-admin-card em{font-style:normal;width:35.2px;height:35.2px;border-radius:9.6px;background:#eef2f7;color:#475569;display:grid;place-items:center;font-size:17.6px}.gizzi-admin-section{background:transparent;margin-bottom:25.6px}.gizzi-admin-section h2{font-size:17.6px;margin:0 0 12.8px;color:#0f172a}.gizzi-admin-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12.8px}.gizzi-admin-section-head h2{margin:0}.gizzi-admin-section-head a{font-weight:800;text-decoration:none;color:var(--gizzi-red)}.gizzi-admin-table-wrap{background:#fff;border:1px solid var(--gizzi-border);border-radius:12.8px;overflow:auto;box-shadow:0 2px 6.4px rgba(15,23,42,.04)}.gizzi-admin-table{width:100%;border-collapse:collapse;min-width:672px}.gizzi-admin-table th{font-size:9.6px;text-transform:uppercase;color:#64748b;letter-spacing:0.048em;text-align:left;background:#fbfcfd;padding:11.2px 12.8px;border-bottom:1px solid var(--gizzi-border)}.gizzi-admin-table td{padding:11.2px 12.8px;border-bottom:1px solid #f0f2f5;vertical-align:middle;color:#334155}.gizzi-admin-table tr:last-child td{border-bottom:0}.gizzi-admin-table strong{display:block;color:#0f172a}.gizzi-admin-table small{display:block;color:#64748b;margin-top:3.2px}.gizzi-status{display:inline-flex;align-items:center;border-radius:799.2px;background:#eef2f7;color:#475569;font-size:9.6px;font-weight:800;padding:4.8px 8px;text-transform:capitalize;white-space:nowrap}.gizzi-status.status-active{background:#dcfce7;color:#15803d}.gizzi-status.status-completed{background:#dbeafe;color:#1d4ed8}.gizzi-status.status-reschedule_pending{background:#fee2e2;color:#b91c1c}.gizzi-inline-form{display:flex;align-items:center;gap:4.8px}.gizzi-inline-form select{max-width:120px;border:1px solid var(--gizzi-border);border-radius:8px;padding:5.6px 6.4px;background:#fff}.gizzi-inline-form button{border:0;background:#111;color:#fff;border-radius:8px;padding:6.4px 8px;font-weight:800;cursor:pointer}.gizzi-empty{background:#fff;border:1px dashed #d7dde6;border-radius:12.8px;padding:24px;text-align:center;color:#64748b}.gizzi-admin-timeline{background:#fff;border:1px solid var(--gizzi-border);border-radius:12.8px;padding:14.4px}.gizzi-admin-timeline h3{margin:14.4px 0 8px;color:#0f172a}.gizzi-admin-timeline h3:first-child{margin-top:0}.gizzi-timeline-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:11.2px;align-items:center;border-top:1px solid #f0f2f5;padding:11.2px 0}.gizzi-timeline-row:first-of-type{border-top:0}.gizzi-timeline-row span{font-weight:900;color:#0f172a}.gizzi-timeline-row p{margin:3.2px 0 0;color:#64748b}.gizzi-timeline-row mark{background:#eef2f7;color:#475569;border-radius:799.2px;padding:4.8px 8px;font-size:9.6px;font-weight:800}.gizzi-staff-tabs{display:flex;gap:8px;overflow:auto;background:#fff;border:1px solid var(--gizzi-border);border-radius:11.2px;padding:8px;margin-bottom:14.4px}.gizzi-staff-tabs span{white-space:nowrap;padding:8px 11.2px;border-radius:8px;background:#f8fafc;font-weight:800;color:#64748b}.gizzi-live-box{background:#fff;border:1px solid var(--gizzi-border);border-radius:12.8px;padding:19.2px;text-align:center;color:#64748b;margin-bottom:17.6px}.gizzi-live-box div{font-size:38.4px;color:#cbd5e1}.gizzi-admin-form{background:#fff;border:1px solid var(--gizzi-border);border-radius:14.4px;padding:17.6px;box-shadow:0 2px 6.4px rgba(15,23,42,.04)}.gizzi-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12.8px}.gizzi-admin-form label{display:block;font-weight:800;color:#334155;margin-bottom:11.2px}.gizzi-admin-form input,.gizzi-admin-form select,.gizzi-admin-form textarea{width:100%;border:1px solid var(--gizzi-border);border-radius:9.6px;padding:8.8px 9.6px;margin-top:5.6px;background:#fff;color:#0f172a}.gizzi-admin-engineers{display:flex;flex-wrap:wrap;gap:9.6px;margin:14.4px 0}.gizzi-admin-engineers strong{width:100%;display:block}.gizzi-admin-engineers label{margin:0;background:#f8fafc;border:1px solid var(--gizzi-border);border-radius:799.2px;padding:7.2px 9.6px}.gizzi-admin-notice{background:#dcfce7;border:1px solid #86efac;color:#166534;border-radius:9.6px;padding:9.6px 11.2px;font-weight:800;margin-bottom:14.4px}@media(max-width:880px){.gizzi-admin-shell{grid-template-columns:1fr}.gizzi-admin-sidebar{position:relative;flex-direction:row;overflow:auto;border-bottom:1px solid rgba(255,255,255,.12)}.gizzi-brand{min-width:176px;margin:0;padding:0 14.4px 0 0;border-bottom:0;border-right:1px solid rgba(255,255,255,.12)}.gizzi-admin-main{padding:22.4px 14.4px}.gizzi-admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.gizzi-form-grid{grid-template-columns:1fr}}@media(max-width:512px){.gizzi-admin-topbar{display:block}.gizzi-admin-actions{margin-top:14.4px}.gizzi-admin-cards{grid-template-columns:1fr}.gizzi-admin-topbar h1{font-size:22.4px}.gizzi-admin-sidebar a{font-size:9.6px}.gizzi-brand{display:none}.gizzi-admin-main{padding:17.6px 11.2px}.gizzi-admin-card{min-height:auto}.gizzi-admin-shell{border-radius:0;margin-left:-12px;margin-right:-12px}}

.gizzi-admin-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:11.2px;padding:9.6px 12.8px;margin:0 0 14.4px;font-weight:800}.gizzi-admin-help{color:#64748b;font-size:11.2px;margin:0 0 14.4px;max-width:608px}.gizzi-admin-form input[type=text],.gizzi-admin-form input[type=email],.gizzi-admin-form input[type=password],.gizzi-admin-form select{width:100%}

/* Gizzi Ops v1.2.2 mobile off-canvas admin menu */
.gizzi-mobile-menu-toggle,.gizzi-mobile-menu-close,.gizzi-admin-topbar-menu{display:none}.gizzi-admin-overlay{display:none}
@media(max-width:880px){
  body.gizzi-menu-open{overflow:hidden}
  .gizzi-admin-shell{position:relative;display:block;overflow:visible}
  .gizzi-mobile-menu-toggle{display:inline-flex;position:absolute;top:11.2px;left:11.2px;z-index:50;width:35.2px;height:35.2px;border:0;border-radius:11.2px;background:#111;align-items:center;justify-content:center;flex-direction:column;gap:3.2px;cursor:pointer}
  .gizzi-mobile-menu-toggle span{display:block;width:14.4px;height:2px;background:#fff;border-radius:79.2px}
  .gizzi-admin-topbar-menu{display:inline-flex;width:35.2px;height:35.2px;border:0;border-radius:11.2px;background:#111;color:#fff;align-items:center;justify-content:center;font-size:17.6px;font-weight:900;cursor:pointer;flex:0 0 auto}
  .gizzi-mobile-menu-close{display:flex;position:absolute;top:11.2px;right:11.2px;width:30.4px;height:30.4px;border:0;border-radius:9.6px;background:rgba(255,255,255,.1);color:#fff;font-size:22.4px;line-height:1;align-items:center;justify-content:center;cursor:pointer}
  .gizzi-admin-sidebar{position:fixed!important;top:0;left:0;bottom:0;width:min(82vw,256px);z-index:1000;display:flex!important;flex-direction:column!important;overflow-y:auto!important;border-bottom:0!important;transform:translateX(-105%);transition:transform .28s ease;padding:57.6px 14.4px 17.6px!important;box-shadow:14.4px 0 32px rgba(0,0,0,.28)}
  .gizzi-admin-shell.is-menu-open .gizzi-admin-sidebar{transform:translateX(0)}
  .gizzi-admin-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);z-index:999;opacity:0;pointer-events:none;transition:opacity .2s ease;display:block}
  .gizzi-admin-shell.is-menu-open .gizzi-admin-overlay{opacity:1;pointer-events:auto}
  .gizzi-admin-sidebar .gizzi-brand{display:flex!important;min-width:0!important;margin:0 0 14.4px!important;padding:0 38.4px 16px 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .gizzi-admin-sidebar a{width:100%;min-width:0;flex:0 0 auto}
  .gizzi-admin-main{padding-top:7.6px!important}
	
	
	@media (min-width: 1025px) {

  .gizzi-admin-topbar > div:first-of-type {
    flex:1;
  }

}
	
  .gizzi-admin-topbar{display:flex!important;align-items:flex-start;justify-content:space-between;gap:11.2px}.gizzi-admin-topbar>div:first-of-type{min-width:0}
}
@media(max-width:512px){
  .gizzi-mobile-menu-toggle{top:9.6px;left:9.6px}.gizzi-admin-main{padding:56px 11.2px 17.6px!important}.gizzi-admin-topbar{align-items:center!important}.gizzi-admin-actions{width:100%;flex-wrap:wrap}.gizzi-admin-actions .gizzi-admin-button,.gizzi-admin-actions .gizzi-admin-small-button{flex:1 1 auto}.gizzi-admin-topbar h1{font-size:20.8px!important}
}

/* Gizzi Ops v1.2.4 responsive admin dashboard fixes */
.gizzi-admin-shell,.gizzi-admin-shell *{box-sizing:border-box}.gizzi-admin-shell{width:100%;max-width:100%;overflow:hidden}.gizzi-admin-main{min-width:0}.gizzi-admin-topbar>div:first-of-type{min-width:0}.gizzi-admin-actions{flex-wrap:wrap}.gizzi-admin-table-wrap{max-width:100%}
@media(max-width:880px){
  .gizzi-admin-shell{display:block!important;min-height:100vh;border-radius:0!important;margin-left:0!important;margin-right:0!important;overflow:hidden!important;background:#f6f7f9!important;border:0!important}
  .gizzi-mobile-menu-toggle{display:none!important}
  .gizzi-admin-topbar-menu{display:inline-flex!important;width:35.2px;height:35.2px;border:0;border-radius:11.2px;background:#111;color:#fff;align-items:center;justify-content:center;font-size:17.6px;font-weight:900;cursor:pointer;flex:0 0 44px;box-shadow:0 6.4px 16px rgba(15,23,42,.16)}
  .gizzi-admin-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(86vw,264px)!important;z-index:1000!important;display:flex!important;flex-direction:column!important;gap:6.4px!important;overflow-y:auto!important;background:#111!important;transform:translateX(-105%)!important;transition:transform .28s ease!important;padding:57.6px 14.4px 19.2px!important;box-shadow:14.4px 0 33.6px rgba(0,0,0,.32)!important;border:0!important}
  .gizzi-admin-shell.is-menu-open .gizzi-admin-sidebar{transform:translateX(0)!important}
  .gizzi-admin-overlay{display:block!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.55)!important;backdrop-filter:blur(2px);z-index:999!important;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .gizzi-admin-shell.is-menu-open .gizzi-admin-overlay{opacity:1!important;pointer-events:auto!important}
  .gizzi-mobile-menu-close{display:flex!important;position:absolute!important;top:11.2px!important;right:11.2px!important;width:30.4px!important;height:30.4px!important;border:0!important;border-radius:9.6px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:22.4px!important;line-height:1!important;align-items:center!important;justify-content:center!important;cursor:pointer!important}
  .gizzi-admin-sidebar .gizzi-brand{display:flex!important;min-width:0!important;margin:0 0 14.4px!important;padding:0 38.4px 16px 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .gizzi-admin-sidebar a{width:100%!important;min-width:0!important;flex:0 0 auto!important}
  .gizzi-admin-main{padding:17.6px!important;overflow:visible!important;width:100%!important;max-width:100%!important}
  .gizzi-admin-topbar{display:grid!important;grid-template-columns:35.2px minmax(0,1fr)!important;gap:11.2px!important;align-items:start!important;margin-bottom:17.6px!important}
  .gizzi-admin-topbar h1{font-size:25.6px!important;line-height:1.1!important;word-break:break-word!important;overflow-wrap:anywhere!important}
  .gizzi-admin-topbar p{font-size:12.8px!important}
  .gizzi-admin-actions{grid-column:1 / -1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:3.2px!important;width:100%!important;align-items:stretch!important}
  .gizzi-admin-actions .gizzi-admin-icon-btn{display:none!important}
  .gizzi-admin-actions .gizzi-admin-small-button,.gizzi-admin-actions .gizzi-admin-button{width:100%!important;min-height:38.4px!important;text-align:center!important;padding:11.2px 9.6px!important;white-space:normal!important;box-shadow:0 6.4px 14.4px rgba(239,68,68,.14)!important}
  .gizzi-admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11.2px!important;margin-bottom:22.4px!important}
  .gizzi-admin-card{min-height:92.8px!important;padding:16px!important}.gizzi-form-grid{grid-template-columns:1fr!important}.gizzi-timeline-row{grid-template-columns:62.4px minmax(0,1fr)!important}.gizzi-timeline-row mark{grid-column:2}
}


@media(max-width:512px){
	
  .gizzi-admin-main{padding:14.4px 11.2px 19.2px!important}.gizzi-admin-topbar{grid-template-columns:35.2px minmax(0,1fr)!important;gap:9.6px!important;margin-bottom:14.4px!important}.gizzi-admin-topbar h1{font-size:22.4px!important}.gizzi-admin-actions{grid-template-columns:1fr!important}.gizzi-admin-cards{grid-template-columns:1fr!important;gap:11.2px!important}.gizzi-admin-card{width:100%!important;min-height:100.8px!important}.gizzi-admin-section-head{display:block!important}.gizzi-admin-section-head a{display:inline-block;margin-top:6.4px}.gizzi-staff-tabs{margin-left:0!important;margin-right:0!important}.gizzi-admin-table{min-width:576px!important}.gizzi-admin-form{padding:14.4px!important;border-radius:12.8px!important}.gizzi-admin-shell{margin:0!important}.gizzi-admin-sidebar{width:min(88vw,256px)!important}.gizzi-brand strong{font-size:11.2px}.gizzi-brand span{font-size:8.8px}
}
@media(max-width:336px){.gizzi-admin-topbar h1{font-size:20px!important}.gizzi-admin-main{padding-left:9.6px!important;padding-right:9.6px!important}.gizzi-admin-card strong{font-size:10.4px}.gizzi-admin-card span{font-size:27.2px}}

/* v1.2.5 - Card layouts for jobs and enquiries */
.gizzi-admin-card-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12.8px;
}
.gizzi-record-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 208px;
  gap:14.4px;
  align-items:stretch;
  background:#fff;
  border:1px solid var(--gizzi-border,#e6eaf0);
  border-radius:14.4px;
  padding:14.4px;
  box-shadow:0 4.8px 14.4px rgba(15,23,42,.045);
}
.gizzi-record-card:hover{
  border-color:#d7dde6;
  box-shadow:0 9.6px 22.4px rgba(15,23,42,.075);
}
.gizzi-record-card-main{min-width:0;}
.gizzi-record-card-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:11.2px;
  margin-bottom:11.2px;
}
.gizzi-record-card-title-row h3{
  margin:0!important;
  font-size:16px!important;
  line-height:1.2;
  color:#0f172a;
  font-weight:950;
}
.gizzi-record-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 9.6px;
}
.gizzi-enquiry-card .gizzi-record-meta-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.gizzi-record-meta-grid div{
  background:#f8fafc;
  border:1px solid #edf1f5;
  border-radius:11.2px;
  padding:8.8px 9.6px;
  min-width:0;
}
.gizzi-record-meta-grid span,
.gizzi-card-form label span{
  display:block;
  text-transform:uppercase;
  letter-spacing:0.044em;
  color:#64748b;
  font-size:8.8px;
  font-weight:900;
  margin-bottom:4px;
}
.gizzi-record-meta-grid strong{
  display:block;
  color:#0f172a;
  font-size:10.4px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.gizzi-record-location,
.gizzi-record-description{
  margin:8px 0 0;
  color:#64748b;
  font-size:11.2px;
  line-height:1.45;
}
.gizzi-record-description{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  border-radius:11.2px;
  padding:9.6px 11.2px;
}
.gizzi-record-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  border-left:1px solid #edf1f5;
  padding-left:14.4px;
}
.gizzi-card-form{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.gizzi-card-form label{margin:0!important;}
.gizzi-card-form select{
  width:100%;
  border:1px solid var(--gizzi-border,#e6eaf0);
  border-radius:9.6px;
  padding:8px 8.8px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
}
.gizzi-card-form button{
  width:100%;
  border:0;
  border-radius:9.6px;
  padding:9.6px 11.2px;
  background:#111;
  color:#fff;
  font-weight:950;
  cursor:pointer;
}
@media(max-width:720px){
  .gizzi-record-card{grid-template-columns:1fr;gap:11.2px;padding:12.8px;}
  .gizzi-record-card-actions{border-left:0;border-top:1px solid #edf1f5;padding-left:0;padding-top:11.2px;}
  .gizzi-record-meta-grid,.gizzi-enquiry-card .gizzi-record-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:416px){
  .gizzi-record-card-title-row{display:block;}
  .gizzi-record-card-title-row .gizzi-status{margin-top:8px;}
  .gizzi-record-meta-grid,.gizzi-enquiry-card .gizzi-record-meta-grid{grid-template-columns:1fr;}
  .gizzi-record-card-title-row h3{font-size:14.4px!important;}
}

/* Gizzi Ops v1.2.6 - Mobile-style cards and detail pages */
.gizzi-mobile-record-card{
  position:relative;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:17.6px;
  padding:17.6px;
  box-shadow:0 8px 24px rgba(15,23,42,.075);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.gizzi-mobile-record-card:hover,
.gizzi-mobile-record-card:focus{
  transform:translateY(-1px);
  border-color:#cbd5e1;
  box-shadow:0 12.8px 28.8px rgba(15,23,42,.11);
  outline:0;
}
.gizzi-mobile-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12.8px;
  margin-bottom:11.2px;
}
.gizzi-mobile-card-title{min-width:0;}
.gizzi-mobile-card-title h3{
  margin:0!important;
  color:#0f172a;
  font-size:20px!important;
  line-height:1.12;
  font-weight:950;
  letter-spacing:-0.016em;
}
.gizzi-mobile-card-title p{
  margin:8px 0 0;
  color:#64748b;
  font-size:13.6px;
  line-height:1.35;
}
.gizzi-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:799.2px;
  background:#cffafe;
  color:#0f766e;
  padding:6.4px 11.2px;
  font-size:10.4px;
  font-weight:900;
  text-transform:capitalize;
  white-space:nowrap;
}
.gizzi-pill.status-enquiry,.gizzi-pill.status-quote_generator{background:#ede9fe;color:#5b21b6;}
.gizzi-pill.status-reschedule_pending{background:#fee2e2;color:#b91c1c;}
.gizzi-pill.status-completed,.gizzi-pill.status-certified{background:#dcfce7;color:#15803d;}
.gizzi-pill.status-active{background:#dbeafe;color:#1d4ed8;}
.gizzi-mobile-card-info{
  display:flex;
  flex-wrap:wrap;
  gap:9.6px 14.4px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.gizzi-mobile-card-info span{overflow-wrap:anywhere;}
.gizzi-mobile-card-description{
  margin:11.2px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.gizzi-mobile-card-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:12.8px;
}
.gizzi-open-card-link{
  color:#ef4444!important;
  font-weight:950;
  text-decoration:none;
}
.gizzi-open-card-link:hover{text-decoration:underline;}
.gizzi-detail-page{display:grid;gap:16px;}
.gizzi-detail-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:11.2px;
}
.gizzi-back-link{
  display:inline-flex;
  align-items:center;
  gap:6.4px;
  color:#475569!important;
  font-size:16px;
  font-weight:850;
  text-decoration:none;
}
.gizzi-detail-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:17.6px;
  padding:20.8px;
  box-shadow:0 8px 24px rgba(15,23,42,.075);
}
.gizzi-detail-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14.4px;
  margin-bottom:14.4px;
}
.gizzi-detail-header h2{
  margin:0 0 8px!important;
  color:#0f172a;
  font-size:27.2px!important;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-0.024em;
}
.gizzi-detail-edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6.4px;
  border:1px solid #e2e8f0;
  border-radius:11.2px;
  background:#fff;
  color:#111!important;
  padding:9.6px 14.4px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 3.2px 11.2px rgba(15,23,42,.06);
}
.gizzi-detail-meta{
  display:flex;
  flex-wrap:wrap;
  gap:11.2px 19.2px;
  color:#64748b;
  font-size:13.6px;
  line-height:1.45;
}
.gizzi-detail-meta span{overflow-wrap:anywhere;}
.gizzi-detail-card hr{
  border:0;
  border-top:1px solid #e2e8f0;
  margin:17.6px 0;
}
.gizzi-detail-card h3{
  margin:0 0 8px!important;
  color:#0f172a;
  font-size:16px!important;
  font-weight:950;
}
.gizzi-detail-card p{
  margin:0;
  color:#475569;
  font-size:13.6px;
  line-height:1.55;
}
.gizzi-detail-form{
  display:flex;
  flex-wrap:wrap;
  gap:9.6px;
  align-items:center;
}
.gizzi-detail-form select{
  flex:1 1 240px;
  border:1px solid #e2e8f0;
  border-radius:11.2px;
  background:#fff;
  padding:9.6px 11.2px;
  font-weight:800;
}
.gizzi-detail-form button{
  border:0;
  border-radius:11.2px;
  padding:10.4px 14.4px;
  font-weight:950;
  cursor:pointer;
}
.gizzi-detail-form button:not(.gizzi-light-action):not(.gizzi-red-action){background:#111;color:#fff;}
.gizzi-progress-steps{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:start;
  gap:12.8px;
  text-align:center;
}
.gizzi-progress-steps span{
  display:grid;
  place-items:center;
  width:46.4px;
  height:46.4px;
  border-radius:50%;
  background:#e8eef5;
  color:#94a3b8;
  font-weight:950;
  position:relative;
}
.gizzi-progress-steps span.active{
  background:#ef4444;
  color:#fff;
  box-shadow:0 0 0 6.4px #fee2e2;
}
.gizzi-progress-steps span em{
  position:absolute;
  top:57.6px;
  left:50%;
  transform:translateX(-50%);
  color:#64748b;
  font-style:normal;
  font-size:11.2px;
  font-weight:800;
  white-space:nowrap;
}
.gizzi-progress-steps i{
  height:4.8px;
  background:#e2e8f0;
  border-radius:799.2px;
  margin-top:20.8px;
}
.gizzi-progress-card{padding-bottom:49.6px;}
.gizzi-enquiry-stage-form{margin-top:17.6px;}
.gizzi-light-action{
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  color:#111!important;
  box-shadow:0 3.2px 11.2px rgba(15,23,42,.06);
}
.gizzi-red-action{
  background:#ef4444!important;
  color:#fff!important;
}
@media(max-width:576px){
  .gizzi-mobile-record-card{padding:19.2px 20.8px;border-radius:17.6px;}
  .gizzi-mobile-card-title h3{font-size:19.2px!important;}
  .gizzi-mobile-card-title p{font-size:12.8px;}
  .gizzi-mobile-card-top{align-items:flex-start;}
  .gizzi-mobile-card-info{display:grid;grid-template-columns:1fr;gap:7.2px;font-size:12px;}
  .gizzi-mobile-card-footer{display:none;}
  .gizzi-detail-card{padding:19.2px 20.8px;border-radius:17.6px;}
  .gizzi-detail-header{align-items:flex-start;}
  .gizzi-detail-header h2{font-size:25.6px!important;}
  .gizzi-detail-meta{display:grid;grid-template-columns:1fr;gap:9.6px;font-size:12.8px;}
  .gizzi-detail-actions{margin-bottom:3.2px;}
  .gizzi-back-link{font-size:14.4px;}
  .gizzi-detail-form{display:grid;grid-template-columns:1fr;}
  .gizzi-enquiry-stage-form{grid-template-columns:1fr 1fr;}
}
@media(max-width:368px){
  .gizzi-mobile-card-top{display:block;}
  .gizzi-mobile-card-top .gizzi-pill{margin-top:9.6px;}
  .gizzi-detail-header{display:block;}
  .gizzi-detail-edit{margin-top:11.2px;}
  .gizzi-enquiry-stage-form{grid-template-columns:1fr;}
  .gizzi-progress-steps{gap:6.4px;}
  .gizzi-progress-steps span{width:38.4px;height:38.4px;}
  .gizzi-progress-steps span em{font-size:9.6px;top:49.6px;}
}

/* Gizzi Ops v1.2.7 - enquiry workflow/mobile fixes */
.gizzi-progress-card{
  overflow:hidden;
  padding-bottom:30.4px!important;
}
.gizzi-progress-steps{
  grid-template-columns:minmax(43.2px,57.6px) minmax(22.4px,1fr) minmax(43.2px,57.6px) minmax(22.4px,1fr) minmax(43.2px,70.4px)!important;
  gap:8px!important;
  width:100%;
  min-width:0;
}
.gizzi-progress-steps span{
  justify-self:center;
}
.gizzi-progress-steps span.complete{
  background:#22c55e!important;
  color:#fff!important;
}


.sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-this-week {
	margin-left: 70px;
}
.gizzi-progress-steps span.complete:after{
  content:'✓';
  font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight:900;
  position:absolute;
  right:-2px;
  bottom:-2px;
  width:16px;
  height:16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#16a34a;
  color:#fff;
  font-size:9.6px;
  font-weight:950;
}
.gizzi-site-visit-form{
  margin-top:16px;
}
.gizzi-site-visit-form .gizzi-form-grid{
  margin-bottom:11.2px;
}
@media(max-width:576px){
  .gizzi-progress-card{
    padding:16px 11.2px 36.8px!important;
  }
  .gizzi-progress-steps{
    grid-template-columns:40px minmax(17.6px,1fr) 40px minmax(17.6px,1fr) 40px!important;
    gap:5.6px!important;
  }
  .gizzi-progress-steps span{
    width:36.8px!important;
    height:36.8px!important;
    font-size:13.6px!important;
  }
  .gizzi-progress-steps span.active{
    box-shadow:0 0 0 5.6px #fee2e2!important;
  }
  .gizzi-progress-steps span em{
    top:46.4px!important;
    max-width:60.8px!important;
    white-space:normal!important;
    line-height:1.12!important;
    font-size:8.8px!important;
    text-align:center!important;
  }
  .gizzi-progress-steps i{
    height:4px!important;
    margin-top:17.6px!important;
  }
  .gizzi-detail-card h3{
    font-size:19.2px!important;
  }
  .gizzi-enquiry-stage-form{
    grid-template-columns:1fr!important;
  }
  .gizzi-enquiry-stage-form button,
  .gizzi-site-visit-form button{
    width:100%!important;
    min-height:43.2px!important;
    font-size:13.6px!important;
  }
}
@media(max-width:304px){
  .gizzi-progress-steps{
    grid-template-columns:33.6px minmax(12.8px,1fr) 33.6px minmax(12.8px,1fr) 33.6px!important;
    gap:4px!important;
  }
  .gizzi-progress-steps span{
    width:32px!important;
    height:32px!important;
  }
  .gizzi-progress-steps span em{
    top:41.6px!important;
    max-width:54.4px!important;
    font-size:8px!important;
  }
}

/* Gizzi Ops v1.2.9 - mobile form overflow fixes */
.gizzi-admin-shell,
.gizzi-admin-shell *{
  box-sizing:border-box;
}
.gizzi-admin-form,
.gizzi-admin-form *{
  max-width:100%;
}
.gizzi-site-visit-form{
  overflow:hidden;
}
.gizzi-site-visit-form .gizzi-form-grid{
  grid-template-columns:1fr!important;
  gap:14.4px!important;
}
.gizzi-site-visit-form label{
  min-width:0!important;
  width:100%!important;
  display:block!important;
}
.gizzi-site-visit-form input,
.gizzi-site-visit-form select,
.gizzi-site-visit-form textarea{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
  -webkit-appearance:none;
  appearance:none;
}
.gizzi-site-visit-form input[type="date"],
.gizzi-site-visit-form input[type="time"]{
  line-height:1.2!important;
  min-height:41.6px!important;
  text-align:left!important;
}
@media(max-width:576px){
  .gizzi-detail-card{
    overflow:hidden!important;
  }
  .gizzi-site-visit-form{
    padding:12.8px!important;
    border-radius:14.4px!important;
  }
  .gizzi-site-visit-form .gizzi-form-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .gizzi-site-visit-form input,
  .gizzi-site-visit-form select{
    font-size:12.8px!important;
    padding:10.4px 11.2px!important;
  }
  .gizzi-site-visit-form select{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    padding-right:30.4px!important;
  }
}

/* v1.3.0 month-by-month AJAX calendar */
.gizzi-calendar-section {
  overflow: hidden;
}

.gizzi-calendar-app {
  width:100%;
}

.gizzi-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap:12.8px;
  margin-bottom:17.6px;
  padding:11.2px;
  border-radius:17.6px;
  background: #fff;
  box-shadow:0 8px 22.4px rgba(15, 23, 42, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.gizzi-calendar-title {
  text-align: center;
  min-width:0;
}

.gizzi-calendar-title h2 {
  margin:0;
  font-size:clamp(17.6px, 4vw, 27.2px);
  line-height:1.1;
  color: #0f172a;
}

.gizzi-calendar-title p {
  margin:4.8px 0 0;
  color: #64748b;
  font-size:11.2px;
}

.gizzi-calendar-nav {
  width:38.4px;
  height:38.4px;
  border-radius:12.8px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: #f8fafc;
  color: #0f172a;
  font-size:27.2px;
  line-height:1;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .15s ease, background .15s ease;
}

.gizzi-calendar-nav:hover,
.gizzi-calendar-nav:focus {
  background: #eef2ff;
  transform:translateY(-1px);
}

.gizzi-calendar-loading {
  margin-bottom:12.8px;
  padding:9.6px 12.8px;
  border-radius:11.2px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 700;
  text-align: center;
}

.gizzi-calendar-results {
  min-height:112px;
}

.gizzi-calendar-month-list {
  display: grid;
  gap:17.6px;
}

.gizzi-calendar-day-group {
  display: grid;
  gap:9.6px;
}

.gizzi-calendar-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap:9.6px;
  padding:0 3.2px;
}

.gizzi-calendar-day-head h3 {
  margin:0;
  color: #0f172a;
  font-size:16px;
  line-height:1.2;
}

.gizzi-calendar-day-head span {
  flex: 0 0 auto;
  padding:4.8px 8px;
  border-radius:799.2px;
  background: #f1f5f9;
  color: #64748b;
  font-size:9.6px;
  font-weight: 800;
}

.gizzi-calendar-day-jobs {
  display: grid;
  gap:9.6px;
}

.gizzi-calendar-job-card {
  display: grid;
  grid-template-columns:73.6px minmax(0, 1fr);
  align-items: stretch;
  gap:11.2px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow:0 8px 19.2px rgba(15, 23, 42, 0.07);
  border-radius:16px;
  padding:12.8px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}

.gizzi-calendar-job-card:hover,
.gizzi-calendar-job-card:focus {
  transform:translateY(-2px);
  box-shadow:0 12.8px 24px rgba(15, 23, 42, 0.11);
}

.gizzi-calendar-job-time {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius:12.8px;
  background: #f8fafc;
  color: #0f172a;
  font-size:12px;
  font-weight: 900;
  padding:8px;
}

.gizzi-calendar-job-main {
  min-width:0;
}

.gizzi-calendar-job-main h4 {
  margin:0;
  color: #0f172a;
  font-size:14.4px;
  line-height:1.2;
}

.gizzi-calendar-app.is-loading .gizzi-calendar-results {
  opacity: .55;
  pointer-events: none;
}

@media (max-width:560px) {
  .gizzi-calendar-toolbar {
    gap:8px;
    padding:8px;
    border-radius:14.4px;
  }

  .gizzi-calendar-nav {
    width:33.6px;
    height:33.6px;
    border-radius:11.2px;
    font-size:24px;
  }

  .gizzi-calendar-title p {
    display: none;
  }

  .gizzi-calendar-job-card {
    grid-template-columns:1fr;
    gap:8px;
    padding:11.2px;
  }

  .gizzi-calendar-job-time {
    justify-content: flex-start;
    width:fit-content;
    min-width:68.8px;
    padding:6.4px 9.6px;
  }

  .gizzi-calendar-day-head {
    align-items: flex-start;
  }
}

/* v2.3.0 inline SVG icon polish */
.gizzi-detail-meta .gizzi-svg-icon, .gizzi-mobile-card-meta .gizzi-svg-icon, .gizzi-calendar-card-meta .gizzi-svg-icon{margin-right:4.8px;color:inherit;}
.gizzi-admin-small-button .gizzi-svg-icon, .gizzi-admin-button .gizzi-svg-icon, .gizzi-detail-edit .gizzi-svg-icon, .gizzi-back-link .gizzi-svg-icon{margin-right:5.6px;}
.gizzi-calendar-nav .gizzi-svg-icon{pointer-events:none;}
.gizzi-button .gizzi-svg-icon, .gizzi-open-card-link .gizzi-svg-icon{margin-right:4.8px;}


/* v1.3.2 Site visit notes workflow */
.gizzi-site-notes-card .gizzi-admin-form{box-shadow:none;border:0;padding:0;background:transparent}
.gizzi-site-visit-notes-form label{font-weight:900;color:#0f172a;margin-bottom:12.8px}
.gizzi-site-visit-notes-form textarea,
.gizzi-site-visit-notes-form input,
.gizzi-site-visit-notes-form select{max-width:100%;box-sizing:border-box}
.gizzi-site-notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:11.2px 0 3.2px}
.gizzi-form-actions{display:flex;flex-wrap:wrap;gap:9.6px;margin-top:14.4px}.gizzi-form-actions button{cursor:pointer}
.gizzi-file-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(144px,1fr));gap:8px;margin:8px 0 14.4px}.gizzi-file-card{display:flex;align-items:center;gap:8px;border:1px solid var(--gizzi-border);border-radius:9.6px;background:#f8fafc;color:#334155;text-decoration:none;padding:9.6px;font-weight:800;overflow:hidden}.gizzi-file-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gizzi-file-card .gizzi-svg-icon{color:var(--gizzi-red)}
.gizzi-pill{ text-transform:capitalize; }
@media(max-width:608px){.gizzi-site-notes-grid{grid-template-columns:1fr}.gizzi-form-actions{display:grid;grid-template-columns:1fr}.gizzi-form-actions .gizzi-admin-button,.gizzi-form-actions .gizzi-red-action{width:100%;justify-content:center;text-align:center}.gizzi-site-visit-notes-form textarea{min-height:104px}.gizzi-file-cards{grid-template-columns:1fr}.gizzi-progress-steps span em{max-width:62.4px;line-height:1.05}}

/* v1.3.4 Engineer dashboard rebuild */
.gizzi-engineer-shell .gizzi-admin-sidebar a.active,
.gizzi-engineer-shell .gizzi-admin-sidebar a:hover{background:var(--gizzi-yellow,#ffd400);color:#111827}
.gizzi-job-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14.4px}.gizzi-job-filter-tabs a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gizzi-border,#e2e8f0);background:#fff;color:#0f172a;text-decoration:none;border-radius:799.2px;padding:8px 12.8px;font-weight:900;box-shadow:0 6.4px 14.4px rgba(15,23,42,.06)}.gizzi-job-filter-tabs a.active{background:#ef4444;color:#fff;border-color:#ef4444}
.gizzi-map-links{display:flex;flex-wrap:wrap;gap:6.4px;margin-top:11.2px}.gizzi-map-links a{display:inline-flex;align-items:center;gap:5.6px;border:1px solid #dbe3ef;background:#fff;color:#0f172a;text-decoration:none;border-radius:799.2px;padding:6.4px 9.6px;font-weight:900;font-size:10.4px}.gizzi-map-links a:hover{border-color:#ef4444;color:#ef4444}.gizzi-map-links-large a{font-size:12px;padding:8.8px 11.2px}
.gizzi-detail-card{background:#fff;border:1px solid var(--gizzi-border,#e2e8f0);border-radius:17.6px;padding:19.2px;margin:0 0 17.6px;box-shadow:0 12.8px 27.2px rgba(15,23,42,.08)}.gizzi-detail-card h2{margin:0 0 11.2px;color:#0f172a;font-size:22.4px}.gizzi-detail-card h3{margin:14.4px 0 6.4px;color:#0f172a}.gizzi-detail-card p{color:#64748b;font-weight:700}.gizzi-detail-card form{display:grid;gap:11.2px}.gizzi-detail-card label{display:grid;gap:6.4px;font-weight:900;color:#0f172a}.gizzi-detail-card input,.gizzi-detail-card textarea,.gizzi-detail-card select{width:100%;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:11.2px;padding:9.6px 11.2px;font:inherit;background:#fff}.gizzi-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11.2px}.gizzi-mini-list{border-top:1px solid #e2e8f0;margin-top:14.4px;padding-top:9.6px}.gizzi-attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:11.2px}.gizzi-attachment-card{display:flex;align-items:center;gap:7.2px;border:1px solid #dbe3ef;border-radius:11.2px;padding:9.6px;background:#f8fafc;text-decoration:none;color:#0f172a;font-weight:900}.gizzi-engineer-job-card .gizzi-map-links{position:relative;z-index:2}.gizzi-engineer-job-card .gizzi-map-links a{font-size:9.6px;padding:5.6px 8px}.gizzi-engineer-calendar-app .gizzi-calendar-job-card{grid-template-columns:1fr}.gizzi-engineer-calendar-app .gizzi-calendar-job-time{display:none}
@media(max-width:608px){.gizzi-job-filter-tabs{display:grid;grid-template-columns:1fr;gap:7.2px}.gizzi-detail-card{padding:14.4px;border-radius:16px}.gizzi-detail-card h2{font-size:19.2px}.gizzi-form-grid{grid-template-columns:1fr}.gizzi-map-links{display:grid;grid-template-columns:1fr}.gizzi-map-links a{justify-content:center}.gizzi-attachment-grid{grid-template-columns:1fr}}

/* v1.4.0 check-in/out, notifications, todos, settings */
.gizzi-big-check-button{
  width:100%; min-height:73.6px; border:0; border-radius:19.2px; color:#fff; font-size:20.8px; font-weight:900;
  display:flex; align-items:center; justify-content:center; gap:11.2px; box-shadow:0 12.8px 25.6px rgba(0,0,0,.14); cursor:pointer;
}
.gizzi-checkin-button{background:#22c55e;}
.gizzi-checkout-button{background:#ef4444;}
.gizzi-big-check-button i{font-size:24px;}
.gizzi-one-tap-form{margin:12.8px 0 4.8px;}
.gizzi-checkbox-line{display:flex!important; align-items:center; gap:8px; margin:11.2px 0!important; font-weight:800;}
.gizzi-checkbox-line input{width:auto!important;}
.gizzi-settings-list{display:grid; gap:9.6px; margin:14.4px 0;}

.gizzi-notification-list .gizzi-mobile-record-card h3 i{color:#ef4444; margin-right:6.4px;}
.gizzi-check-card .gizzi-admin-notice{font-size:12.8px; font-weight:800;}
@media (max-width:560px){
  .gizzi-big-check-button{min-height:65.6px; font-size:17.6px; border-radius:16px;}
  .gizzi-setting-toggle{font-size:12px; padding:11.2px;}
}


/* v1.4.1 notification controls */
.gizzi-notifications-head{gap:12.8px;align-items:flex-start;}
.gizzi-notification-bulk-actions,.gizzi-notification-actions{display:flex;flex-wrap:wrap;gap:6.4px;align-items:center;}
.gizzi-notification-bulk-actions form,.gizzi-notification-actions form{margin:0;}
.gizzi-small-button{border:0;border-radius:9.6px;background:#eef2ff;color:#1d4ed8;font-weight:800;padding:7.2px 9.6px;cursor:pointer;display:inline-flex;gap:5.6px;align-items:center;line-height:1;}
.gizzi-small-button:hover{filter:brightness(.97);}
.gizzi-small-button.danger{background:#fee2e2;color:#b91c1c;}
.gizzi-notification-card.is-read{opacity:.72;}
.gizzi-notification-card.is-unread{border-color:rgba(37,99,235,.28);box-shadow:0 9.6px 27.2px rgba(37,99,235,.08);}
.gizzi-notification-actions{margin-top:11.2px;padding-top:9.6px;border-top:1px solid rgba(148,163,184,.22);}
@media (max-width:576px){.gizzi-notifications-head{display:block}.gizzi-notification-bulk-actions{margin-top:9.6px}.gizzi-notification-bulk-actions .gizzi-small-button,.gizzi-notification-actions .gizzi-small-button{width:100%;justify-content:center}.gizzi-notification-bulk-actions form,.gizzi-notification-actions form{width:100%;}}


/* v1.5.0 Materials & Inventory */
.gizzi-material-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:12.8px;margin-top:14.4px}
.gizzi-material-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:17.6px;padding:14.4px;box-shadow:0 9.6px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:11.2px}
.gizzi-material-card.is-low-stock{border-color:rgba(239,68,68,.35);background:linear-gradient(180deg,#fff,#fff7f7)}
.gizzi-material-card-head{display:flex;justify-content:space-between;gap:9.6px;align-items:flex-start}.gizzi-material-card-head h3{margin:0;font-size:14.4px}.gizzi-material-card-head p{margin:3.2px 0 0;color:#64748b;font-size:10.4px}.gizzi-material-stock{display:flex;align-items:baseline;gap:6.4px}.gizzi-material-stock strong{font-size:27.2px;line-height:1}.gizzi-material-stock span{color:#64748b;font-weight:700}.gizzi-material-adjust-form{display:grid;grid-template-columns:1fr 1fr auto;gap:6.4px;align-items:center}.gizzi-material-adjust-form input,.gizzi-material-adjust-form select,.gizzi-job-material-form input,.gizzi-job-material-form select{width:100%;max-width:100%;box-sizing:border-box}.gizzi-material-adjust-form button{border:0;border-radius:9.6px;background:#111827;color:#fff;padding:8.8px 11.2px;font-weight:800;cursor:pointer}.gizzi-material-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gizzi-barcode-scanner{border:1px dashed rgba(15,23,42,.18);border-radius:14.4px;padding:11.2px;background:#f8fafc;margin:11.2px 0}.gizzi-barcode-scanner video{width:100%;max-height:256px;border-radius:11.2px;background:#111}.gizzi-scanner-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.gizzi-stop-scanner{border:0;background:#111827;color:#fff;border-radius:799.2px;padding:6.4px 9.6px;font-weight:800}.gizzi-scanner-status{color:#64748b;margin:6.4px 0 0}.gizzi-material-used-list{display:grid;gap:8px;margin-top:12.8px}.gizzi-material-used-card{display:flex;justify-content:space-between;gap:9.6px;align-items:center;border:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:12.8px;padding:11.2px}.gizzi-material-used-card strong{display:block}.gizzi-material-used-card span{color:#64748b;font-weight:800}.gizzi-material-used-card p{margin:3.2px 0 0;color:#64748b}.gizzi-material-used-card em{font-style:normal;font-weight:900;color:#111827;white-space:nowrap}.gizzi-job-materials-card{margin-top:14.4px}
@media(max-width:608px){.gizzi-material-adjust-form{grid-template-columns:1fr}.gizzi-material-card-grid{grid-template-columns:1fr}.gizzi-material-used-card{align-items:flex-start;flex-direction:column}.gizzi-material-actions .gizzi-admin-button,.gizzi-material-actions .gizzi-small-button{width:100%;justify-content:center}}


/* v1.5.2 - harden mobile/off-canvas menu tap behaviour */
.gizzi-mobile-menu-toggle,
.gizzi-admin-topbar-menu{
  touch-action: manipulation;
  pointer-events: auto !important;
}
@media(max-width:880px){
  .gizzi-mobile-menu-toggle,
  .gizzi-admin-topbar-menu{
    z-index: 1201 !important;
    position: relative;
  }
  .gizzi-mobile-menu-toggle{
    position: absolute !important;
  }
  .gizzi-admin-sidebar a{
    pointer-events: auto !important;
  }
  .gizzi-admin-shell.is-menu-open .gizzi-admin-overlay{
    pointer-events: auto !important;
  }
  .gizzi-admin-actions{
    position: relative;
    z-index: 1;
  }
}


/* v1.5.3 - reliable mobile admin/engineer off-canvas menu fix */
.gizzi-mobile-menu-toggle{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.gizzi-admin-topbar-menu{
  position:relative!important;
  z-index:1101!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
@media(min-width:880.8px){
  .gizzi-admin-topbar-menu{display:none!important;}
  .gizzi-admin-overlay{display:none!important;}
}
@media(max-width:880px){
  .gizzi-admin-topbar-menu{display:inline-flex!important;}
  .gizzi-admin-sidebar{z-index:1200!important;}
  .gizzi-admin-overlay{z-index:1190!important;}
  .gizzi-admin-shell.is-menu-open .gizzi-admin-overlay{pointer-events:auto!important;}
  .gizzi-admin-sidebar a{position:relative!important;z-index:1202!important;pointer-events:auto!important;touch-action:manipulation!important;}
}

/* v1.5.4 - final mobile dashboard menu fix */
.gizzi-mobile-menu-toggle{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:880px){
  .gizzi-admin-shell{position:relative!important;overflow:visible!important;}
  .gizzi-admin-main{position:relative!important;z-index:1!important;}
  .gizzi-admin-topbar{position:relative!important;z-index:5000!important;}
  .gizzi-admin-topbar-menu{
    display:inline-flex!important;
    position:relative!important;
    z-index:5010!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .gizzi-admin-topbar-menu:after{
    content:"";
    position:absolute;
    inset:-14.4px;
    z-index:5011;
  }
  .gizzi-admin-actions{position:relative!important;z-index:1!important;}
  .gizzi-admin-cards,.gizzi-admin-section,.gizzi-admin-form,.gizzi-detail-card{position:relative!important;z-index:1!important;}
  .gizzi-admin-sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(88vw,264px)!important;
    z-index:7000!important;
    transform:translateX(-110%)!important;
    transition:transform .25s ease!important;
    pointer-events:auto!important;
  }
  .gizzi-admin-shell.is-menu-open .gizzi-admin-sidebar{transform:translateX(0)!important;}
  .gizzi-admin-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:6990!important;
    opacity:0!important;
    pointer-events:none!important;
    background:rgba(15,23,42,.55)!important;
  }
  .gizzi-admin-shell.is-menu-open .gizzi-admin-overlay{opacity:1!important;pointer-events:auto!important;}
  .gizzi-mobile-menu-close{z-index:7010!important;pointer-events:auto!important;}
  .gizzi-admin-sidebar a{position:relative!important;z-index:7010!important;pointer-events:auto!important;touch-action:manipulation!important;}
}


/* v1.5.5 - no-JS checkbox fallback for mobile off-canvas menu */
.gizzi-menu-checkbox{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:880px){
  .gizzi-admin-topbar-menu{
    cursor:pointer!important;
    user-select:none!important;
  }
  .gizzi-menu-checkbox:checked ~ .gizzi-admin-sidebar{
    transform:translateX(0)!important;
  }
  .gizzi-menu-checkbox:checked ~ .gizzi-admin-overlay{
    opacity:1!important;
    pointer-events:auto!important;
  }
  .gizzi-menu-checkbox:checked ~ .gizzi-admin-main .gizzi-admin-topbar-menu{
    background:#ef4444!important;
    color:#fff!important;
  }
}

/* v1.6.0 profile/chat/training/material modal */
.gizzi-section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14.4px;flex-wrap:wrap}.gizzi-profile-summary{display:flex;flex-direction:column;gap:3.2px;color:#667085}.gizzi-chat-list{display:grid;gap:11.2px}.gizzi-chat-message{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14.4px;box-shadow:0 8px 19.2px rgba(15,23,42,.06)}.gizzi-chat-message>div{display:flex;justify-content:space-between;gap:9.6px;flex-wrap:wrap}.gizzi-chat-message span{color:#667085;font-size:10.4px}.gizzi-training-admin-note{background:#f8fafc;border-radius:11.2px;padding:9.6px;margin:8px 0;color:#475467}.gizzi-modal[hidden]{display:none!important}.gizzi-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:flex-end;justify-content:center}.gizzi-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(6px)}.gizzi-modal-panel{position:relative;background:#fff;width:min(608px,calc(100vw - 19.2px));max-height:86vh;overflow:auto;border-radius:22.4px 22.4px 0 0;padding:17.6px;box-shadow:0 -16px 40px rgba(15,23,42,.28)}.gizzi-modal-head{display:flex;align-items:center;justify-content:space-between;gap:9.6px;margin-bottom:12.8px}.gizzi-modal-head h3{margin:0}.gizzi-modal-head button{border:0;background:#f2f4f7;border-radius:799.2px;width:33.6px;height:33.6px}.gizzi-material-picker-tools{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:11.2px}.gizzi-material-picker-tools .gizzi-job-barcode-input{grid-column:1/-1}.gizzi-material-picker-list{display:grid;gap:8px;max-height:224px;overflow:auto;padding-right:3.2px;margin-bottom:11.2px}.gizzi-material-picker-row{display:grid;grid-template-columns:auto 1fr auto;gap:9.6px;align-items:center;border:1px solid #e5e7eb;border-radius:12.8px;padding:9.6px;cursor:pointer}.gizzi-material-picker-row:has(input:checked){border-color:#ef4444;background:#fff1f2}.gizzi-material-picker-row span{display:flex;flex-direction:column;gap:2px}.gizzi-material-picker-row em{font-style:normal;color:#667085;font-size:10.4px}.gizzi-material-picker-row small{color:#667085}.gizzi-material-edit-details{margin-top:8px}.gizzi-material-edit-details summary{cursor:pointer;font-weight:700;color:#334155}.gizzi-material-edit-details form{margin-top:8px;display:grid;gap:6.4px}body.gizzi-modal-open{overflow:hidden}@media (max-width:560px){.gizzi-section-title-row{display:block}.gizzi-section-title-row .gizzi-admin-button{width:100%;margin-top:9.6px}.gizzi-material-picker-tools{grid-template-columns:1fr}.gizzi-material-picker-row{grid-template-columns:auto 1fr}.gizzi-material-picker-row small{grid-column:2}.gizzi-modal-panel{width:100vw;max-height:88vh;border-radius:19.2px 19.2px 0 0}.gizzi-chat-message>div{display:block}}

/* v1.6.1 workflow and live tracking polish */
.gizzi-stage-control-card p{margin-top:0;color:#667085}.gizzi-stage-control-form{display:flex;gap:9.6px;align-items:center;flex-wrap:wrap}.gizzi-stage-control-form select{min-width:176px;max-width:100%}.gizzi-live-tracking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:12.8px;margin:14.4px 0 22.4px}.gizzi-live-card{display:flex;gap:11.2px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:17.6px;padding:14.4px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.gizzi-live-card h3{margin:0 0 6.4px;font-size:14.4px}.gizzi-live-card p{margin:4px 0;color:#667085}.gizzi-live-icon{width:35.2px;height:35.2px;border-radius:12.8px;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;flex:0 0 44px}.gizzi-new-enquiry-section .gizzi-detail-card{max-width:736px}@media(max-width:576px){.gizzi-stage-control-form{display:block}.gizzi-stage-control-form select,.gizzi-stage-control-form button{width:100%;margin-top:8px}.gizzi-live-card{border-radius:14.4px;padding:12.8px}.gizzi-live-tracking-grid{grid-template-columns:1fr}}


/* v1.6.2 - mobile menu and material modal fixes */
@media(max-width:880px){
  .gizzi-admin-topbar-menu{pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;}
  .gizzi-admin-sidebar a{pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;}
  .gizzi-admin-shell.is-menu-open .gizzi-admin-sidebar,
  .gizzi-menu-checkbox:checked ~ .gizzi-admin-sidebar{transform:translateX(0)!important;}
}
.gizzi-modal .gizzi-detail-card{display:none!important;}
.gizzi-modal .gizzi-modal-panel > .gizzi-detail-card{display:none!important;}
.gizzi-modal-panel{isolation:isolate;}
.gizzi-modal .gizzi-job-material-form{display:grid!important;gap:11.2px!important;}


/* v1.6.3 - clearer bordered notes/text inputs */
.gizzi-admin-shell textarea,
.gizzi-detail-card textarea,
.gizzi-admin-form textarea,
.gizzi-job-sheet textarea,
.gizzi-engineer-form textarea,
.gizzi-site-visit-notes-form textarea,
.gizzi-chat-message-form textarea,
.gizzi-training-note-form textarea,
.gizzi-todo-form textarea,
.gizzi-modal textarea,
.gizzi-portal textarea {
  width:100% !important;
  max-width:100% !important;
  box-sizing: border-box !important;
  border: 2px solid #dbe3ef !important;
  border-radius:11.2px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  padding:10.4px 11.2px !important;
  font: inherit !important;
  min-height:94.4px;
  outline: none !important;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.03) !important;
  resize: vertical;
}
.gizzi-admin-shell textarea:focus,
.gizzi-detail-card textarea:focus,
.gizzi-admin-form textarea:focus,
.gizzi-job-sheet textarea:focus,
.gizzi-engineer-form textarea:focus,
.gizzi-site-visit-notes-form textarea:focus,
.gizzi-chat-message-form textarea:focus,
.gizzi-training-note-form textarea:focus,
.gizzi-todo-form textarea:focus,
.gizzi-modal textarea:focus,
.gizzi-portal textarea:focus {
  border-color: #ef4444 !important;
  box-shadow:0 0 0 3.2px rgba(239,68,68,.10) !important;
}
.gizzi-admin-shell textarea::placeholder,
.gizzi-detail-card textarea::placeholder,
.gizzi-admin-form textarea::placeholder,
.gizzi-job-sheet textarea::placeholder,
.gizzi-engineer-form textarea::placeholder,
.gizzi-modal textarea::placeholder,
.gizzi-portal textarea::placeholder {
  color: #98a2b3 !important;
}
.gizzi-modal .gizzi-job-material-form textarea,
.gizzi-material-edit-details textarea {
  min-height:73.6px;
}
@media(max-width:576px){
  .gizzi-admin-shell textarea,
  .gizzi-detail-card textarea,
  .gizzi-admin-form textarea,
  .gizzi-job-sheet textarea,
  .gizzi-engineer-form textarea,
  .gizzi-site-visit-notes-form textarea,
  .gizzi-chat-message-form textarea,
  .gizzi-training-note-form textarea,
  .gizzi-todo-form textarea,
  .gizzi-modal textarea,
  .gizzi-portal textarea {
    min-height:86.4px;
    border-radius:10.4px !important;
  }
}


/* v1.6.8: Prevent mobile off-canvas menu scroll gestures from being treated as taps. */
@media (max-width:720px){
  .gizzi-admin-sidebar{
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }
  .gizzi-admin-sidebar a{
    touch-action:pan-y!important;
    -webkit-tap-highlight-color:rgba(255,212,0,.22);
  }
}

/* v1.7.0 quote workflow */
.gizzi-quote-card .gizzi-quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:14.4px;align-items:start;margin-top:12.8px}.gizzi-quote-card h4{margin:8px 0 9.6px}.gizzi-quote-total-box{display:flex;align-items:center;justify-content:space-between;gap:9.6px;background:#f6f7fb;border:1px solid rgba(15,23,42,.08);border-radius:12.8px;padding:11.2px 12.8px;margin:11.2px 0}.gizzi-quote-total-box span{font-size:19.2px;font-weight:800;color:#111827}.gizzi-quote-materials-list{display:grid;gap:8px;max-height:288px;overflow:auto;padding-right:3.2px}.gizzi-quote-material-row{display:grid;grid-template-columns:minmax(0,1fr) 76.8px;gap:8px;align-items:center;border:1px solid rgba(15,23,42,.1);border-radius:11.2px;padding:8px;background:#fff}.gizzi-quote-material-row label{display:flex!important;gap:7.2px;align-items:flex-start;margin:0!important}.gizzi-quote-material-row label span{display:block;color:#64748b;font-size:9.6px;margin-top:2px}.gizzi-quote-material-row input[type="number"]{width:100%;min-width:0}.gizzi-checkbox-label{display:flex!important;align-items:center;gap:6.4px;margin-top:19.2px!important}.gizzi-accept-quote-form{margin-top:14.4px;padding-top:14.4px;border-top:1px solid rgba(15,23,42,.1)}
@media(max-width:720px){.gizzi-quote-card .gizzi-quote-layout{grid-template-columns:1fr}.gizzi-quote-material-row{grid-template-columns:1fr}.gizzi-quote-total-box{align-items:flex-start;flex-direction:column}.gizzi-quote-total-box span{font-size:17.6px}}


/* v1.7.1 quote material modal + mobile overflow fixes */
.gizzi-quote-card,
.gizzi-quote-card *{box-sizing:border-box}.gizzi-quote-card{overflow:hidden}.gizzi-quote-card .gizzi-admin-form input,.gizzi-quote-card .gizzi-admin-form select,.gizzi-quote-card .gizzi-admin-form textarea{max-width:100%;min-width:0}.gizzi-quote-card .gizzi-form-grid{min-width:0}.gizzi-quote-selected-summary{margin:9.6px 0 11.2px;padding:9.6px 11.2px;border:1px dashed rgba(15,23,42,.16);border-radius:11.2px;background:#fbfcff;color:#64748b}.gizzi-quote-selected-summary strong{display:block;color:#111827;margin-bottom:4.8px}.gizzi-quote-selected-summary ul{margin:0;padding-left:14.4px}.gizzi-quote-material-modal .gizzi-modal-panel{width:min(576px,calc(100vw - 22.4px));max-height:min(656px,calc(100dvh - 30.4px));overflow:auto}.gizzi-quote-material-picker-list{display:grid;gap:8px;max-height:52dvh;overflow:auto;padding:3.2px}.gizzi-quote-material-picker-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) minmax(68.8px,96px);gap:9.6px;align-items:center}.gizzi-quote-material-picker-row span{min-width:0}.gizzi-quote-material-picker-row strong{display:block;white-space:normal;overflow-wrap:anywhere}.gizzi-quote-material-picker-row em{display:block;color:#64748b;font-size:10.4px;font-style:normal;line-height:1.3}.gizzi-quote-material-picker-row input[type="number"]{width:100%;min-width:0}.gizzi-quote-material-modal .gizzi-material-picker-tools{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,136px);gap:8px;align-items:center;margin-bottom:9.6px}.gizzi-quote-material-modal .gizzi-material-picker-tools input{width:100%;min-width:0}
@media(max-width:576px){.gizzi-quote-card .gizzi-quote-layout{display:block}.gizzi-quote-card .gizzi-detail-form{margin-bottom:14.4px}.gizzi-quote-card .gizzi-admin-button,.gizzi-quote-card .gizzi-red-action,.gizzi-quote-card .gizzi-light-action{width:100%;justify-content:center}.gizzi-quote-material-modal .gizzi-modal-panel{width:calc(100vw - 16px);border-radius:19.2px 19.2px 0 0;max-height:86dvh}.gizzi-quote-material-modal .gizzi-material-picker-tools{grid-template-columns:1fr}.gizzi-quote-material-picker-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.gizzi-quote-material-picker-row input[type="number"]{grid-column:2;min-height:38.4px}.gizzi-checkbox-label{margin-top:6.4px!important;display:grid!important;grid-template-columns:auto 1fr;align-items:start;line-height:1.35}.gizzi-checkbox-label input{margin-top:3.2px}.gizzi-quote-total-box span{word-break:break-word}.gizzi-quote-card h4{font-size:clamp(19.2px,7vw,27.2px)}}


/* v1.7.4 - theme override safety: readable default buttons inside Gizzi UI */
.gizzi-admin-shell button:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):not(.gizzi-admin-icon-btn):not(.gizzi-mobile-menu-toggle):not(.gizzi-modal-close):not(.gizzi-stop-scanner),
.gizzi-portal button:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):not(.gizzi-admin-icon-btn):not(.gizzi-mobile-menu-toggle):not(.gizzi-modal-close):not(.gizzi-stop-scanner),
.gizzi-modal button:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):not(.gizzi-admin-icon-btn):not(.gizzi-mobile-menu-toggle):not(.gizzi-modal-close):not(.gizzi-stop-scanner),
.gizzi-admin-shell input[type="submit"]:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action),
.gizzi-portal input[type="submit"]:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action),
.gizzi-modal input[type="submit"]:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action) {
	color:black !important;
}

.gizzi-admin-shell button:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):not(.gizzi-admin-icon-btn):not(.gizzi-mobile-menu-toggle):not(.gizzi-modal-close):not(.gizzi-stop-scanner):hover,
.gizzi-portal button:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):not(.gizzi-admin-icon-btn):not(.gizzi-mobile-menu-toggle):not(.gizzi-modal-close):not(.gizzi-stop-scanner):hover,
.gizzi-modal button:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):not(.gizzi-admin-icon-btn):not(.gizzi-mobile-menu-toggle):not(.gizzi-modal-close):not(.gizzi-stop-scanner):hover,
.gizzi-admin-shell input[type="submit"]:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):hover,
.gizzi-portal input[type="submit"]:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):hover,
.gizzi-modal input[type="submit"]:not(.gizzi-red-action):not(.gizzi-delete-action):not(.gizzi-danger):not(.gizzi-light-action):hover {
  background: #000;
}

/* Keep explicitly styled destructive/light/icon controls intact */
.gizzi-red-action,
.gizzi-delete-action,
.gizzi-danger {
  color: inherit;
}

/* v1.7.4 - mobile edit job date/time picker containment */
.gizzi-admin-shell *,
.gizzi-portal *,
.gizzi-modal * {
  box-sizing: border-box;
}

.gizzi-admin-shell label,
.gizzi-portal label,
.gizzi-modal label,
.gizzi-detail-form label,
.gizzi-admin-form label,
.gizzi-card-form label {
  min-width:0;
  max-width:100%;
  overflow-wrap: anywhere;
}

.gizzi-admin-shell input[type="date"],
.gizzi-admin-shell input[type="time"],
.gizzi-portal input[type="date"],
.gizzi-portal input[type="time"],
.gizzi-modal input[type="date"],
.gizzi-modal input[type="time"],
.gizzi-detail-form input[type="date"],
.gizzi-detail-form input[type="time"],
.gizzi-admin-form input[type="date"],
.gizzi-admin-form input[type="time"],
.gizzi-card-form input[type="date"],
.gizzi-card-form input[type="time"] {
  display: block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing: border-box !important;
}

.gizzi-form-grid,
.gizzi-quote-card .gizzi-form-grid,
.gizzi-detail-form .gizzi-form-grid,
.gizzi-admin-form .gizzi-form-grid,
.gizzi-card-form .gizzi-form-grid {
  min-width:0 !important;
}

.gizzi-form-grid > *,
.gizzi-quote-card .gizzi-form-grid > *,
.gizzi-detail-form .gizzi-form-grid > *,
.gizzi-admin-form .gizzi-form-grid > *,
.gizzi-card-form .gizzi-form-grid > * {
  min-width:0 !important;
  max-width:100% !important;
}

@media (max-width:576px) {
  .gizzi-form-grid,
  .gizzi-quote-card .gizzi-form-grid,
  .gizzi-detail-form .gizzi-form-grid,
  .gizzi-admin-form .gizzi-form-grid,
  .gizzi-card-form .gizzi-form-grid {
    display: grid !important;
    grid-template-columns:minmax(0, 1fr) !important;
    gap:11.2px !important;
    width:100% !important;
  }

  .gizzi-admin-shell input,
  .gizzi-admin-shell select,
  .gizzi-admin-shell textarea,
  .gizzi-portal input,
  .gizzi-portal select,
  .gizzi-portal textarea,
  .gizzi-modal input,
  .gizzi-modal select,
  .gizzi-modal textarea {
    max-width:100% !important;
    min-width:0 !important;
  }

  .gizzi-admin-shell input[type="date"],
  .gizzi-admin-shell input[type="time"],
  .gizzi-portal input[type="date"],
  .gizzi-portal input[type="time"],
  .gizzi-modal input[type="date"],
  .gizzi-modal input[type="time"] {
    -webkit-appearance: none;
    appearance: none;
    min-height:38.4px;
    line-height:1.2;
  }
}

/* v1.7.5 address lookup */
.gizzi-address-lookup {
  position: relative;
}
.gizzi-address-card {
  margin:14.4px 0;
  padding:14.4px !important;
}
.gizzi-address-card h3 {
  margin:0 0 11.2px;
  display: flex;
  align-items: center;
  gap:8px;
}
.gizzi-address-help {
  display: block;
  margin-top:5.6px;
  color: #64748b;
  font-size:10.4px;
  line-height:1.45;
  font-weight: 600;
}
.gizzi-postcode-field,
.gizzi-address-lookup label {
  position: relative;
}
.gizzi-postcode-suggestions {
  position: absolute;
  z-index: 9999;
  left:0;
  right:0;
  top:calc(100% + 4.8px);
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius:12.8px;
  box-shadow:0 14.4px 28.8px rgba(15, 23, 42, .16);
  overflow: hidden;
  max-height:224px;
  overflow-y: auto;
}
.gizzi-postcode-suggestion {
  appearance: none;
  display: block;
  width:100%;
  padding:11.2px 12.8px;
  border: 0 !important;
  border-bottom:1px solid #eef2f7 !important;
  background: #fff !important;
  color: #0f172a !important;
  text-align: left;
  font-weight: 800;
  border-radius:0 !important;
  box-shadow:none !important;
}
.gizzi-postcode-suggestion:hover,
.gizzi-postcode-suggestion:focus {
  background: #f8fafc !important;
  color: #be3a6b !important;
}
.gizzi-postcode-suggestion:last-child {
  border-bottom:0 !important;
}
@media (max-width:560px) {
  .gizzi-address-card {
    padding:11.2px !important;
  }
  .gizzi-postcode-suggestions {
    position: static;
    margin-top:8px;
    max-height:176px;
  }
}

/* v1.7.6 address suggestion improvements */
.gizzi-address-suggestion strong {
  display: block;
  font-weight: 900;
  line-height:1.25;
}
.gizzi-address-suggestion span {
  display: block;
  margin-top:3.2px;
  color: #64748b;
  font-size:9.6px;
  font-weight: 700;
}
.gizzi-address-suggestion:hover span,
.gizzi-address-suggestion:focus span {
  color: #8f2c53;
}
.gizzi-address-lookup input[data-gizzi-address-search] {
  width:100%;
}

/* v1.7.7 job filter tabs + enquiry edit form polish */
.gizzi-filter-tabs {
    display: flex;
    gap:8px;
    flex-wrap: wrap;
    margin:0 0 17.6px;
    padding:6.4px;
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius:14.4px;
}
.gizzi-filter-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height:33.6px;
    padding:8px 12.8px;
    border-radius:11.2px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: #0f172a !important;
    text-decoration: none !important;
    font-weight: 800;
    box-shadow:0 6.4px 16px rgba(15, 23, 42, 0.06);
}
.gizzi-filter-tabs a.active {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}
@media (max-width:560px) {
    .gizzi-filter-tabs {
        display: grid;
        grid-template-columns:1fr;
        gap:6.4px;
    }
    .gizzi-filter-tabs a {
        width:100%;
    }
}

/* v1.7.8 branded logged-out login screen */
.gizzi-login-wrap {
  min-height:min(608px, 100vh);
  display: flex;
  align-items: center;
  justify-content: center;
  padding:28.8px 14.4px;
  background: radial-gradient(circle at top, rgba(226, 232, 240, 0.85), rgba(248, 250, 252, 0.96) 48%, rgba(241, 245, 249, 0.96));
  box-sizing: border-box;
}
.gizzi-login-card {
  width:min(100%, 544px);
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius:27.2px;
  padding:clamp(20.8px, 6vw, 46.4px);
  box-shadow:0 24px 64px rgba(15, 23, 42, 0.14);
  text-align: center;
  box-sizing: border-box;
}
.gizzi-login-logo {
  width:75.2px;
  height:75.2px;
  border-radius:799.2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin:0 auto 22.4px;
  background: #ef4444;
  color: #fff;
  font-size:33.6px;
  font-weight: 950;
  letter-spacing:-0.032em;
  box-shadow:0 12.8px 27.2px rgba(239, 68, 68, 0.22);
}
.gizzi-login-card h1 {
  margin:0;
  color: #0f172a;
  font-size:clamp(24px, 6vw, 38.4px);
  line-height:1.14;
  font-weight: 950;
  letter-spacing:-0.044em;
}
.gizzi-login-subtitle {
  margin:14.4px 0 22.4px;
  color: #64748b;
  font-size:clamp(14.4px, 3vw, 19.2px);
  font-weight: 800;
}
.gizzi-login-divider {
  display: flex;
  align-items: center;
  gap:14.4px;
  margin:19.2px 0 20.8px;
  color: #94a3b8;
  font-size:10.4px;
  font-weight: 900;
  text-transform:uppercase;
  letter-spacing:0.064em;
}
.gizzi-login-divider span {
  flex: 1;
  height:2px;
  background: #e2e8f0;
}
.gizzi-login-divider em {
  font-style: normal;
  white-space: nowrap;
}
.gizzi-login-card form {
  text-align: left;
  margin:0;
}
.gizzi-login-card .login-username,
.gizzi-login-card .login-password,
.gizzi-login-card .login-remember,
.gizzi-login-card .login-submit {
  margin:0 0 16px;
}
.gizzi-login-card label {
  display: block;
  text-align: center;
  color: #334155;
  font-size:14.4px;
  font-weight: 900;
  margin:0 0 8px;
}
.gizzi-login-card .login-remember label {
  display: inline-flex;
  align-items: center;
  gap:8px;
  text-align: left;
  font-size:12px;
  color: #64748b;
}
.gizzi-login-card input[type="text"],
.gizzi-login-card input[type="password"] {
  width:100% !important;
  min-height:51.2px;
  border: 2px solid #e2e8f0 !important;
  border-radius:14.4px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size:16px !important;
  font-weight: 800 !important;
  padding:11.2px 14.4px !important;
  box-sizing: border-box;
  outline: none !important;
  box-shadow:none !important;
}
.gizzi-login-card input[type="text"]:focus,
.gizzi-login-card input[type="password"]:focus {
  border-color: #0f172a !important;
  box-shadow:0 0 0 3.2px rgba(15, 23, 42, 0.08) !important;
}
.gizzi-login-card .button,
.gizzi-login-card input[type="submit"] {
  width:100% !important;
  min-height:52.8px !important;
  border: 0 !important;
  border-radius:14.4px !important;
  background: #0f172a !important;
  color: #fff !important;
  font-size:16px !important;
  font-weight: 950 !important;
  cursor: pointer;
  box-shadow:0 12.8px 24px rgba(15, 23, 42, 0.18) !important;
}
.gizzi-login-links {
  display: flex;
  justify-content: center;
  gap:12.8px;
  flex-wrap: wrap;
  margin-top:4.8px;
  color: #64748b;
  font-size:12.8px;
  font-weight: 800;
}
.gizzi-login-links a {
  color: #334155 !important;
  text-decoration: none !important;
  font-weight: 950;
}
.gizzi-login-links a:hover { text-decoration: underline !important; }
.gizzi-login-note {
  margin:19.2px 0 0;
  color: #94a3b8;
  font-size:10.4px;
  font-weight: 800;
}
@media (max-width:560px) {
  .gizzi-login-wrap {
    align-items: flex-start;
    padding:14.4px 9.6px 22.4px;
  }
  .gizzi-login-card {
    border-radius:22.4px;
    padding:22.4px 16px;
  }
  .gizzi-login-logo {
    width:60.8px;
    height:60.8px;
    font-size:27.2px;
    margin-bottom:17.6px;
  }
  .gizzi-login-card input[type="text"],
  .gizzi-login-card input[type="password"],
  .gizzi-login-card .button,
  .gizzi-login-card input[type="submit"] {
    min-height:46.4px !important;
    font-size:14.4px !important;
  }
}

/* v1.7.9 role redirect button */
.gizzi-role-redirect .gizzi-login-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:41.6px;border-radius:12.8px;background:#0b0b0b!important;color:#fff!important;font-weight:900;text-decoration:none!important;margin-top:11.2px;}
.gizzi-role-redirect .gizzi-login-logo i{font-size:22.4px;}

/* Base44-style customer enquiry dashboard */
.gizzi-base44-enquiries{--gizzi-base44-red:#f34246;--gizzi-base44-ink:#111827;--gizzi-base44-muted:#6b7280;--gizzi-base44-soft:#f7f8fb;--gizzi-base44-line:#e2e8f0}.gizzi-base44-enquiries .gizzi-enquiries-hero{margin-bottom:22.4px}.gizzi-enquiries-title{display:flex;align-items:center;gap:14.4px;margin-bottom:14.4px}.gizzi-enquiries-title>i{font-size:30.4px;color:var(--gizzi-base44-red)}.gizzi-enquiries-title h2{font-size:35.2px;line-height:1.05;margin:0;color:#111827;font-weight:950;letter-spacing:-0.032em}.gizzi-enquiries-title p{margin:6.4px 0 0;color:#4b5563;font-size:17.6px}.gizzi-enquiries-toolbar{display:flex;flex-wrap:wrap;gap:12.8px;margin:16px 0 24px}.gizzi-outline-pill{min-height:46.4px;display:inline-flex;align-items:center;justify-content:center;gap:9.6px;padding:0 22.4px;border-radius:8px;background:#fff;border:1px solid #dfe5ee;box-shadow:0 2px 6.4px rgba(15,23,42,.07);color:#111827!important;text-decoration:none;font-size:16px;font-weight:800}.gizzi-outline-pill span{display:grid;place-items:center;min-width:28.8px;height:28.8px;border-radius:799.2px;background:var(--gizzi-base44-red);color:#fff;font-size:12.8px}.gizzi-new-enquiry-btn{min-height:46.4px;border-radius:8px!important;font-size:16.8px!important;padding:0 25.6px!important}.gizzi-enquiry-search{margin-bottom:22.4px}.gizzi-enquiry-search label{position:relative;display:block;margin:0}.gizzi-enquiry-search i{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:19.2px;color:#9aa4b2}.gizzi-enquiry-search input{width:100%;height:54.4px;border:1px solid #dfe5ee;border-radius:8px;background:#fff;padding:0 16px 0 51.2px;color:#111827;font-size:19.2px;box-shadow:0 2px 6.4px rgba(15,23,42,.06)}.gizzi-enquiry-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:25.6px}.gizzi-stage-tile{min-height:147.2px;border-radius:14.4px;background:#fff;border:1px solid #edf0f5;box-shadow:0 6.4px 16px rgba(15,23,42,.06);padding:22.4px;text-decoration:none;color:#111827!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12.8px}.gizzi-stage-tile.active{border:3px solid #111827;box-shadow:none}.gizzi-stage-tile em{width:52.8px;height:52.8px;border-radius:12.8px;display:grid;place-items:center;font-style:normal;font-size:22.4px;color:#fff;background:#64748b}.gizzi-stage-tile.tile-2 em{background:#3b82f6}.gizzi-stage-tile.tile-3 em{background:#f97316}.gizzi-stage-tile.tile-4 em{background:#a855f7}.gizzi-stage-tile.tile-5 em{background:#6366f1}.gizzi-stage-tile.tile-6 em{background:#f59e0b}.gizzi-stage-tile.tile-7 em{background:#14b8a6}.gizzi-stage-tile strong{font-size:30.4px;line-height:1;font-weight:950;color:#0f172a}.gizzi-stage-tile span{font-size:16px;color:#667085}.gizzi-enquiry-card-list{gap:19.2px!important}.gizzi-mobile-enquiry-card{border-radius:14.4px!important;padding:22.4px 25.6px!important;background:#fff!important;border:1px solid #dfe5ee!important;box-shadow:0 2.4px 8px rgba(15,23,42,.08)!important}.gizzi-mobile-enquiry-card .gizzi-mobile-card-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14.4px!important}.gizzi-mobile-enquiry-card h3{font-size:24px!important;line-height:1.25!important;margin:0 0 14.4px!important;color:#111827!important;font-weight:950!important}.gizzi-mobile-enquiry-card .gizzi-mobile-card-title p{font-size:17.6px!important;line-height:1.45!important;color:#4b5563!important;margin:0 0 11.2px!important;max-width:384px}.gizzi-card-actions{display:flex;align-items:flex-start;gap:11.2px;flex-wrap:wrap;justify-content:flex-end}.gizzi-card-actions .gizzi-pill{font-size:14.4px!important;text-transform:none!important;background:#f1f5f9!important;color:#334155!important;border-radius:799.2px!important;padding:9.6px 16px!important;line-height:1.15!important}.gizzi-close-enquiry-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #fecaca!important;background:#fff!important;color:#dc2626!important;border-radius:8px!important;padding:12px 17.6px!important;font-size:14.4px!important;font-weight:850!important;box-shadow:0 2.4px 6.4px rgba(239,68,68,.08)!important}.gizzi-mobile-enquiry-card .gizzi-mobile-card-info{display:grid!important;gap:12.8px!important;color:#667085!important;font-size:16px!important}.gizzi-mobile-enquiry-card .gizzi-mobile-card-info span{display:flex!important;line-height:1.45}.gizzi-mobile-enquiry-card .gizzi-mobile-card-info i{width:22.4px;color:#111827}.gizzi-mobile-enquiry-card .gizzi-mobile-card-footer{display:none!important}.gizzi-enquiry-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:12.8px}.gizzi-enquiry-detail-actions form{margin:0}.gizzi-enquiry-detail-actions .gizzi-delete-action{border:1px solid #fecaca!important;background:#fff!important;color:#dc2626!important;border-radius:8px!important;padding:12px 20.8px!important;font-size:14.4px!important;font-weight:850!important}.gizzi-enquiry-detail-page .gizzi-detail-card{border-radius:14.4px!important;border:1px solid #dfe5ee!important;box-shadow:0 2.4px 8px rgba(15,23,42,.08)!important;padding:27.2px!important}.gizzi-enquiry-detail-page .gizzi-detail-header h2{font-size:30.4px!important;letter-spacing:-0.024em}.gizzi-enquiry-detail-page .gizzi-detail-meta{font-size:16.8px!important;gap:16px!important;color:#667085!important}.gizzi-enquiry-detail-page .gizzi-detail-card h3{text-transform:none!important;font-size:22.4px!important;color:#111827!important}.gizzi-enquiry-stage-form{display:flex!important;gap:22.4px!important;flex-wrap:wrap!important}.gizzi-enquiry-stage-form button{min-height:46.4px!important;border-radius:8px!important;font-size:16px!important;padding:0 22.4px!important}.gizzi-progress-card .gizzi-progress-steps span{width:51.2px!important;height:51.2px!important;font-size:17.6px!important}.gizzi-progress-card .gizzi-progress-steps span em{font-size:12.8px!important;top:56px!important;white-space:nowrap!important}.gizzi-progress-card .gizzi-progress-steps i{height:5.6px!important;background:#e5eaf2!important}
@media(max-width:608px){.gizzi-admin-main{background:#f7f8fb!important}.gizzi-enquiries-title{align-items:flex-start}.gizzi-enquiries-title h2{font-size:27.2px}.gizzi-enquiries-title p{font-size:14.4px}.gizzi-enquiries-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:9.6px}.gizzi-new-enquiry-btn{grid-column:1/-1}.gizzi-outline-pill{font-size:12.8px;padding:0 11.2px;min-height:40px}.gizzi-enquiry-search input{height:46.4px;font-size:14.4px}.gizzi-enquiry-stage-grid{gap:11.2px}.gizzi-stage-tile{min-height:113.6px;padding:16px}.gizzi-stage-tile em{width:40px;height:40px;font-size:17.6px}.gizzi-stage-tile strong{font-size:24px}.gizzi-stage-tile span{font-size:12.8px}.gizzi-mobile-enquiry-card{padding:19.2px!important}.gizzi-mobile-enquiry-card h3{font-size:22.4px!important}.gizzi-mobile-enquiry-card .gizzi-mobile-card-title p,.gizzi-mobile-enquiry-card .gizzi-mobile-card-info{font-size:14.4px!important}.gizzi-mobile-enquiry-card .gizzi-mobile-card-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}.gizzi-card-actions{max-width:192px}.gizzi-card-actions .gizzi-pill{font-size:12.8px!important;padding:8px 12.8px!important}.gizzi-close-enquiry-btn{font-size:12.8px!important;padding:9.6px 12.8px!important}.gizzi-enquiry-detail-actions{align-items:flex-start}.gizzi-enquiry-detail-actions .gizzi-delete-action{font-size:12.8px!important;padding:10.4px 12.8px!important}.gizzi-enquiry-stage-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:11.2px!important}.gizzi-enquiry-stage-form .gizzi-red-action{grid-column:auto!important}.gizzi-progress-card{overflow:auto}.gizzi-progress-card .gizzi-progress-steps{min-width:496px}}


/* v2.0.6 emergency Base44 layout fixes */
.gizzi-base44-enquiries *{box-sizing:border-box!important}
.gizzi-base44-enquiries .gizzi-enquiries-toolbar{display:flex!important;flex-wrap:wrap!important;gap:12.8px!important;align-items:center!important}
.gizzi-base44-enquiries .gizzi-enquiries-toolbar > a{display:inline-flex!important}
.gizzi-base44-enquiries .gizzi-enquiry-search{display:block!important;width:100%!important}
.gizzi-base44-enquiries .gizzi-enquiry-search label{display:block!important;width:100%!important}
.gizzi-base44-enquiries .gizzi-enquiry-search input[type="search"]{display:block!important;width:100%!important;max-width:100%!important}
.gizzi-base44-enquiries .gizzi-enquiry-stage-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important}
.gizzi-base44-enquiries .gizzi-stage-tile{display:flex!important;width:100%!important}
.gizzi-base44-enquiries .gizzi-stage-tile strong,.gizzi-base44-enquiries .gizzi-stage-tile span{display:block!important}
@media(max-width:608px){.gizzi-base44-enquiries .gizzi-enquiry-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gizzi-base44-enquiries .gizzi-enquiries-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important}.gizzi-base44-enquiries .gizzi-new-enquiry-btn{grid-column:1/-1!important}}

/* Base44 mobile enquiry description full width fix */
@media (max-width:614.4px) {
    .gizzi-enquiry-card-body {
        display: flex;
        flex-direction: column;
        width:100%;
    }

    .gizzi-enquiry-description {
        width:100% !important;
        max-width:100%;
        display: block;
        margin-top:14.4px;
        margin-bottom:14.4px;
        line-height:1.5;
        font-size:14.4px;
        white-space: normal;
    }

    .gizzi-enquiry-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap:11.2px;
    }

    .gizzi-enquiry-meta {
        width:100%;
        margin-top:8px;
    }

    .gizzi-enquiry-actions {
        flex-shrink: 0;
    }
}


/* v2.0.9 - Enquiry card description must sit full width below the header/actions row */
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-top{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14.4px!important;
    width:100%!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-title{
    min-width:0!important;
    flex:1 1 auto!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-description{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    clear:both!important;
    margin:11.2px 0 19.2px!important;
    color:#4b5563!important;
    font-size:17.6px!important;
    line-height:1.45!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info{
    width:100%!important;
}
@media(max-width:608px){
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-top{
        display:flex!important;
        flex-direction:row!important;
        align-items:flex-start!important;
    }
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-description{
        font-size:14.4px!important;
        margin-top:12.8px!important;
        margin-bottom:17.6px!important;
    }
}


/* v2.0.10 - Enquiries mobile font scale reduction */
.gizzi-base44-enquiries .gizzi-enquiries-title h2{font-size:32px!important;}
.gizzi-base44-enquiries .gizzi-enquiries-title p{font-size:16px!important;}
.gizzi-base44-enquiries .gizzi-outline-pill{font-size:14.4px!important;}
.gizzi-base44-enquiries .gizzi-new-enquiry-btn{font-size:15.2px!important;}
.gizzi-base44-enquiries .gizzi-enquiry-search input{font-size:17.6px!important;}
.gizzi-base44-enquiries .gizzi-stage-tile strong{font-size:28.8px!important;}
.gizzi-base44-enquiries .gizzi-stage-tile span{font-size:14.4px!important;}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card h3{font-size:20.8px!important;line-height:1.22!important;}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-description{font-size:16px!important;line-height:1.4!important;}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info{font-size:14.4px!important;gap:11.2px!important;}
.gizzi-base44-enquiries .gizzi-card-actions .gizzi-pill{font-size:12.8px!important;}
.gizzi-base44-enquiries .gizzi-close-enquiry-btn{font-size:12.8px!important;}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info i{font-size:14.4px!important;}

@media(max-width:608px){
    .gizzi-base44-enquiries .gizzi-enquiries-title h2{font-size:24px!important;}
    .gizzi-base44-enquiries .gizzi-enquiries-title p{font-size:12.8px!important;}
    .gizzi-base44-enquiries .gizzi-outline-pill{font-size:11.2px!important;}
    .gizzi-base44-enquiries .gizzi-new-enquiry-btn{font-size:13.6px!important;}
    .gizzi-base44-enquiries .gizzi-enquiry-search input{font-size:12.8px!important;}
    .gizzi-base44-enquiries .gizzi-stage-tile strong{font-size:22.4px!important;}
    .gizzi-base44-enquiries .gizzi-stage-tile span{font-size:11.2px!important;}
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card{padding:17.6px!important;}
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card h3{font-size:19.2px!important;line-height:1.2!important;margin-bottom:11.2px!important;}
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-description{font-size:12.8px!important;line-height:1.42!important;margin-top:11.2px!important;margin-bottom:16px!important;}
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info{font-size:12.8px!important;gap:9.6px!important;}
    .gizzi-base44-enquiries .gizzi-card-actions{max-width:176px!important;gap:8px!important;}
    .gizzi-base44-enquiries .gizzi-card-actions .gizzi-pill{font-size:11.2px!important;padding:7.2px 11.2px!important;}
    .gizzi-base44-enquiries .gizzi-close-enquiry-btn{font-size:11.2px!important;padding:8.8px 11.2px!important;}
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info i{font-size:12.8px!important;width:19.2px!important;}
}


/* v2.0.12 - Normalise action button sizing inside cards */
.gizzi-job-card .gizzi-inline-form,
.gizzi-mobile-record-card .gizzi-inline-form,
.gizzi-card-actions,
.gizzi-form-actions {
    display: flex;
    align-items: center;
    gap:8px;
    flex-wrap: wrap;
}

.gizzi-job-card .gizzi-inline-form button,
.gizzi-job-card .gizzi-inline-form .gizzi-admin-button,
.gizzi-job-card .gizzi-inline-form .gizzi-danger-action,
.gizzi-mobile-record-card .gizzi-inline-form button,
.gizzi-mobile-record-card .gizzi-inline-form .gizzi-admin-button,
.gizzi-mobile-record-card .gizzi-inline-form .gizzi-danger-action,
.gizzi-form-actions .gizzi-admin-button,
.gizzi-form-actions .gizzi-red-action,
.gizzi-form-actions .gizzi-light-action {
    min-height:35.2px !important;
    padding:9.6px 14.4px !important;
    border-radius:9.6px !important;
    font-size:12.8px !important;
    font-weight: 900 !important;
    line-height:1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.gizzi-job-card .gizzi-inline-form .gizzi-admin-button,
.gizzi-job-card .gizzi-inline-form .gizzi-danger-action,
.gizzi-mobile-record-card .gizzi-inline-form .gizzi-admin-button,
.gizzi-mobile-record-card .gizzi-inline-form .gizzi-danger-action {
    background: #111 !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow:0 6.4px 14.4px rgba(15,23,42,.10) !important;
}

@media (max-width:608px) {
    .gizzi-job-card .gizzi-inline-form button,
    .gizzi-job-card .gizzi-inline-form .gizzi-admin-button,
    .gizzi-job-card .gizzi-inline-form .gizzi-danger-action,
    .gizzi-mobile-record-card .gizzi-inline-form button,
    .gizzi-mobile-record-card .gizzi-inline-form .gizzi-admin-button,
    .gizzi-mobile-record-card .gizzi-inline-form .gizzi-danger-action,
    .gizzi-form-actions .gizzi-admin-button,
    .gizzi-form-actions .gizzi-red-action,
    .gizzi-form-actions .gizzi-light-action {
        min-height:33.6px !important;
        padding:8.8px 12.8px !important;
        font-size:12px !important;
    }
}


/* v2.0.12 - Global 20% UI shrink pass across frontend containers */
.gizzi-admin-shell,
.gizzi-portal,
.gizzi-bottom-nav,
.gizzi-page-shell{
  font-size:80%;
}
.gizzi-admin-shell button,
.gizzi-admin-shell input,
.gizzi-admin-shell select,
.gizzi-admin-shell textarea,
.gizzi-portal button,
.gizzi-portal input,
.gizzi-portal select,
.gizzi-portal textarea{
  font-size:inherit;
}

/* v2.0.13 - Finish the 20% shrink on enquiry detail/workflow screens */
.gizzi-enquiry-detail-page .gizzi-detail-card{
  padding:21.6px!important;
  border-radius:14px!important;
}
.gizzi-enquiry-detail-page .gizzi-detail-header h2{
  font-size:24.4px!important;
  line-height:1.08!important;
}
.gizzi-enquiry-detail-page .gizzi-detail-card h3,
.gizzi-enquiry-detail-page .gizzi-stage-control-card h3,
.gizzi-enquiry-detail-page .gizzi-site-visit-form h3,
.gizzi-enquiry-detail-page .gizzi-site-visit-notes-form h3{
  font-size:17.9px!important;
  line-height:1.18!important;
}
.gizzi-enquiry-detail-page .gizzi-detail-card p,
.gizzi-enquiry-detail-page .gizzi-detail-meta,
.gizzi-enquiry-detail-page .gizzi-admin-help,
.gizzi-enquiry-detail-page .gizzi-stage-control-card p{
  font-size:13.4px!important;
  line-height:1.45!important;
}
.gizzi-enquiry-detail-page .gizzi-detail-meta{
  gap:12.8px!important;
}
.gizzi-enquiry-detail-page .gizzi-pill{
  font-size:11.2px!important;
  padding:6.4px 11.2px!important;
}
.gizzi-enquiry-detail-page .gizzi-detail-edit,
.gizzi-enquiry-detail-page .gizzi-back-link,
.gizzi-enquiry-detail-page .gizzi-delete-action,
.gizzi-enquiry-detail-page .gizzi-admin-button,
.gizzi-enquiry-detail-page .gizzi-light-action,
.gizzi-enquiry-detail-page .gizzi-red-action{
  font-size:12.8px!important;
  min-height:37.2px!important;
  padding:8px 14.4px!important;
  border-radius:9.6px!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card{
  padding:17.6px!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps span{
  width:41px!important;
  height:41px!important;
  font-size:14.1px!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps span em{
  font-size:10.2px!important;
  top:44.8px!important;
  line-height:1.15!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps i{
  height:4.5px!important;
}
.gizzi-enquiry-detail-page .gizzi-stage-control-form,
.gizzi-enquiry-detail-page .gizzi-admin-form,
.gizzi-enquiry-detail-page .gizzi-detail-form{
  gap:9px!important;
}
.gizzi-enquiry-detail-page .gizzi-detail-card label,
.gizzi-enquiry-detail-page .gizzi-admin-form label,
.gizzi-enquiry-detail-page .gizzi-detail-form label{
  font-size:12.8px!important;
  line-height:1.25!important;
}
.gizzi-enquiry-detail-page input,
.gizzi-enquiry-detail-page select,
.gizzi-enquiry-detail-page textarea{
  font-size:12.8px!important;
  min-height:38.4px!important;
  padding:7.7px 9px!important;
  border-radius:9px!important;
}
.gizzi-enquiry-detail-page textarea{
  min-height:96px!important;
}

/* v2.0.13 - Add breathing room around Job Details and Notes sections on job cards */
.gizzi-job-detail-page .gizzi-detail-card hr{
  margin:14.4px 0 0!important;
}
.gizzi-job-detail-page .gizzi-detail-card hr + h3{
  padding-top:12.8px!important;
  margin-top:0!important;
  margin-bottom:8px!important;
}
.gizzi-job-detail-page .gizzi-detail-card h3 + p{
  padding-bottom:12.8px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

@media(max-width:608px){
  .gizzi-enquiry-detail-page .gizzi-detail-card{
    padding:17.2px!important;
    border-radius:14px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-detail-header h2{
    font-size:20.5px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-detail-card h3,
  .gizzi-enquiry-detail-page .gizzi-stage-control-card h3{
    font-size:19.2px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-detail-card p,
  .gizzi-enquiry-detail-page .gizzi-detail-meta,
  .gizzi-enquiry-detail-page .gizzi-stage-control-card p{
    font-size:12.8px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps{
    min-width:397px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps span{
    width:41px!important;
    height:41px!important;
    font-size:14px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps span em{
    font-size:10px!important;
    top:44px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-form-grid,
  .gizzi-enquiry-detail-page .gizzi-site-notes-grid{
    gap:9px!important;
  }
  .gizzi-job-detail-page .gizzi-detail-card hr + h3{
    padding-top:11.2px!important;
  }
  .gizzi-job-detail-page .gizzi-detail-card h3 + p{
    padding-bottom:11.2px!important;
  }
}

/* v2.0.14 - Materials button and single-line stage scroller fixes */
.gizzi-job-detail-page .gizzi-job-materials-card .gizzi-section-title-row{
  display:block!important;
}
.gizzi-job-detail-page .gizzi-job-materials-card .gizzi-section-title-row h2,
.gizzi-job-detail-page .gizzi-job-materials-card .gizzi-section-title-row p{
  margin-left:0!important;
  margin-right:0!important;
}
.gizzi-job-detail-page .gizzi-job-materials-card .gizzi-open-material-modal,
.gizzi-job-detail-page .gizzi-job-materials-card .gizzi-section-title-row > .gizzi-admin-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9.6px!important;
  width:100%!important;
  min-height:45px!important;
  margin:18px 0 16px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:4px!important;
  background:#111!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.1!important;
  box-shadow:none!important;
  text-align:center!important;
}
.gizzi-job-detail-page .gizzi-job-materials-card .gizzi-open-material-modal i{
  font-size:14px!important;
}

.gizzi-enquiry-detail-page .gizzi-progress-card{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:50px!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card::-webkit-scrollbar{
  display:none!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card{
  scrollbar-width:none!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:max-content!important;
  min-width:max-content!important;
  grid-template-columns:none!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps span{
  flex:0 0 41px!important;
  width:41px!important;
  height:41px!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps i{
  flex:0 0 76px!important;
  width:76px!important;
  min-width:76px!important;
  height:4px!important;
  margin-top:18px!important;
  display:block!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps span em{
  white-space:nowrap!important;
  max-width:none!important;
  line-height:1.1!important;
}
@media(max-width:608px){
  .gizzi-enquiry-detail-page .gizzi-progress-card{
    padding:17px 17px 50px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps{
    min-width:max-content!important;
  }
  .gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps i{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
  }
}


/* v2.0.15 - Enquiry Details spacing fix */
.gizzi-enquiry-detail-page .gizzi-enquiry-details-divider{
  margin:14px 0 0!important;
}
.gizzi-enquiry-detail-page .gizzi-enquiry-details-content{
  display:block!important;
  width:100%!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
  margin:0!important;
}
.gizzi-enquiry-detail-page .gizzi-enquiry-details-content h3{
  margin:0 0 12px!important;
}
.gizzi-enquiry-detail-page .gizzi-enquiry-details-content p{
  margin:0!important;
  display:block!important;
  width:100%!important;
}
@media(max-width:608px){
  .gizzi-enquiry-detail-page .gizzi-enquiry-details-divider{
    margin-top:12px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-enquiry-details-content{
    padding-top:16px!important;
    padding-bottom:16px!important;
  }
  .gizzi-enquiry-detail-page .gizzi-enquiry-details-content h3{
    margin-bottom:10px!important;
  }
}

/* v2.0.16 - Match Add Materials modal button styling */
.gizzi-modal .gizzi-material-picker-tools .gizzi-scan-barcode,
.gizzi-modal .gizzi-job-material-form > .gizzi-admin-button[type="submit"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9.6px!important;
  width:100%!important;
  min-height:45px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:4px!important;
  background:#111!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.1!important;
  box-shadow:none!important;
  text-align:center!important;
  text-decoration:none!important;
}
.gizzi-modal .gizzi-material-picker-tools .gizzi-scan-barcode{
  margin:10px 0 10px!important;
}
.gizzi-modal .gizzi-job-material-form > .gizzi-admin-button[type="submit"]{
  margin:18px 0 10px!important;
}
.gizzi-modal .gizzi-material-picker-tools .gizzi-scan-barcode i,
.gizzi-modal .gizzi-job-material-form > .gizzi-admin-button[type="submit"] i{
  font-size:14px!important;
  line-height:1!important;
}
.gizzi-modal .gizzi-material-picker-tools{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
@media(max-width:608px){
  .gizzi-modal .gizzi-material-picker-tools .gizzi-scan-barcode,
  .gizzi-modal .gizzi-job-material-form > .gizzi-admin-button[type="submit"]{
    min-height:43px!important;
    font-size:13.6px!important;
  }
}


/* Gizzi Ops v2.0.17 - Fix mobile dashboard/page title wrapping
   The previous mobile rules allowed h1 text to break anywhere. On narrow app
   containers this made titles render as Da/sh/bo/ar/d. Keep the menu button
   in column 1 and force the title block into the remaining/full safe width. */
.gizzi-admin-topbar .gizzi-admin-title-block{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
.gizzi-admin-topbar .gizzi-admin-title-block h1{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
@media(max-width:880px){
  .gizzi-admin-topbar{
    grid-template-columns:44px minmax(0,1fr) !important;
    align-items:start !important;
  }
  .gizzi-admin-topbar-menu{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .gizzi-admin-topbar .gizzi-admin-title-block{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
  }
  .gizzi-admin-topbar .gizzi-admin-title-block h1{
    font-size:25.6px !important;
    line-height:1.08 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
}
@media(max-width:512px){
  .gizzi-admin-topbar{
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .gizzi-admin-topbar .gizzi-admin-title-block{
    grid-column:2 !important;
    width:100% !important;
  }
  .gizzi-admin-topbar .gizzi-admin-title-block h1{
    font-size:22.4px !important;
  }
}
@media(max-width:360px){
  .gizzi-admin-topbar .gizzi-admin-title-block h1{
    font-size:20.8px !important;
  }
}

/* Inline SVG icons replace Font Awesome for faster, cleaner dashboard rendering. */
.gizzi-svg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35em;
    min-width: 1.35em;
    height: 1.35em;
    line-height: 1;
    color: currentColor;
    vertical-align: -0.18em;
}

.gizzi-svg-icon svg {
    width: 1em;
    height: 1em;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gizzi-admin-nav .gizzi-svg-icon,
.gizzi-engineer-nav .gizzi-svg-icon,
.gizzi-admin-icon-btn .gizzi-svg-icon,
.gizzi-mobile-menu-close .gizzi-svg-icon,
.gizzi-admin-topbar-menu .gizzi-svg-icon {
    font-size: 1.05rem;
}

.gizzi-big-check-button .gizzi-svg-icon,
.gizzi-metric-icon .gizzi-svg-icon,
.gizzi-live-icon .gizzi-svg-icon {
    font-size: 1.45rem;
}

/* Gizzi Ops v2.2.0 weekly calendar */
.gizzi-calendar-actions{display:flex;justify-content:center;margin:-8px 0 16px}.gizzi-week-calendar{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:16px;box-shadow:0 18px 40px rgba(15,23,42,.06);overflow:hidden}.gizzi-week-tabs{display:flex;gap:8px;background:#f1f5f9;border-radius:16px;padding:6px;margin-bottom:14px}.gizzi-week-tabs button{border:0;background:transparent;border-radius:12px;padding:10px 14px;font-weight:800;color:#64748b;cursor:pointer;flex:1}.gizzi-week-tabs button.is-active{background:#fff;color:#0f172a;box-shadow:0 8px 20px rgba(15,23,42,.08)}.gizzi-week-legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.gizzi-week-legend span{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;color:#475569}.gizzi-week-legend i,.gizzi-week-engineer-name i{width:10px;height:10px;border-radius:999px;display:inline-block;box-shadow:inset 0 0 0 1px rgba(15,23,42,.12)}.gizzi-week-view{display:none}.gizzi-week-view.is-active{display:block}.gizzi-engineer-week-grid{display:grid;grid-template-columns:minmax(118px,1.05fr) repeat(7,minmax(86px,1fr));border:1px solid #e2e8f0;border-radius:18px;overflow:auto;background:#fff}.gizzi-week-corner,.gizzi-week-day-head,.gizzi-week-engineer-name,.gizzi-week-cell{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;min-height:72px}.gizzi-week-corner,.gizzi-week-day-head{position:sticky;top:0;z-index:2;background:#f8fafc}.gizzi-week-corner{left:0;z-index:3;display:flex;align-items:center;padding:12px;font-weight:900;color:#64748b}.gizzi-week-day-head{text-align:center;padding:10px 4px}.gizzi-week-day-head strong{display:block;color:#64748b;font-size:13px}.gizzi-week-day-head span{display:block;color:#0f172a;font-weight:900;font-size:20px;line-height:1}.gizzi-week-engineer-name{position:sticky;left:0;z-index:1;background:#fff;display:flex;align-items:center;gap:8px;padding:12px;font-weight:900;color:#334155}.gizzi-week-cell{padding:8px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;gap:6px}.gizzi-week-chip{display:block;min-width:0;background:var(--gizzi-chip-color);border:1px solid rgba(15,23,42,.12);border-radius:9px;padding:7px 8px;text-decoration:none!important;color:#0f172a!important;font-size:12px;font-weight:900;box-shadow:0 5px 10px rgba(15,23,42,.06)}.gizzi-week-chip span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gizzi-alljobs-week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow:auto}.gizzi-alljobs-day{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:10px;min-height:260px}.gizzi-alljobs-day-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:8px;margin-bottom:8px}.gizzi-alljobs-day-head strong{font-size:14px;color:#0f172a}.gizzi-alljobs-day-head span{font-size:11px;font-weight:800;color:#64748b}.gizzi-week-available{border:1px dashed #cbd5e1;border-radius:12px;padding:14px;text-align:center;color:#94a3b8;font-weight:900;background:#fff}.gizzi-week-job-block{display:block;background:var(--gizzi-chip-color);border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:9px;margin-bottom:8px;text-decoration:none!important;color:#0f172a!important;box-shadow:0 8px 16px rgba(15,23,42,.06)}.gizzi-week-job-block strong,.gizzi-week-job-block span,.gizzi-week-job-block small{display:block}.gizzi-week-job-block strong{font-size:12px}.gizzi-week-job-block span{font-size:13px;font-weight:900;line-height:1.25;margin:3px 0}.gizzi-week-job-block small{font-size:11px;color:#475569;font-weight:700}.gizzi-site-visit-calendar{margin:16px 0 22px}.gizzi-site-visit-calendar h4{margin:0 0 4px;font-size:18px}.gizzi-site-visit-calendar>p{margin:0 0 12px;color:#64748b}.gizzi-week-full{grid-column:1 / -1}@media(max-width:900px){.gizzi-week-calendar{padding:12px}.gizzi-engineer-week-grid{grid-template-columns:minmax(106px,112px) repeat(7,minmax(74px,80px));font-size:12px}.gizzi-alljobs-week-grid{grid-template-columns:repeat(7,128px)}.gizzi-week-cell{padding:6px}.gizzi-week-chip{font-size:11px;padding:6px}.gizzi-week-engineer-name{font-size:12px;padding:8px}.gizzi-week-day-head span{font-size:17px}}

/* v2.4.1 Engineer checkout flow modal layering fix */
body.gizzi-checkout-open {
    overflow: hidden !important;
}
.gizzi-checkout-modal {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    width: 100vw;
    height: 100vh;
    min-height: 100dvh;
    box-sizing: border-box;
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    isolation: isolate;
}
.gizzi-checkout-modal.is-open {
    display: flex !important;
    align-items: flex-start;
    justify-content: center;
}
.gizzi-checkout-modal__overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0;
    background: rgba(15, 23, 42, 0.78);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.gizzi-checkout-modal__panel {
    position: relative;
    z-index: 1;
    width: min(920px, calc(100vw - 28px));
    max-height: calc(100dvh - 28px);
    overflow: auto;
    margin: 0 auto;
    background: #fff;
    color: #111827;
    border-radius: 24px;
    box-shadow: 0 25px 80px rgba(0,0,0,.38);
    padding: 24px;
    box-sizing: border-box;
}
.gizzi-checkout-modal__close {
    position: absolute;
    right: 16px;
    top: 12px;
    z-index: 2;
    width: 46px;
    height: 46px;
    border-radius: 10px;
    border: 0;
    background: #111;
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.gizzi-checkout-step { display: none; }
.gizzi-checkout-step.is-active { display: block; }
.gizzi-checkout-step h2 { margin: 0 42px 8px 0; }
.gizzi-checkout-step p { color: #475569; }
.gizzi-checkout-choice-grid,
.gizzi-checkout-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}
.gizzi-checkout-step label {
    display: block;
    margin-top: 14px;
    font-weight: 700;
}
.gizzi-checkout-step input[type="file"],
.gizzi-checkout-step textarea {
    display: block;
    width: 100%;
    margin-top: 8px;
}
.gizzi-signature-box {
    background: #f8fafc;
    border: 2px dashed #cbd5e1;
    border-radius: 18px;
    padding: 12px;
    margin-top: 14px;
}
.gizzi-signature-box canvas {
    width: 100%;
    max-width: 100%;
    height: 220px;
    display: block;
    background: #fff;
    border-radius: 12px;
    touch-action: none;
}
.gizzi-job-evidence-card .gizzi-evidence-entry {
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 18px;
    padding: 16px;
    margin-top: 14px;
    background: rgba(248, 250, 252, .9);
}
.gizzi-evidence-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}
.gizzi-evidence-head span {
    color: #64748b;
    font-size: 13px;
}
.gizzi-signature-preview {
    margin-top: 14px;
}
.gizzi-signature-preview img {
    display: block;
    max-width: 420px;
    width: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 10px;
}

@media (max-width: 700px) {
    .gizzi-checkout-modal {
        padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
    }
    .gizzi-checkout-modal__panel {
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 28px);
        padding: 22px 18px;
        border-radius: 24px;
    }
    .gizzi-checkout-step h2 {
        font-size: 24px;
        line-height: 1.12;
        margin-right: 56px;
    }
    .gizzi-checkout-step p {
        font-size: 16px;
        line-height: 1.45;
    }
    .gizzi-checkout-choice-grid,
    .gizzi-checkout-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* v2.4.4 materials live search/bulk import polish */
.gizzi-material-search-status{
  margin:8px 0 10px;
  padding:10px 12px;
  border:1px dashed rgba(100,116,139,.32);
  border-radius:12px;
  background:#f8fafc;
  color:#64748b;
  font-weight:700;
  font-size:14px;
}
.gizzi-material-bulk-import-card p{
  color:#64748b;
  margin-top:0;
}
.gizzi-success{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#ecfdf5;
  color:#047857;
  font-weight:800;
}
.gizzi-error{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#fef2f2;
  color:#b91c1c;
  font-weight:800;
}


/* v2.4.12 - neater add material/customer actions */
.gizzi-materials-toolbar,
.gizzi-customers-toolbar {
    width: 100%;
    padding-bottom: 20px;
}
.gizzi-materials-toolbar .gizzi-admin-button,
.gizzi-customers-toolbar .gizzi-admin-button {
    width: 100%;
    justify-content: center;
}
.gizzi-customer-create-modal .gizzi-modal-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
}
.gizzi-customer-create-modal .gizzi-modal-actions .gizzi-admin-button {
    flex: 1 1 220px;
    justify-content: center;
}
@media (max-width: 640px) {
    .gizzi-customer-create-modal .gizzi-modal-actions,
    .gizzi-customer-create-modal .gizzi-modal-actions .gizzi-admin-button,
    .gizzi-customer-create-modal .gizzi-modal-actions .gizzi-light-action {
        width: 100%;
    }
}


/* v2.15.0 - Google-style address autocomplete dropdown for enquiries */
.gizzi-address-lookup {
  overflow: visible !important;
}

.gizzi-postcode-suggestions {
  top: calc(100% + 2px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  background: #fff !important;
  border: 1px solid #b7c0cc !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.16) !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  padding: 0 !important;
}

.gizzi-postcode-suggestion.gizzi-address-suggestion {
  position: relative !important;
  min-height: 44px !important;
  display: block !important;
  width: 100% !important;
  padding: 8px 12px 8px 38px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111827 !important;
  text-align: left !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
}

.gizzi-postcode-suggestion.gizzi-address-suggestion::before {
  content: '' !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  transform: translateY(-50%) !important;
  opacity: .58 !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
  background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239ca3af'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") !important;
}

.gizzi-postcode-suggestion.gizzi-address-suggestion:hover,
.gizzi-postcode-suggestion.gizzi-address-suggestion:focus {
  background: #f3f6fb !important;
  color: #111827 !important;
  outline: none !important;
}

.gizzi-postcode-suggestion.gizzi-address-suggestion strong,
.gizzi-address-suggestion .gizzi-address-main {
  display: inline !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.gizzi-postcode-suggestion.gizzi-address-suggestion span,
.gizzi-address-suggestion .gizzi-address-secondary {
  display: inline !important;
  margin: 0 0 0 5px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.gizzi-postcode-suggestion.gizzi-address-suggestion:last-child {
  border-bottom: 0 !important;
}

.gizzi-postcode-suggestions::after {
  content: 'powered by OpenStreetMap' !important;
  display: block !important;
  padding: 4px 8px 5px !important;
  text-align: right !important;
  font-size: 10px !important;
  line-height: 1 !important;
  color: #9ca3af !important;
  background: #fff !important;
  border-top: 1px solid #f1f5f9 !important;
}

@media (max-width: 560px) {
  .gizzi-postcode-suggestions {
    position: absolute !important;
    margin-top: 0 !important;
    max-height: 240px !important;
  }

  .gizzi-postcode-suggestion.gizzi-address-suggestion {
    min-height: 46px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}


/* v2.15.3 - neat iOS-style push setting toggles */
.gizzi-settings-list{
    display:grid;
    gap:14px;
    margin:18px 0 22px;
}
.gizzi-setting-toggle{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:18px 20px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(15,23,42,.04);
    font-weight:900;
    line-height:1.25;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.gizzi-setting-toggle .gizzi-setting-label{
    flex:1;
    min-width:0;
    color:#0f172a;
}
.gizzi-ios-switch{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    width:58px;
    height:34px;
}
.gizzi-ios-switch input{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    margin:0;
    cursor:pointer;
    z-index:2;
}
.gizzi-ios-slider{
    position:absolute;
    inset:0;
    border-radius:999px;
    background:#d1d5db;
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
    transition:background .18s ease, box-shadow .18s ease;
}
.gizzi-ios-slider::before{
    content:'';
    position:absolute;
    width:28px;
    height:28px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 3px 10px rgba(15,23,42,.22);
    transition:transform .18s ease;
}
.gizzi-ios-switch input:checked + .gizzi-ios-slider{
    background:#111827;
    box-shadow:inset 0 0 0 1px rgba(17,24,39,.12), 0 8px 18px rgba(17,24,39,.14);
}
.gizzi-ios-switch input:checked + .gizzi-ios-slider::before{
    transform:translateX(24px);
}
.gizzi-ios-switch input:focus-visible + .gizzi-ios-slider{
    outline:3px solid rgba(59,130,246,.35);
    outline-offset:3px;
}
@media (max-width: 600px){
    .gizzi-setting-toggle{
        padding:16px 18px;
        border-radius:16px;
        font-size:15px;
    }
    .gizzi-ios-switch{
        width:54px;
        height:32px;
    }
    .gizzi-ios-slider::before{
        width:26px;
        height:26px;
    }
    .gizzi-ios-switch input:checked + .gizzi-ios-slider::before{
        transform:translateX(22px);
    }
}


/* v2.15.4 - engineer certificate and time-off forms in popups */
.gizzi-profile-toolbar{margin:16px 0 20px;display:flex;width:100%;}
.gizzi-profile-toolbar .gizzi-admin-button{width:100%;justify-content:center;}
.gizzi-certificate-create-modal .gizzi-modal-actions,
.gizzi-holiday-request-modal .gizzi-modal-actions{display:flex;gap:10px;align-items:center;margin-top:14px;}
.gizzi-certificate-create-modal .gizzi-modal-actions .gizzi-admin-button,
.gizzi-holiday-request-modal .gizzi-modal-actions .gizzi-admin-button{flex:1;justify-content:center;}
@media(max-width:640px){
  .gizzi-certificate-create-modal .gizzi-modal-actions,
  .gizzi-holiday-request-modal .gizzi-modal-actions{display:grid;grid-template-columns:1fr;}
  .gizzi-holiday-request-modal .gizzi-section-title-row .gizzi-admin-button{width:100%;}
}


/* v2.15.5 - force settings toggles inline inside detail-card forms */
.gizzi-detail-card form .gizzi-settings-list{
    display:grid !important;
    gap:14px !important;
    margin:18px 0 22px !important;
}
.gizzi-detail-card form label.gizzi-setting-toggle,
.gizzi-detail-card label.gizzi-setting-toggle,
.gizzi-setting-toggle{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
}
.gizzi-detail-card form label.gizzi-setting-toggle .gizzi-setting-label,
.gizzi-detail-card label.gizzi-setting-toggle .gizzi-setting-label,
.gizzi-setting-toggle .gizzi-setting-label{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:block !important;
}
.gizzi-detail-card form label.gizzi-setting-toggle .gizzi-ios-switch,
.gizzi-detail-card label.gizzi-setting-toggle .gizzi-ios-switch,
.gizzi-setting-toggle .gizzi-ios-switch{
    flex:0 0 58px !important;
    width:58px !important;
    min-width:58px !important;
    height:34px !important;
    display:inline-flex !important;
}
.gizzi-detail-card form label.gizzi-setting-toggle .gizzi-ios-switch input,
.gizzi-detail-card label.gizzi-setting-toggle .gizzi-ios-switch input{
    width:100% !important;
    height:100% !important;
    padding:0 !important;
    border:0 !important;
}
@media (max-width:600px){
    .gizzi-detail-card form label.gizzi-setting-toggle,
    .gizzi-detail-card label.gizzi-setting-toggle,
    .gizzi-setting-toggle{
        padding:16px 18px !important;
        gap:14px !important;
    }
    .gizzi-detail-card form label.gizzi-setting-toggle .gizzi-ios-switch,
    .gizzi-detail-card label.gizzi-setting-toggle .gizzi-ios-switch,
    .gizzi-setting-toggle .gizzi-ios-switch{
        flex-basis:54px !important;
        width:54px !important;
        min-width:54px !important;
        height:32px !important;
    }
}

/* v2.15.6 - completed jobs should not show check in/out UI */
.gizzi-job-completed-banner{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    box-sizing:border-box;
    background:#dcfce7;
    border:1px solid #86efac;
    color:#166534;
    border-radius:16px;
    padding:16px 18px;
    margin:0 0 18px;
    font-weight:900;
    font-size:16px;
    line-height:1.25;
}
.gizzi-job-completed-banner .gizzi-svg-icon,
.gizzi-job-completed-banner svg{
    width:20px;
    height:20px;
    flex:0 0 20px;
}
.gizzi-job-completed-banner span{
    display:block;
}


/* v2.15.7 - engineer job details description spacing */
.gizzi-detail-card .gizzi-engineer-job-description-block{
    border-top:1px solid rgba(15,23,42,.12) !important;
    margin-top:0 !important;
    padding-top:20px !important;
}
.gizzi-detail-card .gizzi-engineer-job-description-block h3{
    margin:0 0 14px !important;
    padding:0 !important;
    line-height:1.15 !important;
}
.gizzi-detail-card .gizzi-engineer-job-description-block p{
    margin:0 0 20px !important;
    padding:0 !important;
}


/* v2.16.0 - customer popup layering and neater customer cards */
body .gizzi-customer-create-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  isolation: isolate !important;
}
body .gizzi-customer-create-modal .gizzi-modal-backdrop {
  z-index: 1 !important;
}
body .gizzi-customer-create-modal .gizzi-modal-panel {
  position: relative !important;
  z-index: 2 !important;
  width: min(720px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 28px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.gizzi-customer-card-list {
  display: grid;
  gap: 14px;
}
gizzi-customer-card {
    display: flex !important;
    /* flex-direction: column !important; */
    gap: 14px !important;
    justify-content: space-between;
}
.gizzi-customer-card .gizzi-customer-card-body h3,
.gizzi-customer-card h3 {
  font-size: clamp(24px, 6vw, 34px) !important;
  line-height: 1.08 !important;
  margin: 0 0 12px !important;
  overflow-wrap: anywhere !important;
}
.gizzi-customer-card .gizzi-customer-card-body p,
.gizzi-customer-card p {
  font-size: clamp(15px, 3.8vw, 18px) !important;
  line-height: 1.45 !important;
  margin: 8px 0 !important;
}
.gizzi-customer-edit-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
  border-radius: 12px !important;
  background: #111 !important;
  color: #fff !important;
  border: 1px solid #111 !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(17, 17, 17, .14) !important;
}
.gizzi-customer-edit-button:hover,
.gizzi-customer-edit-button:focus {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
  text-decoration: none !important;
}
@media (max-width: 640px) {
  body .gizzi-customer-create-modal .gizzi-modal-panel {
    width: 100vw !important;
    max-height: 88dvh !important;
    border-radius: 24px 24px 0 0 !important;
  }
  .gizzi-customer-card .gizzi-customer-card-body h3,
  .gizzi-customer-card h3 {
    font-size: 26px !important;
  }
}

/* v2.16.1 - make sure customer modal is never visible until JS opens it. */
.gizzi-customer-create-modal[hidden],
body .gizzi-customer-create-modal[hidden] {
  display: none !important;
}
.gizzi-customer-edit-button {
  cursor: pointer !important;
}

/* v2.16.2 fuel receipt popup */
.gizzi-admin-button.gizzi-full-action{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:20px;
}
.gizzi-fuel-receipt-modal .gizzi-modal-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.gizzi-fuel-receipt-modal .gizzi-modal-actions .gizzi-admin-button{
  flex:1;
  justify-content:center;
}
@media(max-width:640px){
  .gizzi-fuel-receipt-modal .gizzi-modal-actions{display:grid;grid-template-columns:1fr;}
  .gizzi-fuel-receipt-modal .gizzi-modal-actions .gizzi-admin-button,
  .gizzi-fuel-receipt-modal .gizzi-modal-actions .gizzi-light-action{width:100%;justify-content:center;}
}


/* v2.16.3 - Enquiries page inline SVG icon visibility and layout fixes */
.gizzi-base44-enquiries .gizzi-enquiries-title > .gizzi-svg-icon{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:var(--gizzi-base44-red,#f34246)!important;
    color:#fff!important;
    font-size:22px!important;
    vertical-align:middle!important;
}
.gizzi-base44-enquiries .gizzi-enquiries-title > .gizzi-svg-icon svg{
    width:22px!important;
    height:22px!important;
    stroke:currentColor!important;
}
.gizzi-base44-enquiries .gizzi-outline-pill > .gizzi-svg-icon,
.gizzi-base44-enquiries .gizzi-new-enquiry-btn > .gizzi-svg-icon,
.gizzi-base44-enquiries .gizzi-close-enquiry-btn > .gizzi-svg-icon{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin-right:8px!important;
    color:currentColor!important;
}
.gizzi-base44-enquiries .gizzi-outline-pill > .gizzi-svg-icon svg,
.gizzi-base44-enquiries .gizzi-new-enquiry-btn > .gizzi-svg-icon svg,
.gizzi-base44-enquiries .gizzi-close-enquiry-btn > .gizzi-svg-icon svg{
    width:18px!important;
    height:18px!important;
    stroke:currentColor!important;
}
.gizzi-base44-enquiries .gizzi-enquiry-search label > .gizzi-svg-icon{
    position:absolute!important;
    left:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:2!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    color:#9aa4b2!important;
    pointer-events:none!important;
}
.gizzi-base44-enquiries .gizzi-enquiry-search label > .gizzi-svg-icon svg{
    width:20px!important;
    height:20px!important;
    stroke:currentColor!important;
}
.gizzi-base44-enquiries .gizzi-stage-tile em .gizzi-svg-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    color:#fff!important;
}
.gizzi-base44-enquiries .gizzi-stage-tile em .gizzi-svg-icon svg{
    width:28px!important;
    height:28px!important;
    stroke:#fff!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info .gizzi-svg-icon{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin-right:6px!important;
    color:#64748b!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info .gizzi-svg-icon svg{
    width:18px!important;
    height:18px!important;
    stroke:currentColor!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-open-card-link .gizzi-svg-icon{
    margin-right:6px!important;
}
@media(max-width:608px){
    .gizzi-base44-enquiries .gizzi-enquiries-title > .gizzi-svg-icon{
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        font-size:18px!important;
    }
    .gizzi-base44-enquiries .gizzi-stage-tile em .gizzi-svg-icon,
    .gizzi-base44-enquiries .gizzi-stage-tile em .gizzi-svg-icon svg{
        width:20px!important;
        height:20px!important;
    }
}

/* v2.16.4 - Enquiry card meta icons inline with text */
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info span{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    line-height:1.35!important;
    width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info span > .gizzi-svg-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 20px!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    margin:0!important;
    color:#64748b!important;
    vertical-align:middle!important;
}
.gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info span > .gizzi-svg-icon svg{
    width:20px!important;
    height:20px!important;
    display:block!important;
    stroke:currentColor!important;
}
@media(max-width:608px){
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info span{
        gap:7px!important;
        align-items:center!important;
    }
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info span > .gizzi-svg-icon{
        flex-basis:18px!important;
        width:18px!important;
        height:18px!important;
        min-width:18px!important;
    }
    .gizzi-base44-enquiries .gizzi-mobile-enquiry-card .gizzi-mobile-card-info span > .gizzi-svg-icon svg{
        width:18px!important;
        height:18px!important;
    }
}

/* v2.16.5 quote response gating */
.gizzi-quote-response-card {
    margin-top: 22px;
}
.gizzi-quote-response-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 18px;
    background: #f8fafc;
    margin: 16px 0;
}
.gizzi-quote-response-status strong {
    color: #0f172a;
}
.gizzi-quote-response-status span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 12px;
    font-weight: 800;
    font-size: 13px;
    background: #e2e8f0;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.gizzi-quote-response-status.status-accepted span {
    background: #dcfce7;
    color: #166534;
}
.gizzi-quote-response-status.status-rejected span {
    background: #fee2e2;
    color: #991b1b;
}
.gizzi-quote-response-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.gizzi-quote-response-actions form {
    margin: 0;
}
.gizzi-quote-response-button {
    width: 100%;
    justify-content: center;
    min-height: 46px;
}
.gizzi-quote-response-button.is-active {
    background: #111827 !important;
    color: #fff !important;
    border-color: #111827 !important;
}
.gizzi-quote-booking-gate {
    margin-top: 18px;
}
@media (max-width: 640px) {
    .gizzi-quote-response-actions {
        grid-template-columns: 1fr;
    }
    .gizzi-quote-response-status {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* v2.16.6 quote response AJAX states */
.gizzi-quote-booking-wrap[hidden],
.gizzi-quote-booking-gate[hidden],
.gizzi-quote-response-message[hidden] {
    display: none !important;
}
.gizzi-quote-response-message {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #ecfdf5;
    color: #065f46;
    font-weight: 800;
}
.gizzi-quote-response-message.is-error {
    background: #fef2f2;
    color: #991b1b;
}
.gizzi-quote-booked-summary {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.95);
}
.gizzi-quote-booked-summary p {
    margin: 8px 0;
}
.gizzi-quote-booked-summary .gizzi-light-action,
.gizzi-quote-booked-summary .gizzi-admin-button {
    margin-top: 12px;
    width: 100%;
}

/* v2.16.8 - Quote stage popup forms */
.gizzi-quote-action-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 18px;
}
.gizzi-quote-action-buttons .gizzi-admin-button{
  width:100%;
  justify-content:center;
  min-height:48px;
}
.gizzi-quote-form-modal{
  z-index:1000000;
}
.gizzi-quote-form-modal .gizzi-modal-panel{
  width:min(760px,calc(100vw - 24px));
  max-height:min(88dvh,760px);
  overflow:auto;
}
.gizzi-quote-form-modal .gizzi-modal-intro{
  margin:0 0 14px;
  color:#667085;
  line-height:1.45;
}
.gizzi-quote-form-modal .gizzi-detail-form{
  display:grid;
  gap:14px;
  margin:0;
}
.gizzi-quote-form-modal .gizzi-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.gizzi-quote-form-modal .gizzi-modal-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:4px;
}
.gizzi-quote-form-modal .gizzi-modal-actions .gizzi-admin-button{
  flex:1;
  justify-content:center;
}
.gizzi-quote-form-modal .gizzi-modal-actions .gizzi-light-action{
  min-height:44px;
}
.gizzi-quote-generator-modal .gizzi-quote-material-modal{
  z-index:1000002;
}
@media(max-width:640px){
  .gizzi-quote-action-buttons,
  .gizzi-quote-form-modal .gizzi-form-grid{
    grid-template-columns:1fr;
  }
  .gizzi-quote-form-modal .gizzi-modal-panel{
    width:calc(100vw - 16px);
    max-height:88dvh;
    border-radius:20px 20px 0 0;
  }
  .gizzi-quote-form-modal .gizzi-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .gizzi-quote-form-modal .gizzi-modal-actions .gizzi-admin-button,
  .gizzi-quote-form-modal .gizzi-modal-actions .gizzi-light-action{
    width:100%;
    justify-content:center;
  }
}

/* v2.16.9 - Quote popup buttons spacing: target the two quote-stage opener buttons directly */
.gizzi-quote-action-buttons > .gizzi-admin-button,
.gizzi-quote-action-buttons button.gizzi-admin-button,
.gizzi-detail-card.gizzi-quote-card .gizzi-quote-action-buttons > button.gizzi-admin-button {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    min-height: 64px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.gizzi-quote-action-buttons > .gizzi-admin-button svg,
.gizzi-quote-action-buttons button.gizzi-admin-button svg {
    flex: 0 0 auto;
}


/* v2.16.10 - make job checkout button match dashboard button styling */
.gizzi-detail-card.gizzi-check-card > .gizzi-checkout-button,
.gizzi-check-card .gizzi-checkout-button,
button.gizzi-big-check-button.gizzi-checkout-button[data-gizzi-open-checkout] {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 58px !important;
    padding: 16px 20px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #111827 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14) !important;
    margin-top: 14px !important;
}

.gizzi-check-card .gizzi-checkout-button .gizzi-svg-icon,
button.gizzi-big-check-button.gizzi-checkout-button[data-gizzi-open-checkout] .gizzi-svg-icon {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    color: currentColor !important;
}

.gizzi-check-card .gizzi-checkout-button span,
button.gizzi-big-check-button.gizzi-checkout-button[data-gizzi-open-checkout] span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 640px) {
    .gizzi-detail-card.gizzi-check-card > .gizzi-checkout-button,
    .gizzi-check-card .gizzi-checkout-button,
    button.gizzi-big-check-button.gizzi-checkout-button[data-gizzi-open-checkout] {
        min-height: 56px !important;
        padding: 15px 18px !important;
        border-radius: 15px !important;
        font-size: 15px !important;
    }
}


/* v2.16.11 - checkout modal button contrast/style fix */
.gizzi-checkout-modal .gizzi-checkout-choice-grid,
.gizzi-checkout-modal .gizzi-checkout-actions {
    width: 100% !important;
}

.gizzi-checkout-modal .gizzi-checkout-choice-grid button,
.gizzi-checkout-modal .gizzi-checkout-actions button,
.gizzi-checkout-modal .gizzi-checkout-actions input[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 15px 18px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    white-space: normal !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.gizzi-checkout-modal .gizzi-admin-button,
.gizzi-checkout-modal button.gizzi-admin-button,
.gizzi-checkout-modal .gizzi-checkout-actions button[type="submit"],
.gizzi-checkout-modal .gizzi-checkout-actions input[type="submit"] {
    background: #111827 !important;
    color: #ffffff !important;
    border: 1px solid #111827 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16) !important;
}

.gizzi-checkout-modal .gizzi-light-action,
.gizzi-checkout-modal button.gizzi-light-action {
    background: #ffffff !important;
    color: #111827 !important;
    border: 1px solid #d7dde6 !important;
    box-shadow: none !important;
}

.gizzi-checkout-modal .gizzi-admin-button:hover,
.gizzi-checkout-modal button.gizzi-admin-button:hover,
.gizzi-checkout-modal .gizzi-checkout-actions button[type="submit"]:hover,
.gizzi-checkout-modal .gizzi-checkout-actions input[type="submit"]:hover {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

.gizzi-checkout-modal .gizzi-light-action:hover,
.gizzi-checkout-modal button.gizzi-light-action:hover {
    background: #f8fafc !important;
    color: #111827 !important;
    border-color: #cbd5e1 !important;
}

.gizzi-checkout-modal .gizzi-checkout-modal__close {
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
    background: #111827 !important;
    color: #ffffff !important;
    border: 1px solid #111827 !important;
    box-shadow: none !important;
    font-size: 26px !important;
}

.gizzi-checkout-modal .gizzi-checkout-modal__close:hover {
    background: #000000 !important;
    color: #ffffff !important;
}

@media (min-width: 701px) {
    .gizzi-checkout-modal .gizzi-checkout-choice-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }
    .gizzi-checkout-modal .gizzi-checkout-actions {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .gizzi-checkout-modal .gizzi-checkout-choice-grid,
    .gizzi-checkout-modal .gizzi-checkout-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}

/* v2.16.12 - To-do add form popup trigger */
.gizzi-admin-section > .gizzi-full-width-action.gizzi-open-modal[data-modal="gizzi-add-todo-modal"] {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 0 20px 0 !important;
    padding: 18px 20px !important;
    border-radius: 16px !important;
}

.gizzi-todo-modal .gizzi-modal-panel {
    max-width: 760px;
}

.gizzi-todo-modal .gizzi-admin-form {
    margin: 0;
}

/* v2.16.17 - make job Check In / Check Out buttons match Add Materials button style */
.gizzi-job-detail-page .gizzi-check-card .gizzi-big-check-button,
.gizzi-engineer-shell .gizzi-check-card .gizzi-big-check-button,
.gizzi-check-card .gizzi-big-check-button.gizzi-checkin-button,
.gizzi-check-card .gizzi-big-check-button.gizzi-checkout-button {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9.6px!important;
  width:100%!important;
  min-height:45px!important;
  margin:18px 0 16px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:4px!important;
  background:#111!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.1!important;
  box-shadow:none!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.gizzi-job-detail-page .gizzi-check-card .gizzi-big-check-button:hover,
.gizzi-engineer-shell .gizzi-check-card .gizzi-big-check-button:hover,
.gizzi-check-card .gizzi-big-check-button.gizzi-checkin-button:hover,
.gizzi-check-card .gizzi-big-check-button.gizzi-checkout-button:hover {
  background:#000!important;
  color:#fff!important;
}
.gizzi-job-detail-page .gizzi-check-card .gizzi-big-check-button .gizzi-svg-icon,
.gizzi-engineer-shell .gizzi-check-card .gizzi-big-check-button .gizzi-svg-icon,
.gizzi-check-card .gizzi-big-check-button.gizzi-checkin-button .gizzi-svg-icon,
.gizzi-check-card .gizzi-big-check-button.gizzi-checkout-button .gizzi-svg-icon {
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.gizzi-job-detail-page .gizzi-check-card .gizzi-one-tap-form,
.gizzi-engineer-shell .gizzi-check-card .gizzi-one-tap-form,
.gizzi-check-card .gizzi-one-tap-form {
  margin:0!important;
}


/* v2.17.0 - customer/supplier invoice forms hidden behind popup buttons */
.gizzi-invoice-popup-buttons {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

.gizzi-invoice-popup-button {
  width: 100% !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  min-height: 64px !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.gizzi-invoice-modal .gizzi-modal-panel {
  max-width: 820px !important;
}

.gizzi-invoice-modal .gizzi-modal-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

.gizzi-invoice-modal .gizzi-modal-actions .gizzi-admin-button,
.gizzi-invoice-modal .gizzi-modal-actions .gizzi-light-action {
  width: 100% !important;
  justify-content: center !important;
}

@media (max-width: 700px) {
  .gizzi-invoice-popup-buttons,
  .gizzi-invoice-modal .gizzi-modal-actions {
    grid-template-columns: 1fr !important;
  }
}


/* v2.18.1 - recurring/CRM layout + modal buttons */
.gizzi-crm-reminders-panel{
  display:block!important;
}
.gizzi-crm-reminders-panel > .gizzi-admin-card,
.gizzi-crm-reminders-panel > .gizzi-crm-add-card{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  grid-column:1 / -1!important;
  margin-bottom:18px!important;
}
.gizzi-crm-open-button,
.gizzi-recurring-open-button{
  width:100%!important;
  justify-content:center!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
  border-radius:14px!important;
}
.gizzi-crm-reminder-modal .gizzi-modal-panel,
.gizzi-recurring-job-modal .gizzi-modal-panel{
  z-index:1000001!important;
  width:min(720px, calc(100vw - 24px))!important;
  max-height:88dvh!important;
  overflow:auto!important;
}
.gizzi-crm-reminder-modal .gizzi-form-grid,
.gizzi-recurring-job-modal .gizzi-form-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.gizzi-crm-reminder-modal .gizzi-modal-actions,
.gizzi-recurring-job-modal .gizzi-modal-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:16px!important;
}
.gizzi-crm-reminder-modal .gizzi-modal-actions button,
.gizzi-recurring-job-modal .gizzi-modal-actions button{
  width:100%!important;
  justify-content:center!important;
}
.gizzi-recurring-job-card .gizzi-card-list{
  margin-bottom:16px!important;
}

/* v2.18.3 - recurring job rule cards */
.gizzi-recurring-rule-list {
    display: grid;
    gap: 16px;
}
.gizzi-recurring-rule-card {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
    padding: 22px;
}
.gizzi-recurring-rule-card .gizzi-job-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.gizzi-recurring-rule-card h3 {
    margin: 0 0 6px;
    font-size: clamp(24px, 5vw, 38px);
    line-height: 1.1;
}
.gizzi-recurring-rule-card .gizzi-job-meta {
    display: grid;
    gap: 8px;
    color: #667085;
    font-weight: 700;
}


/* v2.18.4 - compact recurring job rule cards */
.gizzi-recurring-rule-list{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
}
.gizzi-recurring-rule-card{
  width:100%!important;
  box-sizing:border-box!important;
  padding:22px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
.gizzi-recurring-rule-card .gizzi-job-card-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 16px!important;
}
.gizzi-recurring-rule-card .gizzi-job-card-head > div{
  min-width:0!important;
  flex:1!important;
}
.gizzi-recurring-rule-card h3{
  margin:0 0 6px!important;
  font-size:clamp(24px, 6vw, 34px)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  color:#0f172a!important;
}
.gizzi-recurring-rule-card .gizzi-job-card-head p{
  margin:0!important;
  color:#667085!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.gizzi-recurring-rule-card .gizzi-pill{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.gizzi-recurring-rule-card .gizzi-job-meta{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin:0!important;
  color:#667085!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.gizzi-recurring-rule-card .gizzi-job-meta span{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-width:0!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#667085!important;
  word-break:break-word!important;
}
.gizzi-recurring-rule-card .gizzi-job-meta svg,
.gizzi-recurring-rule-card .gizzi-job-meta .gizzi-icon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  margin-top:2px!important;
  color:#0f172a!important;
  stroke-width:2.3!important;
}
.gizzi-recurring-rule-card .gizzi-job-meta strong{
  font-size:inherit!important;
}
@media (max-width: 520px){
  .gizzi-recurring-rule-card{padding:20px!important;border-radius:20px!important;}
  .gizzi-recurring-rule-card h3{font-size:30px!important;}
  .gizzi-recurring-rule-card .gizzi-job-card-head{align-items:flex-start!important;}
  .gizzi-recurring-rule-card .gizzi-pill{font-size:13px!important;padding:8px 12px!important;}
}


/* v2.20.0 - assigned engineers shown on engineer job cards/details */
.gizzi-assigned-engineers {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 13px;
    line-height: 1.35;
}

.gizzi-assigned-engineers strong {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #475569;
}

.gizzi-assigned-engineers span {
    display: block;
    font-weight: 700;
    color: #111827;
    word-break: break-word;
}

.gizzi-detail-card .gizzi-assigned-engineers {
    margin: 14px 0 0;
}


/* v2.20.2 - force all popup/modal close X buttons to be perfectly centred */
.gizzi-modal .gizzi-modal-head > button[data-close-modal],
.gizzi-modal button[data-close-modal][aria-label="Close"],
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action),
.gizzi-checkout-modal .gizzi-checkout-modal__close,
.gizzi-checkout-modal__close,
.gizzi-customer-create-modal .gizzi-modal-head > button,
.gizzi-materials-modal .gizzi-modal-head > button,
.gizzi-quote-form-modal .gizzi-modal-head > button,
.gizzi-quote-material-modal .gizzi-modal-head > button,
.gizzi-fuel-receipt-modal .gizzi-modal-head > button,
.gizzi-certificate-create-modal .gizzi-modal-head > button,
.gizzi-holiday-request-modal .gizzi-modal-head > button,
.gizzi-recurring-job-modal .gizzi-modal-head > button,
.gizzi-crm-reminder-modal .gizzi-modal-head > button {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #111 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 0 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transform: none !important;
}

.gizzi-modal .gizzi-modal-head > button[data-close-modal]::before,
.gizzi-modal button[data-close-modal][aria-label="Close"]::before,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action)::before,
.gizzi-checkout-modal .gizzi-checkout-modal__close::before,
.gizzi-checkout-modal__close::before,
.gizzi-customer-create-modal .gizzi-modal-head > button::before,
.gizzi-materials-modal .gizzi-modal-head > button::before,
.gizzi-quote-form-modal .gizzi-modal-head > button::before,
.gizzi-quote-material-modal .gizzi-modal-head > button::before,
.gizzi-fuel-receipt-modal .gizzi-modal-head > button::before,
.gizzi-certificate-create-modal .gizzi-modal-head > button::before,
.gizzi-holiday-request-modal .gizzi-modal-head > button::before,
.gizzi-recurring-job-modal .gizzi-modal-head > button::before,
.gizzi-crm-reminder-modal .gizzi-modal-head > button::before {
    content: "" !important;
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    line-height: 50px !important;
    text-align: center !important;
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    transform: translateY(-1px) !important;
}

.gizzi-modal .gizzi-modal-head > button[data-close-modal] > *,
.gizzi-modal button[data-close-modal][aria-label="Close"] > *,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action) > *,
.gizzi-checkout-modal .gizzi-checkout-modal__close > *,
.gizzi-checkout-modal__close > * {
    display: none !important;
}

.gizzi-modal .gizzi-modal-head > button[data-close-modal]:hover,
.gizzi-modal button[data-close-modal][aria-label="Close"]:hover,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action):hover,
.gizzi-checkout-modal .gizzi-checkout-modal__close:hover,
.gizzi-checkout-modal__close:hover {
    background: #000 !important;
    color: #fff !important;
}

@media (max-width: 520px) {
    .gizzi-modal .gizzi-modal-head > button[data-close-modal],
    .gizzi-modal button[data-close-modal][aria-label="Close"],
    .gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action),
    .gizzi-checkout-modal .gizzi-checkout-modal__close,
    .gizzi-checkout-modal__close {
        flex-basis: 48px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }

    .gizzi-modal .gizzi-modal-head > button[data-close-modal]::before,
    .gizzi-modal button[data-close-modal][aria-label="Close"]::before,
    .gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action)::before,
    .gizzi-checkout-modal .gizzi-checkout-modal__close::before,
    .gizzi-checkout-modal__close::before {
        width: 48px !important;
        height: 48px !important;
        line-height: 46px !important;
        font-size: 30px !important;
    }
}




/* v2.20.4 - transparent calendar arrows and no Team Job badge */
.gizzi-calendar-nav,
.gizzi-week-calendar .gizzi-calendar-nav,
.gizzi-admin-calendar .gizzi-calendar-nav,
.gizzi-engineer-only-week-calendar .gizzi-calendar-nav,
button.gizzi-calendar-nav {
    background: transparent !important;
    background-color: transparent !important;
    color: #0f172a !important;
    border: 1px solid rgba(15, 23, 42, 0.18) !important;
    box-shadow: none !important;
}

.gizzi-calendar-nav:hover,
.gizzi-calendar-nav:focus {
    background: rgba(15, 23, 42, 0.04) !important;
    color: #0f172a !important;
}

.gizzi-calendar-nav svg,
.gizzi-week-calendar .gizzi-calendar-nav svg,
.gizzi-admin-calendar .gizzi-calendar-nav svg,
.gizzi-engineer-only-week-calendar .gizzi-calendar-nav svg {
    color: #0f172a !important;
    stroke: #0f172a !important;
}

.gizzi-week-job-block .gizzi-team-job-with {
    color: #111827 !important;
    font-weight: 800 !important;
}


/* v2.20.5 - Treat iPad Pro/tablets as off-canvas dashboards.
   Real dashboard classes are .gizzi-admin-shell, .gizzi-admin-sidebar and .gizzi-admin-topbar-menu.
   iPad Pro landscape is 1366px wide, so 1366px must still use the mobile/off-canvas menu. */
@media (max-width: 1366px) {
    body.gizzi-menu-open {
        overflow: hidden !important;
    }

    .gizzi-admin-shell {
        display: block !important;
        grid-template-columns: 1fr !important;
        min-height: 100vh !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .gizzi-admin-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-top: 7.6px !important;
    }

    .gizzi-admin-topbar {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 11.2px !important;
    }

    .gizzi-admin-topbar-menu {
        display: inline-flex !important;
        width: 35.2px !important;
        height: 35.2px !important;
        min-width: 35.2px !important;
        min-height: 35.2px !important;
        border: 0 !important;
        border-radius: 11.2px !important;
        background: #111 !important;
        color: #fff !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 17.6px !important;
        font-weight: 900 !important;
        cursor: pointer !important;
        flex: 0 0 35.2px !important;
        box-shadow: 0 6.4px 16px rgba(15,23,42,.16) !important;
    }

    .gizzi-mobile-menu-toggle {
        display: none !important;
    }

    .gizzi-mobile-menu-close {
        display: flex !important;
        position: absolute !important;
        top: 11.2px !important;
        right: 11.2px !important;
        width: 30.4px !important;
        height: 30.4px !important;
        min-width: 30.4px !important;
        min-height: 30.4px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 9.6px !important;
        background: rgba(255,255,255,.1) !important;
        color: #fff !important;
        line-height: 1 !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    .gizzi-admin-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(86vw, 300px) !important;
        height: 100vh !important;
        z-index: 100000 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6.4px !important;
        overflow-y: auto !important;
        background: #111 !important;
        transform: translateX(-105%) !important;
        transition: transform .28s ease !important;
        padding: 57.6px 14.4px 19.2px !important;
        box-shadow: 14.4px 0 33.6px rgba(0,0,0,.32) !important;
        border: 0 !important;
    }

    .gizzi-admin-shell.is-menu-open .gizzi-admin-sidebar {
        transform: translateX(0) !important;
    }

    .gizzi-admin-overlay {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 99999 !important;
        background: rgba(15,23,42,.48) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity .2s ease !important;
    }

    .gizzi-admin-shell.is-menu-open .gizzi-admin-overlay {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .gizzi-admin-sidebar .gizzi-brand {
        display: flex !important;
        min-width: 0 !important;
        margin: 0 0 14.4px !important;
        padding: 0 38.4px 16px 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.12) !important;
    }

    .gizzi-admin-sidebar a {
        width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }
}

@media (min-width: 1367px) {
    .gizzi-admin-sidebar {
        transform: none !important;
    }

    .gizzi-admin-topbar-menu,
    .gizzi-mobile-menu-toggle,
    .gizzi-mobile-menu-close,
    .gizzi-admin-overlay {
        display: none !important;
    }
}


/* v2.21.2 - imported engineer claiming UI */
.gizzi-field-note {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}

.gizzi-imported-engineers-panel .gizzi-mobile-card-info {
    margin-top: 10px;
}

.gizzi-imported-engineer-card .gizzi-pill.status-pending {
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}

.gizzi-imported-engineer-card .gizzi-pill.status-completed {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}


/* v2.21.4 - clickable invoices and quick material barcode update */
.gizzi-clickable-invoice-card {
    text-decoration: none !important;
    color: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.gizzi-clickable-invoice-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .12);
}

.gizzi-light-action.is-disabled {
    opacity: .55;
    pointer-events: none;
}

.gizzi-material-barcode-form {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 14px 0;
    padding: 12px;
    border: 1px dashed rgba(100,116,139,.35);
    border-radius: 14px;
    background: rgba(248,250,252,.8);
}

.gizzi-material-barcode-form input[type="text"] {
    flex: 1;
    min-width: 0;
}

.gizzi-material-barcode-form button {
    border: 0;
    border-radius: 12px;
    background: #111;
    color: #fff;
    font-weight: 800;
    padding: 12px 16px;
    cursor: pointer;
}

.gizzi-no-barcode-materials {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(100,116,139,.2);
}

.gizzi-no-barcode-materials h4 {
    margin: 0 0 6px;
}

.gizzi-no-barcode-materials p {
    margin: 0 0 12px;
    color: #64748b;
    font-weight: 700;
}

.gizzi-material-barcode-form-inline {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) auto;
}

@media (max-width: 640px) {
    .gizzi-clickable-invoice-card,
    .gizzi-material-barcode-form,
    .gizzi-material-barcode-form-inline {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .gizzi-material-barcode-form button {
        width: 100%;
    }
}


/* v2.21.6 - split work/payment statuses */
.gizzi-status-pill-group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.gizzi-pill.payment-status-awaiting_payment {
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}

.gizzi-pill.payment-status-invoiced {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

.gizzi-pill.payment-status-paid {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.gizzi-detail-form label {
    display: block;
    margin-bottom: 12px;
    font-weight: 800;
}


/* v2.21.7 - holiday approvals clarity */
.gizzi-holiday-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0 20px;
}

.gizzi-holiday-summary-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 12px;
    border-radius: 18px;
    font-weight: 900;
    border: 1px solid rgba(15, 23, 42, .08);
    background: #fff;
}

.gizzi-holiday-summary-pill strong {
    font-size: 22px;
    line-height: 1;
}

.gizzi-holiday-summary-pill.is-pending {
    background: #fff7ed;
    color: #9a3412;
}

.gizzi-holiday-summary-pill.is-approved {
    background: #ecfdf5;
    color: #047857;
}

.gizzi-holiday-summary-pill.is-rejected {
    background: #fef2f2;
    color: #b91c1c;
}

.gizzi-holiday-request-card .gizzi-mobile-card-title h3 {
    font-size: clamp(24px, 6vw, 34px);
    line-height: 1.05;
    word-break: break-word;
}

.gizzi-holiday-request-card .gizzi-mobile-card-title p {
    color: #64748b;
    font-weight: 700;
    word-break: break-word;
}

.gizzi-holiday-date-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 18px 0 12px;
    padding: 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(100, 116, 139, .18);
}

.gizzi-holiday-date-box strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
}

.gizzi-holiday-date-box svg {
    width: 18px;
    height: 18px;
}

.gizzi-holiday-date-box span {
    white-space: nowrap;
    font-weight: 900;
    color: #475569;
}

.gizzi-holiday-reason {
    margin: 12px 0 16px;
}

.gizzi-holiday-reason strong {
    display: block;
    margin-bottom: 5px;
    color: #0f172a;
}

.gizzi-holiday-reason p {
    margin: 0;
    color: #475569;
    font-weight: 700;
}

.gizzi-holiday-action-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 16px;
}

.gizzi-holiday-action-form button {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
}

@media (max-width: 640px) {
    .gizzi-holiday-summary {
        grid-template-columns: 1fr;
    }

    .gizzi-holiday-date-box {
        display: grid;
        grid-template-columns: 1fr;
    }

    .gizzi-holiday-action-form {
        grid-template-columns: 1fr;
    }
}


/* v2.21.8 - calendar first names */
.gizzi-week-engineer-name span,
.gizzi-week-legend span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 110px;
}


/* v2.21.9 - vehicle cards and registration plate UI */
.gizzi-vehicle-add-button {
    width: 100%;
    margin: 16px 0 20px;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.gizzi-vehicle-card {
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.gizzi-vehicle-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .12);
}

.gizzi-reg-plate {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 10px;
    padding: 8px 14px;
    border-radius: 6px;
    border: 2px solid #111827;
    background: #facc15;
    color: #111827;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
}

.gizzi-vehicle-info {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 16px;
}

.gizzi-vehicle-info span {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}


/* v2.22.0 - compact recurring job rule cards */
.gizzi-recurring-rule-list {
    display: grid;
    gap: 12px;
}

.gizzi-recurring-rule-card {
    padding: 18px !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06) !important;
}

.gizzi-recurring-rule-card .gizzi-job-card-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.gizzi-recurring-rule-card h3 {
    font-size: clamp(22px, 5vw, 30px) !important;
    line-height: 1.08 !important;
    margin: 0 0 4px !important;
}

.gizzi-recurring-rule-card .gizzi-job-card-head p {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    color: #64748b !important;
    font-weight: 800 !important;
}

.gizzi-recurring-rule-card .gizzi-pill {
    flex: 0 0 auto !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
}

.gizzi-recurring-rule-card .gizzi-job-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
}

.gizzi-recurring-rule-card .gizzi-job-meta span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 24px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #64748b !important;
    font-weight: 800 !important;
}

.gizzi-recurring-rule-card .gizzi-job-meta svg,
.gizzi-recurring-rule-card .gizzi-job-meta i {
    width: 18px !important;
    min-width: 18px !important;
    font-size: 16px !important;
    text-align: center !important;
    color: #0f172a !important;
}

@media (max-width: 640px) {
    .gizzi-recurring-rule-card {
        padding: 16px !important;
    }

    .gizzi-recurring-rule-card .gizzi-job-card-head {
        align-items: flex-start !important;
    }

    .gizzi-recurring-rule-card h3 {
        font-size: 26px !important;
    }
}


/* v2.22.1 - split searchable invoices */
.gizzi-invoices-hub .gizzi-invoice-type-tabs {
    margin: 16px 0;
}

.gizzi-invoice-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: end;
    margin: 16px 0;
}

.gizzi-invoice-search-form label {
    margin: 0;
}

.gizzi-invoice-popup-buttons {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.gizzi-invoice-popup-button {
    width: 100%;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.gizzi-invoice-list-section .gizzi-card-list {
    display: grid;
    gap: 12px;
}

@media (max-width: 720px) {
    .gizzi-invoice-search-form {
        grid-template-columns: 1fr;
    }

    .gizzi-invoice-search-form button,
    .gizzi-invoice-search-form a {
        width: 100%;
        justify-content: center;
    }
}
.gizzi-admin-shell, .gizzi-engineer-shell{
	display: flex;
	min-height: 100vh;
}
/* Version 3 full month calendar */
.gizzi-calendar-layout-switch{display:flex;gap:8px;align-items:center;margin:0 0 14px;flex-wrap:wrap}
.gizzi-calendar-layout-switch span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;font-weight:700;font-size:13px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.gizzi-calendar-layout-switch span.is-active{background:#dc2626;color:#fff;border-color:#dc2626}
.gizzi-month-calendar-app{margin-bottom:22px}
.gizzi-google-style-calendar{margin-top:22px}
.gizzi-full-month-calendar{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.gizzi-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f8fafc;border-bottom:1px solid #e5e7eb}
.gizzi-month-weekdays div{padding:12px 10px;text-align:center;font-weight:800;color:#475569;font-size:14px}
.gizzi-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(118px,auto)}
.gizzi-month-day{position:relative;min-height:118px;padding:10px 8px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#fff;overflow:hidden}
.gizzi-month-day:nth-child(7n){border-right:0}
.gizzi-month-day.is-muted{background:#f8fafc;color:#94a3b8}
.gizzi-month-day.is-today{box-shadow:inset 0 0 0 2px #dc2626;background:#fff7f7}
.gizzi-month-day-number{font-weight:900;color:#111827;margin-bottom:8px;line-height:1}
.gizzi-month-day.is-muted .gizzi-month-day-number{color:#94a3b8}
.gizzi-month-job-chip{display:block;max-width:100%;margin:5px 0;padding:5px 7px;border-radius:7px;border:1px solid color-mix(in srgb,var(--gizzi-chip-color,#3b82f6) 35%,#fff);background:color-mix(in srgb,var(--gizzi-chip-color,#3b82f6) 13%,#fff);color:#334155;text-decoration:none;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gizzi-month-job-chip:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--gizzi-chip-color,#3b82f6);margin-right:5px;vertical-align:middle}
.gizzi-month-job-chip:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.08)}
.gizzi-month-more{display:block;margin-top:5px;font-size:12px;font-weight:800;color:#64748b}
@media(max-width:800px){.gizzi-month-weekdays div{font-size:12px;padding:9px 4px}.gizzi-month-grid{grid-auto-rows:minmax(92px,auto)}.gizzi-month-day{min-height:92px;padding:7px 5px}.gizzi-month-job-chip{font-size:11px;padding:4px 5px}.gizzi-month-job-chip:before{display:none}.gizzi-month-more{font-size:11px}}
@media(max-width:520px){.gizzi-full-month-calendar{border-radius:12px}.gizzi-month-grid{grid-auto-rows:minmax(78px,auto)}.gizzi-month-day{min-height:78px}.gizzi-month-job-chip{font-size:10px}.gizzi-month-day-number{font-size:13px}}

/* Gizzi Operations v3 calendar layout fixes */
.gizzi-calendar-layout-switch button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;font-weight:700;font-size:13px;box-shadow:0 1px 2px rgba(15,23,42,.05);cursor:pointer}
.gizzi-calendar-layout-switch button.is-active{background:#dc2626;color:#fff;border-color:#dc2626}
.gizzi-calendar-layout-switch span{display:none}
.gizzi-week-calendar-app[hidden],.gizzi-month-calendar-app[hidden]{display:none!important}
.gizzi-google-style-calendar{width:100%;max-width:100%;overflow:hidden}
.gizzi-google-style-calendar .gizzi-calendar-toolbar{gap:8px;align-items:center}
.gizzi-google-style-calendar .gizzi-calendar-title p{display:none}
.gizzi-google-style-calendar .gizzi-calendar-actions{margin:-6px 0 8px}
.gizzi-google-style-calendar .gizzi-week-calendar{padding:8px;border-radius:14px;overflow:hidden;box-shadow:none}
.gizzi-google-style-calendar .gizzi-week-tabs{margin-bottom:8px;padding:4px;gap:4px}
.gizzi-google-style-calendar .gizzi-week-tabs button{padding:7px 8px;font-size:12px}
.gizzi-google-style-calendar .gizzi-week-legend{margin-bottom:8px;gap:4px;max-height:42px;overflow:hidden}
.gizzi-google-style-calendar .gizzi-week-legend span{padding:4px 6px;font-size:10px}
.gizzi-google-style-calendar .gizzi-engineer-week-grid{grid-template-columns:minmax(74px,.75fr) repeat(7,minmax(0,1fr));overflow:hidden;border-radius:12px}
.gizzi-google-style-calendar .gizzi-week-corner,.gizzi-google-style-calendar .gizzi-week-day-head,.gizzi-google-style-calendar .gizzi-week-engineer-name,.gizzi-google-style-calendar .gizzi-week-cell{min-height:50px}
.gizzi-google-style-calendar .gizzi-week-corner{padding:6px;font-size:10px}
.gizzi-google-style-calendar .gizzi-week-day-head{padding:6px 2px}
.gizzi-google-style-calendar .gizzi-week-day-head strong{font-size:10px}.gizzi-google-style-calendar .gizzi-week-day-head span{font-size:15px}
.gizzi-google-style-calendar .gizzi-week-engineer-name{padding:6px;font-size:10px;gap:4px;min-width:0}.gizzi-google-style-calendar .gizzi-week-engineer-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gizzi-google-style-calendar .gizzi-week-cell{padding:4px;gap:3px}
.gizzi-google-style-calendar .gizzi-week-chip{font-size:9px;padding:4px 5px;border-radius:7px;box-shadow:none}
.gizzi-google-style-calendar .gizzi-alljobs-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:hidden}
.gizzi-google-style-calendar .gizzi-alljobs-day{min-height:135px;padding:5px;border-radius:10px}
.gizzi-google-style-calendar .gizzi-alljobs-day-head{padding-bottom:4px;margin-bottom:4px}.gizzi-google-style-calendar .gizzi-alljobs-day-head strong{font-size:10px}.gizzi-google-style-calendar .gizzi-alljobs-day-head span{font-size:9px}
.gizzi-google-style-calendar .gizzi-week-job-block{font-size:9px;padding:5px;margin-bottom:4px;border-radius:7px;box-shadow:none}.gizzi-google-style-calendar .gizzi-week-job-block strong{font-size:9px}.gizzi-google-style-calendar .gizzi-week-job-block span{font-size:10px;margin:1px 0}.gizzi-google-style-calendar .gizzi-week-job-block small{font-size:8px}
@media(max-width:700px){.gizzi-google-style-calendar .gizzi-calendar-toolbar{display:grid;grid-template-columns:36px 1fr 36px}.gizzi-google-style-calendar .gizzi-calendar-title h2,.gizzi-google-style-calendar .gizzi-calendar-title h3,.gizzi-google-style-calendar .gizzi-calendar-title h4{font-size:16px}.gizzi-google-style-calendar .gizzi-engineer-week-grid{grid-template-columns:58px repeat(7,minmax(0,1fr))}.gizzi-google-style-calendar .gizzi-week-engineer-name{font-size:8px;padding:4px}.gizzi-google-style-calendar .gizzi-week-day-head span{font-size:12px}.gizzi-google-style-calendar .gizzi-week-day-head strong{font-size:8px}.gizzi-google-style-calendar .gizzi-week-cell{padding:2px}.gizzi-google-style-calendar .gizzi-week-chip{font-size:8px;padding:3px}.gizzi-google-style-calendar .gizzi-week-legend{display:none}.gizzi-google-style-calendar .gizzi-alljobs-day{min-height:105px;padding:3px}.gizzi-google-style-calendar .gizzi-week-job-block{padding:3px}.gizzi-google-style-calendar .gizzi-week-job-block small{display:none}}
.gizzi-month-engineer-legend{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.gizzi-month-engineer-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:#334155;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:4px 7px}.gizzi-month-engineer-legend i{width:10px;height:10px;border-radius:999px;display:inline-block;border:1px solid rgba(15,23,42,.18)}.gizzi-month-job-chip{border-left:4px solid var(--gizzi-chip-color)!important;background:color-mix(in srgb,var(--gizzi-chip-color) 48%,white)!important}

/* Calendar v3 refinements: month labels and approved holidays */
.gizzi-month-job-chip span{display:inline;}
.gizzi-month-holiday-chip{display:block;max-width:100%;margin:5px 0;padding:5px 7px;border-radius:7px;border:1px solid #f59e0b;background:#fde047;color:#713f12;text-decoration:none;font-size:12px;font-weight:900;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 2px rgba(113,63,18,.16)}
.gizzi-month-holiday-chip span{display:inline;}
@media(max-width:800px){.gizzi-month-holiday-chip{font-size:11px;padding:4px 5px}}
@media(max-width:520px){.gizzi-month-holiday-chip{font-size:10px}}
.gizzi-month-engineer-legend .gizzi-month-holiday-legend i{background:#fde047!important;border-color:#f59e0b!important;box-shadow:0 0 0 1px rgba(245,158,11,.45) inset;}
.gizzi-month-holiday-chip{background:#fde047!important;border-color:#f59e0b!important;color:#713f12!important;}

/* v3 calendar: approved holidays in Google calendar style weekly UI */
.gizzi-week-holiday-legend i{background:#fde047!important;border-color:#f59e0b!important;box-shadow:0 0 0 1px rgba(245,158,11,.45) inset;}
.gizzi-week-holiday-chip{display:block;max-width:100%;margin:3px 0;padding:4px 6px;border-radius:7px;border:1px solid #f59e0b;background:#fde047;color:#713f12;text-decoration:none;font-size:11px;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 2px rgba(113,63,18,.14)}
.gizzi-week-holiday-chip span{display:inline;}
.gizzi-week-holiday-block{display:block;margin:6px 0;padding:7px 8px;border-radius:10px;border:1px solid #f59e0b;background:#fde047;color:#713f12;box-shadow:0 3px 8px rgba(113,63,18,.12);line-height:1.15;overflow:hidden;}
.gizzi-week-holiday-block strong{display:block;font-size:11px;font-weight:900;margin-bottom:2px;}
.gizzi-week-holiday-block span{display:block;font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gizzi-week-holiday-block small{display:block;font-size:10px;font-weight:800;opacity:.78;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:800px){.gizzi-week-holiday-chip{font-size:10px;padding:3px 5px}.gizzi-week-holiday-block{padding:6px}.gizzi-week-holiday-block span{font-size:11px}}

/* Google-style calendar overflow hardening */
.gizzi-google-style-calendar,
.gizzi-google-style-calendar *,
.gizzi-google-style-calendar *::before,
.gizzi-google-style-calendar *::after{box-sizing:border-box}
.gizzi-google-style-calendar .gizzi-week-calendar,
.gizzi-google-style-calendar .gizzi-week-view,
.gizzi-google-style-calendar .gizzi-alljobs-week-grid,
.gizzi-google-style-calendar .gizzi-alljobs-day,
.gizzi-google-style-calendar .gizzi-week-cell{min-width:0;max-width:100%}
.gizzi-google-style-calendar .gizzi-alljobs-week-grid{display:grid;width:100%;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch}
.gizzi-google-style-calendar .gizzi-alljobs-day{overflow:hidden;display:flex;flex-direction:column;gap:4px}
.gizzi-google-style-calendar .gizzi-alljobs-day-head{min-width:0;display:block;overflow:hidden}
.gizzi-google-style-calendar .gizzi-alljobs-day-head strong,
.gizzi-google-style-calendar .gizzi-alljobs-day-head span{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.08}
.gizzi-google-style-calendar .gizzi-week-job-block,
.gizzi-google-style-calendar .gizzi-week-holiday-block,
.gizzi-google-style-calendar .gizzi-week-chip,
.gizzi-google-style-calendar .gizzi-week-holiday-chip{min-width:0;max-width:100%;width:100%;overflow:hidden;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.08}
.gizzi-google-style-calendar .gizzi-week-job-block strong,
.gizzi-google-style-calendar .gizzi-week-job-block span,
.gizzi-google-style-calendar .gizzi-week-job-block small,
.gizzi-google-style-calendar .gizzi-week-holiday-block strong,
.gizzi-google-style-calendar .gizzi-week-holiday-block span,
.gizzi-google-style-calendar .gizzi-week-holiday-block small,
.gizzi-google-style-calendar .gizzi-week-chip span,
.gizzi-google-style-calendar .gizzi-week-holiday-chip span{display:block;min-width:0;max-width:100%;overflow:hidden;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.08}
.gizzi-google-style-calendar .gizzi-week-job-block span,
.gizzi-google-style-calendar .gizzi-week-holiday-block span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.gizzi-google-style-calendar .gizzi-week-job-block small,
.gizzi-google-style-calendar .gizzi-week-holiday-block small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(max-width:700px){
  .gizzi-google-style-calendar .gizzi-alljobs-week-grid{gap:3px}
  .gizzi-google-style-calendar .gizzi-week-job-block,
  .gizzi-google-style-calendar .gizzi-week-holiday-block{font-size:9px!important;padding:4px 3px!important;border-radius:7px}
  .gizzi-google-style-calendar .gizzi-week-job-block strong,
  .gizzi-google-style-calendar .gizzi-week-job-block span,
  .gizzi-google-style-calendar .gizzi-week-job-block small,
  .gizzi-google-style-calendar .gizzi-week-holiday-block strong,
  .gizzi-google-style-calendar .gizzi-week-holiday-block span,
  .gizzi-google-style-calendar .gizzi-week-holiday-block small{font-size:inherit!important;line-height:1.08}
  .gizzi-google-style-calendar .gizzi-week-job-block span,
  .gizzi-google-style-calendar .gizzi-week-holiday-block span{-webkit-line-clamp:4}
}
@media(max-width:430px){
  .gizzi-google-style-calendar .gizzi-alljobs-day{padding:2px!important}
  .gizzi-google-style-calendar .gizzi-week-job-block,
  .gizzi-google-style-calendar .gizzi-week-holiday-block{font-size:8px!important;padding:3px 2px!important}
  .gizzi-google-style-calendar .gizzi-alljobs-day-head strong{font-size:9px!important}
  .gizzi-google-style-calendar .gizzi-alljobs-day-head span{font-size:8px!important}
}

/* Gizzi Operations v3.1.0 - reference month calendar UI */
.gizzi-calendar-section{
  max-width:100%;
}
.gizzi-calendar-section .gizzi-calendar-layout-switch{
  justify-content:flex-end;
  margin:-2px 0 10px;
  gap:8px;
}
.gizzi-calendar-section .gizzi-calendar-layout-switch button{
  min-height:34px;
  border-radius:12px;
  padding:7px 11px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#334155;
  font-size:0;
  box-shadow:0 1px 3px rgba(15,23,42,.10);
}
.gizzi-calendar-section 
.gizzi-calendar-layout-switch 
button[data-gizzi-calendar-layout="month"]::before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M120 0c13.3 0 24 10.7 24 24l0 40 160 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 32 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l32 0 0-40c0-13.3 10.7-24 24-24zm0 112l-56 0c-8.8 0-16 7.2-16 16l0 48 352 0 0-48c0-8.8-7.2-16-16-16l-264 0zM48 224l0 192c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-192-352 0z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M120 0c13.3 0 24 10.7 24 24l0 40 160 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 32 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l32 0 0-40c0-13.3 10.7-24 24-24zm0 112l-56 0c-8.8 0-16 7.2-16 16l0 48 352 0 0-48c0-8.8-7.2-16-16-16l-264 0zM48 224l0 192c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-192-352 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gizzi-calendar-section 
.gizzi-calendar-layout-switch 
button[data-gizzi-calendar-layout="week"]::before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M500 261.8C500 403.3 403.1 504 260 504 122.8 504 12 393.2 12 256S122.8 8 260 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9c-88.3-85.2-252.5-21.2-252.5 118.2 0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9l-140.8 0 0-85.3 236.1 0c2.3 12.7 3.9 24.9 3.9 41.4z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M500 261.8C500 403.3 403.1 504 260 504 122.8 504 12 393.2 12 256S122.8 8 260 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9c-88.3-85.2-252.5-21.2-252.5 118.2 0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9l-140.8 0 0-85.3 236.1 0c2.3 12.7 3.9 24.9 3.9 41.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gizzi-calendar-section .gizzi-calendar-layout-switch button.is-active{background:#ef4444;border-color:#ef4444;color:#fff;}
.gizzi-month-calendar-app{
  position:relative;
  margin-top:0;
  margin-bottom:18px;
}
.gizzi-month-calendar-app .gizzi-calendar-toolbar{
  display:grid;
  grid-template-columns:64px minmax(92px,auto) 64px 1fr;
  grid-template-areas:"prev today next title";
  align-items:center;
  justify-content:start;
  gap:10px;
  margin:0 0 14px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.gizzi-month-calendar-app .gizzi-calendar-toolbar .gizzi-calendar-nav[data-direction="prev"]{grid-area:prev;}
.gizzi-month-calendar-app .gizzi-calendar-toolbar .gizzi-calendar-nav[data-direction="next"]{grid-area:next;}
.gizzi-month-calendar-app .gizzi-calendar-title{
  grid-area:title;
  justify-self:start;
  text-align:left;
  margin:0;
  min-width:0;
}
.gizzi-month-calendar-app .gizzi-calendar-title h2,
.gizzi-month-calendar-app .gizzi-calendar-title h3,
.gizzi-month-calendar-app .gizzi-calendar-title h4{
  margin:0;
  color:#111827;
  font-weight:900;
  font-size:30px;
  letter-spacing:-.04em;
  line-height:1.05;
}
.gizzi-month-calendar-app .gizzi-calendar-title p{display:none!important;}
.gizzi-month-calendar-app .gizzi-calendar-nav,
.gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{
  height:54px;
  border-radius:8px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  font-weight:800;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.gizzi-month-calendar-app .gizzi-calendar-nav{
  width:64px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.gizzi-month-calendar-app .gizzi-calendar-actions{
  position:absolute;
  left:64px;
  top:4px;
  z-index:2;
  margin:0;
  padding:0;
}
.gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{
  width:92px;
  padding:0 10px;
}
.gizzi-month-calendar-app .gizzi-calendar-toolbar .gizzi-calendar-nav[data-direction="next"]{margin-left:102px;}
.gizzi-month-calendar-app .gizzi-calendar-results{margin-top:10px;}
.gizzi-full-month-calendar{
  border-radius:12px;
  border:1px solid #e5e7eb;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  overflow:hidden;
}
.gizzi-month-engineer-legend{
  display:none!important;
}
.gizzi-month-weekdays{
  background:#fff;
  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
}
.gizzi-month-weekdays div{
  padding:10px 4px;
  color:#374151;
  font-size:13px;
  font-weight:900;
}
.gizzi-month-grid{
  grid-auto-rows:112px;
}
.gizzi-month-day{
  min-height:112px;
  padding:8px 7px;
  background:#fff;
}
.gizzi-month-day.is-muted{background:#f9fafb;}
.gizzi-month-day-number{
  font-size:16px;
  font-weight:900;
  margin-bottom:7px;
  color:#111827;
}
.gizzi-month-job-chip,
.gizzi-month-holiday-chip{
  height:22px;
  padding:3px 5px!important;
  margin:4px 0!important;
  border-radius:5px!important;
  font-size:10px!important;
  line-height:15px!important;
  font-weight:800!important;
  box-shadow:0 1px 3px rgba(15,23,42,.08)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.gizzi-month-job-chip:before{display:none!important;}
.gizzi-month-more{
  font-size:10px;
  margin-top:3px;
  font-weight:900;
  color:#64748b;
}
.gizzi-month-day.is-today{box-shadow:inset 0 0 0 2px #ef4444;background:#fff;}
@media(max-width:700px){
  .gizzi-calendar-section .gizzi-calendar-layout-switch{position:absolute;right:0;top:2px;margin:0;z-index:3;}
  .gizzi-month-calendar-app .gizzi-calendar-toolbar{
    grid-template-columns:48px 78px 48px 1fr;
    gap:6px;
    margin-top:4px;
    padding-top:0;
  }
  .gizzi-month-calendar-app .gizzi-calendar-title{
    grid-column:1 / -1;
    grid-row:1;
    margin-bottom:52px;
  }
  .gizzi-month-calendar-app .gizzi-calendar-title h2,
  .gizzi-month-calendar-app .gizzi-calendar-title h3,
  .gizzi-month-calendar-app .gizzi-calendar-title h4{font-size:25px;}
  .gizzi-month-calendar-app .gizzi-calendar-toolbar .gizzi-calendar-nav[data-direction="prev"]{grid-column:1;grid-row:1;margin-top:52px;}
  .gizzi-month-calendar-app .gizzi-calendar-toolbar .gizzi-calendar-nav[data-direction="next"]{grid-column:3;grid-row:1;margin-top:52px;margin-left:0;}
  .gizzi-month-calendar-app .gizzi-calendar-actions{left:58px;top:52px;}
  .gizzi-month-calendar-app .gizzi-calendar-nav,
  .gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{height:42px;border-radius:7px;}
  .gizzi-month-calendar-app .gizzi-calendar-nav{width:48px;}
  .gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{width:78px;font-size:13px;}
  .gizzi-full-month-calendar{border-radius:10px;}
  .gizzi-month-weekdays div{font-size:12px;padding:8px 2px;}
  .gizzi-month-grid{grid-auto-rows:99px;}
  .gizzi-month-day{min-height:99px;padding:7px 5px;}
  .gizzi-month-day-number{font-size:14px;margin-bottom:6px;}
  .gizzi-month-job-chip,.gizzi-month-holiday-chip{height:20px;font-size:9px!important;line-height:14px!important;padding:3px 4px!important;}
  .gizzi-month-more{font-size:9px;}
}
@media(max-width:430px){
  .gizzi-month-grid{grid-auto-rows:88px;}
  .gizzi-month-day{min-height:88px;padding:6px 4px;}
  .gizzi-month-job-chip,.gizzi-month-holiday-chip{height:18px;font-size:8.5px!important;margin:3px 0!important;}
  .gizzi-month-weekdays div{font-size:11px;}
  .gizzi-month-day-number{font-size:13px;}
}

/* v3.1.0 hotfix - keep month/google buttons visible and align higher beside month title */
.gizzi-calendar-section{
  position:relative!important;
  overflow:visible!important;
}
.gizzi-calendar-section > .gizzi-calendar-layout-switch{
  position:absolute!important;
  top:30px!important;
  right:40px!important;
  left:auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  z-index:50!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.gizzi-calendar-section > .gizzi-calendar-layout-switch button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:42px!important;
  min-width:52px!important;
  min-height:42px!important;
  max-width:52px!important;
  padding:0!important;
  margin:0!important;
  border-radius:12px!important;
  font-size:0!important;
  line-height:1!important;
  overflow:visible!important;
  transform:none!important;
}
.gizzi-calendar-section > .gizzi-calendar-layout-switch button:before{
  display:block!important;
  font-size:18px!important;
  line-height:1!important;
}
@media(max-width:700px){
  .gizzi-calendar-section > .gizzi-calendar-layout-switch{
    top:-44px!important;
    right:40px!important;
  }
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button{
    width:48px!important;
    height:38px!important;
    min-width:48px!important;
    min-height:38px!important;
  }
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button:before{
    font-size:17px!important;
  }
}
@media(max-width:430px){
  .gizzi-calendar-section > .gizzi-calendar-layout-switch{
	top: 38px !important;
        right: 20px !important;
        gap: 7px !important;
  }
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button{
    width:46px!important;
    height:36px!important;
    min-width:46px!important;
    min-height:36px!important;
  }
}

/* v3.1.0 hotfix - make Google calendar week controls match month calendar header */
.gizzi-calendar-section .gizzi-google-style-calendar{
  position:relative!important;
  padding-top:0!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-toolbar{
  display:grid!important;
  grid-template-columns:64px 92px 64px minmax(0,1fr)!important;
  grid-template-areas:
    "title title title title"
    "prev today next spacer"!important;
  align-items:center!important;
  justify-content:start!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:0!important;
  min-height:112px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title{
  grid-area:title!important;
  justify-self:start!important;
  align-self:end!important;
  text-align:left!important;
  min-width:0!important;
  margin:0 0 16px!important;
  padding:0!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h2,
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h3,
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h4{
  margin:0!important;
  color:#111827!important;
  font-weight:900!important;
  font-size:30px!important;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
  text-align:left!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title p{
  display:none!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav,
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
  height:54px!important;
  border-radius:8px!important;
  border:1px solid #111827!important;
  background:#fff!important;
  color:#111827!important;
  font-weight:800!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav{
  width:64px!important;
  min-width:64px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="prev"]{
  grid-area:prev!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{
  grid-area:next!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
  position:absolute!important;
  left:74px!important;
  top:58px!important;
  z-index:4!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  display:block!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
  width:92px!important;
  min-width:92px!important;
  padding:0 10px!important;
  font-size:16px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-results{
  margin-top:0!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-week-mode-toggle{
  margin-top:0!important;
}
@media(max-width:700px){
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-toolbar{
    grid-template-columns:48px 78px 48px minmax(0,1fr)!important;
    gap:6px!important;
    min-height:98px!important;
    margin-top:4px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title{
    margin:0 0 52px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h2,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h3,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h4{
    font-size:25px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
    height:42px!important;
    border-radius:7px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav{
    width:48px!important;
    min-width:48px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
    left:58px!important;
    top:52px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
    width:78px!important;
    min-width:78px!important;
    font-size:13px!important;
  }
}
@media(max-width:430px){
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h2,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h3,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h4{
    font-size:23px!important;
  }
}

/* v3.1.0 final fix - Google calendar header must match month calendar header exactly */
.gizzi-calendar-section .gizzi-google-style-calendar{
  position:relative!important;
  padding-top:0!important;
  margin-top:0!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-toolbar{
  display:block!important;
  position:relative!important;
  min-height:100px!important;
  margin:0 0 4px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
	margin-bottom: 20px !important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title{
  display:block!important;
  width:100%!important;
  text-align:left!important;
  margin:0!important;
  padding:0 108px 0 0!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h2,
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h3,
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h4{
  margin:0!important;
  color:#111827!important;
  font-weight:900!important;
  font-size:30px!important;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
  text-align:left!important;
  white-space:normal!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title p{display:none!important;}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav{
  position:absolute!important;
  top:46px!important;
  width:64px!important;
  min-width:64px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0!important;
  border-radius:8px!important;
  border:1px solid #111827!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:4!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="prev"]{left:0!important;right:auto!important;}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{left:166px!important;right:auto!important;}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
  position:absolute!important;
  left:74px!important;
  top:46px!important;
  width:82px!important;
  height:54px!important;
  margin:0!important;
  padding:0!important;
  z-index:5!important;
  display:block!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
  width:82px!important;
  min-width:82px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 8px!important;
  border-radius:8px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-results{margin-top:0!important;}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-week-mode-toggle{margin-top:0!important;}
@media(max-width:700px){
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-toolbar{
    min-height:95px!important;
    margin-top:4px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title{
    padding-right:104px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h2,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h3,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h4{
    font-size:25px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav{
    top:48px!important;
    width:48px!important;
    min-width:48px!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:7px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{left:126px!important;}
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
    left:58px!important;
    top:48px!important;
    width:58px!important;
    height:42px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
    width:58px!important;
    min-width:58px!important;
    height:42px!important;
    min-height:42px!important;
    font-size:11px!important;
    padding:0 4px!important;
  }
}
@media(max-width:430px){
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h2,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h3,
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-title h4{font-size:24px!important;}
}


/* v3.1.1 - widen Google Calendar Style "This week" control */
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
  width:104px!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
  width:104px!important;
  min-width:104px!important;
  padding:0 12px!important;
  font-size:15px!important;
  white-space:nowrap!important;
}
.gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{
  left:190px!important;
}
@media(max-width:700px){
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
    left:58px!important;
    width:92px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
    width:92px!important;
    min-width:92px!important;
    padding:0 8px!important;
    font-size:13px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{
    left:160px!important;
  }
}
@media(max-width:430px){
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-actions{
    left:58px!important;
    width:88px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
    width:88px!important;
    min-width:88px!important;
    font-size:12px!important;
  }
  .gizzi-calendar-section .gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{
    left:154px!important;
  }
}

/* v3.2.2 hotfix - keep enquiry calendar view buttons beside the enquiry calendar header, not floating at the top of the card */
.gizzi-enquiry-calendar-section{
  position:relative!important;
  overflow:visible!important;
}
.gizzi-enquiry-calendar-section > .gizzi-calendar-layout-switch{
  top:88px!important;
  right:48px!important;
  left:auto!important;
  z-index:60!important;
}
@media(max-width:700px){
  .gizzi-enquiry-calendar-section > .gizzi-calendar-layout-switch{
    top:162px!important;
    right:18px!important;
  }
}
@media(max-width:430px){
  .gizzi-enquiry-calendar-section > .gizzi-calendar-layout-switch{
    top:158px!important;
    right:16px!important;
  }
}
@media(max-width:380px){
  .gizzi-enquiry-calendar-section > .gizzi-calendar-layout-switch{
    top:166px!important;
    right:14px!important;
  }
}

/* v3.2.2 engineer dashboard month header fix - keep Month / Prev / Today / Next in one compact header */
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-toolbar{
  display:block!important;
  position:relative!important;
  min-height:100px!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0 112px 0 0!important;
  text-align:left!important;
}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h2,
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h3,
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h4{
  margin:0!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
  color:#111827!important;
  text-align:left!important;
}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title p{display:none!important;}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-nav{
  position:absolute!important;
  top:48px!important;
  width:64px!important;
  min-width:64px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0!important;
  border-radius:8px!important;
  border:1px solid #111827!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:4!important;
}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="prev"]{left:0!important;right:auto!important;}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{left:176px!important;right:auto!important;}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-actions{
  position:absolute!important;
  left:74px!important;
  top:14px!important;
  width:92px!important;
  height:54px!important;
  margin:0!important;
  padding:0!important;
  z-index:5!important;
  display:block!important;
}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{
  width:92px!important;
  min-width:92px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:8px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-results{margin-top:0!important;}
@media(max-width:700px){
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-toolbar{min-height:96px!important;margin-top:4px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title{padding-right:108px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h2,
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h3,
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h4{font-size:25px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-nav{
    top:50px!important;
    width:48px!important;
    min-width:48px!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:7px!important;
  }
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{left:160px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-actions{
    left:58px!important;
    top:65px!important;
    width:92px!important;
    height:42px!important;
  }
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{
    width:92px!important;
    min-width:92px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 8px!important;
    font-size:13px!important;
  }
}
@media(max-width:430px){
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-toolbar{min-height:94px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h2,
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h3,
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-title h4{font-size:24px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{left:154px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-actions{width:88px!important;}
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-light-action.gizzi-month-today{width:88px!important;min-width:88px!important;font-size:12px!important;}
}

/* v3.2.2 hotfix - engineer Google-style calendar: keep This Week inline with arrows */
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-toolbar{
  display:block!important;
  position:relative!important;
  min-height:100px!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0 112px 0 0!important;
  text-align:left!important;
}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h2,
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h3,
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h4{
  margin:0!important;
  font-size:30px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
  color:#111827!important;
  text-align:left!important;
}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title p{display:none!important;}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-nav{
  position:absolute!important;
  top:48px!important;
  width:64px!important;
  min-width:64px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0!important;
  border-radius:8px!important;
  border:1px solid #111827!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:4!important;
}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="prev"]{left:0!important;right:auto!important;}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{left:176px!important;right:auto!important;}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-actions{
  position:absolute!important;
  left:74px!important;
  top:48px!important;
  width:92px!important;
  height:54px!important;
  margin:0!important;
  padding:0!important;
  z-index:5!important;
  display:block!important;
  transform:none!important;
}
.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
  width:92px!important;
  min-width:92px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:8px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-toolbar{min-height:96px!important;margin-top:4px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title{padding-right:108px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h2,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h3,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h4{font-size:25px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-nav{
    top:50px!important;
    width:48px!important;
    min-width:48px!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:7px!important;
  }
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{left:160px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-actions{
    left:58px!important;
    top:50px!important;
    width:92px!important;
    height:42px!important;
  }
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{
    width:92px!important;
    min-width:92px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 8px!important;
    font-size:13px!important;
  }
}
@media(max-width:430px){
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-toolbar{min-height:94px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h2,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h3,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-title h4{font-size:24px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-nav[data-direction="next"]{left:154px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-actions{width:88px!important;}
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-light-action.gizzi-week-today{width:88px!important;min-width:88px!important;font-size:12px!important;}
}



/* ======================================================================
   Gizzi Operations - Base44 visual replacement layer
   Source inspiration: scraped Base44 app stylesheet
   Drop this file in place of assets/css/frontend.css
   ====================================================================== */

:root{
  --gizzi-yellow:#FFD100;
  --gizzi-yellow-dark:#E6BC00;
  --gizzi-red:#E53935;
  --gizzi-red-dark:#C62828;
  --gizzi-dark:#111111;
  --gizzi-navy:#1a1a1a;
  --gizzi-bg:#f8fafc;
  --gizzi-card:#ffffff;
  --gizzi-text:#0f172a;
  --gizzi-muted:#64748b;
  --gizzi-soft:#f1f5f9;
  --gizzi-border:#ffffff00;
  --gizzi-border-strong:#cbd5e1;
  --gizzi-success:#16a34a;
  --gizzi-warning:#f59e0b;
  --gizzi-info:#2563eb;
  --gizzi-radius:14px;
  --gizzi-radius-lg:20px;
  --gizzi-shadow:0px;
  --gizzi-shadow-lg:0 12px 40px rgba(15,23,42,.12);
  --gizzi-font:"Barlow",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.gizzi-admin-shell,
.gizzi-engineer-shell,
.gizzi-portal,
.gizzi-login-wrap,
.gizzi-base44-enquiries,
.gizzi-detail-page,
.gizzi-job-detail-page,
.gizzi-enquiry-detail-page,
.gizzi-invoices-hub,
.gizzi-materials-section,
.gizzi-customers-section,
.gizzi-fleet-section,
.gizzi-holiday-approvals-section,
.gizzi-profile-section,
.gizzi-toolbox-section,
.gizzi-training-section{
  font-family:var(--gizzi-font);
  color:var(--gizzi-text);
  box-sizing:border-box;
}
.gizzi-admin-shell *,
.gizzi-engineer-shell *,
.gizzi-portal *,
.gizzi-login-wrap *,
.gizzi-modal *,
.gizzi-checkout-modal *{box-sizing:border-box;}

/* App shell */
.gizzi-admin-shell,
.gizzi-engineer-shell{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  min-height:760px;
  background:var(--gizzi-bg);
  border:1px solid var(--gizzi-border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--gizzi-shadow-lg);
}
.gizzi-admin-main{
  min-width:0;
  padding:28px;
  background:linear-gradient(180deg,#fff 0%,var(--gizzi-bg) 190px);
  overflow:auto;
}
.gizzi-admin-sidebar,
.gizzi-engineer-nav,
.gizzi-admin-nav{
  background:var(--gizzi-dark);
  color:#fff;
  padding:18px 14px;
  border-right:0;
}
.gizzi-brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 10px 20px;
  margin:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.gizzi-brand img,
.gizzi-brand-mark{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  color:var(--gizzi-dark);
  display:grid;
  place-items:center;
  object-fit:contain;

  font-weight:800;
}
.gizzi-brand strong{
  display:block;
  color:var(--gizzi-yellow);
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  line-height:1;
}
.gizzi-brand span{
  display:block;
  margin-top:3px;
  color:#a1a1aa;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gizzi-admin-sidebar a,
.gizzi-engineer-nav a,
.gizzi-admin-nav a{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:42px;
  padding:11px 13px;
  margin:3px 0;
  border-radius:12px;
  color:#d4d4d8 !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.gizzi-admin-sidebar a:hover,
.gizzi-admin-sidebar a.active,
.gizzi-engineer-nav a:hover,
.gizzi-engineer-nav a.active,
.gizzi-admin-nav a:hover,
.gizzi-admin-nav a.active{
  background:var(--gizzi-yellow);
  color:var(--gizzi-dark) !important;
  transform:translateX(2px);
}
.gizzi-admin-sidebar a span{width:20px;text-align:center;font-size:17px;}

/* Top bars / headings */
.gizzi-admin-topbar,
.gizzi-enquiries-hero,
.gizzi-detail-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 24px;
}
.gizzi-admin-title-block,
.gizzi-enquiries-title{min-width:0;}
.gizzi-admin-topbar h1,
.gizzi-enquiries-title h1,
.gizzi-detail-header h1,
.gizzi-admin-section h2,
.gizzi-section-title-row h2{
  margin:0;
  color:var(--gizzi-text);
  font-family:var(--gizzi-font);
  font-weight:800;
  letter-spacing:-.02em;
}
.gizzi-admin-topbar h1,
.gizzi-enquiries-title h1,
.gizzi-detail-header h1{font-size:34px;line-height:1.05;}
.gizzi-admin-topbar p,
.gizzi-enquiries-title p,
.gizzi-detail-meta,
.gizzi-admin-help,
.gizzi-field-note{
  color:var(--gizzi-muted);
  font-size:14px;
  line-height:1.5;
}
.gizzi-admin-actions,
.gizzi-enquiries-toolbar,
.gizzi-detail-actions,
.gizzi-calendar-actions,
.gizzi-customers-toolbar,
.gizzi-materials-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* Cards and sections */
.gizzi-admin-section,
.gizzi-calendar-section,
.gizzi-detail-card,
.gizzi-job-evidence-card,
.gizzi-job-materials-card,
.gizzi-site-notes-card,
.gizzi-progress-card,
.gizzi-live-box,
.gizzi-material-bulk-import-card,
.gizzi-imported-engineers-panel,
.gizzi-job-card,
.gizzi-job-sheet,
.gizzi-check-card,
.gizzi-login-card,
.gizzi-admin-form,
.gizzi-card-list,
.gizzi-admin-table-wrap{
  background:var(--gizzi-card);
  border:1px solid var(--gizzi-border);
  border-radius:var(--gizzi-radius-lg);
  box-shadow:var(--gizzi-shadow);
}
.gizzi-admin-section,
.gizzi-calendar-section,
.gizzi-detail-card,
.gizzi-job-evidence-card,
.gizzi-job-materials-card,
.gizzi-site-notes-card,
.gizzi-progress-card,
.gizzi-live-box,
.gizzi-material-bulk-import-card,
.gizzi-imported-engineers-panel,
.gizzi-job-card,
.gizzi-job-sheet,
.gizzi-check-card,
.gizzi-login-card,
.gizzi-admin-form{padding:22px;}
.gizzi-admin-section-head,
.gizzi-section-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.gizzi-admin-section-head h2,
.gizzi-section-title-row h2{font-size:22px;}
.gizzi-empty{
  padding:28px;
  border:1px dashed var(--gizzi-border-strong);
  border-radius:var(--gizzi-radius-lg);
  background:#fff;
  color:var(--gizzi-muted);
  text-align:center;
  font-weight:600;
}

/* Dashboard stat cards */
.gizzi-admin-cards,
.gizzi-stats,
.gizzi-live-tracking-grid,
.gizzi-holiday-summary,
.gizzi-enquiry-stage-grid,
.gizzi-material-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
}
.gizzi-admin-card,
.gizzi-stat-card,
.gizzi-stage-tile,
.gizzi-live-card,
.gizzi-holiday-summary-pill,
.gizzi-material-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--gizzi-border);
  border-radius:18px;
  padding:20px;
  box-shadow:var(--gizzi-shadow);
}
.gizzi-admin-card:before,
.gizzi-stat-card:before,
.gizzi-stage-tile:before,
.gizzi-live-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--gizzi-yellow);
}
.gizzi-admin-card strong,
.gizzi-stat-card strong,
.gizzi-stage-tile strong{
  display:block;
  margin:0 0 9px;
  color:var(--gizzi-muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.gizzi-admin-card span,
.gizzi-stat-card span,
.gizzi-stage-tile span{
  display:block;
  color:var(--gizzi-text);
  font-size:34px;
  line-height:1;
  font-weight:800;
}
.gizzi-admin-card em,
.gizzi-live-icon,
.gizzi-metric-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--gizzi-soft);
  color:var(--gizzi-red);
  font-style:normal;
}

/* Buttons */
.gizzi-admin-button,
.gizzi-button,
.gizzi-login-button,
.gizzi-new-enquiry-btn,
.gizzi-checkin-button,
.gizzi-checkout-button,
.gizzi-big-check-button,
.gizzi-full-action,
.gizzi-full-width-action,
.gizzi-open-card-link,
.gizzi-small-button,
.gizzi-admin-small-button,
.gizzi-invoice-popup-button,
.gizzi-crm-open-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:11px 17px;
  border:0;
  border-radius:12px;
  background:var(--gizzi-red);
  color:#fff !important;
  font-family:var(--gizzi-font);
  font-size:14px;
  font-weight:800;
  line-height:1;
  text-decoration:none !important;
  cursor:pointer;
  
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.gizzi-admin-button:hover,
.gizzi-button:hover,
.gizzi-login-button:hover,
.gizzi-new-enquiry-btn:hover,
.gizzi-checkin-button:hover,
.gizzi-checkout-button:hover,
.gizzi-big-check-button:hover,
.gizzi-full-action:hover,
.gizzi-full-width-action:hover,
.gizzi-open-card-link:hover,
.gizzi-small-button:hover,
.gizzi-admin-small-button:hover,
.gizzi-invoice-popup-button:hover,
.gizzi-crm-open-button:hover{
  background:var(--gizzi-red-dark);
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(229,57,53,.28);
}
.gizzi-light-action,
.gizzi-outline-pill,
.gizzi-admin-icon-btn,
.gizzi-calendar-nav button,
.gizzi-back-link,
.gizzi-detail-edit,
.gizzi-customer-edit-button,
.gizzi-scan-barcode,
.gizzi-stop-scanner{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:10px 14px;
  border:1px solid var(--gizzi-border);
  border-radius:12px;
  background:#fff;
  color:var(--gizzi-text) !important;
  font-weight:800;
  text-decoration:none !important;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.gizzi-light-action:hover,
.gizzi-outline-pill:hover,
.gizzi-admin-icon-btn:hover,
.gizzi-calendar-nav button:hover,
.gizzi-back-link:hover{border-color:var(--gizzi-yellow-dark);background:#fffbea;}
.gizzi-danger-action,
.gizzi-delete-action,
.gizzi-close-enquiry-btn,
.gizzi-delete-material-button,
.gizzi-delete-job-material-button{background:var(--gizzi-red)!important;color:#fff!important;border-color:var(--gizzi-red)!important;}
.gizzi-full-action,
.gizzi-full-width-action{width:100%;}

/* Forms */
.gizzi-admin-form label,
.gizzi-detail-form label,
.gizzi-enquiry-form label,
.gizzi-job-sheet label,
.gizzi-toolbox-form label,
.gizzi-card-form label{
  display:block;
  margin:0 0 6px;
  color:#334155;
  font-size:13px;
  font-weight:800;
}
.gizzi-admin-form input,
.gizzi-admin-form select,
.gizzi-admin-form textarea,
.gizzi-detail-form input,
.gizzi-detail-form select,
.gizzi-detail-form textarea,
.gizzi-enquiry-form input,
.gizzi-enquiry-form select,
.gizzi-enquiry-form textarea,
.gizzi-job-sheet input,
.gizzi-job-sheet select,
.gizzi-job-sheet textarea,
.gizzi-enquiry-search input,
.gizzi-invoice-search-form input,
.gizzi-material-search input,
.gizzi-postcode-field,
.gizzi-barcode-input,
.gizzi-job-barcode-input{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--gizzi-border);
  border-radius:12px;
  background:#fff;
  color:var(--gizzi-text);
  font-family:var(--gizzi-font);
  font-size:15px;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.gizzi-admin-form textarea,
.gizzi-detail-form textarea,
.gizzi-enquiry-form textarea,
.gizzi-job-sheet textarea{min-height:110px;resize:vertical;}
.gizzi-admin-form input:focus,
.gizzi-admin-form select:focus,
.gizzi-admin-form textarea:focus,
.gizzi-detail-form input:focus,
.gizzi-detail-form select:focus,
.gizzi-detail-form textarea:focus,
.gizzi-enquiry-form input:focus,
.gizzi-enquiry-form textarea:focus,
.gizzi-job-sheet input:focus,
.gizzi-job-sheet textarea:focus{
  border-color:var(--gizzi-yellow-dark);
}
.gizzi-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.gizzi-form-actions,.gizzi-modal-actions,.gizzi-checkout-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;}

/* Tables */
.gizzi-admin-table-wrap{overflow:auto;padding:0;}
.gizzi-admin-table,
.gizzi-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;background:#fff;}
.gizzi-admin-table th,
.gizzi-table th{
  padding:14px 16px;
  background:#f8fafc;
  border-bottom:1px solid var(--gizzi-border);
  color:var(--gizzi-muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}
.gizzi-admin-table td,
.gizzi-table td{padding:15px 16px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle;}
.gizzi-admin-table tr:last-child td,
.gizzi-table tr:last-child td{border-bottom:0;}
.gizzi-admin-table strong,.gizzi-table strong{color:var(--gizzi-text);font-weight:800;}
.gizzi-admin-table small,.gizzi-table small{display:block;margin-top:3px;color:var(--gizzi-muted);}

/* Pills / status */
.gizzi-pill,
.gizzi-status,
.gizzi-status-pill-group span,
.gizzi-reg-plate,
.gizzi-month-job-chip,
.gizzi-month-holiday-chip,
.gizzi-week-chip,
.gizzi-week-holiday-chip,
.gizzi-team-job-with,
.gizzi-assigned-engineers span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-transform:capitalize;
  white-space:nowrap;
}
.gizzi-reg-plate{background:var(--gizzi-yellow);color:var(--gizzi-dark);font-size:14px;letter-spacing:.08em;border-radius:7px;}
.status-active,.gizzi-pill.status-active{background:#dcfce7;color:#15803d;}
.status-completed,.gizzi-pill.status-completed{background:#dbeafe;color:#1d4ed8;}
.status-pending,.status-reschedule_pending,.gizzi-pill.status-pending{background:#fef3c7;color:#b45309;}
.status-cancelled,.status-rejected,.gizzi-pill.status-cancelled{background:#fee2e2;color:#b91c1c;}

/* Lists / mobile record cards */
.gizzi-admin-card-list,
.gizzi-job-card-list,
.gizzi-enquiry-card-list,
.gizzi-customer-card-list,
.gizzi-vehicle-card-list,
.gizzi-payslip-list,
.gizzi-notification-list,
.gizzi-holiday-request-list,
.gizzi-material-used-list,
.gizzi-material-picker-list{
  display:grid;
  gap:14px;
}
.gizzi-mobile-record-card,
.gizzi-mobile-job-card,
.gizzi-engineer-job-card,
.gizzi-mobile-enquiry-card,
.gizzi-customer-card,
.gizzi-vehicle-card,
.gizzi-payslip-card,
.gizzi-notification-card,
.gizzi-holiday-request-card,
.gizzi-material-used-card,
.gizzi-material-picker-row,
.gizzi-imported-engineer-card,
.gizzi-clickable-invoice-card{
  background:#fff;
  border:1px solid var(--gizzi-border);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--gizzi-shadow);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.gizzi-mobile-record-card:hover,
.gizzi-mobile-job-card:hover,
.gizzi-engineer-job-card:hover,
.gizzi-mobile-enquiry-card:hover,
.gizzi-customer-card:hover,
.gizzi-vehicle-card:hover,
.gizzi-clickable-invoice-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--gizzi-shadow-lg);
  border-color:#f1d44f;
}
.gizzi-mobile-card-top,
.gizzi-material-card-head,
.gizzi-evidence-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.gizzi-mobile-card-title{min-width:0;}
.gizzi-mobile-card-title strong,
.gizzi-mobile-card-title h3,
.gizzi-material-card h3{
  display:block;
  margin:0;
  color:var(--gizzi-text);
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}
.gizzi-mobile-card-title small,
.gizzi-mobile-card-info,
.gizzi-mobile-card-description,
.gizzi-vehicle-info,
.gizzi-card-actions small{
  color:var(--gizzi-muted);
  font-size:13px;
  line-height:1.45;
}
.gizzi-mobile-card-footer,.gizzi-card-actions,.gizzi-notification-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:1px;}

/* Calendar - Base44 style blocks */
.gizzi-calendar-app,
.gizzi-engineer-calendar-app,
.gizzi-month-calendar-app,
.gizzi-week-calendar-app,
.gizzi-google-style-calendar,
.gizzi-full-month-calendar,
.gizzi-engineer-full-month-calendar{
  background:#fff;
  border:1px solid var(--gizzi-border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--gizzi-shadow);
}
.gizzi-calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--gizzi-border);
  background:#fff;
}
.gizzi-calendar-title,
.gizzi-reference-month-title{font-size:22px;font-weight:800;color:var(--gizzi-text);}
.gizzi-week-calendar,
.gizzi-alljobs-week-grid,
.gizzi-engineer-week-grid,
.gizzi-month-grid{
  display:grid;
  gap:1px;
  background:var(--gizzi-border);
}
.gizzi-month-weekdays,
.gizzi-week-day-head,
.gizzi-alljobs-day-head{
  background:#f8fafc;
  color:var(--gizzi-muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.gizzi-month-day,
.gizzi-week-cell,
.gizzi-alljobs-day{
  min-height:108px;
  background:#fff;
  padding:10px;
}
.gizzi-month-day-number{font-weight:800;color:var(--gizzi-text);}
.gizzi-week-job-block,
.gizzi-calendar-job-card{
  display:block;
  margin:6px 0;
  padding:9px;
  border-radius:12px;
  background:#fffbea;
  border:1px solid #fde68a;
  color:#713f12;
  font-size:12px;
  font-weight:700;
}
.gizzi-week-holiday-block{background:#fee2e2;border-color:#fecaca;color:#991b1b;}
.gizzi-filter-tabs,
.gizzi-job-filter-tabs,
.gizzi-week-tabs,
.gizzi-invoice-type-tabs,
.gizzi-calendar-layout-switch{
  display:flex;
  align-items:center;
  gap:8px;
  overflow:auto;
  padding:6px;
  border:1px solid var(--gizzi-border);
  border-radius:14px;
  background:#fff;
}
.gizzi-filter-tabs a,
.gizzi-job-filter-tabs a,
.gizzi-week-tabs a,
.gizzi-invoice-type-tabs a,
.gizzi-calendar-layout-switch a,
.gizzi-calendar-layout-switch button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:10px;
  color:var(--gizzi-muted)!important;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
}
.gizzi-filter-tabs a.active,
.gizzi-job-filter-tabs a.active,
.gizzi-week-tabs a.active,
.gizzi-invoice-type-tabs a.active,
.gizzi-calendar-layout-switch a.active,
.gizzi-calendar-layout-switch button.active{background:var(--gizzi-dark);color:#fff!important;}

/* Modals */
.gizzi-modal,
.gizzi-checkout-modal{font-family:var(--gizzi-font);}
.gizzi-modal-backdrop,
.gizzi-checkout-modal__overlay{
  background:rgba(15,23,42,.56);
  backdrop-filter:blur(5px);
}
.gizzi-modal-panel,
.gizzi-checkout-modal__panel{
  background:#fff;
  border:1px solid var(--gizzi-border);
  border-radius:24px;
  box-shadow:0 24px 80px rgba(15,23,42,.28);
  overflow:hidden;
}
.gizzi-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 22px;
  border-bottom:1px solid var(--gizzi-border);
  background:#fff;
}
.gizzi-modal-head h2{margin:0;font-size:24px;font-weight:800;color:var(--gizzi-text);}
.gizzi-checkout-modal__close{border:0;background:#f1f5f9;border-radius:999px;width:36px;height:36px;color:var(--gizzi-text);font-weight:800;cursor:pointer;}

/* Notices */
.gizzi-notice,
.gizzi-admin-notice,
.gizzi-success{
  padding:13px 15px;
  border-radius:14px;
  background:#dcfce7;
  border:1px solid #86efac;
  color:#166534;
  font-weight:800;
}
.gizzi-admin-error,
.gizzi-error{
  padding:13px 15px;
  border-radius:14px;
  background:#fee2e2;
  border:1px solid #fecaca;
  color:#991b1b;
  font-weight:800;
}

/* Login */
.gizzi-login-wrap{
  min-height:70vh;
  display:grid;
  place-items:center;
  padding:32px 16px;
  background:radial-gradient(circle at top left,rgba(255,209,0,.18),transparent 32%),linear-gradient(135deg,#111 0%,#1a1a1a 46%,#2b2b2b 100%);
  border-radius:24px;
}
.gizzi-login-card{width:min(430px,100%);text-align:center;padding:34px;}
.gizzi-login-logo{width:76px;height:76px;margin:0 auto 18px;border-radius:20px;background:var(--gizzi-yellow);display:grid;place-items:center;color:var(--gizzi-dark);font-size:28px;font-weight:800;}
.gizzi-login-subtitle{color:var(--gizzi-muted);}
.gizzi-login-divider{height:1px;background:var(--gizzi-border);margin:22px 0;}
.gizzi-login-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.gizzi-login-note{font-size:13px;color:var(--gizzi-muted);}

/* Switches */
.gizzi-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--gizzi-border);border-radius:16px;background:#fff;}
.gizzi-ios-switch{position:relative;display:inline-flex;width:48px;height:28px;}
.gizzi-ios-switch input{opacity:0;width:0;height:0;}
.gizzi-ios-slider{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;transition:.2s;}
.gizzi-ios-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2);}
.gizzi-ios-switch input:checked + .gizzi-ios-slider{background:var(--gizzi-yellow);}
.gizzi-ios-switch input:checked + .gizzi-ios-slider:before{transform:translateX(20px);}

/* Attachments / evidence / signatures */
.gizzi-attachment-grid,.gizzi-file-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.gizzi-attachment-card,.gizzi-file-card,.gizzi-signature-box,.gizzi-signature-preview{
  border:1px solid var(--gizzi-border);
  border-radius:16px;
  background:#f8fafc;
  padding:14px;
}
.gizzi-map-links,.gizzi-map-links-large{display:flex;gap:10px;flex-wrap:wrap;}

/* Responsive */
@media(max-width:980px){
  .gizzi-admin-shell,.gizzi-engineer-shell{grid-template-columns:1fr;border-radius:0;border-left:0;border-right:0;}
  .gizzi-admin-sidebar,.gizzi-engineer-nav,.gizzi-admin-nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);}
  .gizzi-brand{min-width:210px;margin:0 8px 0 0;padding:8px 14px 8px 0;border-bottom:0;border-right:1px solid rgba(255,255,255,.12);}
  .gizzi-admin-sidebar a,.gizzi-engineer-nav a,.gizzi-admin-nav a{white-space:nowrap;}
  .gizzi-admin-main{padding:20px 14px;}
  .gizzi-admin-topbar,.gizzi-enquiries-hero,.gizzi-detail-header{display:block;}
  .gizzi-admin-actions,.gizzi-enquiries-toolbar,.gizzi-detail-actions{margin-top:14px;}
}
@media(max-width:640px){
  .gizzi-admin-topbar h1,.gizzi-enquiries-title h1,.gizzi-detail-header h1{font-size:28px;}
  .gizzi-admin-section,.gizzi-calendar-section,.gizzi-detail-card,.gizzi-job-evidence-card,.gizzi-job-materials-card,.gizzi-site-notes-card,.gizzi-progress-card,.gizzi-live-box,.gizzi-material-bulk-import-card,.gizzi-imported-engineers-panel,.gizzi-job-card,.gizzi-job-sheet,.gizzi-check-card,.gizzi-login-card,.gizzi-admin-form{padding:16px;border-radius:16px;}
  .gizzi-admin-cards,.gizzi-stats,.gizzi-live-tracking-grid,.gizzi-holiday-summary,.gizzi-enquiry-stage-grid,.gizzi-material-card-grid{grid-template-columns:1fr;}
  .gizzi-form-grid{grid-template-columns:1fr;}
  .gizzi-brand{display:none;}
  .gizzi-admin-sidebar,.gizzi-engineer-nav,.gizzi-admin-nav{padding:10px;}
  .gizzi-admin-sidebar a,.gizzi-engineer-nav a,.gizzi-admin-nav a{font-size:13px;min-height:38px;padding:9px 11px;}
  .gizzi-month-day,.gizzi-week-cell,.gizzi-alljobs-day{min-height:82px;padding:7px;}
}



.gizzi-admin-sidebar a, .gizzi-engineer-nav a, .gizzi-admin-nav a{
	    display: flex;
    align-items: center;
    gap: 11px;
    /* min-height: 42px; */
    padding: 8px 2px;
    margin: 3px 0;
    border-radius: 12px;
    color: #d4d4d8 !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .01em;
    transition: background .18s ease,color .18s ease,transform .18s ease;
}


/* Calendar emergency layout fix */
.gizzi-site-visit-calendar,
.gizzi-google-style-calendar,
.gizzi-month-calendar-app {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.gizzi-google-style-calendar .gizzi-calendar-toolbar,
.gizzi-month-calendar-app .gizzi-calendar-toolbar {
  display: grid !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px !important;
  margin: 0 0 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.gizzi-google-style-calendar .gizzi-calendar-title,
.gizzi-month-calendar-app .gizzi-calendar-title {
  text-align: center !important;
  min-width: 0 !important;
}

.gizzi-google-style-calendar .gizzi-calendar-title h2,
.gizzi-month-calendar-app .gizzi-calendar-title h2,
.gizzi-google-style-calendar .gizzi-calendar-title h3,
.gizzi-month-calendar-app .gizzi-calendar-title h3 {
  margin: 0 !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  color: #0f172a !important;
}

.gizzi-google-style-calendar .gizzi-calendar-nav,
.gizzi-month-calendar-app .gizzi-calendar-nav,
button.gizzi-calendar-nav {
  position: static !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 12px !important;
  font-size: 22px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 1px solid #dbe3ef !important;
  box-shadow: 0 4px 12px rgba(15,23,42,.08) !important;
  transform: none !important;
}

.gizzi-calendar-actions {
  margin: 0 0 12px !important;
  justify-content: center !important;
}

.gizzi-calendar-actions button,
.gizzi-calendar-actions .button {
  width: auto !important;
  min-width: 92px !important;
  height: 42px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
}

.gizzi-full-month-calendar {
  border-radius: 18px !important;
  overflow: hidden !important;
}

.gizzi-month-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.gizzi-month-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(128px, auto) !important;
}

.gizzi-month-day {
  min-width: 0 !important;
  min-height: 128px !important;
  overflow: hidden !important;
}

.gizzi-month-job-chip,
.gizzi-month-holiday-chip {
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 700px) {
  .gizzi-month-grid {
    grid-auto-rows: minmax(92px, auto) !important;
  }

  .gizzi-month-day {
    min-height: 92px !important;
    padding: 6px 4px !important;
  }

  .gizzi-month-job-chip,
  .gizzi-month-holiday-chip {
    font-size: 12px !important;
    padding: 4px 5px !important;
  }
}


/* Compact sidebar menu items */
.gizzi-sidebar-nav,
.gizzi-app-nav,
.gizzi-sidebar-menu {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.gizzi-sidebar-nav a,
.gizzi-app-nav a,
.gizzi-sidebar-menu a,
.gizzi-sidebar-menu button {
  min-height: 36px !important;
  padding: 6px 10px !important;
  gap: 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.gizzi-sidebar-nav a.active,
.gizzi-app-nav a.active,
.gizzi-sidebar-menu .active {
  min-height: 38px !important;
  padding: 6px 10px !important;
}

.gizzi-sidebar-nav svg,
.gizzi-app-nav svg,
.gizzi-sidebar-menu svg,
.gizzi-sidebar-nav i,
.gizzi-app-nav i,
.gizzi-sidebar-menu i {
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  min-width: 16px !important;
}

.gizzi-sidebar hr,
.gizzi-app-sidebar hr {
  margin: 10px 0 !important;
}

.gizzi-admin-sidebar a, .gizzi-engineer-nav a, .gizzi-admin-nav a{
	min-height: 1px !important;
	padding: 4px 6px !important;
	border-radius: 2px !important;
}


/* Shrink calendar and everything inside it */
.gizzi-calendar-section {
  font-size: 12px !important;
}

.gizzi-calendar-section .gizzi-full-month-calendar,
.gizzi-calendar-section .gizzi-month-calendar,
.gizzi-calendar-section .gizzi-google-style-calendar {
  transform-origin: top left;
  width: 100% !important; /* compensates for scale(0.85) */
	background:transparent;
}

/* Smaller month cells */
.gizzi-calendar-section .gizzi-month-grid {
  grid-auto-rows: minmax(92px, auto) !important;
}

.gizzi-calendar-section .gizzi-month-day {
  min-height: 92px !important;
  padding: 6px !important;
}

/* Smaller day numbers */
.gizzi-calendar-section .gizzi-month-day-number,
.gizzi-calendar-section .gizzi-day-number {
  font-size: 15px !important;
  line-height: 1 !important;
}

/* Smaller weekday headings */
.gizzi-calendar-section .gizzi-month-weekdays > div {
  font-size: 12px !important;
  padding: 8px 4px !important;
}

/* Smaller job chips */
.gizzi-calendar-section .gizzi-month-job-chip,
.gizzi-calendar-section .gizzi-month-holiday-chip {
  font-size: 14px !important;
  padding: 4px 6px !important;
  margin-bottom: 3px !important;
  border-radius: 6px !important;
  line-height: 1.1 !important;
}

/* Smaller toolbar */
.gizzi-calendar-section .gizzi-calendar-toolbar {
  padding: 8px !important;
  margin-bottom: 8px !important;
}

.gizzi-calendar-section .gizzi-calendar-title h2,
.gizzi-calendar-section .gizzi-calendar-title h3 {
  font-size: 24px !important;
}

.gizzi-calendar-section .gizzi-calendar-nav {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  font-size: 16px !important;
}

.gizzi-admin-topbar, .gizzi-enquiries-hero, .gizzi-detail-header{
	margin: 0 0 3px !important;
}

.gizzi-admin-shell, .gizzi-engineer-shell{
	display: flex;
}

.gizzi-admin-main{
	width:100%;
}


@media (max-width: 1024px) {
  .gizzi-engineer-calendar-app.gizzi-month-calendar-app .gizzi-calendar-actions {
    top: 60px !important;
  }
	
	.gizzi-engineer-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar .gizzi-calendar-actions{
		top: 63px !important;
	}
	
	.gizzi-google-style-calendar .gizzi-week-calendar, .gizzi-google-style-calendar .gizzi-week-view, .gizzi-google-style-calendar .gizzi-alljobs-week-grid, .gizzi-google-style-calendar .gizzi-alljobs-day, .gizzi-google-style-calendar .gizzi-week-cell{
		background: transparent !important;
	}
}

body > div > div > div > div > div > div > main > section.gizzi-admin-section.gizzi-customer-list-section > div{
	border: 0px !important;
	background: transparent !important;
	border 0px !important;
	box-shadow: 0 0 0 0 !important;
}
.gizzi-customer-card .gizzi-customer-card-body h3, .gizzi-customer-card h3 {
    font-size: clamp(14px, 6vw, 18px) !important;
    line-height: 1.08 !important;
    margin: 0 0 12px !important;
    overflow-wrap: anywhere !important;
}

.gizzi-customer-card .gizzi-customer-card-body p, .gizzi-customer-card p {
    font-size: clamp(14px, 3.8vw, 14px) !important;
    line-height: 1.45 !important;
    margin: 8px 0 !important;
}

.gizzi-customer-card .gizzi-customer-card-body p, .gizzi-customer-card p {
    font-size: clamp(12px, 3.8vw, 12px) !important;
    line-height: 1.45 !important;
    margin: 8px 0 !important;
}

body > div > div > div > div > div > div > main > section.gizzi-admin-section.gizzi-customer-list-section > div > article:nth-child(n) > button{
	width: 7% !important;
	height: 20px !important;
}

body > div > div > div > div > div > div > main > section.gizzi-admin-section.gizzi-customer-list-section > div > article:nth-child(n){
	
    display: flex !important;
    /* flex-direction: column !important; */
    gap: 14px !important;
    justify-content: space-between;
}

.gizzi-mobile-card-title small, .gizzi-mobile-card-info, .gizzi-mobile-card-description, .gizzi-vehicle-info, .gizzi-card-actions small{
	padding-bottom: 10px;
}

.gizzi-enquiries-hero{
	display: block !important;
}

@media (max-width: 700px) {
	.gizzi-calendar-section .gizzi-calendar-toolbar{
		align-items: end !important;
	}
}
.gizzi-google-style-calendar .gizzi-engineer-week-grid{
	background: white;
}

@media (max-width: 1024px) {

  .gizzi-admin-topbar {
    margin-bottom: 20px !important;
  }
	
	.gizzi-enquiry-calendar-section > .gizzi-calendar-layout-switch {
		top: 25px !important;
	}

}


@media (max-width: 980px) {
    .gizzi-detail-header {
display: flex !important;
	}
}

/* Hide name on mobile only */
@media (max-width: 767px) {

  .gizzi-week-holiday-name {
    display: none !important;
  }

}

/* v4.0.4 - popup/modal scroll fix
   Keeps every popup usable on smaller screens and long forms. */
html.gizzi-modal-is-open,
body.gizzi-modal-open {
  overflow: hidden !important;
}

.gizzi-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.gizzi-modal[hidden] {
  display: none !important;
}

.gizzi-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
}

.gizzi-modal-panel {
  position: relative !important;
  width: min(820px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 48px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
}

.gizzi-modal-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
}

.gizzi-invoice-modal .gizzi-modal-panel,
.gizzi-customer-create-modal .gizzi-modal-panel,
.gizzi-certificate-create-modal .gizzi-modal-panel,
.gizzi-holiday-request-modal .gizzi-modal-panel,
.gizzi-fuel-receipt-modal .gizzi-modal-panel,
.gizzi-quote-material-modal .gizzi-modal-panel {
  max-height: calc(100dvh - 48px) !important;
  overflow-y: auto !important;
}

.gizzi-checkout-modal {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.gizzi-checkout-modal__panel {
  max-height: calc(100dvh - 48px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 640px) {
  .gizzi-modal {
    align-items: flex-start !important;
    padding: 10px !important;
  }

  .gizzi-modal-panel {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 18px !important;
  }

  .gizzi-modal-head {
    padding: 16px !important;
  }
}

/* v4.0.14 Materials UI: match invoice tables */
.gizzi-base44-materials-section .gizzi-admin-section-head{align-items:center;gap:16px}
.gizzi-materials-table-wrap{margin-top:12px}
.gizzi-materials-table{min-width:1180px!important}
.gizzi-materials-table th:nth-child(1),.gizzi-materials-table td:nth-child(1){min-width:260px!important;width:260px!important}
.gizzi-materials-table th:nth-child(2),.gizzi-materials-table td:nth-child(2){width:150px!important}
.gizzi-materials-table th:nth-child(3),.gizzi-materials-table td:nth-child(3){width:180px!important}
.gizzi-materials-table th:nth-child(4),.gizzi-materials-table td:nth-child(4){width:140px!important}
.gizzi-materials-table th:nth-child(5),.gizzi-materials-table td:nth-child(5){width:165px!important}
.gizzi-materials-table th:nth-child(6),.gizzi-materials-table td:nth-child(6){width:120px!important}
.gizzi-materials-table th:nth-child(7),.gizzi-materials-table td:nth-child(7){width:90px!important}
.gizzi-materials-table th:nth-child(8),.gizzi-materials-table td:nth-child(8){width:120px!important}
.gizzi-materials-table th:nth-child(9),.gizzi-materials-table td:nth-child(9){width:160px!important}
.gizzi-materials-table th:nth-child(10),.gizzi-materials-table td:nth-child(10){width:255px!important}
.gizzi-table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gizzi-table-actions form{margin:0!important;padding:0!important;display:inline-flex!important}
.gizzi-table-actions .gizzi-light-action.danger{color:#b91c1c!important;border-color:#fecaca!important;background:#fff!important}
.gizzi-table-actions .gizzi-light-action.danger:hover{background:#fef2f2!important;color:#991b1b!important}
.gizzi-danger-text{color:#b91c1c!important}
.gizzi-muted{color:#6b7280!important;font-weight:600!important;font-size:13px!important}
.gizzi-material-edit-modal .gizzi-modal-panel,.gizzi-material-create-modal .gizzi-modal-panel,.gizzi-material-barcode-modal .gizzi-modal-panel{max-height:88vh;overflow-y:auto}
.gizzi-material-form .gizzi-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 782px){.gizzi-material-form .gizzi-form-grid{grid-template-columns:1fr}.gizzi-base44-materials-section .gizzi-admin-section-head{align-items:flex-start;flex-direction:column}.gizzi-base44-materials-section .gizzi-admin-section-head .gizzi-admin-button{width:100%;justify-content:center}}

/* v4.0.15 Materials: exact invoice-table styling + no bulk import UI */
.gizzi-material-bulk-import-card{display:none!important}
.gizzi-base44-materials-section .gizzi-detail-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-top:0!important;overflow:visible!important}
.gizzi-base44-materials-section .gizzi-section-title-row{margin:0 0 14px!important;padding:0!important}
.gizzi-base44-materials-section .gizzi-section-title-row h3{font-size:24px!important;line-height:1.2!important;margin:0 0 4px!important;color:#111827!important;font-weight:900!important}
.gizzi-base44-materials-section .gizzi-section-title-row p{margin:0!important;color:#6b7280!important;font-size:14px!important}
.gizzi-base44-materials-section .gizzi-invoice-table-wrap,
.gizzi-base44-materials-section .gizzi-materials-table-wrap{overflow-x:auto!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:10px!important;box-shadow:none!important;width:100%!important;margin-top:12px!important}
.gizzi-base44-materials-section table.gizzi-invoice-table,
.gizzi-base44-materials-section table.gizzi-materials-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;min-width:1220px!important;font-size:15px!important;color:#4b5563!important;background:#fff!important;table-layout:auto!important;margin:0!important}
.gizzi-base44-materials-section .gizzi-invoice-table th,
.gizzi-base44-materials-section .gizzi-materials-table th{position:static!important;background:#fff!important;color:#111827!important;text-align:left!important;font-weight:900!important;padding:18px 22px!important;border:0!important;border-bottom:1px solid #e5e7eb!important;white-space:nowrap!important;font-size:15px!important;line-height:1.25!important;text-transform:none!important;letter-spacing:0!important}
.gizzi-base44-materials-section .gizzi-invoice-table td,
.gizzi-base44-materials-section .gizzi-materials-table td{padding:19px 22px!important;border:0!important;border-bottom:1px solid #edf0f4!important;vertical-align:middle!important;line-height:1.45!important;background:transparent!important;box-shadow:none!important;color:#4b5563!important;font-size:15px!important}
.gizzi-base44-materials-section .gizzi-invoice-table tbody tr:nth-child(even),
.gizzi-base44-materials-section .gizzi-materials-table tbody tr:nth-child(even){background:#f9fafb!important}
.gizzi-base44-materials-section .gizzi-invoice-table tbody tr:nth-child(odd),
.gizzi-base44-materials-section .gizzi-materials-table tbody tr:nth-child(odd){background:#fff!important}
.gizzi-base44-materials-section .gizzi-invoice-table tbody tr:hover,
.gizzi-base44-materials-section .gizzi-materials-table tbody tr:hover{background:#f6f7f9!important}
.gizzi-base44-materials-section .gizzi-invoice-table tr:last-child td,
.gizzi-base44-materials-section .gizzi-materials-table tr:last-child td{border-bottom:0!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(1),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(1){min-width:260px!important;width:260px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(2),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(2){width:150px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(3),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(3){width:180px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(4),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(4){width:140px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(5),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(5){width:165px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(6),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(6){width:120px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(7),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(7){width:90px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(8),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(8){width:120px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(9),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(9){width:160px!important}
.gizzi-base44-materials-section .gizzi-materials-table th:nth-child(10),.gizzi-base44-materials-section .gizzi-materials-table td:nth-child(10){width:270px!important}
.gizzi-base44-materials-section .gizzi-materials-table strong{font-weight:900!important;color:#111827!important}
.gizzi-base44-materials-section .gizzi-materials-table .gizzi-pill{background:#dbeafe!important;color:#1d4ed8!important;border:0!important;border-radius:999px!important;padding:4px 10px!important;font-size:12px!important;font-weight:900!important;display:inline-flex!important;line-height:1.1!important}
.gizzi-base44-materials-section .gizzi-materials-table .gizzi-light-action{display:inline-flex!important;align-items:center!important;gap:7px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:10px!important;padding:9px 13px!important;color:#111827!important;text-decoration:none!important;font-weight:800!important;box-shadow:0 1px 2px rgba(15,23,42,.03)!important;cursor:pointer!important;white-space:nowrap!important}
.gizzi-base44-materials-section .gizzi-materials-table .gizzi-light-action:hover{background:#f9fafb!important;border-color:#cbd5e1!important;color:#111827!important;text-decoration:none!important}
.gizzi-base44-materials-section .gizzi-table-actions{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}
.gizzi-base44-materials-section .gizzi-table-actions form{margin:0!important;padding:0!important;display:inline-flex!important}
.gizzi-base44-materials-section .gizzi-table-actions .gizzi-light-action.danger{color:#b91c1c!important;border-color:#fecaca!important;background:#fff!important}
.gizzi-base44-materials-section .gizzi-table-actions .gizzi-light-action.danger:hover{background:#fef2f2!important;color:#991b1b!important;border-color:#fca5a5!important}
.gizzi-base44-materials-section .gizzi-muted{color:#6b7280!important;font-weight:600!important;font-size:13px!important}
.gizzi-base44-materials-section .gizzi-danger-text{color:#b91c1c!important}
.gizzi-material-edit-modal .gizzi-modal-panel,.gizzi-material-create-modal .gizzi-modal-panel,.gizzi-material-barcode-modal .gizzi-modal-panel{max-height:88vh!important;overflow-y:auto!important}


/* v4.1.0 - robust modal close button fix: draw X with CSS bars, no broken text glyphs */
.gizzi-modal .gizzi-modal-head > button[data-close-modal],
.gizzi-modal button[data-close-modal][aria-label="Close"],
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action),
.gizzi-checkout-modal .gizzi-checkout-modal__close,
.gizzi-checkout-modal__close {
    position: relative !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}
.gizzi-modal .gizzi-modal-head > button[data-close-modal]::before,
.gizzi-modal .gizzi-modal-head > button[data-close-modal]::after,
.gizzi-modal button[data-close-modal][aria-label="Close"]::before,
.gizzi-modal button[data-close-modal][aria-label="Close"]::after,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action)::before,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action)::after,
.gizzi-checkout-modal .gizzi-checkout-modal__close::before,
.gizzi-checkout-modal .gizzi-checkout-modal__close::after,
.gizzi-checkout-modal__close::before,
.gizzi-checkout-modal__close::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 20px !important;
    height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 999px !important;
    display: block !important;
    line-height: 1 !important;
    color: transparent !important;
    transform-origin: center !important;
}
.gizzi-modal .gizzi-modal-head > button[data-close-modal]::before,
.gizzi-modal button[data-close-modal][aria-label="Close"]::before,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action)::before,
.gizzi-checkout-modal .gizzi-checkout-modal__close::before,
.gizzi-checkout-modal__close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}
.gizzi-modal .gizzi-modal-head > button[data-close-modal]::after,
.gizzi-modal button[data-close-modal][aria-label="Close"]::after,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action)::after,
.gizzi-checkout-modal .gizzi-checkout-modal__close::after,
.gizzi-checkout-modal__close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}
.gizzi-modal .gizzi-modal-head > button[data-close-modal] svg,
.gizzi-modal button[data-close-modal][aria-label="Close"] svg,
.gizzi-modal button[data-close-modal]:not(.gizzi-admin-button):not(.gizzi-light-action) svg,
.gizzi-checkout-modal .gizzi-checkout-modal__close svg,
.gizzi-checkout-modal__close svg {
    display: none !important;
}

/* v4.1.3 - Simple Add Material To Job popup */
.gizzi-add-job-material-panel{
  width:min(680px,calc(100vw - 22px))!important;
  border-radius:24px!important;
  padding:22px!important;
  background:#fff!important;
}
.gizzi-job-material-simple{
  display:grid!important;
  gap:16px!important;
}
.gizzi-job-material-step{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  padding:14px!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#f8fafc!important;
}
.gizzi-job-material-step span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:999px!important;
  background:#111827!important;
  color:#fff!important;
  font-weight:900!important;
}
.gizzi-job-material-step strong{display:block!important;color:#111827!important;font-size:15px!important;margin:0 0 3px!important;}
.gizzi-job-material-step p{margin:0!important;color:#64748b!important;font-size:13px!important;line-height:1.35!important;}
.gizzi-job-material-finder{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  margin:0!important;
}
.gizzi-job-material-search-label,
.gizzi-job-material-quantity,
.gizzi-job-material-notes{
  display:grid!important;
  gap:7px!important;
  margin:0!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:800!important;
}
.gizzi-job-material-search-label input,
.gizzi-job-material-quantity input,
.gizzi-job-material-notes textarea,
.gizzi-job-material-scan-row input{
  width:100%!important;
  min-height:46px!important;
  border:1px solid #d0d5dd!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:11px 13px!important;
  color:#111827!important;
  font-size:14px!important;
  box-sizing:border-box!important;
}
.gizzi-job-material-notes textarea{min-height:76px!important;resize:vertical!important;}
.gizzi-job-material-scan-row{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:end!important;
}
.gizzi-job-material-scan-row .gizzi-scan-barcode{
  margin:0!important;
  min-height:46px!important;
  border-radius:12px!important;
  background:#111827!important;
  color:#fff!important;
}
.gizzi-simple-material-results{
  max-height:260px!important;
  overflow:auto!important;
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:2px!important;
}
.gizzi-simple-material-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  border:1px solid #e5e7eb!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,23,42,.05)!important;
  padding:14px!important;
}
.gizzi-simple-material-row:hover,
.gizzi-simple-material-row.is-selected{
  border-color:#111827!important;
  background:#f8fafc!important;
  transform:none!important;
}
.gizzi-simple-material-row input[type="radio"]{width:18px!important;height:18px!important;accent-color:#111827!important;}
.gizzi-simple-material-row strong{font-size:14px!important;color:#111827!important;overflow-wrap:anywhere!important;}
.gizzi-simple-material-row em{font-style:normal!important;font-size:12px!important;color:#64748b!important;margin-top:3px!important;}
.gizzi-simple-material-row small{font-size:12px!important;color:#64748b!important;background:#f1f5f9!important;border-radius:999px!important;padding:6px 9px!important;white-space:nowrap!important;}
.gizzi-selected-material-summary{
  border:1px solid #bbf7d0!important;
  border-radius:16px!important;
  background:#f0fdf4!important;
  padding:13px 15px!important;
}
.gizzi-selected-material-summary span{display:block!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#15803d!important;font-weight:900!important;margin-bottom:4px!important;}
.gizzi-selected-material-summary strong{display:block!important;color:#111827!important;font-size:15px!important;}
.gizzi-selected-material-summary em{display:block!important;color:#475569!important;font-style:normal!important;font-size:12px!important;margin-top:3px!important;}
.gizzi-job-material-simple-form{
  display:grid!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.gizzi-job-material-simple-form > .gizzi-admin-button[type="submit"]{
  min-height:48px!important;
  border-radius:12px!important;
  background:#111827!important;
  color:#fff!important;
  margin:4px 0 0!important;
  font-weight:900!important;
}
.gizzi-job-material-simple .gizzi-material-search-status{
  margin:0!important;
  border:1px dashed #cbd5e1!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  color:#64748b!important;
  padding:11px 13px!important;
  font-size:13px!important;
}
.gizzi-job-material-simple .gizzi-no-barcode-materials{display:none!important;}
@media(max-width:640px){
  .gizzi-add-job-material-panel{width:calc(100vw - 14px)!important;max-height:88dvh!important;border-radius:20px 20px 0 0!important;padding:17px!important;}
  .gizzi-job-material-scan-row{grid-template-columns:1fr!important;}
  .gizzi-simple-material-row{grid-template-columns:auto minmax(0,1fr)!important;}
  .gizzi-simple-material-row small{grid-column:2!important;justify-self:start!important;white-space:normal!important;}
}


/* v4.1.4 - Compact mobile-first Add Material To Job popup fix */
.gizzi-add-job-material-panel{
  width:min(620px,calc(100vw - 24px))!important;
  max-height:min(86vh,760px)!important;
  overflow:auto!important;
  padding:22px!important;
  border-radius:22px!important;
}
.gizzi-add-job-material-panel .gizzi-modal-head{
  margin-bottom:14px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #e5e7eb!important;
}
.gizzi-add-job-material-panel .gizzi-modal-head h3{
  font-size:24px!important;
  line-height:1.15!important;
  margin:0!important;
}
.gizzi-job-material-simple{
  display:grid!important;
  gap:14px!important;
}
.gizzi-job-material-step{display:none!important;}
.gizzi-job-material-compact-section{
  display:grid!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#f8fafc!important;
}
.gizzi-compact-section-title{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
}
.gizzi-compact-section-title span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  background:#111827!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
}
.gizzi-compact-section-title strong{
  display:block!important;
  color:#111827!important;
  font-size:15px!important;
  line-height:1.25!important;
  margin:0!important;
}
.gizzi-compact-section-title p{
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.3!important;
  margin:2px 0 0!important;
}
.gizzi-job-material-finder,
.gizzi-job-material-simple-form{
  width:100%!important;
  min-width:0!important;
}
.gizzi-job-material-scan-row{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:end!important;
}
.gizzi-job-material-search-label,
.gizzi-job-material-quantity,
.gizzi-job-material-notes{
  font-size:13px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.gizzi-job-material-search-label input,
.gizzi-job-material-quantity input,
.gizzi-job-material-notes textarea,
.gizzi-job-material-scan-row input{
  font-size:16px!important;
}
.gizzi-job-material-simple-form > .gizzi-admin-button[type="submit"]{
  width:100%!important;
  justify-content:center!important;
}
@media(max-width:640px){
  .gizzi-add-job-material-panel{
    width:calc(100vw - 18px)!important;
    max-height:82dvh!important;
    padding:16px!important;
    border-radius:20px!important;
  }
  .gizzi-add-job-material-panel .gizzi-modal-head h3{
    font-size:24px!important;
    max-width:calc(100% - 48px)!important;
  }
  .gizzi-job-material-compact-section{
    padding:12px!important;
    gap:10px!important;
  }
  .gizzi-compact-section-title{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .gizzi-compact-section-title span{
    width:32px!important;
    height:32px!important;
    font-size:14px!important;
  }
  .gizzi-compact-section-title strong{font-size:14px!important;}
  .gizzi-compact-section-title p{font-size:12px!important;}
  .gizzi-job-material-scan-row{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .gizzi-job-material-scan-row .gizzi-scan-barcode{
    width:100%!important;
    justify-content:center!important;
  }
  .gizzi-simple-material-results{
    max-height:200px!important;
  }
}


/* v4.1.5 - Fix Add Material To Job popup narrow/vertical text on mobile */
.gizzi-add-job-material-panel,
.gizzi-add-job-material-panel *{
  box-sizing:border-box!important;
}
.gizzi-add-job-material-panel .gizzi-modal-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.gizzi-add-job-material-panel .gizzi-modal-head h3{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.gizzi-job-material-compact-section{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.gizzi-job-material-compact-section + .gizzi-job-material-compact-section{
  margin-top:14px!important;
}
.gizzi-compact-section-title{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 12px!important;
}
.gizzi-compact-section-title > span{
  flex:0 0 34px!important;
  margin:0!important;
}
.gizzi-compact-section-title > div{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
.gizzi-compact-section-title strong,
.gizzi-compact-section-title p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-align:left!important;
}
.gizzi-job-material-finder,
.gizzi-material-picker-tools,
.gizzi-job-material-search-label,
.gizzi-job-material-quantity,
.gizzi-job-material-notes,
.gizzi-job-material-scan-row,
.gizzi-job-material-simple-form{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.gizzi-job-material-search-label input,
.gizzi-job-material-quantity input,
.gizzi-job-material-notes textarea,
.gizzi-job-material-scan-row input,
.gizzi-job-material-scan-row .gizzi-scan-barcode,
.gizzi-job-material-simple-form > .gizzi-admin-button[type="submit"]{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-top:8px!important;
}
.gizzi-job-material-scan-row .gizzi-scan-barcode{
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  margin:12px 0 10px!important;
}
.gizzi-job-material-simple .gizzi-material-search-status{
  width:100%!important;
  margin:14px 0!important;
  white-space:normal!important;
  word-break:normal!important;
}
@media(max-width:640px){
  .gizzi-add-job-material-panel{
    width:calc(100vw - 22px)!important;
    max-width:calc(100vw - 22px)!important;
    max-height:86dvh!important;
    padding:18px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .gizzi-add-job-material-panel .gizzi-modal-head h3{
    font-size:24px!important;
    line-height:1.18!important;
  }
  .gizzi-job-material-compact-section{
    padding:14px!important;
  }
  .gizzi-compact-section-title{
    gap:11px!important;
  }
  .gizzi-compact-section-title > span{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
  }
  .gizzi-compact-section-title strong{
    font-size:15px!important;
    line-height:1.25!important;
  }
  .gizzi-compact-section-title p{
    font-size:13px!important;
    line-height:1.35!important;
  }
}

/* v4.1.6 - Premium mobile check in/out card */
.gizzi-modern-check-card {
  overflow: hidden !important;
}
.gizzi-modern-check-card .gizzi-check-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}
.gizzi-modern-check-card .gizzi-check-card-head h2 {
  margin: 0 0 4px !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
}
.gizzi-modern-check-card .gizzi-check-card-head p {
  margin: 0 !important;
  color: #64748b !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
.gizzi-check-status-card {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 15px !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  margin: 0 0 14px !important;
}
.gizzi-check-status-card.is-active {
  background: #dcfce7 !important;
  border-color: #86efac !important;
}
.gizzi-check-status-card.is-idle {
  background: #fff7ed !important;
  border-color: #fed7aa !important;
}
.gizzi-check-status-icon {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #111827 !important;
  color: #fff !important;
}
.gizzi-check-status-card.is-active .gizzi-check-status-icon {
  background: #16a34a !important;
}
.gizzi-check-status-card.is-idle .gizzi-check-status-icon {
  background: #f97316 !important;
}
.gizzi-check-status-icon .gizzi-svg-icon,
.gizzi-check-status-icon svg {
  width: 20px !important;
  height: 20px !important;
  color: inherit !important;
}
.gizzi-check-status-copy {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
.gizzi-check-status-copy span {
  display: block !important;
  margin: 0 0 3px !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.gizzi-check-status-copy strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
}
.gizzi-check-status-copy p {
  margin: 4px 0 0 !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
.gizzi-modern-check-card .gizzi-big-check-button {
  min-height: 58px !important;
  border-radius: 18px !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  margin: 0 0 16px !important;
  box-shadow: 0 14px 28px rgba(15,23,42,.12) !important;
}
.gizzi-modern-check-card .gizzi-checkin-button {
  background: #16a34a !important;
}
.gizzi-modern-check-card .gizzi-checkout-button {
  background: #111827 !important;
}
.gizzi-time-entry-list {
  border-top: 1px solid #e2e8f0 !important;
  margin-top: 4px !important;
  padding-top: 14px !important;
}
.gizzi-time-entry-list h3 {
  margin: 0 0 10px !important;
  color: #0f172a !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  letter-spacing: -0.025em !important;
}
.gizzi-time-entry-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  margin-bottom: 8px !important;
}
.gizzi-time-entry-row span {
  display: block !important;
  margin: 0 0 3px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.gizzi-time-entry-row strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.25 !important;
}
@media (max-width: 560px) {
  .gizzi-modern-check-card .gizzi-check-card-head h2 {
    font-size: 22px !important;
  }
  .gizzi-check-status-card {
    padding: 13px !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }
  .gizzi-check-status-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }
  .gizzi-check-status-copy strong {
    font-size: 17px !important;
  }
  .gizzi-modern-check-card .gizzi-big-check-button {
    min-height: 56px !important;
    font-size: 16px !important;
  }
  .gizzi-time-entry-row {
    grid-template-columns: 1fr !important;
  }
}

/* v4.3.4 - Modern Toolbox Chat UI */
.gizzi-toolbox-modern .gizzi-detail-card{display:none!important;}
.gizzi-toolbox-chat-shell{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:18px;
  box-shadow:0 16px 42px rgba(15,23,42,.08);
  overflow:hidden;
}
.gizzi-toolbox-chat-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:8px 4px 16px;
  border-bottom:1px solid #eef2f7;
}
.gizzi-toolbox-chat-head h2{
  margin:0 0 4px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:28px;
  line-height:1.08;
  color:#0f172a;
}
.gizzi-toolbox-chat-head p{margin:0;color:#667085;font-weight:650;}
.gizzi-toolbox-live-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  border-radius:999px;
  padding:8px 11px;
  background:#f1f5f9;
  color:#475467;
  font-size:12px;
  font-weight:800;
}
.gizzi-toolbox-live-pill:before{
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.14);
}
.gizzi-toolbox-thread{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 4px;
  max-height:min(62vh,680px);
  overflow:auto;
  scroll-behavior:smooth;
}
.gizzi-toolbox-empty{margin:8px 0!important;}
.gizzi-chat-bubble-row{
  display:flex;
  gap:10px;
  align-items:flex-end;
  max-width:86%;
}
.gizzi-chat-bubble-row.is-mine{
  align-self:flex-end;
  flex-direction:row-reverse;
}
.gizzi-chat-bubble-row.is-other{align-self:flex-start;}
.gizzi-chat-avatar{
  width:34px;
  height:34px;
  border-radius:13px;
  background:#eef2ff;
  color:#1e3a8a;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  font-size:12px;
  font-weight:900;
}
.gizzi-chat-bubble-row.is-mine .gizzi-chat-avatar{
  background:#111827;
  color:#fff;
}
.gizzi-chat-bubble{
  border:1px solid #e5e7eb;
  background:#f8fafc;
  border-radius:20px 20px 20px 8px;
  padding:12px 14px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  min-width:0;
}
.gizzi-chat-bubble-row.is-mine .gizzi-chat-bubble{
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
  border-radius:20px 20px 8px 20px;
}
.gizzi-chat-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:5px;
}
.gizzi-chat-meta strong{
  font-size:13px;
  line-height:1.1;
  color:#0f172a;
}
.gizzi-chat-bubble-row.is-mine .gizzi-chat-meta strong{color:#fff;}
.gizzi-chat-meta span{
  color:#667085;
  font-size:11px;
  font-weight:750;
}
.gizzi-chat-bubble-row.is-mine .gizzi-chat-meta span{color:rgba(255,255,255,.68);}
.gizzi-chat-bubble p{
  margin:0;
  color:#1f2937;
  line-height:1.45;
  overflow-wrap:anywhere;
  white-space:normal;
}
.gizzi-chat-bubble-row.is-mine .gizzi-chat-bubble p{color:#fff;}
.gizzi-toolbox-composer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:end;
  padding:13px;
  border:1px solid #e5e7eb;
  border-radius:22px;
  background:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.gizzi-toolbox-composer textarea{
  min-height:46px!important;
  max-height:138px;
  resize:vertical;
  border:0!important;
  box-shadow:none!important;
  background:#fff!important;
  border-radius:16px!important;
  padding:13px 14px!important;
  font-weight:650;
}
.gizzi-toolbox-composer textarea:focus{
  box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;
}
.gizzi-toolbox-composer button{
  min-height:46px;
  border:0;
  border-radius:16px;
  padding:0 16px;
  background:#ef4444;
  color:#fff;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(239,68,68,.22);
}
.gizzi-toolbox-composer button svg{width:18px;height:18px;}
@media(max-width:720px){
  .gizzi-toolbox-chat-shell{border-radius:22px;padding:14px;}
  .gizzi-toolbox-chat-head{padding:6px 0 14px;}
  .gizzi-toolbox-chat-head h2{font-size:24px;}
  .gizzi-toolbox-chat-head p{font-size:14px;line-height:1.35;}
  .gizzi-toolbox-live-pill{display:none;}
  .gizzi-toolbox-thread{max-height:none;overflow:visible;padding:14px 0;gap:11px;}
  .gizzi-chat-bubble-row{max-width:96%;gap:8px;}
  .gizzi-chat-avatar{width:30px;height:30px;flex-basis:30px;border-radius:12px;font-size:11px;}
  .gizzi-chat-bubble{padding:10px 12px;border-radius:17px 17px 17px 7px;}
  .gizzi-chat-bubble-row.is-mine .gizzi-chat-bubble{border-radius:17px 17px 7px 17px;}
  .gizzi-chat-meta{gap:6px;margin-bottom:4px;}
  .gizzi-chat-meta strong{font-size:12px;}
  .gizzi-chat-meta span{font-size:10px;}
  .gizzi-toolbox-composer{grid-template-columns:1fr;position:sticky;bottom:10px;z-index:5;padding:10px;border-radius:18px;}
  .gizzi-toolbox-composer button{width:100%;}
}


/* v4.3.5 - Full page messaging-style Toolbox Chat */
.gizzi-toolbox-fullpage{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-shell{
  min-height:calc(100dvh - 170px);
  display:flex;
  flex-direction:column;
  padding:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 20px 50px rgba(15,23,42,.10)!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-head{
  flex:0 0 auto;
  padding:18px 22px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #e5e7eb!important;
  align-items:center!important;
}
.gizzi-toolbox-title-row{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.gizzi-toolbox-title-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  background:#0f172a;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 46px;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
}
.gizzi-toolbox-title-icon svg{width:22px;height:22px;}
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-head h2{
  display:block!important;
  margin:0 0 2px!important;
  font-size:26px!important;
  letter-spacing:-.03em;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-head h2 svg{display:none!important;}
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-head p{
  font-size:14px!important;
  font-weight:650!important;
  color:#667085!important;
  line-height:1.3!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-live-pill{
  background:#ecfdf3!important;
  color:#027a48!important;
  border:1px solid #abefc6!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-thread{
  flex:1 1 auto;
  max-height:none!important;
  overflow:auto!important;
  padding:22px!important;
  gap:10px!important;
  background:
    radial-gradient(circle at 15% 15%, rgba(239,68,68,.055), transparent 26%),
    radial-gradient(circle at 85% 0%, rgba(59,130,246,.055), transparent 24%),
    #f8fafc!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-bubble-row{
  max-width:76%!important;
  align-items:flex-end!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-avatar{
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 6px 16px rgba(15,23,42,.06)!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-bubble-row.is-mine .gizzi-chat-avatar{
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-bubble{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:20px 20px 20px 6px!important;
  padding:11px 13px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-bubble-row.is-mine .gizzi-chat-bubble{
  background:#0f172a!important;
  border-color:#0f172a!important;
  border-radius:20px 20px 6px 20px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-meta{
  margin-bottom:4px!important;
}
.gizzi-toolbox-fullpage .gizzi-chat-meta strong{
  font-size:12px!important;
  letter-spacing:-.01em;
}
.gizzi-toolbox-fullpage .gizzi-chat-meta span{
  font-size:10px!important;
  opacity:.9;
}
.gizzi-toolbox-fullpage .gizzi-chat-bubble p{
  font-size:15px!important;
  line-height:1.42!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-composer{
  flex:0 0 auto;
  position:sticky!important;
  bottom:0!important;
  z-index:9!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:10px!important;
  padding:14px!important;
  background:rgba(255,255,255,.98)!important;
  border:0!important;
  border-top:1px solid #e5e7eb!important;
  border-radius:0!important;
  box-shadow:0 -12px 30px rgba(15,23,42,.06)!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-composer textarea{
  flex:1 1 auto!important;
  min-height:48px!important;
  max-height:120px!important;
  border:1px solid #d0d5dd!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:13px 16px!important;
  resize:none!important;
  font-size:15px!important;
  line-height:1.35!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-composer button{
  width:auto!important;
  min-width:52px!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:999px!important;
  padding:0 18px!important;
  background:#ef4444!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(239,68,68,.22)!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-composer button span{
  display:inline!important;
}
@media(max-width:720px){
  .gizzi-toolbox-fullpage{
    margin-left:-2px!important;
    margin-right:-2px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-chat-shell{
    min-height:calc(100dvh - 145px)!important;
    border-radius:24px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-chat-head{
    padding:14px 16px!important;
  }
  .gizzi-toolbox-title-icon{
    width:40px;height:40px;flex-basis:40px;border-radius:14px;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-chat-head h2{
    font-size:22px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-chat-head p{
    font-size:12px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-thread{
    padding:16px 12px!important;
    gap:9px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-chat-bubble-row{
    max-width:92%!important;
  }
  .gizzi-toolbox-fullpage .gizzi-chat-avatar{
    width:28px!important;height:28px!important;flex-basis:28px!important;font-size:10px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-chat-bubble{
    padding:10px 12px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-chat-bubble p{
    font-size:14px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-composer{
    padding:10px!important;
    display:grid!important;
    grid-template-columns:1fr 48px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-composer textarea{
    min-height:48px!important;
    border-radius:24px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-composer button{
    width:48px!important;
    min-width:48px!important;
    padding:0!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-composer button span{
    display:none!important;
  }
}

/* v4.3.6 - Toolbox Chat: no internal header + real scrollable message window */
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-head{
  display:none!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-chat-shell{
  height:calc(100dvh - 170px)!important;
  min-height:560px!important;
  display:flex!important;
  flex-direction:column!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-thread{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}
.gizzi-toolbox-fullpage .gizzi-toolbox-composer{
  flex:0 0 auto!important;
}
@media(max-width:720px){
  .gizzi-toolbox-fullpage .gizzi-toolbox-chat-shell{
    height:calc(100dvh - 145px)!important;
    min-height:520px!important;
  }
  .gizzi-toolbox-fullpage .gizzi-toolbox-thread{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
}

/* v4.8.8 enquiry action fixes */
.gizzi-enquiry-detail-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.gizzi-enquiry-detail-action-buttons form{margin:0!important}
.gizzi-enquiry-detail-action-buttons button{white-space:nowrap}
@media(max-width:640px){.gizzi-enquiry-detail-actions{align-items:flex-start!important}.gizzi-enquiry-detail-action-buttons{width:100%;justify-content:flex-start}.gizzi-enquiry-detail-action-buttons form{flex:1 1 150px}.gizzi-enquiry-detail-action-buttons button{width:100%;justify-content:center}}

/* v4.10.0 - clickable staff job tabs */
.gizzi-staff-tabs a{white-space:nowrap;padding:8px 11.2px;border-radius:8px;background:#f8fafc;font-weight:800;color:#64748b;text-decoration:none;display:inline-flex;align-items:center;gap:6px;line-height:1}
.gizzi-staff-tabs a:hover,.gizzi-staff-tabs a.active{background:var(--gizzi-yellow);color:#111}
.gizzi-staff-tabs a svg{width:14px;height:14px;flex:0 0 auto}

/* v4.12.0 - barcode scanning only: hide manual barcode entry fields */
.gizzi-scan-only-barcode-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  border:1px dashed #d0d5dd;
  border-radius:12px;
  background:#f8fafc;
}
.gizzi-scan-only-barcode-field span{
  font-weight:700;
  color:#344054;
}
.gizzi-scanned-barcode-status{
  display:block;
  color:#667085;
  font-size:12px;
  line-height:1.35;
}
.gizzi-job-material-scan-row .gizzi-scanned-barcode-status,
.gizzi-material-picker-tools .gizzi-scanned-barcode-status{
  grid-column:1 / -1;
}

/* v4.12.0 Base44-style inline job materials UI */
.gizzi-base44-job-materials-card {
  background: #fff;
  border: 1px solid #edf1f7;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
  padding: 24px;
}
.gizzi-base44-materials-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}
.gizzi-base44-materials-head h2 {
  margin: 0;
  font-size: 25px;
  line-height: 1.2;
  color: #111827;
  font-weight: 800;
}
.gizzi-base44-materials-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.gizzi-base44-outline-action,
.gizzi-base44-add-material-toggle {
  min-height: 50px;
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
}
.gizzi-base44-outline-action {
  background: #fff;
  border: 1px solid #9db8ff;
  color: #3364ff;
  padding: 0 20px;
  box-shadow: 0 4px 12px rgba(51, 100, 255, .09);
  cursor: pointer;
}
.gizzi-base44-add-material-toggle,
.gizzi-base44-add-material-toggle.is-open {
  background: #ff4646 !important;
  color: #fff !important;
  border: 1px solid #ff4646 !important;
  padding: 0 22px !important;
  box-shadow: 0 5px 14px rgba(255, 70, 70, .28) !important;
}
.gizzi-job-material-inline-panel[hidden] { display: none !important; }
.gizzi-base44-add-material-card {
  background: #fbfcff;
  border: 1px solid #dfe7f3;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 26px;
}
.gizzi-base44-field-block {
  margin-bottom: 20px;
}
.gizzi-base44-field-block > label,
.gizzi-base44-inline-material-form label {
  display: block;
  color: #34445c;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 10px;
}
.gizzi-base44-field-block select,
.gizzi-base44-material-search-wrap,
.gizzi-base44-inline-material-form input[type="number"],
.gizzi-base44-inline-material-form textarea {
  width: 100%;
  min-height: 56px;
  border: 1px solid #dfe7f3;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .03);
}
.gizzi-base44-field-block select {
  padding: 0 18px;
  font-size: 17px;
  color: #6b7b95;
}
.gizzi-material-picker-tools.gizzi-job-material-finder {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.gizzi-base44-material-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
}
.gizzi-base44-material-search-wrap .gizzi-svg-icon {
  color: #6f7f98;
  flex: 0 0 auto;
}
.gizzi-base44-material-search-wrap input {
  border: 0 !important;
  background: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 52px;
  font-size: 17px;
  width: 100%;
}
.gizzi-job-material-scan-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}
.gizzi-base44-scan-button {
  min-height: 56px;
  border-radius: 8px !important;
  padding: 0 18px !important;
  background: #fff !important;
  border: 1px solid #9db8ff !important;
  color: #3364ff !important;
  font-weight: 800 !important;
  white-space: nowrap;
}
.gizzi-scanned-barcode-status,
.gizzi-material-search-status {
  color: #6b7b95;
  font-size: 13px;
  font-weight: 700;
}
.gizzi-material-search-status {
  margin: 10px 0;
}
.gizzi-simple-material-results {
  display: grid;
  gap: 10px;
  margin: 10px 0 16px;
}
.gizzi-simple-material-results .gizzi-material-picker-row {
  border: 1px solid #dfe7f3;
  background: #fff;
  border-radius: 12px;
  padding: 12px 14px;
}
.gizzi-simple-material-results .gizzi-material-picker-row.is-selected {
  border-color: #22c55e;
  background: #effdf5;
}
.gizzi-selected-material-summary {
  background: #eefbf4;
  border: 1px solid #86efac;
  border-radius: 12px;
  padding: 12px 14px;
  color: #166534;
  margin-bottom: 14px;
}
.gizzi-selected-material-summary span,
.gizzi-selected-material-summary strong,
.gizzi-selected-material-summary em { display: block; }
.gizzi-base44-form-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
  align-items: start;
}
.gizzi-base44-inline-material-form textarea {
  min-height: 88px;
  padding: 14px 16px;
}
.gizzi-base44-inline-material-form input[type="number"] {
  padding: 0 16px;
}
.gizzi-base44-form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}
.gizzi-base44-form-actions .gizzi-admin-button {
  min-height: 54px;
  border-radius: 8px !important;
  padding: 0 24px !important;
}
.gizzi-base44-material-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin: 16px 0 24px;
  font-weight: 700;
}
.gizzi-base44-material-legend span {
  position: relative;
  padding-left: 24px;
}
.gizzi-base44-material-legend span:before {
  content: '';
  width: 17px;
  height: 17px;
  border-radius: 6px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.legend-pending { color: #b45309; } .legend-pending:before { background: #fde68a; }
.legend-partial { color: #2563eb; } .legend-partial:before { background: #bfdbfe; }
.legend-used { color: #15803d; } .legend-used:before { background: #bbf7d0; }
.legend-supplier { color: #dc2626; } .legend-supplier:before { background: #fecaca; }
.legend-van { color: #7c3aed; } .legend-van:before { background: #e9d5ff; }
.legend-unit { color: #0f766e; } .legend-unit:before { background: #99f6e4; }
.gizzi-base44-material-used-list {
  display: grid;
  gap: 18px;
}
.gizzi-base44-used-material-card {
  border: 1.5px solid #68e58b !important;
  background: #effdf5 !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  padding: 26px !important;
  display: grid !important;
  grid-template-columns: 30px 1fr;
  gap: 16px;
  align-items: start;
}
.gizzi-base44-material-status-icon {
  width: 26px;
  height: 26px;
  border: 3px solid #22c55e;
  border-radius: 999px;
  color: #22c55e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
}
.gizzi-base44-material-status-icon .gizzi-svg-icon svg { width: 16px; height: 16px; stroke-width: 3; }
.gizzi-base44-used-material-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.gizzi-base44-used-material-top strong {
  display: block;
  color: #111827;
  font-size: 22px;
  line-height: 1.2;
  margin-bottom: 5px;
}
.gizzi-base44-used-material-top span,
.gizzi-base44-usage-log,
.gizzi-base44-material-notes {
  color: #5f7089;
  font-size: 15px;
  font-weight: 650;
}
.gizzi-base44-used-material-top em {
  font-style: normal;
  color: #64748b;
  font-weight: 800;
}
.gizzi-base44-usage-log {
  border-left: 3px solid #d9e2ef;
  padding-left: 12px;
  margin: 16px 0;
}
.gizzi-base44-material-buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.gizzi-base44-status-btn,
.gizzi-base44-edit-details summary,
.gizzi-base44-icon-delete {
  border-radius: 10px;
  min-height: 44px;
  padding: 0 14px;
  font-weight: 850;
  cursor: pointer;
}
.gizzi-base44-status-btn.used { background: #22c55e; color: #fff; border: 1px solid #22c55e; }
.gizzi-base44-status-btn.supplier { background: #fff1f2; color: #dc2626; border: 1px solid #fca5a5; }
.gizzi-base44-status-btn.van { background: #f3e8ff; color: #7c3aed; border: 1px solid #c4b5fd; }
.gizzi-base44-status-btn.unit { background: #ccfbf1; color: #0f766e; border: 1px solid #5eead4; }
.gizzi-base44-edit-details summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  color: #3b82f6;
  list-style: none;
}
.gizzi-base44-edit-details summary::-webkit-details-marker { display: none; }
.gizzi-base44-remove-form { margin: 0; margin-left: auto; }
.gizzi-base44-icon-delete {
  background: transparent;
  border: 0;
  color: #ff4646;
  padding: 0 6px;
}
@media (max-width: 900px) {
  .gizzi-base44-materials-head { align-items: stretch; flex-direction: column; }
  .gizzi-base44-materials-actions { justify-content: flex-start; }
  .gizzi-material-picker-tools.gizzi-job-material-finder,
  .gizzi-base44-form-grid { grid-template-columns: 1fr; }
  .gizzi-base44-outline-action,
  .gizzi-base44-add-material-toggle,
  .gizzi-base44-scan-button { width: 100%; justify-content: center; }
}
.gizzi-file-card, .gizzi-signature-box, .gizzi-signature-preview{
	max-width: 300px;
}

/* SiteMD 5.0.3 — full enquiry workflow stepper */
.gizzi-enquiry-detail-page .gizzi-progress-card{overflow-x:auto!important;}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps-full{
  min-width:1120px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:12px 4px 54px!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps-full span{
  flex:0 0 54px!important;
  width:54px!important;
  height:54px!important;
  border-radius:999px!important;
  font-size:18px!important;
  font-weight:900!important;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps-full i{
  flex:1 1 auto!important;
  min-width:42px!important;
  margin-top:25px!important;
}

.gizzi-customer-summary-card{
	display: none;
}
.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps-full span em{
  top:62px!important;
  width:116px!important;
  max-width:116px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.05!important;
  font-size:12px!important;
  transform:translateX(-31px)!important;
}
.gizzi-workflow-stage-card p{font-size:16px;color:#667085;line-height:1.55;max-width:760px;}
.gizzi-base44-enquiries .gizzi-enquiry-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:980px){.gizzi-base44-enquiries .gizzi-enquiry-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:608px){.gizzi-base44-enquiries .gizzi-enquiry-stage-grid{}.gizzi-enquiry-detail-page .gizzi-progress-card .gizzi-progress-steps-full{min-width:1080px!important;}}

/* SiteMD 5.3.29 — job material stock controls */
.sitemd-job-stock-card .gizzi-base44-used-material-top span{display:block;line-height:1.6;}
.sitemd-job-stock-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;align-items:stretch;}
.sitemd-job-stock-action-form{border:1px solid #e5e7eb;background:#f9fafb;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px;margin:0;}
.sitemd-job-stock-action-form label{font-weight:850;color:#101828;font-size:13px;margin:0;}
.sitemd-job-stock-action-form input[type="number"]{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:12px;padding:8px 10px;background:#fff;font-weight:800;}
.sitemd-qty-stepper{display:grid;grid-template-columns:44px 1fr 44px;gap:6px;align-items:center;}
.sitemd-qty-stepper button{height:42px;border:1px solid #d0d5dd;background:#fff;border-radius:12px;font-size:22px;font-weight:900;line-height:1;cursor:pointer;}
.sitemd-qty-stepper button:active{transform:scale(.98);}
.sitemd-job-stock-action-form .gizzi-small-button{min-height:42px;border-radius:12px;font-weight:900;justify-content:center;}
@media(max-width:760px){.sitemd-job-stock-actions{grid-template-columns:1fr;}.sitemd-job-stock-card .gizzi-base44-used-material-top{gap:10px;}.sitemd-job-stock-card .gizzi-base44-used-material-top em{align-self:flex-start;}}

/* SiteMD 5.3.29 — collapsible job material stock controls */
.sitemd-job-stock-toggle{margin-top:14px;}
.sitemd-job-stock-toggle>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;color:#101828;font-weight:900;box-shadow:0 8px 20px rgba(16,24,40,.06);}
.sitemd-job-stock-toggle>summary::-webkit-details-marker{display:none;}
.sitemd-job-stock-toggle>summary svg{width:18px;height:18px;}
.sitemd-job-stock-toggle[open]>summary{background:#101828;color:#fff;border-color:#101828;}
.sitemd-job-stock-toggle[open]>.sitemd-job-stock-actions{margin-top:12px;}
@media(max-width:760px){.sitemd-job-stock-toggle>summary{width:100%;}.sitemd-job-stock-toggle[open]>.sitemd-job-stock-actions{margin-top:10px;}}

/* v5.3.30: compact job material usage controls */
.sitemd-job-stock-toggle{margin-top:14px;width:100%;}
.sitemd-job-stock-toggle>summary.sitemd-job-stock-toggle-button{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 16px;border:1px solid #d0d5dd;border-radius:16px;background:#fff;color:#101828;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(16,24,40,.06);}
.sitemd-job-stock-toggle>summary.sitemd-job-stock-toggle-button::after{content:'Show';margin-left:auto;font-size:13px;color:#667085;}
.sitemd-job-stock-toggle[open]>summary.sitemd-job-stock-toggle-button::after{content:'Hide';color:#fff;}
.sitemd-job-stock-toggle[open]>summary.sitemd-job-stock-toggle-button{background:#101828;color:#fff;border-color:#101828;}
.sitemd-job-stock-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;align-items:stretch;}
.sitemd-job-stock-action-form{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:14px;box-shadow:0 8px 18px rgba(16,24,40,.04);}
.sitemd-job-stock-action-form label{display:block;margin-bottom:9px;font-weight:900;color:#101828;}
.sitemd-job-stock-action-form input[type="number"]{width:100%;min-height:44px;border:1px solid #d0d5dd;border-radius:14px;padding:8px 12px;font-weight:800;background:#fff;box-sizing:border-box;}
.sitemd-job-stock-action-form button[type="submit"]{width:100%;margin-top:10px;}
@media(max-width:760px){.sitemd-job-stock-actions{grid-template-columns:1fr;}.sitemd-job-stock-toggle>summary.sitemd-job-stock-toggle-button{position:relative;z-index:1;}}

/* SiteMD 5.3.31 materials dashboard refresh */
.sitemd-materials-v531{background:#f8fafc!important;padding:24px!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#101828!important;}
.sitemd-materials-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px;}
.sitemd-materials-page-head h2{margin:0 0 6px!important;font-size:34px!important;line-height:1.1!important;font-weight:950!important;color:#101828!important;letter-spacing:-.02em!important;}
.sitemd-materials-page-head p{margin:0!important;color:#475467!important;font-size:17px!important;font-weight:600!important;}
.sitemd-material-add-btn{display:inline-flex;align-items:center;gap:10px;border:0!important;border-radius:8px!important;background:#ef4444!important;color:#fff!important;font-weight:850!important;padding:13px 20px!important;box-shadow:0 10px 24px rgba(239,68,68,.16)!important;cursor:pointer!important;}
.sitemd-material-tabs{display:inline-flex;gap:8px;background:#fff;border-radius:14px;padding:6px;margin:0 0 28px;box-shadow:0 1px 3px rgba(16,24,40,.08);}
.sitemd-material-tabs a{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:10px;text-decoration:none!important;color:#344054!important;font-weight:900;}
.sitemd-material-tabs a.active{background:#101828;color:#fff!important;}
.sitemd-material-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 20px;}
.sitemd-material-section-head h3{font-size:26px!important;font-weight:950!important;line-height:1.1!important;margin:0 0 8px!important;color:#101828!important;}
.sitemd-material-section-head p{margin:0!important;color:#475467!important;font-size:16px!important;font-weight:600!important;}
.sitemd-material-filter-card{display:grid;grid-template-columns:minmax(0,1fr) auto 260px;gap:14px;align-items:center;background:#fff;border:1px solid #eef2f6;border-radius:14px;padding:18px 20px;margin:0 0 28px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.sitemd-material-searchbox{min-height:48px;border:1px solid #d9e1ec;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#fff;}
.sitemd-material-searchbox input{border:0!important;outline:0!important;box-shadow:none!important;width:100%;font-size:16px!important;background:transparent!important;padding:0!important;color:#101828!important;}
.sitemd-material-category-filter{min-height:48px;border:1px solid #d9e1ec!important;border-radius:8px!important;padding:0 14px!important;background:#fff!important;font-weight:650!important;color:#101828!important;}
.sitemd-material-scan{min-height:48px;border:1px solid #d9e1ec;background:#fff;border-radius:8px;padding:0 16px;font-weight:850;color:#101828;display:inline-flex;align-items:center;gap:8px;justify-content:center;cursor:pointer;}
.sitemd-material-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.sitemd-material-card{background:#fff;border:1px solid #eef2f6;border-radius:14px;padding:20px 22px;box-shadow:0 1px 3px rgba(16,24,40,.05);display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-height:116px;}
.sitemd-material-card-main{display:flex;align-items:flex-start;gap:16px;min-width:0;}
.sitemd-material-icon{width:52px;height:52px;border-radius:12px;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;color:#344054;flex:0 0 auto;}
.sitemd-material-card h4{margin:4px 0 4px!important;font-size:18px!important;line-height:1.2!important;color:#101828!important;font-weight:950!important;}
.sitemd-material-card p{margin:0 0 16px!important;color:#667085!important;font-weight:600!important;}
.sitemd-material-card strong{font-size:20px;font-weight:950;color:#101828;}
.sitemd-material-card em{font-style:normal;color:#667085;font-weight:650;margin-left:8px;}
.sitemd-material-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.sitemd-material-card-actions .gizzi-light-action{border:1px solid #e4e7ec!important;border-radius:10px!important;background:#fff!important;color:#101828!important;font-weight:800!important;padding:9px 11px!important;cursor:pointer!important;}
.sitemd-material-modal{max-width:650px!important;border-radius:8px!important;padding:0!important;}
.sitemd-material-modal .gizzi-modal-head{padding:28px 30px 14px!important;border-bottom:0!important;}
.sitemd-material-modal .gizzi-modal-head h3{font-size:24px!important;font-weight:950!important;margin:0!important;color:#101828!important;}
.sitemd-material-modal .gizzi-material-form,.sitemd-material-modal .sitemd-assign-van-form{padding:20px 30px 30px!important;}
.sitemd-material-modal label{font-weight:850!important;color:#101828!important;}
.sitemd-material-modal input,.sitemd-material-modal select,.sitemd-material-modal textarea{min-height:48px!important;border:1px solid #344054!important;border-radius:7px!important;background:#fff!important;color:#101828!important;font-size:15px!important;}
.sitemd-van-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.sitemd-van-card{background:#fff;border:1px solid #eef2f6;border-radius:16px;padding:20px;box-shadow:0 1px 3px rgba(16,24,40,.05);}
.sitemd-van-card-head{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.sitemd-van-card-head>span{width:48px;height:48px;background:#f1f5f9;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#344054;}
.sitemd-van-card h4{margin:0 0 4px!important;font-size:18px!important;font-weight:950!important;color:#101828!important;}
.sitemd-van-card p{margin:0!important;color:#667085!important;font-weight:650!important;font-size:13px!important;word-break:break-word;}
.sitemd-material-empty{border:1px dashed #cbd5e1;border-radius:14px;padding:22px;text-align:center;color:#667085;font-weight:750;background:#fbfdff;}
.sitemd-van-material-list{display:flex;flex-direction:column;gap:10px;}
.sitemd-van-material-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #eef2f6;background:#f8fafc;border-radius:12px;padding:12px 14px;}
.sitemd-van-material-row strong{color:#101828;font-weight:900;}
.sitemd-van-material-row span{color:#166534;background:#dcfce7;border-radius:999px;padding:5px 10px;font-weight:900;white-space:nowrap;}
@media (max-width:1100px){.sitemd-material-card-grid,.sitemd-van-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.sitemd-material-filter-card{grid-template-columns:1fr;}.sitemd-material-scan,.sitemd-material-category-filter{width:100%;}}
@media (max-width:700px){.sitemd-materials-v531{padding:16px!important;}.sitemd-materials-page-head{flex-direction:column;}.sitemd-materials-page-head h2{font-size:30px!important;}.sitemd-material-add-btn{width:100%;justify-content:center;}.sitemd-material-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;}.sitemd-material-tabs a{justify-content:center;padding:12px 10px;font-size:14px;}.sitemd-material-card-grid,.sitemd-van-grid{grid-template-columns:1fr;}.sitemd-material-card{flex-direction:column;}.sitemd-material-card-actions{width:100%;justify-content:stretch;}.sitemd-material-card-actions .gizzi-light-action{flex:1;justify-content:center;}.sitemd-material-modal{width:calc(100vw - 28px)!important;max-height:88vh!important;overflow:auto!important;}.sitemd-material-filter-card{padding:14px;}}

/* SiteMD 5.3.42: admin Jobs live search */
.gizzi-live-job-search-wrap {
  margin: 0 0 14px;
  display: grid;
  gap: 6px;
}
.gizzi-live-job-search {
  width: 100%;
  max-width: 520px;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}
.gizzi-live-job-search:focus {
  outline: none;
  border-color: rgba(37, 99, 235, .55);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.gizzi-live-job-search-help,
.gizzi-live-job-search-status {
  color: #64748b;
  font-size: 13px;
}
@media (max-width: 700px) {
  .gizzi-live-job-search {
    max-width: none;
    font-size: 16px;
  }
}

/* v5.3.45 - new-job continuation/customer autofill + remove red button shadows */
.gizzi-new-job-panel .gizzi-job-create-choice{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12.8px;padding:14px;margin-bottom:4px;background:#f8fafc;border:1px solid var(--gizzi-border,#e6eaf0);border-radius:14px;}
.gizzi-new-job-panel .gizzi-job-create-choice .gizzi-admin-help{grid-column:1/-1;margin:0;}
.gizzi-new-job-panel .gizzi-job-previous-wrap{grid-column:span 1;}
.gizzi-admin-shell button,.gizzi-admin-shell .gizzi-admin-button,.gizzi-admin-shell .gizzi-admin-small-button,.gizzi-admin-shell .gizzi-light-action,.gizzi-admin-shell .sitemd-material-add-btn,.gizzi-admin-shell input[type=submit]{box-shadow:none!important;}
.gizzi-admin-shell button:hover,.gizzi-admin-shell button:focus,.gizzi-admin-shell button:active,.gizzi-admin-shell .gizzi-admin-button:hover,.gizzi-admin-shell .gizzi-admin-button:focus,.gizzi-admin-shell .gizzi-admin-button:active,.gizzi-admin-shell .gizzi-admin-small-button:hover,.gizzi-admin-shell .gizzi-admin-small-button:focus,.gizzi-admin-shell .gizzi-admin-small-button:active,.gizzi-admin-shell .gizzi-light-action:hover,.gizzi-admin-shell .gizzi-light-action:focus,.gizzi-admin-shell .gizzi-light-action:active,.gizzi-admin-shell .sitemd-material-add-btn:hover,.gizzi-admin-shell .sitemd-material-add-btn:focus,.gizzi-admin-shell .sitemd-material-add-btn:active{box-shadow:none!important;outline:none;}
@media(max-width:900px){.gizzi-new-job-panel .gizzi-job-create-choice{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.gizzi-new-job-panel .gizzi-job-create-choice{grid-template-columns:1fr;padding:12px;}.gizzi-new-job-panel .gizzi-job-previous-wrap{grid-column:auto;}}


/* SiteMD 5.4.1: unified non-calendar hover/focus states */
.gizzi-admin-shell button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):hover,
.gizzi-admin-shell button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):focus,
.gizzi-admin-shell button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):active,
.gizzi-portal button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):hover,
.gizzi-portal button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):focus,
.gizzi-portal button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):active,
.gizzi-modal button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):hover,
.gizzi-modal button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):focus,
.gizzi-modal button:not(.gizzi-calendar-slot):not(.gizzi-calendar-day):not(.gizzi-month-day):not(.gizzi-month-job-chip):not(.gizzi-calendar-job-card):not(.gizzi-calendar-event):not(.gizzi-day-slot):active,
.gizzi-admin-shell input[type="submit"]:hover,
.gizzi-admin-shell input[type="submit"]:focus,
.gizzi-admin-shell input[type="submit"]:active,
.gizzi-portal input[type="submit"]:hover,
.gizzi-portal input[type="submit"]:focus,
.gizzi-portal input[type="submit"]:active,
.gizzi-modal input[type="submit"]:hover,
.gizzi-modal input[type="submit"]:focus,
.gizzi-modal input[type="submit"]:active,
.gizzi-admin-shell a.gizzi-admin-button:hover,
.gizzi-admin-shell a.gizzi-admin-button:focus,
.gizzi-admin-shell a.gizzi-admin-button:active,
.gizzi-admin-shell a.gizzi-admin-small-button:hover,
.gizzi-admin-shell a.gizzi-admin-small-button:focus,
.gizzi-admin-shell a.gizzi-admin-small-button:active,
.gizzi-admin-shell a.gizzi-light-action:hover,
.gizzi-admin-shell a.gizzi-light-action:focus,
.gizzi-admin-shell a.gizzi-light-action:active,
.gizzi-portal a.gizzi-admin-button:hover,
.gizzi-portal a.gizzi-admin-button:focus,
.gizzi-portal a.gizzi-admin-button:active,
.gizzi-portal a.gizzi-admin-small-button:hover,
.gizzi-portal a.gizzi-admin-small-button:focus,
.gizzi-portal a.gizzi-admin-small-button:active,
.gizzi-portal a.gizzi-light-action:hover,
.gizzi-portal a.gizzi-light-action:focus,
.gizzi-portal a.gizzi-light-action:active {
  --tw-bg-opacity: 1;
  --tw-border-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1)) !important;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1)) !important;
  color: #111827 !important;
  box-shadow: none !important;
  outline: none !important;
  filter: none !important;
}

/* Keep actual calendar slots/events/chips using their calendar-specific colours. */
.gizzi-calendar-slot:hover,
.gizzi-calendar-day:hover,
.gizzi-month-day:hover,
.gizzi-month-job-chip:hover,
.gizzi-calendar-job-card:hover,
.gizzi-calendar-event:hover,
.gizzi-day-slot:hover {
  filter: none;
}

.sitemd-material-add-choice .gizzi-admin-button.sitemd-material-choice-add{
	color: #000 !important;
}


/* Enquiries page polish */
.gizzi-enquiry-search,
.gizzi-customer-search,
input[type="search"],
input[type="text"] {
	border: 1px solid #e5e7eb !important;
	box-shadow: none !important;
	outline: none !important;
}

.gizzi-enquiry-search:focus,
.gizzi-customer-search:focus,
input[type="search"]:focus,
input[type="text"]:focus {
	border-color: rgb(248 113 113 / 1) !important;
	background-color: rgb(254 242 242 / 1) !important;
	box-shadow: none !important;
}

.gizzi-enquiry-search-wrap,
.gizzi-search-wrap {
	position: relative;
}

.gizzi-enquiry-search-wrap svg,
.gizzi-search-wrap svg,
.gizzi-enquiry-search-wrap i,
.gizzi-search-wrap i {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	pointer-events: none;
}

.gizzi-enquiry-search-wrap input,
.gizzi-search-wrap input {
	padding-left: 48px !important;
	border-radius: 12px !important;
	min-height: 56px;
}

/* Remove harsh black selected card border */
.gizzi-stage-card,
.gizzi-pipeline-card,
.gizzi-enquiry-stage-card {
	border: 1px solid #e5e7eb !important;
	box-shadow: none !important;
}

.gizzi-stage-card:hover,
.gizzi-pipeline-card:hover,
.gizzi-enquiry-stage-card:hover,
.gizzi-stage-card.is-active,
.gizzi-pipeline-card.is-active,
.gizzi-enquiry-stage-card.is-active {
	border-color: rgb(248 113 113 / 1) !important;
	background-color: rgb(254 242 242 / 1) !important;
	box-shadow: none !important;
}
/* v5.4.5 - Admin calendar Engineers layout (Base44-style engineer schedule) */
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    margin:0 0 10px!important;
    box-shadow:none!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    height:40px!important;
    padding:0 14px!important;
    border:1px solid #e2e8f0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#334155!important;
    font-weight:900!important;
    font-size:14px!important;
    line-height:1!important;
    box-shadow:none!important;
    flex:0 0 auto!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button:first-child{border-radius:10px 0 0 10px!important;}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button:last-child{border-radius:0 10px 10px 0!important;margin-left:-1px!important;}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button svg{width:16px!important;height:16px!important;}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button.is-active{
    background:#ff3f46!important;
    border-color:#ff3f46!important;
    color:#fff!important;
}
.gizzi-engineer-schedule-app{background:#fff!important;border-top:1px solid #e5e7eb!important;padding-top:20px!important;}
.gizzi-engineer-schedule-app .gizzi-calendar-toolbar{
    display:grid!important;
    grid-template-columns:1fr auto auto!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 14px!important;
    min-height:44px!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-title{grid-column:1!important;text-align:left!important;padding:0!important;}
.gizzi-engineer-schedule-app .gizzi-calendar-title h2{
    margin:0!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:900!important;
    color:#0f172a!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-title p{
    margin:2px 0 0!important;
    color:#0f172a!important;
    font-size:0!important;
    font-weight:900!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-title p::before{content:attr(data-label);}
.gizzi-engineer-schedule-app .gizzi-calendar-nav,
.gizzi-engineer-schedule-app .gizzi-light-action.gizzi-week-today{
    position:static!important;
    width:auto!important;
    min-width:42px!important;
    height:42px!important;
    border:1px solid #e2e8f0!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#0f172a!important;
    box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:900!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-nav[data-direction="prev"]{grid-column:2!important;}
.gizzi-engineer-schedule-app .gizzi-calendar-nav[data-direction="next"]{grid-column:4!important;}
.gizzi-engineer-schedule-app .gizzi-calendar-actions{
    grid-column:3!important;
    grid-row:1!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
}
.gizzi-engineer-schedule-app .gizzi-light-action.gizzi-week-today{padding:0 14px!important;min-width:96px!important;}
.gizzi-engineer-schedule-app .gizzi-calendar-results{overflow-x:auto!important;padding-bottom:2px!important;}
.gizzi-engineer-schedule-app .gizzi-week-calendar{
    padding:0!important;
    border:1px solid #e5e7eb!important;
    border-radius:10px!important;
    overflow:visible!important;
    box-shadow:0 1px 3px rgba(15,23,42,.06)!important;
    background:#fff!important;
    min-width:960px!important;
}
.gizzi-engineer-schedule-app .gizzi-week-tabs,
.gizzi-engineer-schedule-app .gizzi-week-legend,
.gizzi-engineer-schedule-app [data-calendar-view="jobs"]{display:none!important;}
.gizzi-engineer-schedule-app [data-calendar-view="engineers"]{display:block!important;}
.gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
    display:grid!important;
    grid-template-columns:126px repeat(7,minmax(116px,1fr))!important;
    border:0!important;
    border-radius:10px!important;
    overflow:hidden!important;
    background:#fff!important;
    min-width:960px!important;
}
.gizzi-engineer-schedule-app .gizzi-week-corner,
.gizzi-engineer-schedule-app .gizzi-week-day-head,
.gizzi-engineer-schedule-app .gizzi-week-engineer-name,
.gizzi-engineer-schedule-app .gizzi-week-cell{
    border-right:1px solid #edf2f7!important;
    border-bottom:1px solid #edf2f7!important;
    min-height:68px!important;
}
.gizzi-engineer-schedule-app .gizzi-week-corner,
.gizzi-engineer-schedule-app .gizzi-week-day-head{
    position:static!important;
    background:#f8fafc!important;
    z-index:auto!important;
}
.gizzi-engineer-schedule-app .gizzi-week-corner{
    display:flex!important;
    align-items:center!important;
    padding:0 6px!important;
    color:#4b5563!important;
    font-size:14px!important;
    font-weight:900!important;
}
.gizzi-engineer-schedule-app .gizzi-week-day-head{
    text-align:center!important;
    min-height:76px!important;
    padding:12px 4px 8px!important;
}
.gizzi-engineer-schedule-app .gizzi-week-day-head strong{
    display:block!important;
    color:#4b5563!important;
    font-size:0!important;
    line-height:1!important;
    font-weight:900!important;
    margin-bottom:5px!important;
}
.gizzi-engineer-schedule-app .gizzi-week-day-head strong::after{
    content:attr(data-short);
    font-size:14px!important;
}
.gizzi-engineer-schedule-app .gizzi-week-day-head span{
    display:block!important;
    font-size:20px!important;
    font-weight:900!important;
    color:#111827!important;
    line-height:1.05!important;
}
.gizzi-engineer-schedule-app .gizzi-week-day-head:first-of-type strong::after,
.gizzi-engineer-schedule-app .gizzi-week-day-head:first-of-type span{color:#ef4444!important;}
.gizzi-engineer-schedule-app .gizzi-week-engineer-name{
    position:static!important;
    background:#fff!important;
    z-index:auto!important;
    gap:7px!important;
    padding:10px 5px!important;
    color:#111827!important;
    font-size:15px!important;
    font-weight:900!important;
    white-space:nowrap!important;
}
.gizzi-engineer-schedule-app .gizzi-week-engineer-name i{
    width:8px!important;
    height:8px!important;
    background:#b8c0cc!important;
    box-shadow:none!important;
    flex:0 0 auto!important;
}
.gizzi-engineer-schedule-app .gizzi-week-cell{
    padding:6px 4px!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
}

.gizzi-engineer-schedule-app .gizzi-week-chip[style*="bbf7d0"],
.gizzi-engineer-schedule-app .gizzi-week-chip[style*="a7f3d0"]{
    background:#dcfce7!important;
    border-color:#86efac!important;
    color:#166534!important;
}
.gizzi-engineer-schedule-app .gizzi-week-chip[style*="fde68a"]{
    background:#fef3c7!important;
    border-color:#fbbf24!important;
    color:#92400e!important;
}
.gizzi-engineer-schedule-app .gizzi-week-chip span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.gizzi-engineer-schedule-app .gizzi-week-holiday-chip{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:24px!important;
    border:1px dashed #86efac!important;
    background:#f0fdf4!important;
    color:#166534!important;
    border-radius:4px!important;
    font-size:0!important;
    box-shadow:none!important;
}
.gizzi-engineer-schedule-app .gizzi-week-holiday-chip .gizzi-week-holiday-icon{font-size:13px!important;line-height:1!important;}
.gizzi-engineer-schedule-app .gizzi-week-holiday-chip .gizzi-week-holiday-name{display:none!important;}
@media(max-width:900px){
    .gizzi-calendar-section .gizzi-admin-calendar-mode-switch{justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:4px!important;}
    .gizzi-engineer-schedule-app .gizzi-calendar-toolbar{grid-template-columns:1fr 42px minmax(86px,auto) 42px!important;}
    .gizzi-engineer-schedule-app .gizzi-week-calendar,
    .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{min-width:820px!important;}
    .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{grid-template-columns:104px repeat(7,102px)!important;}
}
.gizzi-engineer-schedule-app .gizzi-calendar-title p{
    font-size:14px!important;
    color:#0f172a!important;
    font-weight:900!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-title p::before{content:none!important;}

/* v5.4.7 mobile calendar switch/layout fix */
@media (max-width: 640px){
  .gizzi-calendar-section{
    overflow:hidden!important;
  }
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    width:min(92vw, 360px)!important;
    max-width:92vw!important;
    margin:12px auto 18px!important;
    padding:4px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid #e2e8f0!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch button,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch a{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch button:first-child,
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch button:last-child,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button:first-child,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button:last-child{
    border-radius:14px!important;
    margin:0!important;
  }
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch button svg,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch button svg,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch a svg{
    width:14px!important;
    height:14px!important;
    flex:0 0 14px!important;
  }
  .gizzi-calendar-app,
  .gizzi-month-calendar-app,
  .gizzi-week-calendar-app,
  .gizzi-engineer-schedule-app{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  .gizzi-engineer-schedule-app{
    padding-top:0!important;
  }
  .gizzi-engineer-schedule-app .gizzi-calendar-toolbar{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px!important;
    min-height:0!important;
  }
  .gizzi-engineer-schedule-app .gizzi-calendar-title,
  .gizzi-engineer-schedule-app .gizzi-calendar-actions,
  .gizzi-engineer-schedule-app .gizzi-calendar-nav,
  .gizzi-engineer-schedule-app .gizzi-calendar-nav[data-direction="prev"],
  .gizzi-engineer-schedule-app .gizzi-calendar-nav[data-direction="next"]{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .gizzi-engineer-schedule-app .gizzi-calendar-title h2{
    font-size:18px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-calendar-results{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-calendar,
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
    min-width:760px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
    grid-template-columns:92px repeat(7,95px)!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name{
    font-size:13px!important;
    padding:9px 5px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-day-head span{
    font-size:18px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-chip{
    font-size:11px!important;
  }
}

/* v5.4.8 fix calendar/engineers toggle globally - stop stretched/overlapping buttons */
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 14px auto!important;
  padding:3px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 12px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#374151!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  box-shadow:none!important;
  transform:none!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button::before,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button::before{
  content:none!important;
  display:none!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button svg,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button svg,
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button i,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button i{
  width:14px!important;
  height:14px!important;
  flex:0 0 14px!important;
  font-size:14px!important;
  line-height:1!important;
  margin:0!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button.is-active,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button.is-active,
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button.active,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button.active{
  background:#ef4444!important;
  border-color:#ef4444!important;
  color:#fff!important;
}
.gizzi-calendar-section .gizzi-admin-calendar-mode-switch button:not(.is-active):not(.active):hover,
.gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button:not(.is-active):not(.active):hover{
  background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))!important;
  border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))!important;
  color:#111827!important;
}
@media(max-width:640px){
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch{
    display:flex!important;
    width:max-content!important;
    max-width:calc(100vw - 32px)!important;
    margin:10px auto 16px!important;
  }
  .gizzi-calendar-section .gizzi-admin-calendar-mode-switch button,
  .gizzi-calendar-section > .gizzi-calendar-layout-switch.gizzi-admin-calendar-mode-switch button{
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12px!important;
    flex:0 0 auto!important;
  }
}

/* v5.4.9 - place Calendar/Engineers toggle in the calendar title/header row */
.gizzi-calendar-section .gizzi-calendar-toolbar{
  position:relative!important;
}
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch,
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch{
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:5!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:3px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transform:none!important;
}
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch button,
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch button{
  height:36px!important;
  min-height:36px!important;
  padding:0 12px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch button.is-active,
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch button.is-active{
  background:#ff3f46!important;
  border-color:#ff3f46!important;
  color:#fff!important;
}
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch button svg,
.gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch button svg{
  width:14px!important;
  height:14px!important;
  flex:0 0 14px!important;
}
.gizzi-month-calendar-app .gizzi-calendar-toolbar{
  padding-right:230px!important;
}
.gizzi-month-calendar-app .gizzi-calendar-title{
  max-width:calc(100% - 10px)!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-toolbar,
.gizzi-engineer-calendar-app.gizzi-week-calendar-app .gizzi-calendar-toolbar{
  padding-right:230px!important;
}
.gizzi-engineer-schedule-app .gizzi-calendar-title,
.gizzi-engineer-calendar-app.gizzi-week-calendar-app .gizzi-calendar-title{
  max-width:calc(100% - 10px)!important;
}
@media(max-width:900px){
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch,
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch{
    right:0!important;
    top:0!important;
  }
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch button,
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch button{
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    font-size:13px!important;
  }
  .gizzi-month-calendar-app .gizzi-calendar-toolbar,
  .gizzi-engineer-schedule-app .gizzi-calendar-toolbar,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app .gizzi-calendar-toolbar{
    padding-right:205px!important;
  }
}
@media(max-width:640px){
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch,
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch{
    width:auto!important;
    max-width:48vw!important;
    margin:0!important;
  }
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch button,
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch button{
    height:32px!important;
    min-height:32px!important;
    padding:0 8px!important;
    font-size:12px!important;
    gap:4px!important;
  }
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch button svg,
  .gizzi-calendar-section .gizzi-calendar-toolbar > .gizzi-admin-calendar-mode-switch button svg{
    display:none!important;
  }
  .gizzi-month-calendar-app .gizzi-calendar-toolbar,
  .gizzi-engineer-schedule-app .gizzi-calendar-toolbar,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app .gizzi-calendar-toolbar{
    padding-right:0!important;
    min-height:94px!important;
  }
  .gizzi-month-calendar-app .gizzi-calendar-title,
  .gizzi-engineer-schedule-app .gizzi-calendar-title,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app .gizzi-calendar-title{
    padding-right:46vw!important;
    max-width:100%!important;
  }
  .gizzi-month-calendar-app .gizzi-calendar-title h2,
  .gizzi-engineer-schedule-app .gizzi-calendar-title h2,
  .gizzi-engineer-calendar-app.gizzi-week-calendar-app .gizzi-calendar-title h2{
    font-size:24px!important;
    line-height:1.05!important;
  }
}

.gizzi-admin-shell, .gizzi-engineer-shell{
	min-height: 100vh;
}
/* 5.4.10 - Mobile dashboard card layout polish for admin + engineer home screens */
@media (max-width: 700px) {
  .gizzi-admin-shell .gizzi-admin-main,
  .gizzi-engineer-shell .gizzi-admin-main {
    background: #f8fafc !important;
  }

  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards,
  .gizzi-b44-dashboard .gizzi-b44-metrics {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card,
  .gizzi-b44-dashboard .gizzi-b44-metrics .gizzi-admin-card {
    min-height: 1px !important;
    width: auto !important;
    padding: 16px !important;
    border-radius: 22px !important;
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    background: #ffffff !important;
    border: 1px solid #e5eaf1 !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07) !important;
    overflow: hidden !important;
  }

  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card em,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card em,
  .gizzi-b44-dashboard .gizzi-b44-metrics .gizzi-admin-card em {
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    background: #fff1f2 !important;
    color: #ef4444 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card strong,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card strong,
  .gizzi-b44-dashboard .gizzi-b44-metrics .gizzi-admin-card strong {
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin: 0 0 8px !important;
    color: #475569 !important;
    letter-spacing: .02em !important;
  }

  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card span,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card span,
  .gizzi-b44-dashboard .gizzi-b44-metrics .gizzi-admin-card span {
    font-size: 32px !important;
    font-weight: 950 !important;
    line-height: .95 !important;
    margin: 0 !important;
    color: #0f172a !important;
  }

  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card p,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards .gizzi-admin-card p,
  .gizzi-b44-dashboard .gizzi-b44-metrics .gizzi-admin-card p {
    display: none !important;
  }

  .gizzi-admin-section,
  .gizzi-b44-dashboard .gizzi-b44-wide-card,
  .gizzi-b44-dashboard .gizzi-b44-list-panel,
  .gizzi-b44-dashboard .gizzi-b44-live-box {
    background: #fff !important;
    border: 1px solid #e5eaf1 !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07) !important;
  }

  .gizzi-admin-section {
    padding: 16px !important;
  }

  .gizzi-admin-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  .gizzi-admin-section-head h2,
  .gizzi-b44-section-title h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  .gizzi-admin-card-list.gizzi-job-card-list,
  .gizzi-admin-card-list,
  .gizzi-b44-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .gizzi-record-card,
  .gizzi-mobile-job-card,
  .gizzi-engineer-job-card,
  .gizzi-mobile-record-card,
  .gizzi-b44-row {
    border: 1px solid #e5eaf1 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .055) !important;
    padding: 14px !important;
  }

  .gizzi-record-card {
    display: block !important;
  }

  .gizzi-record-card-title-row,
  .gizzi-mobile-card-top {
    gap: 10px !important;
  }

  .gizzi-record-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .gizzi-b44-dashboard .gizzi-b44-staff-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    justify-content: stretch !important;
    overflow: visible !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .gizzi-b44-dashboard .gizzi-b44-staff-pill {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid #e5eaf1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .05) !important;
    justify-content: flex-start !important;
  }

  .gizzi-b44-dashboard .gizzi-b44-wide-card {
    margin-bottom: 14px !important;
    padding: 16px !important;
  }

  .gizzi-b44-dashboard .gizzi-b44-list-panel {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .gizzi-b44-dashboard .gizzi-b44-list-panel header {
    padding: 16px !important;
  }

  .gizzi-b44-dashboard .gizzi-b44-panel-body {
    padding: 12px !important;
  }
}

@media (max-width: 380px) {
  .gizzi-admin-shell .gizzi-admin-main > .gizzi-admin-cards,
  .gizzi-engineer-shell .gizzi-admin-main > .gizzi-admin-cards,
  .gizzi-b44-dashboard .gizzi-b44-metrics {
    grid-template-columns: 1fr !important;
  }
}

/* 5.4.11 - Profile hub cards and menu simplification */
.gizzi-profile-options{
  margin:22px 0!important;
  padding:28px!important;
  background:#fff!important;
  border:1px solid #e5eaf1!important;
  border-radius:24px!important;
  box-shadow:0 16px 40px rgba(15,23,42,.05)!important;
}
.gizzi-profile-options-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 20px!important}
.gizzi-profile-options-head h3{margin:0!important;font-size:28px!important;line-height:1.1!important;font-weight:900!important;color:#0f172a!important;letter-spacing:-.03em!important}
.gizzi-profile-options-head p{margin:6px 0 0!important;color:#64748b!important;font-weight:700!important}
.gizzi-profile-options-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.gizzi-profile-option-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;min-height:220px!important;padding:26px!important;border:1px solid #e5eaf1!important;border-radius:22px!important;background:#fff!important;color:#0f172a!important;text-decoration:none!important;box-shadow:none!important;transition:background-color .16s ease,border-color .16s ease,transform .16s ease!important;overflow:hidden!important}
.gizzi-profile-option-card:hover,.gizzi-profile-option-card:focus{background-color:rgb(254 242 242 / var(--tw-bg-opacity,1))!important;border-color:rgb(248 113 113 / var(--tw-border-opacity,1))!important;color:#0f172a!important;transform:translateY(-1px)!important;box-shadow:none!important;outline:none!important}
.gizzi-profile-option-icon{width:64px!important;height:64px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:18px!important;background:#eff6ff!important;color:#2563eb!important;flex:0 0 auto!important}
.gizzi-profile-option-icon svg{width:26px!important;height:26px!important;display:block!important}
.gizzi-profile-option-card strong{display:block!important;font-size:24px!important;line-height:1.15!important;font-weight:900!important;color:#0f172a!important;letter-spacing:-.03em!important;margin-top:8px!important}
.gizzi-profile-option-card em{font-style:normal!important;color:#64748b!important;font-size:15px!important;line-height:1.45!important;font-weight:700!important;display:block!important;max-width:28ch!important}
.gizzi-profile-option-open{margin-top:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:11px 18px!important;border-radius:14px!important;background:#ff3f46!important;color:#fff!important;font-weight:900!important;font-size:14px!important;border:1px solid #ff3f46!important;box-shadow:none!important}
.gizzi-profile-option-card:hover .gizzi-profile-option-open{background:#fff!important;color:#0f172a!important;border-color:rgb(248 113 113 / 1)!important}
@media(max-width:1100px){.gizzi-profile-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.gizzi-profile-options{padding:18px!important;border-radius:20px!important}.gizzi-profile-options-head{display:block!important}.gizzi-profile-options-head h3{font-size:24px!important}.gizzi-profile-options-grid{grid-template-columns:1fr!important}.gizzi-profile-option-card{min-height:0!important;padding:20px!important;border-radius:20px!important}.gizzi-profile-option-card strong{font-size:21px!important}.gizzi-profile-option-icon{width:54px!important;height:54px!important;border-radius:16px!important}}

/* v6.6.0 - Mobile/tablet notification bell in dashboard top bar */
.gizzi-topbar-mobile-notifications{
  display:none!important;
}
@media (max-width:1366px){
  .gizzi-admin-topbar{
    display:flex!important;
    align-items:center!important;
    gap:11.2px!important;
  }
  .gizzi-admin-topbar .gizzi-admin-title-block{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .gizzi-topbar-mobile-notifications{
    display:inline-flex!important;
    position:relative!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-radius:14px!important;
    border:1px solid #e5e7eb!important;
    background:#fff!important;
    color:#111827!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
    box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
    margin-left:auto!important;
    z-index:2!important;
  }
  .gizzi-topbar-mobile-notifications:hover,
  .gizzi-topbar-mobile-notifications:focus,
  .gizzi-topbar-mobile-notifications:active{
    background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))!important;
    border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))!important;
    color:#111827!important;
    box-shadow:none!important;
  }
  .gizzi-topbar-mobile-notifications-icon,
  .gizzi-topbar-mobile-notifications-icon .gizzi-svg-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .gizzi-topbar-mobile-notifications svg{
    width:20px!important;
    height:20px!important;
  }
  .gizzi-topbar-mobile-notifications-badge{
    position:absolute!important;
    top:-7px!important;
    right:-7px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:#ef4444!important;
    color:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:1!important;
    border:2px solid #fff!important;
    box-shadow:0 4px 10px rgba(239,68,68,.24)!important;
  }
}
@media (max-width:512px){
  .gizzi-topbar-mobile-notifications{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:13px!important;
  }
  .gizzi-topbar-mobile-notifications svg{
    width:19px!important;
    height:19px!important;
  }
}

/* v6.6.1 - Fleet & Vans Base44-style page */
.gizzi-fleet-vans-page,
.gizzi-fleet-vans-list{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0 auto 28px!important;
    max-width:1180px!important;
}
.gizzi-fleet-vans-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;margin:0 0 28px!important}
.gizzi-fleet-title-wrap{display:flex!important;align-items:center!important;gap:16px!important}
.gizzi-fleet-title-icon{width:54px!important;height:54px!important;border-radius:14px!important;background:#111827!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}.gizzi-fleet-title-icon svg{width:23px!important;height:23px!important}
.gizzi-fleet-title-wrap h1{margin:0!important;font-size:34px!important;line-height:1!important;font-weight:900!important;letter-spacing:-.04em!important;color:#0f172a!important}.gizzi-fleet-title-wrap p{margin:6px 0 0!important;color:#6b7280!important;font-size:16px!important;font-weight:500!important}
.gizzi-fleet-add-btn,.gizzi-fleet-small-red{background:#f94144!important;border-color:#f94144!important;color:#fff!important;border-radius:9px!important;box-shadow:0 8px 18px rgba(249,65,68,.18)!important;font-weight:900!important}.gizzi-fleet-add-btn:hover,.gizzi-fleet-small-red:hover{background:#fee2e2!important;border-color:#f87171!important;color:#111827!important;box-shadow:none!important}
.gizzi-fleet-vehicle-card{position:relative!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:14px!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;padding:28px!important;margin:0 0 24px!important;color:#0f172a!important;overflow:hidden!important}.gizzi-fleet-card-actions{position:absolute!important;right:26px!important;top:24px!important;display:flex!important;gap:18px!important;align-items:center!important}.gizzi-fleet-card-actions form{margin:0!important}.gizzi-fleet-icon-action{width:22px!important;height:22px!important;padding:0!important;border:0!important;background:transparent!important;color:#2563eb!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-shadow:none!important}.gizzi-fleet-icon-action svg{width:19px!important;height:19px!important}.gizzi-fleet-icon-action.is-delete{color:#ef4444!important}
.gizzi-fleet-card-top{display:flex!important;align-items:flex-start!important;gap:16px!important;margin:0 70px 22px 0!important}.gizzi-fleet-vehicle-icon{width:54px!important;height:54px!important;border-radius:13px!important;background:#f1f5f9!important;color:#475569!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}.gizzi-fleet-vehicle-icon svg{width:24px!important;height:24px!important}.gizzi-fleet-card-top h3{margin:8px 0 4px!important;font-size:21px!important;line-height:1.1!important;font-weight:900!important;color:#111827!important;letter-spacing:-.02em!important}.gizzi-fleet-reg-plate{display:inline-flex!important;align-items:center!important;padding:4px 10px!important;border-radius:6px!important;background:#fef3c7!important;border:1px solid #facc15!important;color:#92400e!important;font-size:13px!important;font-weight:800!important}
.gizzi-fleet-date-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0 0 24px!important}.gizzi-fleet-date-card{border-radius:9px!important;padding:13px 17px!important;min-height:76px!important;background:#f8fafc!important;color:#94a3b8!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.gizzi-fleet-date-label{display:flex!important;align-items:center!important;gap:8px!important;color:inherit!important;font-size:14px!important;font-weight:700!important}.gizzi-fleet-date-label svg{width:18px!important;height:18px!important}.gizzi-fleet-date-card strong{display:block!important;margin:4px 0 0!important;font-size:18px!important;line-height:1.05!important;font-weight:900!important;color:inherit!important}.gizzi-fleet-date-card em{font-style:normal!important;font-size:14px!important;font-weight:700!important;margin-top:2px!important;color:inherit!important}.gizzi-fleet-date-card.is-good{background:#ecfdf3!important;color:#15803d!important}.gizzi-fleet-date-card.is-warning{background:#fffbeb!important;color:#b45309!important}.gizzi-fleet-date-card.is-overdue{background:#fef2f2!important;color:#dc2626!important}.gizzi-fleet-date-card.is-empty{background:#f8fafc!important;color:#94a3b8!important}
.gizzi-fleet-breakdown-box{background:#eff6ff!important;border:1px solid #dbeafe!important;border-radius:9px!important;padding:18px 20px!important;margin:0 0 22px!important;color:#1e40af!important}.gizzi-fleet-breakdown-box h4{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 12px!important;font-size:15px!important;font-weight:900!important}.gizzi-fleet-breakdown-box p{margin:5px 0!important;font-size:14px!important;line-height:1.4!important}.gizzi-fleet-breakdown-box a{color:#1d4ed8!important;text-decoration:underline!important;font-weight:900!important}
.gizzi-fleet-private-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;background:#f3e8ff!important;color:#7e22ce!important;border-radius:999px!important;padding:5px 12px!important;font-size:14px!important;font-weight:900!important;margin:0 0 18px!important}.gizzi-fleet-private-badge svg{width:15px!important;height:15px!important}
.gizzi-fleet-log-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;border-top:1px solid #edf0f4!important;padding-top:20px!important;margin-top:18px!important}.gizzi-fleet-collapse-btn{display:inline-flex!important;align-items:center!important;gap:9px!important;background:#fff!important;border:1px solid #9ca3af!important;border-radius:5px!important;color:#4b5563!important;font-size:15px!important;font-weight:900!important;padding:4px 8px!important;height:30px!important;box-shadow:none!important}.gizzi-fleet-collapse-btn svg{width:18px!important;height:18px!important}.gizzi-fleet-total{margin:14px 0 12px!important;color:#64748b!important;font-size:15px!important;font-weight:600!important}.gizzi-fleet-total strong{color:#111827!important;font-weight:900!important}.gizzi-fleet-empty-inline{margin:14px 0 0!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;border-radius:10px!important;padding:22px!important;color:#64748b!important;font-weight:800!important;text-align:center!important}
.gizzi-fleet-mileage-box{margin-top:14px!important;background:#faf5ff!important;border-radius:10px!important;padding:16px 18px!important}.gizzi-fleet-mileage-month{margin:0 0 12px!important}.gizzi-fleet-mileage-month:last-child{margin-bottom:0!important}.gizzi-fleet-mileage-month-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;color:#7e22ce!important;font-size:14px!important;font-weight:900!important;margin-bottom:10px!important}.gizzi-fleet-mileage-row{display:flex!important;justify-content:space-between!important;gap:16px!important;background:#fff!important;border-radius:5px!important;padding:12px 14px!important;margin:0 0 4px!important}.gizzi-fleet-mileage-row small{display:block!important;color:#94a3b8!important;font-weight:800!important}.gizzi-fleet-mileage-row span{display:block!important;color:#475569!important;font-weight:700!important;line-height:1.35!important}.gizzi-fleet-mileage-row strong,.gizzi-fleet-mileage-row b{display:block!important;text-align:right!important;color:#475569!important;font-weight:900!important}.gizzi-fleet-mileage-row b{color:#7e22ce!important;margin-top:2px!important}
.gizzi-fleet-receipt-list{margin-top:12px!important}.gizzi-fleet-receipt-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;background:#f8fafc!important;border-radius:6px!important;padding:11px 14px!important;margin:0 0 8px!important}.gizzi-fleet-receipt-row strong{display:block!important;color:#111827!important;font-size:17px!important;font-weight:900!important}.gizzi-fleet-receipt-row span{display:block!important;color:#64748b!important;font-weight:700!important}.gizzi-fleet-receipt-row a{color:#2563eb!important;text-decoration:none!important}.gizzi-fleet-receipt-row svg{width:18px!important;height:18px!important}
.gizzi-fleet-modal-panel{max-width:580px!important;border-radius:10px!important}.gizzi-fleet-modal-panel label{display:block!important;margin:0 0 18px!important;color:#111827!important;font-weight:900!important}.gizzi-fleet-modal-panel input,.gizzi-fleet-modal-panel select,.gizzi-fleet-modal-panel textarea{width:100%!important;margin-top:7px!important;border:1px solid #e5e7eb!important;border-radius:8px!important;background:#fff!important;min-height:48px!important;padding:10px 16px!important;color:#111827!important;box-shadow:none!important}.gizzi-fleet-route-fields{margin:0 0 18px!important}.gizzi-fleet-route-fields label{margin-bottom:10px!important}.gizzi-fleet-route-fields .gizzi-light-action{width:100%!important;justify-content:center!important;min-height:42px!important;border-radius:8px!important}
@media(max-width:900px){.gizzi-fleet-vans-page,.gizzi-fleet-vans-list{max-width:100%!important}.gizzi-fleet-vans-head{align-items:flex-start!important;flex-direction:column!important}.gizzi-fleet-add-btn{width:100%!important;justify-content:center!important}.gizzi-fleet-vehicle-card{padding:22px!important}.gizzi-fleet-card-actions{right:20px!important;top:20px!important}.gizzi-fleet-date-grid{grid-template-columns:1fr!important}.gizzi-fleet-log-head{align-items:stretch!important;flex-direction:column!important}.gizzi-fleet-small-red{width:100%!important;justify-content:center!important}.gizzi-fleet-mileage-month-head,.gizzi-fleet-mileage-row{align-items:flex-start!important;flex-direction:column!important}.gizzi-fleet-mileage-row strong,.gizzi-fleet-mileage-row b{text-align:left!important}.gizzi-fleet-title-wrap h1{font-size:30px!important}}

/* v7.0.0 Fleet & Vans collapsed logs and route calculator polish */
.gizzi-fleet-collapsible[hidden]{display:none!important}
.gizzi-fleet-collapse-btn{cursor:pointer!important;user-select:none!important}
.gizzi-fleet-collapse-btn .gizzi-fleet-toggle-chevron{margin-left:6px!important;font-size:16px!important;line-height:1!important;transition:transform .16s ease!important}
.gizzi-fleet-collapse-btn.is-open .gizzi-fleet-toggle-chevron{transform:rotate(180deg)!important}
.gizzi-route-stop-row{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important;position:relative!important}
.gizzi-route-stop-row input{margin:0!important;flex:1!important}
.gizzi-route-dot{width:12px!important;height:12px!important;border-radius:999px!important;background:#94a3b8!important;box-shadow:0 0 0 4px rgba(148,163,184,.12)!important;flex:0 0 12px!important}
.gizzi-route-dot.is-green{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.13)!important}
.gizzi-route-dot.is-red{background:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.13)!important}
.gizzi-route-extra-stops{margin:0!important;padding:0!important}
.gizzi-route-remove-stop{width:34px!important;height:34px!important;border-radius:8px!important;border:1px solid #fee2e2!important;background:#fff!important;color:#ef4444!important;font-weight:900!important;box-shadow:none!important;padding:0!important;line-height:1!important}
.gizzi-route-status{min-height:20px!important;margin:8px 0 0 22px!important;color:#64748b!important;font-size:13px!important;font-weight:700!important}
.gizzi-fleet-note-label{margin:12px 0 3px!important;color:#1e40af!important;font-weight:900!important}
.gizzi-fleet-note-value{margin:2px 0!important;color:#1e40af!important;line-height:1.35!important}
.gizzi-fleet-breakdown-box p.gizzi-fleet-note-label,.gizzi-fleet-breakdown-box p.gizzi-fleet-note-value{font-size:14px!important}

/* v7.1.0 - Admin/manager mobile Engineer Mode switch */
.gizzi-topbar-engineer-mode{
  display:none!important;
}

.gizzi-admin-title-block{
	display: none;
}
@media (max-width:1366px){
  .gizzi-admin-topbar .gizzi-admin-topbar-menu{}
  .gizzi-admin-topbar .gizzi-topbar-engineer-mode{}
  .gizzi-admin-topbar .gizzi-admin-title-block{order:3!important;}
  .gizzi-admin-topbar .gizzi-topbar-mobile-notifications{order:4!important;}
  .gizzi-topbar-engineer-mode{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:44px!important;
    height:44px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    border:1px solid #facc15!important;
    background:#fef9c3!important;
    color:#111827!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    box-shadow:0 8px 22px rgba(250,204,21,.18)!important;
    flex:0 0 auto!important;
  }
  .gizzi-topbar-engineer-mode:hover,
  .gizzi-topbar-engineer-mode:focus,
  .gizzi-topbar-engineer-mode:active{
    background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))!important;
    border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))!important;
    color:#111827!important;
    box-shadow:none!important;
  }
  .gizzi-topbar-engineer-mode-icon,
  .gizzi-topbar-engineer-mode-icon .gizzi-svg-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .gizzi-topbar-engineer-mode svg{
    width:17px!important;
    height:17px!important;
  }
}
@media (min-width:1367px){
  .gizzi-topbar-engineer-mode{display:none!important;}
}
@media (max-width:700px){
  .gizzi-topbar-engineer-mode{
    min-height:40px!important;
    height:40px!important;
    padding:0 11px!important;
    font-size:12px!important;
  }
  .gizzi-topbar-engineer-mode svg{
    width:16px!important;
    height:16px!important;
  }
}
@media (max-width:420px){
  .gizzi-topbar-engineer-mode-text{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media (max-width:360px){
  .gizzi-topbar-engineer-mode-text{
    display:none!important;
  }
  .gizzi-topbar-engineer-mode{
    width:40px!important;
    min-width:40px!important;
    padding:0!important;
    border-radius:14px!important;
  }
}

/* 7.5.0 recurring jobs: clean repeat block, exact-date picker and virtual preview chips */
.gizzi-job-repeat-box{grid-column:1/-1!important;border:1px solid #e5e7eb!important;border-radius:18px!important;background:#fff!important;padding:18px!important;margin-top:8px!important;box-shadow:none!important}.gizzi-job-repeat-toggle{display:flex!important;align-items:flex-start!important;gap:14px!important;margin:0!important;cursor:pointer!important}.gizzi-job-repeat-toggle input[type="checkbox"]{width:24px!important;height:24px!important;min-width:24px!important;margin:4px 0 0!important;accent-color:#ef4444!important;border-radius:8px!important}.gizzi-job-repeat-toggle span{display:flex!important;flex-direction:column!important;gap:4px!important}.gizzi-job-repeat-toggle strong{font-size:20px!important;line-height:1.15!important;font-weight:900!important;color:#0f172a!important}.gizzi-job-repeat-toggle em{font-style:normal!important;font-size:15px!important;line-height:1.45!important;color:#64748b!important;font-weight:500!important}.gizzi-job-repeat-fields{display:none;margin-top:18px!important;border-top:1px solid #eef2f7!important;padding-top:18px!important}.gizzi-recurring-simple-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.gizzi-recurring-simple-fields[hidden],.gizzi-recurring-exact-fields[hidden]{display:none!important}.gizzi-recurring-exact-fields{display:grid!important;grid-template-columns:1fr auto!important;gap:14px!important;align-items:end!important}.gizzi-recurring-exact-fields .gizzi-admin-help,.gizzi-recurring-date-calendar,.gizzi-recurring-date-chips{grid-column:1/-1!important}.gizzi-recurring-date-calendar{border:1px solid #e5e7eb!important;border-radius:16px!important;background:#f8fafc!important;padding:14px!important}.gizzi-recurring-calendar-title{font-weight:900!important;color:#0f172a!important;margin-bottom:10px!important}.gizzi-recurring-calendar-head,.gizzi-recurring-calendar-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important}.gizzi-recurring-calendar-head span{text-align:center!important;font-size:12px!important;font-weight:800!important;color:#64748b!important}.gizzi-recurring-calendar-day{height:38px!important;border:1px solid #e5e7eb!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important}.gizzi-recurring-calendar-day.is-muted{opacity:.4!important}.gizzi-recurring-calendar-day.is-selected{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.gizzi-recurring-date-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.gizzi-recurring-date-chip{border:1px solid #fecaca!important;background:#fff1f2!important;color:#b91c1c!important;border-radius:999px!important;padding:8px 12px!important;font-weight:800!important;box-shadow:none!important}.gizzi-recurring-sync-form{margin:12px 0!important}.gizzi-month-job-chip.is-virtual-recurring,.gizzi-week-chip.is-virtual-recurring,.gizzi-week-job-block.is-virtual-recurring{border-style:dashed!important;opacity:.88!important}.gizzi-month-job-chip.is-virtual-recurring span:before,.gizzi-week-chip.is-virtual-recurring span:before{content:'↻ ';font-weight:900!important}@media(max-width:768px){.gizzi-recurring-simple-fields,.gizzi-recurring-exact-fields{grid-template-columns:1fr!important}.gizzi-job-repeat-toggle strong{font-size:18px!important}.gizzi-job-repeat-toggle em{font-size:14px!important}}

/* 7.5.5 Admin job control panel */
.gizzi-admin-job-control-card{border:1px solid #e5e7eb!important;background:#fff!important;border-radius:18px!important;box-shadow:none!important}
.gizzi-admin-job-control-head h3{margin:0 0 6px!important;font-size:22px!important;font-weight:900!important;color:#0f172a!important}
.gizzi-admin-job-control-head p{margin:0 0 18px!important;color:#64748b!important;font-weight:600!important}
.gizzi-admin-job-control-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.gizzi-admin-job-control-box{display:flex!important;flex-direction:column!important;gap:12px!important;padding:18px!important;border:1px solid #e5e7eb!important;border-radius:16px!important;background:#f8fafc!important;margin:0!important}
.gizzi-admin-job-control-box strong{display:flex!important;align-items:center!important;gap:10px!important;font-size:18px!important;font-weight:900!important;color:#0f172a!important}
.gizzi-admin-job-control-box p{margin:0!important;color:#64748b!important;font-weight:600!important;line-height:1.45!important}
.gizzi-admin-job-control-box label{font-size:13px!important;font-weight:800!important;color:#334155!important}
.gizzi-admin-job-control-box textarea,.gizzi-admin-job-control-box select{width:100%!important;border:1px solid #e5e7eb!important;border-radius:12px!important;background:#fff!important;padding:10px 12px!important;box-shadow:none!important;color:#0f172a!important}
.gizzi-control-check{display:flex!important;align-items:center!important;gap:8px!important;font-size:13px!important;color:#475569!important}
.gizzi-control-check input{width:18px!important;height:18px!important;accent-color:#ef4444!important}
.gizzi-danger-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #ef4444!important;background:#ef4444!important;color:#fff!important;border-radius:12px!important;padding:11px 18px!important;font-weight:900!important;box-shadow:none!important;cursor:pointer!important;text-decoration:none!important}
.gizzi-danger-action:hover{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
.gizzi-admin-button:disabled{opacity:.55!important;cursor:not-allowed!important}
@media(max-width:820px){.gizzi-admin-job-control-grid{grid-template-columns:1fr!important}.gizzi-admin-job-control-box{padding:16px!important}}

/* v7.5.5 hotfix: recurring controls in Add New Job modal */
.gizzi-new-job-panel .gizzi-job-repeat-box:not(.is-enabled) .gizzi-job-repeat-fields{display:none!important;}
.gizzi-new-job-panel .gizzi-job-repeat-box.is-enabled .gizzi-job-repeat-fields{display:block!important;}
.gizzi-new-job-panel .gizzi-job-repeat-box.is-simple .gizzi-recurring-simple-fields{display:grid!important;}
.gizzi-new-job-panel .gizzi-job-repeat-box.is-simple .gizzi-recurring-exact-fields{display:none!important;}
.gizzi-new-job-panel .gizzi-job-repeat-box.is-exact .gizzi-recurring-simple-fields{display:none!important;}
.gizzi-new-job-panel .gizzi-job-repeat-box.is-exact .gizzi-recurring-exact-fields{display:grid!important;}
.gizzi-new-job-panel .gizzi-job-repeat-fields[hidden],
.gizzi-new-job-panel .gizzi-recurring-simple-fields[hidden],
.gizzi-new-job-panel .gizzi-recurring-exact-fields[hidden]{display:none!important;}
.gizzi-new-job-panel .gizzi-recurring-simple-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.gizzi-new-job-panel .gizzi-recurring-exact-fields{grid-template-columns:1fr auto!important;gap:14px!important;align-items:end!important;}
@media(max-width:768px){
  .gizzi-new-job-panel .gizzi-recurring-simple-fields,
  .gizzi-new-job-panel .gizzi-recurring-exact-fields{grid-template-columns:1fr!important;}
}

/* Multi-engineer check-in/check-out panel */
.gizzi-engineer-attendance-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.gizzi-attendance-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.gizzi-attendance-head h3 {
  margin: 0 0 4px;
}
.gizzi-attendance-head p {
  margin: 0;
  color: #64748b;
}
.gizzi-attendance-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.gizzi-attendance-summary span,
.gizzi-attendance-engineer em {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 10px;
  font-style: normal;
}
.gizzi-attendance-summary .is-complete,
.gizzi-attendance-engineer.is-signed-out em {
  background: #dcfce7;
  color: #166534;
}
.gizzi-attendance-engineer.is-active em {
  background: #d1fae5;
  color: #047857;
}
.gizzi-attendance-engineer.is-waiting em {
  background: #fef3c7;
  color: #92400e;
}
.gizzi-attendance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.gizzi-attendance-engineer {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.gizzi-attendance-engineer.is-active {
  border-color: #a7f3d0;
  background: #ecfdf5;
}
.gizzi-attendance-engineer-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.gizzi-attendance-engineer-top strong,
.gizzi-attendance-engineer-top small {
  display: block;
}
.gizzi-attendance-engineer-top small {
  margin-top: 2px;
  color: #94a3b8;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.gizzi-attendance-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.gizzi-attendance-stats span {
  border-radius: 12px;
  background: rgba(248, 250, 252, .9);
  border: 1px solid #e2e8f0;
  padding: 9px;
}
.gizzi-attendance-stats small,
.gizzi-attendance-row span {
  display: block;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.gizzi-attendance-stats b {
  display: block;
  margin-top: 2px;
  color: #0f172a;
}
.gizzi-attendance-note {
  margin: 10px 0 0;
  color: #475569;
  font-size: 13px;
}
.gizzi-attendance-timeline {
  border-top: 1px solid #e2e8f0;
  padding-top: 16px;
}
.gizzi-attendance-timeline h4 {
  margin: 0 0 10px;
}
.gizzi-attendance-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(120px, .8fr));
  gap: 10px;
  align-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 10px;
  background: #fff;
}
.gizzi-attendance-row.is-active {
  border-color: #a7f3d0;
  background: #ecfdf5;
}
.gizzi-attendance-row small {
  display: block;
  color: #94a3b8;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.gizzi-attendance-row b {
  color: #0f172a;
}
.gizzi-attendance-row p {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 8px;
  color: #64748b;
  border-top: 1px dashed #e2e8f0;
}
@media (max-width: 760px) {
  .gizzi-attendance-head {
    flex-direction: column;
  }
  .gizzi-attendance-summary {
    justify-content: flex-start;
  }
  .gizzi-attendance-row {
    grid-template-columns: 1fr;
  }
}


/* SiteMD 7.9 calendar month layout polish - match reference calendar UI */
.gizzi-calendar-section .gizzi-month-engineer-legend{
  display:none !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app{
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
.gizzi-calendar-section .gizzi-calendar-toolbar{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  padding:0 0 10px !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.gizzi-calendar-section .gizzi-calendar-title{
  order:-3 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}
.gizzi-calendar-section .gizzi-reference-month-title h2{
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  margin:0 !important;
  color:#111827 !important;
}
.gizzi-calendar-section .gizzi-calendar-actions{
  position:static !important;
  order:-1 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.gizzi-calendar-section .gizzi-calendar-nav,
.gizzi-calendar-section .gizzi-light-action,
.gizzi-calendar-section .gizzi-calendar-toolbar-switch button,
.gizzi-calendar-section .gizzi-search-toggle,
.gizzi-calendar-section .gizzi-filter-toggle{
  height:40px !important;
  min-height:40px !important;
  border-radius:8px !important;
  border:1px solid #e5e7eb !important;
  background:#fff !important;
  color:#111827 !important;
  box-shadow:0 1px 2px rgba(15,23,42,.06) !important;
  font-weight:800 !important;
}
.gizzi-calendar-section .gizzi-calendar-nav{
  width:40px !important;
  min-width:40px !important;
  padding:0 !important;
}
.gizzi-calendar-section .gizzi-light-action{
  padding:0 16px !important;
}
.gizzi-calendar-section .gizzi-calendar-toolbar-switch button.is-active{
  background:#ef4444 !important;
  border-color:#ef4444 !important;
  color:#fff !important;
}
.gizzi-calendar-section .gizzi-full-month-calendar{
  width:100% !important;
  max-width:100% !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:10px !important;
  overflow:hidden !important;
  box-shadow:0 4px 14px rgba(15,23,42,.06) !important;
}
.gizzi-calendar-section .gizzi-month-weekdays{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  background:#fff !important;
  border-bottom:1px solid #e5e7eb !important;
}
.gizzi-calendar-section .gizzi-month-weekdays > div{
  padding:14px 8px 10px !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#4b5563 !important;
}
.gizzi-calendar-section .gizzi-month-grid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(126px,auto) !important;
  background:#fff !important;
}
.gizzi-calendar-section .gizzi-month-day{
  min-height:126px !important;
  padding:9px 8px !important;
  background:#fff !important;
  border-right:1px solid #e5e7eb !important;
  border-bottom:1px solid #e5e7eb !important;
  overflow:hidden !important;
}
.gizzi-calendar-section .gizzi-month-day:nth-child(7n){border-right:0 !important;}
.gizzi-calendar-section .gizzi-month-day.is-muted{
  background:#fbfdff !important;
}
.gizzi-calendar-section .gizzi-month-day.is-today{
  box-shadow:none !important;
  background:#fff !important;
}
.gizzi-calendar-section .gizzi-month-day.is-today .gizzi-month-day-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:28px !important;
  height:28px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  background:#fee2e2 !important;
  color:#ef4444 !important;
}
.gizzi-calendar-section .gizzi-month-day-number{
  margin:0 0 8px !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:950 !important;
  color:#111827 !important;
  letter-spacing:-.03em !important;
}
.gizzi-calendar-section .gizzi-month-day.is-muted .gizzi-month-day-number{
  color:#9ca3af !important;
}
.gizzi-calendar-section .gizzi-month-job-chip,
.gizzi-calendar-section .gizzi-month-holiday-chip,
.gizzi-calendar-section button.gizzi-month-job-chip{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin:4px 0 !important;
  padding:5px 5px !important;
  border-radius:5px !important;
  border-width:1px !important;
  border-style:solid !important;
  border-left-width:1px !important;
  font-size:12px !important;
  line-height:1.12 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:none !important;
  text-align:left !important;
}
.gizzi-calendar-section .gizzi-month-job-chip:before,
.gizzi-calendar-section .gizzi-month-job-chip.is-virtual-recurring:before,
.gizzi-calendar-section .gizzi-week-chip.is-virtual-recurring:before{
  content:none !important;
  display:none !important;
}
.gizzi-calendar-section .gizzi-month-job-chip.is-virtual-recurring{
  border-style:solid !important;
  opacity:1 !important;
}
.gizzi-calendar-section .gizzi-month-more{
  display:block !important;
  width:100% !important;
  margin:7px 0 0 !important;
  padding:0 2px !important;
  border:0 !important;
  background:transparent !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  text-align:left !important;
  box-shadow:none !important;
}
@media (max-width: 900px){
  .gizzi-calendar-section{overflow-x:hidden !important;}
  .gizzi-calendar-section .gizzi-calendar-toolbar{flex-wrap:wrap !important;gap:8px !important;}
  .gizzi-calendar-section .gizzi-reference-month-title{flex:1 0 100% !important;width:100% !important;}
  .gizzi-calendar-section .gizzi-reference-month-title h2{font-size:24px !important;}
  .gizzi-calendar-section .gizzi-full-month-calendar{border-radius:10px !important;}
  .gizzi-calendar-section .gizzi-month-weekdays > div{font-size:17px !important;padding:12px 2px !important;}
  .gizzi-calendar-section .gizzi-month-grid{grid-auto-rows:minmax(114px,auto) !important;}
  .gizzi-calendar-section .gizzi-month-day{min-height:114px !important;padding:7px 4px !important;}
  .gizzi-calendar-section .gizzi-month-day-number{font-size:18px !important;margin-bottom:7px !important;}
  .gizzi-calendar-section .gizzi-month-job-chip,
  .gizzi-calendar-section .gizzi-month-holiday-chip,
  .gizzi-calendar-section button.gizzi-month-job-chip{font-size:10px !important;padding:5px 3px !important;border-radius:5px !important;margin:4px 0 !important;}
  .gizzi-calendar-section .gizzi-month-more{font-size:11px !important;margin-top:8px !important;}
}
@media (max-width: 520px){
  .gizzi-calendar-section .gizzi-month-weekdays > div{font-size:15px !important;}
  .gizzi-calendar-section .gizzi-month-grid{grid-auto-rows:minmax(108px,auto) !important;}
  .gizzi-calendar-section .gizzi-month-day{min-height:108px !important;padding:7px 3px !important;}
  .gizzi-calendar-section .gizzi-month-day-number{font-size:17px !important;}
  .gizzi-calendar-section .gizzi-month-job-chip,
  .gizzi-calendar-section .gizzi-month-holiday-chip,
  .gizzi-calendar-section button.gizzi-month-job-chip{font-size:9px !important;line-height:1.1 !important;padding:5px 2px !important;}
}


/* SiteMD 8.0.0 — Calendar view layout reset
   Applies to the normal month Calendar view only, on both admin and engineer dashboards.
   The engineer weekly layout keeps its own styles. */
.gizzi-calendar-section .gizzi-month-calendar-app{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
}

/* Header / controls: title top-left, view switch top-right, nav below-left */
.gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-toolbar{
  position:relative !important;
  display:block !important;
  min-height:94px !important;
  padding:0 !important;
  margin:0 0 8px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-reference-month-title{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  text-align:left !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-reference-month-title h2{
  margin:0 !important;
  padding:0 !important;
  color:#0f172a !important;
  font-size:28px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch,
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch{
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:4px !important;
  background:#fff !important;
  border:1px solid #dfe7f1 !important;
  border-radius:15px !important;
  box-shadow:0 2px 7px rgba(15,23,42,.04) !important;
  overflow:hidden !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch button,
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch button{
  height:42px !important;
  min-height:42px !important;
  padding:0 18px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:#111827 !important;
  font-size:14px !important;
  line-height:42px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch button.is-active,
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch button.is-active{
  background:#ef4444 !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch svg,
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch svg{
  width:16px !important;
  height:16px !important;
  margin-right:6px !important;
  vertical-align:-3px !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav{
  position:absolute !important;
  top:55px !important;
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  color:#0f172a !important;
  border:1px solid #dfe7f1 !important;
  border-radius:8px !important;
  box-shadow:0 2px 7px rgba(15,23,42,.06) !important;
  z-index:2 !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="prev"]{left:0 !important;}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{left:126px !important;}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav svg{
  width:18px !important;
  height:18px !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-actions{
  position:absolute !important;
  left:48px !important;
  top:55px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  z-index:3 !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-actions .gizzi-light-action{
  height:40px !important;
  min-height:40px !important;
  padding:0 18px !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #dfe7f1 !important;
  border-radius:8px !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:40px !important;
  font-weight:900 !important;
  box-shadow:0 2px 7px rgba(15,23,42,.06) !important;
}
.gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-results{
  clear:both !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}

/* Month grid */
.gizzi-calendar-section .gizzi-full-month-calendar{
  width:100% !important;
  max-width:100% !important;
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:10px !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
  overflow:hidden !important;
}
.gizzi-calendar-section .gizzi-month-engineer-legend{display:none !important;}
.gizzi-calendar-section .gizzi-month-weekdays{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  background:#fff !important;
  border-bottom:1px solid #e2e8f0 !important;
}
.gizzi-calendar-section .gizzi-month-weekdays > div{
  min-width:0 !important;
  padding:13px 6px 11px !important;
  text-align:center !important;
  color:#4b5563 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.gizzi-calendar-section .gizzi-month-grid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(145px,auto) !important;
  background:#fff !important;
}
.gizzi-calendar-section .gizzi-month-day{
  position:relative !important;
  min-height:145px !important;
  padding:10px 9px !important;
  background:#fff !important;
  border-right:1px solid #e2e8f0 !important;
  border-bottom:1px solid #e2e8f0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.gizzi-calendar-section .gizzi-month-day:nth-child(7n){border-right:0 !important;}
.gizzi-calendar-section .gizzi-month-day.is-muted{background:#fbfdff !important;}
.gizzi-calendar-section .gizzi-month-day.is-today{background:#fff !important;box-shadow:none !important;outline:0 !important;}
.gizzi-calendar-section .gizzi-month-day-number{
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#0f172a !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
}
.gizzi-calendar-section .gizzi-month-day.is-muted .gizzi-month-day-number{color:#94a3b8 !important;}
.gizzi-calendar-section .gizzi-month-day.is-today .gizzi-month-day-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  margin:-5px 0 5px !important;
  border-radius:999px !important;
  background:#fee2e2 !important;
  color:#ef4444 !important;
}

/* Event bars: full-width, clean, not the narrow pill layout */
.gizzi-calendar-section .gizzi-month-job-chip,
.gizzi-calendar-section .gizzi-month-holiday-chip,
.gizzi-calendar-section button.gizzi-month-job-chip{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:25px !important;
  min-height:25px !important;
  margin:4px 0 !important;
  padding:4px 7px !important;
  box-sizing:border-box !important;
  border-width:1px !important;
  border-style:solid !important;
  border-left-width:1px !important;
  border-radius:5px !important;
  background:color-mix(in srgb,var(--gizzi-chip-color,#3b82f6) 14%,#fff) !important;
  border-color:color-mix(in srgb,var(--gizzi-chip-color,#3b82f6) 55%,#fff) !important;
  color:color-mix(in srgb,var(--gizzi-chip-color,#3b82f6) 60%,#111827) !important;
  box-shadow:none !important;
  text-align:left !important;
  text-decoration:none !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
  line-height:15px !important;
  letter-spacing:-.015em !important;
  transform:none !important;
  cursor:pointer !important;
}
.gizzi-calendar-section .gizzi-month-job-chip span,
.gizzi-calendar-section .gizzi-month-holiday-chip span{
  display:block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.gizzi-calendar-section .gizzi-month-job-chip:before,
.gizzi-calendar-section .gizzi-month-job-chip.is-virtual-recurring:before,
.gizzi-calendar-section .gizzi-month-holiday-chip:before{content:none !important;display:none !important;}
.gizzi-calendar-section .gizzi-month-job-chip.is-virtual-recurring,
.gizzi-calendar-section button.gizzi-month-job-chip.is-virtual-recurring{
  border-style:solid !important;
  background:color-mix(in srgb,var(--gizzi-chip-color,#ef4444) 14%,#fff) !important;
  border-color:color-mix(in srgb,var(--gizzi-chip-color,#ef4444) 55%,#fff) !important;
  color:color-mix(in srgb,var(--gizzi-chip-color,#ef4444) 70%,#111827) !important;
  opacity:1 !important;
}
.gizzi-calendar-section .gizzi-month-job-chip:hover,
.gizzi-calendar-section button.gizzi-month-job-chip:hover{
  transform:none !important;
  box-shadow:none !important;
  filter:brightness(.985) !important;
}
.gizzi-calendar-section .gizzi-month-more{
  display:block !important;
  width:100% !important;
  margin:8px 0 0 !important;
  padding:0 2px !important;
  height:auto !important;
  min-height:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#475569 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  text-align:left !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

/* Tablet */
@media (max-width: 900px){
  .gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-toolbar{min-height:118px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-reference-month-title h2{font-size:29px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch,
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch{right:0 !important;top:0 !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav{top:64px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="prev"]{left:30px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-actions{left:78px !important;top:64px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{left:176px !important;}
  .gizzi-calendar-section .gizzi-month-weekdays > div{font-size:14px !important;padding:13px 3px 10px !important;text-transform:uppercase !important;}
  .gizzi-calendar-section .gizzi-month-grid{grid-auto-rows:minmax(116px,auto) !important;}
  .gizzi-calendar-section .gizzi-month-day{min-height:116px !important;padding:8px 5px !important;}
  .gizzi-calendar-section .gizzi-month-day-number{font-size:19px !important;margin-bottom:8px !important;}
  .gizzi-calendar-section .gizzi-month-day.is-today .gizzi-month-day-number{width:30px !important;min-width:30px !important;height:30px !important;margin:-4px 0 4px !important;}
  .gizzi-calendar-section .gizzi-month-job-chip,
  .gizzi-calendar-section .gizzi-month-holiday-chip,
  .gizzi-calendar-section button.gizzi-month-job-chip{height:22px !important;min-height:22px !important;padding:3px 5px !important;font-size:11px !important;line-height:14px !important;border-radius:5px !important;margin:4px 0 !important;}
  .gizzi-calendar-section .gizzi-month-more{font-size:11px !important;margin-top:7px !important;}
}

/* Phone: keep the real month grid, but make it fit like the reference screenshot */
@media (max-width: 560px){
  .gizzi-calendar-section{padding-left:0 !important;padding-right:0 !important;overflow-x:hidden !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-toolbar{min-height:132px !important;margin-bottom:0 !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-reference-month-title{left:0 !important;top:0 !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-reference-month-title h2{font-size:28px !important;line-height:1 !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch,
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch{right:0 !important;top:0 !important;border-radius:14px !important;padding:3px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch button,
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch button{height:37px !important;min-height:37px !important;line-height:37px !important;padding:0 12px !important;font-size:13px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-toolbar-switch svg,
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-admin-calendar-mode-switch svg{display:none !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav{top:70px !important;width:40px !important;min-width:40px !important;height:40px !important;min-height:40px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="prev"]{left:20px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-actions{top:70px !important;left:calc(50% - 45px) !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app > .gizzi-calendar-actions .gizzi-light-action{height:40px !important;min-height:40px !important;line-height:40px !important;padding:0 20px !important;font-size:15px !important;}
  .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{left:auto !important;right:20px !important;}
  .gizzi-calendar-section .gizzi-full-month-calendar{border-radius:16px 16px 10px 10px !important;box-shadow:0 4px 14px rgba(15,23,42,.05) !important;}
  .gizzi-calendar-section .gizzi-month-weekdays > div{font-size:13px !important;padding:13px 1px 10px !important;text-transform:uppercase !important;}
  .gizzi-calendar-section .gizzi-month-grid{grid-auto-rows:minmax(111px,auto) !important;}
  .gizzi-calendar-section .gizzi-month-day{min-height:111px !important;padding:7px 3px !important;}
  .gizzi-calendar-section .gizzi-month-day-number{font-size:17px !important;margin-bottom:7px !important;}
  .gizzi-calendar-section .gizzi-month-day.is-today .gizzi-month-day-number{width:28px !important;min-width:28px !important;height:28px !important;margin:-4px 0 4px !important;}
  .gizzi-calendar-section .gizzi-month-job-chip,
  .gizzi-calendar-section .gizzi-month-holiday-chip,
  .gizzi-calendar-section button.gizzi-month-job-chip{height:20px !important;min-height:20px !important;font-size:9.5px !important;line-height:12px !important;padding:3px 3px !important;margin:3px 0 !important;border-radius:5px !important;}
  .gizzi-calendar-section .gizzi-month-more{font-size:10px !important;line-height:1.1 !important;margin-top:6px !important;color:#000 !important;}
}

/* v8.0.0 engineer schedule mobile/tablet no-horizontal-scroll polish */
.gizzi-engineer-schedule-app .gizzi-calendar-results{
  overflow-x:hidden!important;
  max-width:100%!important;
}
.gizzi-engineer-schedule-app .gizzi-week-calendar{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:minmax(112px,.78fr) repeat(7,minmax(0,1fr))!important;
  overflow:hidden!important;
}
.gizzi-engineer-schedule-app .gizzi-week-corner,
.gizzi-engineer-schedule-app .gizzi-week-day-head,
.gizzi-engineer-schedule-app .gizzi-week-engineer-name,
.gizzi-engineer-schedule-app .gizzi-week-cell{
  min-width:0!important;
  box-sizing:border-box!important;
}
.gizzi-engineer-schedule-app .gizzi-week-chip,
.gizzi-engineer-schedule-app .gizzi-week-holiday-chip{
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.gizzi-engineer-schedule-app .gizzi-week-chip span{
  max-width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:900px){
  .gizzi-engineer-schedule-app .gizzi-calendar-results{overflow-x:hidden!important;}
  .gizzi-engineer-schedule-app .gizzi-week-calendar,
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{min-width:0!important;max-width:100%!important;width:100%!important;}
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{grid-template-columns:minmax(104px,.8fr) repeat(7,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .gizzi-engineer-schedule-app{overflow:hidden!important;}
  .gizzi-engineer-schedule-app .gizzi-calendar-results{overflow-x:hidden!important;padding:0!important;}
  .gizzi-engineer-schedule-app .gizzi-week-calendar{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    border-radius:12px!important;
    box-shadow:0 2px 10px rgba(15,23,42,.05)!important;
  }
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:minmax(92px,.74fr) repeat(7,minmax(0,1fr))!important;
    border-radius:12px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-corner{font-size:12px!important;padding:0 6px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-day-head{min-height:58px!important;padding:10px 1px 6px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-day-head strong::after{font-size:12px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-day-head span{font-size:17px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name{font-size:12px!important;padding:8px 4px!important;gap:5px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name i{width:7px!important;height:7px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-cell{padding:4px 3px!important;gap:3px!important;min-height:72px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-holiday-chip{min-height:21px!important;border-radius:5px!important;}
}
@media(max-width:430px){
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{grid-template-columns:minmax(72px,.65fr) repeat(7,minmax(0,1fr))!important;}
  .gizzi-engineer-schedule-app .gizzi-week-corner{font-size:11px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name{font-size:10px!important;padding:7px 3px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-day-head strong::after{font-size:10px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-day-head span{font-size:15px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-cell{padding:3px 2px!important;}
  .gizzi-engineer-schedule-app .gizzi-week-chip{font-size:8.5px!important;padding:3px 1px!important;}
}

/* v8.0.1 calendar clean labels + balanced mobile engineer schedule */
.gizzi-month-job-chip.is-virtual-recurring span:before,
.gizzi-week-chip.is-virtual-recurring span:before,
.gizzi-week-job-block.is-virtual-recurring span:before,
.gizzi-week-job-block.is-virtual-recurring strong:after{
  content:none!important;
  display:none!important;
}
.gizzi-week-chip strong,
.gizzi-week-chip small,
.gizzi-week-job-block strong,
.gizzi-week-job-block small{
  display:none!important;
}
.gizzi-week-chip span,
.gizzi-week-job-block span{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:0!important;
}

@media (max-width: 700px){
  .gizzi-engineer-schedule-app .gizzi-calendar-results{
    overflow-x:hidden!important;
    max-width:100%!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-calendar,
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .gizzi-engineer-schedule-app .gizzi-engineer-week-grid{
    grid-template-columns:108px repeat(7,minmax(0,1fr))!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-corner,
  .gizzi-engineer-schedule-app .gizzi-week-day-head,
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name,
  .gizzi-engineer-schedule-app .gizzi-week-cell{
    min-height:108px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-corner,
  .gizzi-engineer-schedule-app .gizzi-week-day-head{
    min-height:84px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name{
    padding:12px 8px!important;
    font-size:12px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-engineer-name i{
    width:8px!important;
    height:8px!important;
    flex:0 0 8px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-cell{
    padding:8px 3px!important;
    gap:5px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-day-head{
    padding:14px 2px 8px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-day-head strong::after{
    font-size:11px!important;
  }
  .gizzi-engineer-schedule-app .gizzi-week-day-head span{
    font-size:20px!important;
  }
  
  .gizzi-engineer-schedule-app .gizzi-week-chip span,
  .gizzi-engineer-schedule-app .gizzi-week-job-block span{
    font-size:8px!important;
    line-height:1.15!important;
    font-weight:500!important;
	  color: black !important;
  }
}


/* v8.0.1 engineer schedule mobile cleanup */
@media (max-width: 700px) {
    .gizzi-engineer-schedule-app .gizzi-engineer-week-grid {
        grid-template-columns: 58px repeat(7, minmax(0, 1fr)) !important;
    }
}
.gizzi-engineer-schedule-app .gizzi-week-engineer-name i {
    display: none !important;
}
.gizzi-engineer-schedule-app .gizzi-week-engineer-name {
    gap: 0 !important;
}


/* v8.0.1 engineer schedule mobile cleanup */
@media (max-width: 1024px) {
    .gizzi-engineer-schedule-app .gizzi-engineer-week-grid {
        grid-template-columns: 48px repeat(7, minmax(0, 1fr)) !important;
    }
}
.gizzi-engineer-schedule-app .gizzi-week-engineer-name i {
    display: none !important;
}
.gizzi-engineer-schedule-app .gizzi-week-engineer-name {
    gap: 0 !important;
}


/* ======================================================================
   v9.4.0 global desktop density pass
   ----------------------------------------------------------------------
   The Base44 reference screens are visually closer to a 75-85% browser zoom
   than the previous build. Apply a controlled app-level density scale on
   desktop/tablet only, while preserving full-width layout and leaving mobile
   sizing alone.
   ====================================================================== */
@media (min-width: 901px) {
  .gizzi-admin-shell,
  .gizzi-calendar-app,
  .gizzi-engineer-schedule-app,
  .gizzi-b44-dashboard,
  .gizzi-accounts-app,
  .gizzi-accounting-app,
  .gizzi-monthly-overheads-app,
  .gizzi-todo-app,
  .gizzi-jobs-app,
  .gizzi-customers-app,
  .gizzi-invoices-app,
  .gizzi-job-sheets-app {
    zoom: .86;
  }
	
	.gizzi-admin-sidebar, .gizzi-engineer-nav, .gizzi-admin-nav {
    height: 116vh;
}

  .gizzi-admin-shell {
    width: 116.2791%;
    max-width: 116.2791%;
    transform-origin: top left;
  }

  .gizzi-admin-main {
    padding: 28px 27px;
  }

  .gizzi-admin-topbar h1 {
    font-size: 25px;
  }

  .gizzi-admin-card span {
    font-size: 25px;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .gizzi-admin-shell,
  .gizzi-calendar-app,
  .gizzi-engineer-schedule-app,
  .gizzi-b44-dashboard,
  .gizzi-accounts-app,
  .gizzi-accounting-app,
  .gizzi-monthly-overheads-app,
  .gizzi-todo-app,
  .gizzi-jobs-app,
  .gizzi-customers-app,
  .gizzi-invoices-app,
  .gizzi-job-sheets-app {
    zoom: .9;
  }

  .gizzi-admin-shell {
    width: 111.1111%;
    max-width: 111.1111%;
  }
}

.gizzi-admin-shell, .gizzi-engineer-shell{
	width: 100% !important;
}


/* v9.4.19 - WebView-safe custom confirm modal */
.gizzi-custom-confirm-modal{position:fixed;inset:0;z-index:2147483998;display:none;align-items:center;justify-content:center;padding:20px;font-family:Barlow,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.gizzi-custom-confirm-modal.is-open{display:flex}.gizzi-custom-confirm-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(4px)}.gizzi-custom-confirm-card{position:relative;width:min(420px,100%);background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.28);padding:26px;text-align:center;color:#0f172a;animation:gizziConfirmIn .16s ease-out}.gizzi-custom-confirm-icon{width:54px;height:54px;border-radius:18px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#dc2626;font-weight:900;font-size:28px;line-height:1}.gizzi-custom-confirm-card h3{margin:0 0 8px;font-size:23px;line-height:1.15;font-weight:850;color:#111827}.gizzi-custom-confirm-message{margin:0;color:#64748b;font-size:15px;line-height:1.45}.gizzi-custom-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.gizzi-custom-confirm-actions button{appearance:none;border:0;border-radius:14px;padding:13px 15px;font-weight:800;font-size:14px;cursor:pointer}.gizzi-custom-confirm-cancel{background:#f1f5f9;color:#334155}.gizzi-custom-confirm-continue{background:#dc2626;color:#fff;box-shadow:0 12px 30px rgba(220,38,38,.25)}.gizzi-custom-confirm-cancel:hover{background:#e2e8f0}.gizzi-custom-confirm-continue:hover{background:#b91c1c}@keyframes gizziConfirmIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:520px){.gizzi-custom-confirm-modal{padding:14px;align-items:flex-end}.gizzi-custom-confirm-card{border-radius:24px 24px 18px 18px;padding:24px 20px 18px}.gizzi-custom-confirm-actions{grid-template-columns:1fr}.gizzi-custom-confirm-continue{order:-1}}


/* v9.4.20 - Calendar/schedule chip readability */
.gizzi-calendar-section .gizzi-month-job-chip,
.gizzi-calendar-section .gizzi-month-holiday-chip,
.gizzi-calendar-section button.gizzi-month-job-chip {
    font-size: 16px ;
    font-weight: 600 ;
}

.gizzi-engineer-schedule-app .gizzi-week-chip {
    font-size: 16px ;
    font-weight: 600 ;
}

/* v9.4.21 - Stage 7 schedule calendar matches main Engineer Schedule layout */
.sitemd-stage7-engineer-calendar .gizzi-week-calendar{
    overflow: visible !important;
}

.sitemd-stage7-engineer-calendar .gizzi-engineer-week-grid{
    overflow: visible !important;
    grid-template-columns: minmax(96px, .85fr) repeat(7, minmax(0, 1fr)) !important;
}

.sitemd-stage7-engineer-calendar .gizzi-week-cell.sitemd-schedule-cell{
    cursor: pointer;
    min-width: 0 !important;
}

.sitemd-stage7-engineer-calendar .gizzi-week-cell.sitemd-schedule-cell.is-selected{
    outline: 3px solid rgba(220, 38, 38, .75) !important;
    outline-offset: -3px;
    background: linear-gradient(180deg, #fff7ed, #fffbeb) !important;
}

.sitemd-stage7-engineer-calendar .gizzi-week-chip,
.sitemd-stage7-engineer-calendar .gizzi-week-holiday-chip{
    pointer-events: none;
}

@media (max-width: 900px){
    .sitemd-stage7-engineer-calendar .gizzi-engineer-week-grid{
        grid-template-columns: minmax(74px, 80px) repeat(7, minmax(0, 1fr)) !important;
    }

    .sitemd-stage7-engineer-calendar .gizzi-week-cell{
        padding: 4px !important;
    }

    .sitemd-stage7-engineer-calendar .gizzi-week-engineer-name{
        padding: 7px 5px !important;
    }
}

@media (min-width: 1025px) {
    .gizzi-calendar-section .gizzi-month-calendar-app .gizzi-calendar-nav[data-direction="next"]{
        left: 149px !important;
        z-index: 99 !important;
    }
}

@media (max-width: 1024px) {
    .gizzi-calendar-actions{
        display: flex !important;
        flex-direction: column-reverse;
        gap: 80px !important;
    }
}


/* SiteMD 9.4.22 - checkout location links in full check-in history */
.gizzi-checkout-location-link {
  color: #2563eb;
  text-decoration: none;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.gizzi-checkout-location-link:hover {
  text-decoration: underline;
}

/* SiteMD 9.4.23 - checkout photo reminder thumbnails */
.gizzi-checkout-photo-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px;margin:16px 0 20px}.gizzi-checkout-photo-summary>strong{display:block;font-size:16px;font-weight:850;color:#0f172a;margin-bottom:12px}.gizzi-checkout-photo-thumbs{display:flex;flex-wrap:wrap;gap:10px}.gizzi-checkout-photo-thumbs a{display:block;width:74px;height:74px;border-radius:14px;overflow:hidden;border:1px solid #dbeafe;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.08)}.gizzi-checkout-photo-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.gizzi-checkout-photo-more{width:74px;height:74px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;font-size:18px;font-weight:900}.gizzi-checkout-no-photos{display:flex;flex-direction:column;gap:5px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:18px;padding:16px;margin:16px 0 20px}.gizzi-checkout-no-photos strong{font-size:16px;font-weight:900;color:#9a3412}.gizzi-checkout-no-photos span{font-size:14px;line-height:1.45;color:#c2410c}


/* v9.4.24 - Keep custom warning/confirm above checkout/sign-out modal in app WebViews. */
.gizzi-custom-confirm-modal{z-index:2147483998 !important;}
.gizzi-custom-confirm-card{z-index:2147483999 !important;}
.gizzi-custom-confirm-backdrop{z-index:2147483998 !important;}












@media (min-width: 1025px) {
body > div > div > div > div > div > main > section > div.gizzi-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar.gizzi-engineer-schedule-app > div.gizzi-calendar-actions{
	    display: flex !important;
    gap: 30% !important;
	flex-direction: column;
}
}

@media (max-width: 1025px) {
body > div > div > div > div > div > main > section > div.gizzi-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar.gizzi-engineer-schedule-app > div.gizzi-calendar-actions{
	    display: flex !important;
    gap: 60px !important;
	flex-direction: column;
	margin-top: -100px !important;
        margin-bottom: 80px !important;
}
}


.gizzi-job-detail-page .gizzi-check-card .gizzi-big-check-button, .gizzi-engineer-shell .gizzi-check-card .gizzi-big-check-button, .gizzi-check-card .gizzi-big-check-button.gizzi-checkin-button, .gizzi-check-card .gizzi-big-check-button.gizzi-checkout-button {
	background: var(--gizzi-red) !important;
}



.gizzi-confirm-overlay {
    z-index: 999999 !important;
}

.gizzi-confirm-modal {
    position: fixed !important;
}

@media (max-width: 700px) {
    .gizzi-engineer-schedule-app .gizzi-week-corner, .gizzi-engineer-schedule-app .gizzi-week-day-head, .gizzi-engineer-schedule-app .gizzi-week-engineer-name, .gizzi-engineer-schedule-app .gizzi-week-cell {
        min-height: 48px !important;
    }
}
@media (max-width: 900px) {
    .sitemd-stage7-engineer-calendar .gizzi-engineer-week-grid {
        grid-template-columns: minmax(44px, 50px) repeat(7, minmax(0, 1fr)) !important;
    }
}

body > div > div > div > div > div > main > section > div.gizzi-detail-card.sitemd-b44-card.sitemd-exact-workflow-card.sitemd-exact-quote-card > form > div.sitemd-exact-jobtype-box > label:nth-child(n) > input{
	height: 12px;
	width: 12px;
}

body > div > div > div > div > div > main > section > div.gizzi-detail-card.sitemd-b44-card.sitemd-exact-workflow-card.sitemd-exact-quote-card > form > div.sitemd-exact-quote-grid > aside > div.sitemd-manual-material-panel > button{
		background: var(--gizzi-red) !important;
}


@media (max-width: 900px) {
    .gizzi-calendar-section .gizzi-month-job-chip, .gizzi-calendar-section .gizzi-month-holiday-chip, .gizzi-calendar-section button.gizzi-month-job-chip{
        font-size: 8px !important;
        font-weight: 500 !important;
        color: black !important;
    }
	
	.gizzi-admin-main{
		padding-left: 2px !important;
		padding-right: 2px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
}

@media (min-width: 901px) {
    .gizzi-calendar-section .gizzi-month-job-chip, .gizzi-calendar-section .gizzi-month-holiday-chip, .gizzi-calendar-section button.gizzi-month-job-chip{
        font-size: 16px !important;
        font-weight: 500 !important;
        color: black !important;
    }
}

/* Usage log toggle */
.gizzi-base44-usage-log-toggle {
  margin: 12px 0;
}
.gizzi-base44-usage-log-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
.gizzi-base44-usage-log-button::-webkit-details-marker {
  display: none;
}
.gizzi-base44-usage-log-toggle[open] .gizzi-base44-usage-log-button {
  margin-bottom: 10px;
}

/* v9.4.35+ month calendar: keep Open Day pinned to the bottom of each day cell */
.gizzi-calendar-section .gizzi-month-day{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.gizzi-calendar-section .gizzi-month-day-content{
  display:block !important;
  min-height:0 !important;
  flex:0 1 auto !important;
}
.gizzi-calendar-section .gizzi-month-day-footer{
  display:block !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:6px !important;
  flex:0 0 auto !important;
}
.gizzi-calendar-section .gizzi-month-day-footer .gizzi-month-more,
.gizzi-calendar-section .gizzi-month-day-footer .gizzi-month-open-day{
  display:block !important;
  width:100% !important;
  margin:0 !important;
}

/* Engineer job details-only access button */
.gizzi-checkin-action-stack {
    display: grid;
    gap: 12px;
}

.gizzi-checkin-action-stack .gizzi-one-tap-form {
    margin: 0;
}

.gizzi-check-card .gizzi-big-check-button.gizzi-view-details-button {
    background: #111827 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.gizzi-check-card .gizzi-big-check-button.gizzi-view-details-button:hover {
    background: #030712 !important;
    color: #ffffff !important;
}

/* v9.4.35+ Open Day button fixes: engineer modal support and mobile fit */
.gizzi-calendar-section .gizzi-month-open-day{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.15 !important;
  min-height:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
}
.gizzi-calendar-section .gizzi-month-open-day .gizzi-open-day-main,
.gizzi-calendar-section .gizzi-month-open-day .gizzi-open-day-count{
  display:inline-block !important;
  min-width:0 !important;
}
@media(max-width:640px){
  .gizzi-calendar-section .gizzi-month-open-day{
    font-size:9px !important;
    padding:4px 2px !important;
    min-height:25px !important;
  }
  .gizzi-calendar-section .gizzi-month-open-day .gizzi-open-day-count{
    display:none !important;
  }
}

/* v9.4.35+ robust Open Day mobile sizing */
.gizzi-calendar-section .gizzi-month-day-footer .gizzi-month-open-day{
  max-width:100% !important;
  box-sizing:border-box !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-overflow:clip !important;
}
@media(max-width:640px){
  .gizzi-calendar-section .gizzi-month-day-footer .gizzi-month-open-day{
    font-size:8px !important;
    line-height:1.05 !important;
    padding:3px 1px !important;
    min-height:22px !important;
    border-radius:5px !important;
  }
  .gizzi-calendar-section .gizzi-month-day-footer .gizzi-month-open-day .gizzi-open-day-main{
    display:block !important;
  }
  .gizzi-calendar-section .gizzi-month-day-footer .gizzi-month-open-day .gizzi-open-day-count{
    display:none !important;
  }
}


body > div > div > div > div > main > section > div.gizzi-detail-card.gizzi-check-card.gizzi-modern-check-card > p > button{
			background: var(--gizzi-red) !important;
}

div > div.sitemd-material-manual-section > div.gizzi-base44-field-block > div > div.gizzi-job-material-scan-row > button{
	background: var(--gizzi-red) !important;
}


@media (max-width: 640px) {
    .gizzi-engineer-schedule-app .gizzi-week-chip{
        font-size: 8px !important;
        font-weight: 400 !important;
        color: black !important;
    }
}

@media (max-width: 640px) {
    .gizzi-engineer-schedule-app .gizzi-engineer-week-grid {
        grid-template-columns: 48px repeat(7, minmax(0, 1fr)) !important;
    }
}


@media (max-width: 1024px) {
  .gizzi-engineer-schedule-app .gizzi-week-chip span,
  .gizzi-engineer-schedule-app .gizzi-week-job-block span{
    font-size:8px!important;
    line-height:1.15!important;
    font-weight:500!important;
	  color: black !important;
  }
}

.gizzi-engineer-schedule-app .gizzi-week-chip{
	font-weight: 500 !important;
}
/* v9.6.x - Site visit/job spec autosave status */
.sitemd-autosave-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:8px 0 14px;
  padding:7px 11px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  color:#64748b;
  font-size:13px;
  font-weight:700;
}
.sitemd-autosave-status[data-state="pending"]{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.sitemd-autosave-status[data-state="saving"]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;}
.sitemd-autosave-status[data-state="saved"]{background:#ecfdf5;border-color:#bbf7d0;color:#047857;}
.sitemd-autosave-status[data-state="error"]{background:#fef2f2;border-color:#fecaca;color:#b91c1c;}

/* Stage 6/7 enquiry scheduling calendar: keep week arrows either side of "This week" */
.sitemd-stage7-calendar-toolbar{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:16px !important;
    flex-wrap:wrap !important;
}
.sitemd-stage7-week-nav-group{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    margin-left:auto !important;
}
.sitemd-stage7-week-nav-group .sitemd-stage7-week-nav:not(.sitemd-stage7-this-week){
    width:44px !important;
    height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #e5ecf6 !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 6px 16px rgba(15,23,42,.06) !important;
    color:#111827 !important;
    text-decoration:none !important;
}
.sitemd-stage7-week-nav-group .sitemd-stage7-this-week{
    min-height:44px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
}
@media (max-width: 640px){
    .sitemd-stage7-calendar-toolbar{
        align-items:flex-start !important;
    }
    .sitemd-stage7-week-nav-group{
        width:100% !important;
        margin-left:0 !important;
        justify-content:center !important;
    }
}

/* v9.6.x - Enquiry Schedule Site Visit / Schedule Job week navigation: keep arrows attached to This week */
.sitemd-stage7-engineer-calendar .sitemd-stage7-schedule-head{
  display:block!important;
  margin:0 0 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-schedule-title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-schedule-title h2{
  margin:0!important;
  color:#111827!important;
  font-size:30px!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-schedule-title p{
  display:none!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:auto!important;
  max-width:100%!important;
  margin:14px 0 0 0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-week-nav{
  height:44px!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #e5ecf6!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(15,23,42,.06)!important;
  color:#111827!important;
  text-decoration:none!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-week-nav:not(.sitemd-stage7-this-week){
  width:44px!important;
  padding:0!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-this-week{
  width:auto!important;
  min-width:112px!important;
  padding:0 20px!important;
  white-space:nowrap!important;
}
.sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-week-nav svg{
  width:18px!important;
  height:18px!important;
}
@media(max-width:640px){
  .sitemd-stage7-engineer-calendar .sitemd-stage7-schedule-title h2{font-size:26px!important;}
  .sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group{gap:6px!important;margin-top:12px!important;}
  .sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-week-nav{height:40px!important;min-height:40px!important;border-radius:10px!important;}
  .sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-week-nav:not(.sitemd-stage7-this-week){width:40px!important;}
  .sitemd-stage7-engineer-calendar .sitemd-stage7-week-nav-group .sitemd-stage7-this-week{min-width:98px!important;padding:0 14px!important;font-size:14px!important;}
}

/* GIZZI calendar page toolbar rebuild - keeps Calendar and Engineers views aligned/clickable */
.gizzi-calendar-section > .gizzi-calendar-app.gizzi-month-calendar-app,
.gizzi-calendar-section > .gizzi-calendar-app.gizzi-week-calendar-app {
  position: relative !important;
  overflow: visible !important;
}

.gizzi-calendar-section > .gizzi-calendar-app.gizzi-month-calendar-app > .gizzi-calendar-toolbar,
.gizzi-calendar-section > .gizzi-calendar-app.gizzi-week-calendar-app > .gizzi-calendar-toolbar {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto auto !important;
  grid-template-areas:
    "title switch switch"
    "nav actions actions" !important;
  align-items: center !important;
  gap: 12px !important;
  position: relative !important;
  min-height: 0 !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-title {
  grid-area: title !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  text-align: left !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-title h2,
.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-title h3,
.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-title h4 {
  margin: 0 !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-title p {
  margin: 4px 0 0 !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch {
  grid-area: switch !important;
  justify-self: end !important;
  position: relative !important;
  z-index: 3 !important;
  margin: 0 !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-nav {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.08) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 5 !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-nav svg {
  width: 18px !important;
  height: 18px !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-nav[data-direction="prev"] {
  grid-area: nav !important;
  justify-self: start !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-nav[data-direction="next"] {
  grid-area: nav !important;
  justify-self: start !important;
  margin-left: 60px !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions {
  grid-area: actions !important;
  position: absolute !important;
  left: 120px !important;
  top: 63px !important;
  right: 0 !important;
  bottom: auto !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.gizzi-calendar-new-job-button {
    position: absolute;
    left: 84.5%;
}


body > div > div > div > div > div > main > section > div.gizzi-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar.gizzi-engineer-schedule-app > div.gizzi-calendar-actions{
	top: 50px !important;
}
body > div > div > div > div > div > main > section > div.gizzi-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar.gizzi-engineer-schedule-app > div.gizzi-calendar-actions > a{
	position: initial !important;
}


.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions > * {
  pointer-events: auto !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-month-today,
.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-week-today {
  width: auto !important;
  min-width: 112px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-calendar-new-job-button {
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-radius: 12px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

.gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-results {
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
  margin-top: 12px !important;
}

@media (max-width: 700px) {
  .gizzi-calendar-section > .gizzi-calendar-app.gizzi-month-calendar-app > .gizzi-calendar-toolbar,
  .gizzi-calendar-section > .gizzi-calendar-app.gizzi-week-calendar-app > .gizzi-calendar-toolbar {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "title"
      "switch"
      "nav" !important;
    gap: 10px !important;
  }
	
	body > div > div > div > div > div > main > section > div.gizzi-calendar-app.gizzi-week-calendar-app.gizzi-google-style-calendar.gizzi-engineer-schedule-app > div.gizzi-calendar-actions > button{
		margin-left: 90px !important;
	}

  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-toolbar-switch {
    justify-self: stretch !important;
    width: 100% !important;
  }

  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-toolbar > .gizzi-calendar-nav {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions {
    left: 112px !important;
    right: auto !important;
    width: calc(100% - 112px) !important;
    justify-content: space-between !important;
  }

  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-month-today,
  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-week-today {
    min-width: 96px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
  }

  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-calendar-new-job-button {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 430px) {
  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions {
    position: relative !important;
    left: 0 !important;
    width: 100% !important;
    margin-top: 8px !important;
	  
        margin-top: -115px !important;
        margin-bottom: 70px !important;
    }
	
	  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-calendar-new-job-button {
    margin-left: -50px !important;
  }
  }



@media (min-width: 1024px) {
	  .gizzi-calendar-section > .gizzi-calendar-app > .gizzi-calendar-actions .gizzi-calendar-new-job-button {
    margin-left: -20px !important;
  }
}

/* SiteMD 10.2.3 - imported PDF materials -> Materials Book review */
.sitemd-import-material-book-prompt{margin-top:14px;padding:14px;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc;display:grid;gap:10px}.sitemd-import-material-book-actions{display:flex;gap:10px;flex-wrap:wrap}.sitemd-import-material-book-editor{margin-top:14px;padding:14px;border:1px solid #dbe3ef;border-radius:14px;background:#fff}.sitemd-import-material-book-rows{display:grid;gap:10px;margin:10px 0 14px}.sitemd-import-material-row{display:grid;grid-template-columns:minmax(220px,1.8fr) minmax(110px,.8fr) minmax(80px,.5fr) minmax(90px,.6fr) minmax(110px,.7fr);gap:10px;align-items:end;padding:10px;border:1px solid #edf2f7;border-radius:12px;background:#f8fafc}.sitemd-import-material-row label{font-size:12px;font-weight:800;color:#334155}.sitemd-import-material-row input{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #dbe3ef;border-radius:10px;padding:9px 10px;background:#fff}.sitemd-import-material-book-status{margin:10px 0 0;font-weight:800}.sitemd-import-material-book-status.is-success{color:#15803d}.sitemd-import-material-book-status.is-error{color:#b91c1c}@media(max-width:850px){.sitemd-import-material-row{grid-template-columns:1fr 1fr}.sitemd-import-material-row label:first-child{grid-column:1/-1}}@media(max-width:560px){.sitemd-import-material-row{grid-template-columns:1fr}}

/* SiteMD 11.0.13 - collapsed enquiry running summary */
.sitemd-enquiry-summary-box{margin:18px 0 22px!important;border:1px solid #dbe7f3!important;border-radius:20px!important;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;box-shadow:0 12px 34px rgba(15,23,42,.06)!important;overflow:hidden!important}.sitemd-enquiry-summary-box summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:18px 20px!important;cursor:pointer!important;list-style:none!important}.sitemd-enquiry-summary-box summary::-webkit-details-marker{display:none!important}.sitemd-enquiry-summary-box summary span{display:grid!important;gap:4px!important}.sitemd-enquiry-summary-box summary strong{font-size:18px!important;font-weight:950!important;color:#0f172a!important}.sitemd-enquiry-summary-box summary em{font-style:normal!important;font-size:13px!important;font-weight:800!important;color:#64748b!important}.sitemd-enquiry-summary-box summary b{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;background:#0f172a!important;color:#fff!important;padding:9px 14px!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important}.sitemd-enquiry-summary-box[open] summary{border-bottom:1px solid #e6edf6!important}.sitemd-enquiry-summary-box[open] summary b{background:#ef4444!important}.sitemd-enquiry-summary-box[open] summary b::before{content:'Hide ';}.sitemd-enquiry-summary-box:not([open]) summary b::before{content:'View ';}.sitemd-enquiry-summary-content{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding:18px!important}.sitemd-enquiry-summary-section{border:1px solid #e5edf7!important;border-radius:16px!important;background:#fff!important;padding:14px!important}.sitemd-enquiry-summary-section h4{margin:0 0 10px!important;color:#0f172a!important;font-size:14px!important;font-weight:950!important}.sitemd-enquiry-summary-lines{display:grid!important;gap:7px!important}.sitemd-enquiry-summary-lines p,.sitemd-enquiry-summary-empty{margin:0!important;color:#475569!important;font-size:13px!important;line-height:1.5!important;font-weight:700!important}.sitemd-enquiry-summary-lines span{display:block!important;color:#475569!important;font-size:13px!important;line-height:1.5!important;font-weight:700!important}.sitemd-enquiry-summary-list{margin:0!important;padding:0!important;list-style:none!important;display:grid!important;gap:8px!important}.sitemd-enquiry-summary-list li{position:relative!important;margin:0!important;padding:8px 10px 8px 28px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid #eef2f7!important;color:#334155!important;font-size:13px!important;line-height:1.45!important;font-weight:800!important}.sitemd-enquiry-summary-list li:before{content:'✓'!important;position:absolute!important;left:10px!important;top:8px!important;color:#22c55e!important;font-weight:950!important}.sitemd-enquiry-summary-list em{display:inline-block!important;margin-left:6px!important;font-size:11px!important;font-style:normal!important;color:#64748b!important;background:#e2e8f0!important;border-radius:999px!important;padding:2px 7px!important}@media(max-width:820px){.sitemd-enquiry-summary-content{grid-template-columns:1fr!important}.sitemd-enquiry-summary-box summary{align-items:flex-start!important;flex-direction:column!important}.sitemd-enquiry-summary-box summary b{width:100%!important}}

/* v12.0.0 - Enquiry workflow persistence */
.sitemd-estimate-engineers{
    grid-column:1/-1;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:14px;
    display:block;
}
.sitemd-estimate-engineers > strong{display:block;font-size:14px;color:#0f172a;margin-bottom:3px;}
.sitemd-estimate-engineers > span{display:block;font-size:12px;color:#64748b;margin-bottom:10px;}
.sitemd-estimate-engineer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;}
.sitemd-estimate-engineer-option{display:flex!important;align-items:center;gap:9px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;padding:10px 12px;margin:0!important;cursor:pointer;}
.sitemd-estimate-engineer-option input{width:auto!important;min-width:18px;height:18px;accent-color:#16a34a;}
.sitemd-estimate-engineer-option span{font-size:13px;font-weight:650;color:#1e293b;line-height:1.25;}
.sitemd-estimate-engineer-option:has(input:checked){border-color:#22c55e;background:#f0fdf4;box-shadow:0 8px 18px rgba(34,197,94,.10);}

/* SiteMD v12.0.4 continued job inheritance */
.sitemd-section-save-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 12px 0 22px;
    padding: 12px 14px;
    border: 1px solid #e5edf7;
    border-radius: 14px;
    background: #f8fafc;
}
.sitemd-section-save-row .sitemd-section-save-button {
    margin: 0;
    white-space: nowrap;
}
.sitemd-section-save-row span {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}
@media (max-width: 640px) {
    .sitemd-section-save-row {
        align-items: stretch;
        flex-direction: column;
    }
    .sitemd-section-save-row .sitemd-section-save-button {
        width: 100%;
        justify-content: center;
    }
}
/* v12.1.0: self-contained inline SVG action buttons */
.sitemd-icon-action .gizzi-svg-icon{display:none!important;}
.sitemd-action-svg{display:inline-block;width:1.05em;height:1.05em;vertical-align:-0.15em;fill:none!important;stroke:currentColor!important;stroke-width:2.25!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:1!important;visibility:visible!important;}
.sitemd-icon-action .sitemd-action-svg{display:block!important;width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;max-height:17px!important;pointer-events:none!important;}
.sitemd-icon-action{color:#3730a3!important;background:#eef2ff!important;border:1px solid #c7d2fe!important;}
.sitemd-icon-action-danger{color:#b91c1c!important;background:#fee2e2!important;border-color:#fecaca!important;}
.sitemd-icon-action:hover{background:#e0e7ff!important;color:#312e81!important;}
.sitemd-icon-action-danger:hover{background:#fecaca!important;color:#991b1b!important;}

/* v12.1.1 Stage 4 labour roles + copy materials button */
.sitemd-exact-job-spec-card .sitemd-exact-estimate label.role-control{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:150px!important;white-space:normal!important;}
.sitemd-exact-job-spec-card .sitemd-exact-estimate label.role-control>span{display:inline-flex!important;width:auto!important;align-items:center!important;border:1px solid #dbe3ee!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;height:44px!important;}
.sitemd-exact-job-spec-card .sitemd-exact-estimate label.role-control button{width:42px!important;height:44px!important;border:0!important;background:#fff!important;color:#0f172a!important;font-size:22px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;}
.sitemd-exact-job-spec-card .sitemd-exact-estimate label.role-control .sitemd-role-count{width:54px!important;height:44px!important;border:0!important;border-left:1px solid #dbe3ee!important;border-right:1px solid #dbe3ee!important;text-align:center!important;font-weight:900!important;background:#fff!important;padding:0!important;color:#0f172a!important;}
.sitemd-exact-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:22px 0 10px!important;}
.sitemd-exact-section-head .sitemd-exact-section-title{margin:0!important;}
.sitemd-copy-stage4-materials{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid #dbeafe!important;background:#eff6ff!important;color:#1d4ed8!important;border-radius:12px!important;padding:10px 13px!important;font-weight:900!important;cursor:pointer!important;}
.sitemd-copy-stage4-materials svg{width:17px!important;height:17px!important;}
.sitemd-copy-stage4-materials.is-copied{background:#dcfce7!important;border-color:#bbf7d0!important;color:#15803d!important;}
@media(max-width:700px){.sitemd-exact-section-head{align-items:flex-start!important;flex-direction:column!important}.sitemd-copy-stage4-materials{width:100%!important;justify-content:center!important}.sitemd-exact-job-spec-card .sitemd-exact-estimate label.role-control{min-width:100%!important}}
