.mobile-glass-price-quote{
    display: none;
}
@media only screen and (max-width: 767px){
    .mobile-glass-price-quote{
        display: block;
        position: relative;
        top: -50px;
        left: 75%;
    }
    .fancybox-slide{
        padding: 15px !important;
    }
    .nav-menu #fancybox_btn{
		display: none;
    }
}
#fancybox_btn, #fancybox_mobile_btn{
    background-color: #134C8F;
    color: #FFFDFD;
    padding: 12px 24px;    
}
.auto-glass-replacement.fancybox-content{
    padding-bottom: 10px !important;
}
.auto-glass-replacement.fancybox-content .col-md-6.box-container .card .card-img{
    width:40px !important;
    margin-bottom:5px !important;
}
.auto-glass-replacement.fancybox-content .col-md-6.box-container.final .card-header{
	padding:3px 30px;
}
.auto-glass-replacement.fancybox-content .col-md-6.box-container.final .card-header p{
    margin-bottom:5px !important;
}
.fancybox-slide{
    padding-top: 10px !important;
}
ul#step-form-progress {
    list-style: none;
    display: flex;
    flex-direction: row;
}

form#msform select[disabled] {
    background: #dcdcdc;
}

.step-2 label.form-check-label span {
    padding-left: 15px;
}
input.btn {
    font-size: 14px;
}
div#multi-step-form {
    font-size: 14px;
    max-width: 100% !important;
    margin: 0 !important;
}
.red-border{
    border: 1px solid red!important;
}
span.step-icon.step-icon-soft-primary {
    width: 40px;
    position: absolute;
    top: -7px;
    left: 0px;
    color: #fff;
    background: #75b798;
    height: 40px;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    padding-left: 0px;
    border-radius: 50%;
}

.step-content-wrapper {
    position: relative;
    padding-left: 60px;
    padding-right: 30px;
    min-width: 120px;
}

.step-content:after{
    content: '';
    position: absolute;
    background: #6c757d;
    height: 3px;
    width: 10px;
    right: 10px;
    top: 45%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.filled{
    background: #FF0001!important;
}
.col-md-6.mt-3.mb-4.insurance-wraper {
    min-height: 65px;
}
.step-content.last:after {
    content: none;
    display: none;
}

form#msform {
    margin: 0 auto;
    margin-top: 51px;
}
img.form-img.step1 {
    width: 100%;
    height: auto;
}
.fields-container.row {
    padding: 20px;
    border: 2px solid #dbdbdb;
}
p.heading {
    font-size: 24px;
    color: #FF0001;
}
.col-md-6.img-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.col-md-6.img-container img {
    padding: 2px;
    max-width: 100%;
}
.form-check-input:checked {
    background-color: #1A63B8;
    border-color: #1A63B8;
}
.form-check-input:focus {
    border-color: #1A63B8;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(255 0 2 / 19%);
}

.col-md-3.img-wraper img {
    width: 100%;
    height: auto;
}

.step-3 .img-option .form-check-input {
    opacity: 0;
    height: 0;
    width: 0;
}

.step-2 img.img-option {
    max-width: 100%;
}
label.form-check-label.active {
    border-color: #1A63B8 !important;
}

fieldset.step-3.row .fields-container .col-md-6 .form-check-label {
    border: 2px solid #444;
    flex-direction: column;
    cursor: pointer;
    padding: 10px;
    border-radius: 16px;
    margin: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.col-md-6.box-container .card .card-img {
    max-width: 100%;
    width: fit-content;
}
.col-md-6.box-container .card {
    padding: 10px;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.service-options {
    display: flex;
    flex-direction: row;
}

.service-option {
    padding: 20px;
}

.service-option label {
    border: 2px solid #000;
    padding: 20px;
    border-radius: 11px;
}
form#msform label {
    font-size: 14px;
}

form#msform .form-check-input[type=checkbox] {
    margin-top: 5px;
}
/* .step-4 .form-check-input {
    opacity: 0;
    height: 0;
    width: 0;
} */

form#msform  input[type="text"],
form#msform  select {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 16px;
  box-sizing: border-box;
}
form#msform  select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg fill="#333" width="12" height="6" viewBox="0 0 12 6" xmlns="http://www.w3.org/2000/svg"><path d="M6 6L0 0h12z"/></svg>');
  background-repeat: no-repeat;
  background-position-x: calc(100% - 15px);
  background-position-y: center;
  background-color: #fff;
  padding-right: 30px;
}

.col-md-6.box-container.final .card {
    padding: 0px;
}
.col-md-6.box-container.final .card-body, 
.col-md-6.box-container.final .card-header{
    width: 100%;
    padding: 30px;

}

.col-md-6.box-container.final h5.card-title {
    font-size: 18px;
    font-weight: 600;
}
.ajax-loader {
    display: block;
    margin: 0 auto;
    width: 50px;
    height: 50px;
    border: 5px solid rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    border-top-color: #1A63B8;
    animation: spin 1s linear infinite;
}
.service-option.col-md-12 span.price {
    font-size: 21px;
    color: #1A63B8;
    font-weight: 800;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
  

ul.time-options.row {
    list-style: none;
}

ul.time-options.row .form-check-label {
    border: 1px solid #444;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 10px;
    background-color: #d9d9d9;
    border-radius: 10px;
    color: #000;
}
label.form-check-label.active {
    color: #fff !important;
    background: #1A63B8 !important;
}

.step-3 .col-md-12 label.form-check-label.active {
    color: #000 !important;
    background: #fff !important;
}
p.card-text.total-price {
    font-size: 34px;
    text-align: center;
}
ul.time-options.row .form-check-label input[name="service-time"] {
    opacity: 0;
}
.step-3  label.form-check-label span {
    padding-left: 10px;
}
.step-1 label.form-check-label.active,
.step-2 label.form-check-label.active{
    color: #000 !important;
    background: #ffffff !important;
}

.col-md-6.box-container.final .card-header p {
    text-align: left;
}

.col-md-6.final-screen .img-container {
    background-position: center !important;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

span.price.ml-4 {
    margin-left: 25px !important;
}

input.form-control.btn.btn-primary.submit.action-button {
    line-height: unset !important;
    padding: 5px 20px !important;
    margin: 0 !important;
    height: unset !important;
    font-size: 14px !important;
    /* color: #000; */
    font-weight: 400 !important;
}

.col-md-6.final-screen .img-container img {
    font-size: 32px !important;
    display: block;
    height: 100%;
    text-align: right;
}


.col-md-6.final-screen {
    text-align: center;
    padding: 30px;
}

.col-md-6.final-screen .sub-heading {
    margin-bottom: 60px;
    margin-top: 30px;
    max-width: 300px;
    margin: 30px auto 60px;
}

.col-md-6.final-screen .order-id {
    font-size: 32px;
    padding-bottom: 30px;
    color: #1A63B8;
    font-weight: 600;
}

.col-md-6.final-screen  .order-info {
    margin-bottom: 40px;
    margin: 0 auto 40px;
    max-width: 300px;
}

.col-md-6.final-screen  .order-info span.date,
.col-md-6.final-screen  .order-info span.time {
    font-weight: 700;
}
.col-md-6.final-screen .service-hour .day {
    color: #1A63B8;
    font-size: 18px;
    font-weight: 600;
    margin-top: 20px;
}


.col-md-6.final-screen .heading {
    font-weight: 500;
    margin-top: 30px;
    color: #1A63B8;
}
@media screen and (max-width: 992px) {
    ul#step-form-progress{
  
        display: none;
    }
  }


/* ********* Single Appointment ********** */

.single-appointment {
    width: 700px;
    margin: 0 auto;
    margin-top: 54px;
}

table.table {
    border: 1px solid #dee2e6;
}

.single-appointment tbody th {
    border-right: 1px solid #dee2e6;
    background: #dee2e6 !important;
}

.single-appointment  input.disabled{
    background-color: #d9d9d9 !important;
}

input.btn.btn-info.w-100 {
    color: #ffff;
    background: red;
    margin: 0 auto !important;
}

input, select{
    line-height: 16px!important;
}
.multi-action {
    border-radius: 10px;
    color: #fff;
    padding: 10px 20px 5px 10px;
    background-color: #007bff;
}

span.selected-text {
    font-size: 14px;
    line-height: 17px;
}

select#multi_status {
    border-radius: 5px;
    min-height: 23px;
}






form#msform{
	margin-top:20px;
}
form#msform .heading{
	margin-bottom:5px;
}
form#msform .fields-container.row{
	padding:10px;	
}
#msform.step-form input[type="text"]{
	background-color:#fff;
}

#multi-step-form #step-form-progress{
	padding-left:0;
}

.page-id-37671 .main-heading, .page-id-37671 .sub-heading{
	--widgets-spacing:0;
	--gap:0 !important;
}
.page-id-37671 .main-heading h2{
	line-height: 25px;
}

.page-id-37671 .e-con{
	--gap:0 !important;
	gap:0;
}

.call-time-main-sec{
	display: flex;
	flex-direction:inherit !important;    
	align-items:center;
	position:relative;
	top:-20px;
}
.call-time-main-sec .e-con-full.e-flex{
	flex-direction:unset;
}

.call-time-main-sec .call-time-image,
.call-time-main-sec .call-time-text{
	flex: 1; 
	width:44%	
}

.call-time-main-sec .call-time-image{
	text-align:right;
}
.call-time-main-sec .call-time-image img{
	width:90px;
}

.call-time-main-sec .call-time-text{
	padding-left:20px;
}

.call-time-main-sec .call-time-text h2{
	font-weight:bold;
	margin-top:10px;
}

.call-time-main-sec .call-time-text h3{
	margin-bottom:0;
}

.main-top-header,
.main-top-header .e-con-inner,
.main-top-header .e-child{
	padding-bottom:0;
}

.service-option{
	padding-bottom:0;
	margin-bottom:10px !important;
}
.service-option label{
	min-height:218px;
}

ul.time-options.row{
	padding-left:0;
}

#msform .heading{
	display:inline;
	width:460px;
	padding-left:0;
	padding-top:30px;
}
#msform .support-icon{
	display: inline;
  width: 130px;
  text-align: right;
}

#msform .support-icon img{
	width:90px;
}

.provide-zip-code{
	text-transform:uppercase;	
	font-weight:bold;
}
.provide-zip-code .red-text{
	color:red;
}


.container-fluid.glass-dashboard{
    margin-top:50px;
}
.glass-menu-items ul{
    margin-left: 0;
    padding-left: 0;
}
.glass-menu-items ul li{
    list-style: none;
    padding: 10px 0;
}
.glass-menu-items ul li a{
    text-decoration: none;
    color: #000;
    font-weight: bold;
}
.container-fluid.glass-dashboard .content-sec{
    padding-left: 0;
    padding-right: 0;
}



/* 2.0.15 Glass Dashboard login layout repair. Keep login form compact and centered;
   prevents theme/Bootstrap row/input rules from stretching fields full browser width. */
.glass-user-login-page{
    display: block !important;
    box-sizing: border-box;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin: 28px auto 40px auto !important;
    padding: 0 18px !important;
    border: 0 !important;
}
.glass-user-login-page .heading{
    text-align: center;
    padding: 10px 0 24px;
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #134C8F;
}
.glass-user-login{
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 28px 30px !important;
    text-align: left;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
}

/* 2.0.67: login/forgot visibility classes override the base login card display. */
.glass-user-login.agq-auth-hidden{
    display: none !important;
}
.glass-user-login.agq-auth-visible{
    display: block !important;
}

.glass-user-login p{
    margin: 0 0 22px 0 !important;
}
.glass-user-login label{
    display: block !important;
    width: auto !important;
    margin: 0 0 8px 0 !important;
    font-weight: 600;
    text-align: left;
}
.glass-user-login input.input,
.glass-user-login input[type="text"],
.glass-user-login input[type="password"],
.glass-user-login input[type="email"]{
    display: block !important;
    box-sizing: border-box !important;
    height: 48px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 1px solid #ccd0d4;
    border-radius: 5px;
    font-size: 15px;
}
.glass-user-login .submit{
    margin: 6px 0 18px 0 !important;
    padding: 0 !important;
    text-align: center;
}
.glass-user-login .submit input,
.glass-user-login input.button-primary{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    background-color: #134C8F !important;
    color: #fff !important;
    border-radius: 6px !important;
    margin: 10px 0 !important;
    border: 0 !important;
    font-weight: 600;
}
.glass-user-login .agq-login-switch{
    text-align: center !important;
    margin: 18px 0 0 0 !important;
}
.error-msg{
    color: #134C8F;
    padding-top: 0;
    margin-top: 0;
}
 (max-width: 640px){
    .glass-user-login-page{
        width: 100% !important;
        padding: 0 14px !important;
        margin-top: 18px !important;
    }
    .glass-user-login{
        padding: 22px 18px !important;
    }
}


.container-fluid.glass-dashboard .content-sec .form-select{
  width:auto;
  display:inline-block;
}

.logout-btn{
	margin-top:50px;
}


@media only Screen and (max-width:767px){ 
	form#msform{
		margin-top:0;
    }   
	#msform .heading{
		display:none;
    }
    #msform .support-icon{
		width: -webkit-fill-available;
    }
    #msform .support-icon img {
        width: 70px;
    }
	#msform.step-form .fields-container input[id=zip],
	#msform.step-form .fields-container .form-select#location{
		width:85%;
    }
    form#msform .fields-container.row{
        position: relative;
        top: 0; /* v2.1.101 mobile clipping repair: was -60px and clipped active step content */
		padding-bottom:0;
        margin-bottom:0;
    }
	form#msform .list-group-flush{
		max-width:85%;
    }
    
    form#msform .step-1 .col-md-6.img-container{
        order:2;
    }
    
    form#msform .form-control.action-button{
        height:40px;
    }
    form#msform .prev-btn{
        order:2;
    }
    
}/* AGQ 2.0.11 dashboard layout repair: keep left menu/content stable on all dashboard screens. */
.glass-dashboard{display:flex;align-items:flex-start;gap:16px;width:100%;max-width:100%;box-sizing:border-box;}
.glass-dashboard .sidebar-sec{flex:0 0 230px;max-width:230px;width:230px;box-sizing:border-box;}
.glass-dashboard .content-sec{flex:1 1 auto;max-width:calc(100% - 246px);width:auto;box-sizing:border-box;overflow-x:auto;}
.glass-menu-items ul{list-style:none;margin:0;padding:0;}
.glass-menu-items li a{display:block;box-sizing:border-box;width:100%;text-decoration:none;}
.user-mgmt-form{max-width:720px;margin:0 0 24px 0;padding:16px;border:1px solid #ddd;background:#fff;}
.user-mgmt-form label{display:block;margin:10px 0 4px;font-weight:600;}
.user-mgmt-form input{width:100%;max-width:420px;box-sizing:border-box;}
@media (max-width: 900px){.glass-dashboard{display:block}.glass-dashboard .sidebar-sec,.glass-dashboard .content-sec{width:100%;max-width:100%;}}

/* AGQ 2.0.68 Stage 7.1 frontend dashboard polish: gray sidebar, tighter content spacing, table width usage, and clipped cell text with tooltip titles. */
.container-fluid.glass-dashboard{
    margin-top:30px;
    padding-left:6px !important;
    padding-right:6px !important;
}
.glass-dashboard{gap:6px !important;}
.glass-dashboard .sidebar-sec{
    background:#f1f1f1;
    border-right:1px solid #d6d6d6;
    min-height:calc(100vh - 120px);
    padding:12px 8px !important;
}
.glass-menu-items ul li{padding:4px 0;}
.glass-menu-items ul li a{
    color:#222;
    padding:8px 10px;
    border-radius:4px;
}
.glass-menu-items ul li a:hover{background:#e2e2e2;}
.glass-dashboard .content-sec{
    padding-left:0 !important;
    padding-right:0 !important;
    max-width:calc(100% - 236px) !important;
}
.glass-dashboard .content.container,
.glass-dashboard .content .container-fluid{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
}
.appointment-list-table{width:100% !important; table-layout:fixed;}
.appointment-list-table .agq-cell-clip{
    display:inline-block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    vertical-align:middle;
}
@media (max-width: 900px){
    .glass-dashboard .sidebar-sec{min-height:0;border-right:0;border-bottom:1px solid #d6d6d6;}
    .glass-dashboard .content-sec{max-width:100% !important;}
}

/* AGQ 2.0.69 Stage 7.1 follow-up: align sidebar menu lower with dashboard filter row. */
.glass-dashboard .sidebar-sec{margin-top:46px!important;}
@media (max-width: 900px){.glass-dashboard .sidebar-sec{margin-top:0!important;}}

/* AGQ 2.0.72 Stage 7.4: full mobile optimization and layout cleanup. UI/CSS only. */
.glass-dashboard .content-sec,.glass-dashboard .content,.glass-dashboard .container-fluid{box-sizing:border-box;}
.glass-dashboard input,.glass-dashboard select,.glass-dashboard textarea,.glass-dashboard button,.glass-dashboard .btn{max-width:100%;box-sizing:border-box;}
.appointment-list-table th,.appointment-list-table td{vertical-align:middle !important;}
.appointment-list-table .btn,.glass-dashboard .btn{white-space:nowrap;}
@media (max-width:1100px){.glass-dashboard .sidebar-sec{flex-basis:210px;max-width:210px;width:210px;}.glass-dashboard .content-sec{max-width:calc(100% - 216px) !important;}.appointment-list-table{min-width:1050px;}}
@media (max-width:900px){.container-fluid.glass-dashboard{display:block !important;margin-top:12px !important;padding-left:10px !important;padding-right:10px !important;}.glass-dashboard .sidebar-sec{width:100% !important;max-width:100% !important;margin-top:0 !important;margin-bottom:14px !important;min-height:0 !important;border-right:0 !important;border-bottom:1px solid #d6d6d6 !important;}.glass-menu-items ul{display:flex;flex-wrap:wrap;gap:6px;}.glass-menu-items ul li{padding:0 !important;}.glass-menu-items ul li a{padding:9px 11px !important;min-height:40px;display:flex !important;align-items:center;}.glass-menu-items .logout-btn{margin-top:0 !important;margin-left:auto;}.glass-dashboard .content-sec{width:100% !important;max-width:100% !important;overflow-x:auto !important;padding-left:0 !important;padding-right:0 !important;}.glass-dashboard .content.container,.glass-dashboard .content .container-fluid{margin-top:0 !important;padding-left:0 !important;padding-right:0 !important;}.appointment-list-table{min-width:980px;table-layout:auto !important;}}
@media (max-width:767px){.glass-dashboard h1,.glass-dashboard h2,.glass-dashboard h3{line-height:1.25;margin-top:10px;margin-bottom:14px;}.glass-dashboard .row > [class*="col-"]{margin-bottom:10px;}.glass-dashboard .input-group{display:block;}.glass-dashboard .input-group .form-control,.glass-dashboard .input-group .btn,.glass-dashboard .row .btn,.glass-dashboard select,.glass-dashboard input[type="text"],.glass-dashboard input[type="email"],.glass-dashboard input[type="tel"],.glass-dashboard input[type="number"],.glass-dashboard textarea{width:100% !important;min-height:42px;margin-bottom:8px;}.glass-dashboard textarea{min-height:90px;}.glass-dashboard .btn,.glass-dashboard button{min-height:42px;padding:8px 12px;}.appointment-list-table th,.appointment-list-table td{padding:8px 9px !important;font-size:13px !important;}.appointment-list-table .last-col select,.appointment-list-table .last-col button,.appointment-list-table .last-col .btn{display:block;width:100% !important;margin:4px 0;}}
@media (max-width:520px){.container-fluid.glass-dashboard{padding-left:6px !important;padding-right:6px !important;}.glass-menu-items ul{display:grid;grid-template-columns:1fr 1fr;gap:6px;}.glass-menu-items ul li a{font-size:13px;justify-content:center;text-align:center;}.glass-menu-items .logout-btn{margin-left:0;}.appointment-list-table{min-width:920px;}}

/* 2.0.79 Stage 14: public online quote shortcode/mobile operational polish. */
#multi-step-form.agq-online-quote-stage14,
#multi-step-form{
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1180px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}
#multi-step-form *{
    box-sizing: border-box;
}
#multi-step-form .action-button,
#multi-step-form input[type="button"].action-button,
#multi-step-form input[type="submit"].action-button{
    min-width: 132px !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 42px !important;
    padding: 9px 18px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
#multi-step-form select,
#multi-step-form input[type="text"],
#multi-step-form input[type="email"],
#multi-step-form input[type="tel"],
#multi-step-form textarea{
    min-height: 44px !important;
    line-height: 1.35 !important;
}
#multi-step-form .fields-container.row,
#multi-step-form .box-container.final .card,
#multi-step-form .service-option label,
#multi-step-form .time-options .form-check-label{
    border-radius: 12px;
}
#multi-step-form .agq-loading-note{
    width: 100%;
    text-align: center;
    margin: 10px 0 0;
    font-size: 14px;
    font-weight: 600;
}
#multi-step-form .agq-quote-warning,
#multi-step-form .agq-pricing-warning{
    width: 100%;
    padding: 12px 14px;
    margin: 10px 0;
    border: 1px solid #f0b7b7;
    border-radius: 10px;
    background: #fff4f4;
    color: #8a1f1f;
    font-weight: 600;
}
#multi-step-form .step-3 .fields-container .col-md-12,
#multi-step-form .step-3 .fields-container .col-md-6,
#multi-step-form .step-2 .fields-container .col-md-6,
#multi-step-form .step-2 .fields-container .col-md-12{
    margin-bottom: 12px;
}
#multi-step-form .time-options.row{
    gap: 10px;
}
#multi-step-form .time-options.row > li{
    min-width: 150px;
}
@media screen and (max-width: 767px){
    #multi-step-form{
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    #multi-step-form form#msform{
        margin-top: 10px !important;
    }
    #multi-step-form fieldset.row{
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    #multi-step-form [class*="col-md-"]{
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    #multi-step-form .heading{
        display: block !important;
        width: 100% !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
        padding-top: 0 !important;
        margin-bottom: 10px !important;
    }
    #multi-step-form .support-icon{
        display: none !important;
    }
    #multi-step-form .img-container{
        display: none !important;
    }
    #multi-step-form .fields-container.row{
        padding: 12px !important;
        margin: 0 0 12px 0 !important;
    }
    #multi-step-form .service-options{
        display: block !important;
    }
    #multi-step-form .service-option,
    #multi-step-form .service-option label{
        width: 100% !important;
        min-height: 0 !important;
        padding: 12px !important;
        margin: 0 0 12px 0 !important;
    }
    #multi-step-form .box-container.final .card-header,
    #multi-step-form .box-container.final .card-body{
        padding: 16px !important;
    }
    #multi-step-form p.card-text.total-price{
        font-size: 28px !important;
    }
    #multi-step-form .prev-btn,
    #multi-step-form .next-btn{
        display: inline-block !important;
        width: 49% !important;
        vertical-align: top;
        margin-top: 8px !important;
    }
    #multi-step-form .action-button{
        width: 100% !important;
        min-width: 0 !important;
    }
    #multi-step-form .time-options.row{
        display: block !important;
        padding-left: 0 !important;
    }
    #multi-step-form .time-options.row > li{
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 10px;
    }
}

/* 2.0.80 Stage 15: lightweight customer appointment portal. */
.agq-customer-portal{max-width:720px;margin:24px auto;padding:0 14px;font-family:inherit;color:#222}.agq-customer-portal h2{font-size:28px;line-height:1.2;margin:0 0 10px}.agq-customer-portal h3{font-size:18px;margin:0 0 10px}.agq-portal-card{border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:14px 0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}.agq-portal-muted-card{background:#f8fafc}.agq-portal-card label{display:block;font-weight:600;margin:10px 0 6px}.agq-portal-card input[type=email],.agq-portal-card input[type=text],.agq-portal-card input[type=file],.agq-portal-card select,.agq-portal-card textarea{width:100%;max-width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd5e1;border-radius:10px;font-size:16px;line-height:1.35;margin-bottom:12px}.agq-portal-card button,.agq-portal-top button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;padding:12px 16px;border:0;border-radius:10px;background:#111827;color:#fff;font-weight:700;white-space:normal;line-height:1.2}.agq-portal-card button.secondary{background:#2d6a4f}.agq-portal-top button.light{width:auto;background:#fff;color:#111827;border:1px solid #d1d5db}.agq-portal-flash{padding:12px 14px;border:1px solid #d1d5db;background:#f8fafc;border-radius:10px;margin:12px 0}.agq-portal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.agq-portal-admin-panel{border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:16px;margin:22px 0}.agq-portal-admin-panel h4{margin:0 0 12px;font-size:18px}.agq-portal-admin-block{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:12px;margin:10px 0}.agq-portal-admin-block pre{white-space:pre-wrap;margin:8px 0 0;font-size:13px}.agq-portal-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:10px}.agq-portal-photo-grid img{display:block;width:100%;height:100px;object-fit:cover;border-radius:8px;border:1px solid #ddd}@media(max-width:640px){.agq-customer-portal{margin:14px auto;padding:0 10px}.agq-customer-portal h2{font-size:24px}.agq-portal-card{padding:14px;border-radius:12px}.agq-portal-top{align-items:flex-start;flex-direction:column}.agq-portal-top button.light{width:100%}.agq-portal-card button{font-size:16px}.agq-portal-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 2.1.38 Stage 17.6 baseline repair:
   Restore breathing room between the final NAGS selection controls after the
   layout regression that made the last dropdown boxes touch each other. */
#multi-step-form .step-2 .fields-container,
#multi-step-form .step-3 .fields-container {
    display: block;
}
#multi-step-form .step-2 .fields-container > *,
#multi-step-form .step-3 .fields-container > * {
    margin-bottom: 12px;
}
#multi-step-form select,
#multi-step-form .form-control {
    margin-bottom: 10px;
}
#multi-step-form .step-2 .col-md-6,
#multi-step-form .step-3 .col-md-6 {
    margin-bottom: 14px;
}

/* v2.1.50 online quote shortcode clarity/submit guard */
.agq-total-breakdown{font-size:0.92rem;line-height:1.35;margin-top:6px;color:#fff;display:grid;gap:2px}
.agq-total-breakdown span,.agq-total-breakdown strong{display:block}
.agq-submit-locked{opacity:.65;cursor:not-allowed!important}
.agq-loading-note{margin-top:8px;font-weight:600}
.agq-quote-warning,.agq-pricing-warning{padding:12px 14px;border-radius:8px;background:#fff3cd;border:1px solid #ffe69c;color:#664d03;margin:10px 0}


/* v2.1.55 Stage 17.6 final online quote UI polish.
   UI-only: no pricing, NAGS, MyGrant, booking, invoice, or email logic changes. */
#multi-step-form.agq-online-quote-stage14,
#multi-step-form{
    max-width: 1080px !important;
    margin: 24px auto !important;
    padding: 0 16px !important;
    font-family: inherit;
}
#multi-step-form form#msform{
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15,23,42,.08);
    padding: 22px !important;
    overflow: hidden;
}
#multi-step-form #step-form-progress.step{
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 8px;
    list-style: none;
    margin: 0 0 20px !important;
    padding: 0 !important;
}
#multi-step-form #step-form-progress .step-item,
#multi-step-form #step-form-progress .step-item.active{
    min-width: 0;
    padding: 8px 6px;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    background: #f8fafc;
}
#multi-step-form #step-form-progress .step-content-wrapper{
    display: flex;
    align-items: center;
    gap: 7px;
    justify-content: center;
}
#multi-step-form #step-form-progress .step-icon{
    display: inline-flex;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #0d6efd;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
}
#multi-step-form #step-form-progress .step-inline-title{
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
}
#multi-step-form fieldset.row{
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 0;
}
#multi-step-form .heading{
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #0f172a;
    margin: 4px 0 18px !important;
    padding: 0 !important;
}
#multi-step-form .fields-container,
#multi-step-form .fields-container.row{
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px !important;
    padding: 16px !important;
    margin: 0 0 14px !important;
}
#multi-step-form label{
    font-weight: 700;
    color: #334155;
    margin-bottom: 6px;
}
#multi-step-form .form-control,
#multi-step-form .form-select,
#multi-step-form select,
#multi-step-form input[type="text"],
#multi-step-form input[type="email"],
#multi-step-form input[type="tel"],
#multi-step-form textarea{
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    background-color: #fff !important;
    box-shadow: none !important;
}
#multi-step-form .service-options{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    align-items: stretch;
}
#multi-step-form .service-option{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
#multi-step-form .service-option label.form-check-label{
    display: block;
    height: 100%;
    min-height: 0 !important;
    padding: 16px !important;
    border: 1px solid #dbe4ef;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: 0 5px 16px rgba(15,23,42,.06);
    cursor: pointer;
}
#multi-step-form .service-option label.form-check-label.active,
#multi-step-form .service-option input[type="radio"]:checked ~ .price{
    border-color: #0d6efd;
}
#multi-step-form .service-option p{
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
}
#multi-step-form .agq-service-help,
#multi-step-form .agq-option-note{
    display: block;
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
    margin: 0 0 10px;
}
#multi-step-form .service-option ul{
    margin: 10px 0 12px 18px;
    padding: 0;
}
#multi-step-form .service-option .price,
#multi-step-form .agq-tax-line{
    display: block;
    margin: 10px 0 0 !important;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.45;
}
#multi-step-form .box-container.final .card{
    border: 1px solid #dbe4ef;
    border-radius: 18px !important;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15,23,42,.08);
}
#multi-step-form .box-container.final .card-header{
    padding: 18px !important;
}
#multi-step-form p.card-text.total-price{
    font-size: 34px !important;
    font-weight: 800 !important;
    margin: 8px 0 4px !important;
}
#multi-step-form .agq-total-breakdown{
    background: rgba(255,255,255,.16);
    border-radius: 10px;
    padding: 8px 10px;
}
#multi-step-form .action-button,
#multi-step-form input[type="button"].action-button,
#multi-step-form input[type="submit"].action-button{
    border-radius: 10px !important;
    min-height: 44px !important;
    font-weight: 800 !important;
}
#multi-step-form .prev-btn,
#multi-step-form .next-btn{
    max-width: 190px;
}
#multi-step-form .img-container img{
    max-width: 100%;
    height: auto;
}
#multi-step-form .ajax-loader{
    margin: 16px auto 8px !important;
}
#multi-step-form .agq-loading-note{
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
    border-radius: 10px;
    padding: 10px 12px;
}
#multi-step-form .agq-quote-warning,
#multi-step-form .agq-pricing-warning{
    border-radius: 12px !important;
}
@media screen and (min-width: 992px){
    #multi-step-form .box-container.final{
        position: sticky;
        top: 18px;
        align-self: flex-start;
    }
}
@media screen and (max-width: 900px){
    #multi-step-form form#msform{
        padding: 16px !important;
    }
    #multi-step-form #step-form-progress.step{
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
    #multi-step-form .service-options{
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width: 767px){
    #multi-step-form{
        margin: 12px auto !important;
        padding: 0 10px !important;
    }
    #multi-step-form form#msform{
        border-radius: 14px;
        padding: 14px !important;
    }
    #multi-step-form #step-form-progress.step{
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 6px;
    }
    #multi-step-form #step-form-progress .step-inline-title{
        font-size: 12px;
    }
    #multi-step-form .heading{
        font-size: 21px !important;
    }
    #multi-step-form .fields-container,
    #multi-step-form .fields-container.row{
        padding: 13px !important;
    }
    #multi-step-form .prev-btn,
    #multi-step-form .next-btn{
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }
    #multi-step-form .prev-btn + .next-btn{
        margin-top: 6px !important;
    }
    #multi-step-form p.card-text.total-price{
        font-size: 30px !important;
    }
}


/* v2.1.56 Stage 17.6 service box simplification.
   Presentation-only: one neutral Complete Glass Service card with Service Total label. */
#multi-step-form .agq-service-help,
#multi-step-form .agq-option-note{
    display:none !important;
}
#multi-step-form .service-options{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
}
#multi-step-form .service-option.agq-single-service-option,
#multi-step-form .service-option.agq-single-service-option.col-md-12{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    padding:0 !important;
    margin:0 !important;
}
#multi-step-form .service-option.agq-single-service-option label.form-check-label{
    border:1px solid #dbe4ef !important;
    border-left:4px solid #0d6efd !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(15,23,42,.07) !important;
    cursor:default !important;
}
#multi-step-form .service-option.agq-single-service-option label.form-check-label.active{
    border-color:#dbe4ef !important;
    border-left-color:#0d6efd !important;
}
#multi-step-form .service-option.agq-single-service-option p{
    font-size:20px !important;
    margin-bottom:8px !important;
}
#multi-step-form .agq-service-quality{
    font-weight:700;
    color:#334155;
    margin:0 0 10px;
    line-height:1.35;
}
#multi-step-form .service-option.agq-single-service-option ul{
    margin:10px 0 14px 20px !important;
}
#multi-step-form .service-option.agq-single-service-option .price{
    display:inline-block !important;
    background:#f8fafc !important;
    border:1px solid #e2e8f0 !important;
    border-radius:10px !important;
    padding:9px 12px !important;
    margin:8px 0 0 !important;
}
#multi-step-form .agq-service-radio{
    position:absolute !important;
    opacity:0 !important;
    pointer-events:none !important;
}


/* v2.1.57 service box/rendering follow-up: show benefits reliably and style final portal info. */
#multi-step-form .service-option.agq-single-service-option .agq-service-benefits{
    display:block !important;
}
#multi-step-form .service-option.agq-single-service-option .agq-service-benefits li{
    display:list-item !important;
    visibility:visible !important;
    opacity:1 !important;
}
#multi-step-form .service-option.agq-single-service-option .agq-service-benefits{
    list-style:disc !important;
    padding-left:20px !important;
    margin:10px 0 16px 20px !important;
    min-height:0 !important;
}
#multi-step-form .agq-final-portal-info{
    margin:16px 0;
    padding:12px 14px;
    border:1px solid #dbe4ef;
    border-radius:10px;
    background:#f8fafc;
    line-height:1.7;
}
#multi-step-form .agq-final-portal-info a{font-weight:700;word-break:break-word;}

/* v2.1.58 loaded shortcode repair: force service benefits visible and keep final portal info visible when populated. */
#multi-step-form .service-option.agq-single-service-option label.form-check-label{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    white-space:normal !important;
}
#multi-step-form .service-option.agq-single-service-option .agq-service-benefits,
#multi-step-form .service-option.agq-single-service-option .agq-service-benefits li{
    display:list-item !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.35 !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
}
#multi-step-form .service-option.agq-single-service-option .agq-service-benefits{
    display:block !important;
    list-style:disc !important;
    margin:12px 0 16px 20px !important;
    padding-left:20px !important;
}
#multi-step-form .agq-final-portal-info{
    display:block;
    background:#f8fafc;
    border:1px solid #dbe4ef;
    border-radius:10px;
    margin:14px 0;
    padding:12px 14px;
    color:#0f172a;
}
#multi-step-form .agq-final-portal-info a{
    color:#0d6efd;
    word-break:break-word;
}
#multi-step-form .agq-windshield-description-link{
    color:#0d6efd;
    text-decoration:underline;
    font-weight:600;
}


/* v2.1.60 Stage 17.6 mobile multi-step containment + portal confirmation visibility.
   Fixes mobile regression where every shortcode page stacked vertically. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform fieldset.row,
    #multi-step-form .step-form fieldset.row{
        display:none !important;
    }
    #multi-step-form form#msform fieldset.row:first-of-type,
    #multi-step-form .step-form fieldset.row:first-of-type{
        display:flex !important;
        flex-direction:column !important;
    }
    #multi-step-form form#msform fieldset.row[style*="display: block"],
    #multi-step-form form#msform fieldset.row[style*="display:block"],
    #multi-step-form form#msform fieldset.row[style*="display: flex"],
    #multi-step-form form#msform fieldset.row[style*="display:flex"],
    #multi-step-form .step-form fieldset.row[style*="display: block"],
    #multi-step-form .step-form fieldset.row[style*="display:block"],
    #multi-step-form .step-form fieldset.row[style*="display: flex"],
    #multi-step-form .step-form fieldset.row[style*="display:flex"]{
        display:flex !important;
        flex-direction:column !important;
    }
}
#multi-step-form .agq-final-portal-info{
    margin:12px 0 14px;
    padding:12px 14px;
    border:1px solid #dbeafe;
    background:#eff6ff;
    border-radius:10px;
    color:#0f172a;
}
#multi-step-form .agq-final-portal-info a{
    color:#0f5ea8;
    text-decoration:underline;
    overflow-wrap:anywhere;
}


/* v2.1.63 Stage 17.6 mobile step transition repair.
   Uses an explicit active-step class so older mobile overrides cannot stack every shortcode page. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row,
    #multi-step-form .step-form.agq-step-ready fieldset.row{
        display:none !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step,
    #multi-step-form .step-form.agq-step-ready fieldset.row.agq-active-step{
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
}


/* v2.1.64 Stage 17.6 mobile final-confirmation transition repair.
   Once booking is submitted, the form is hidden completely so checkout/address fields
   cannot remain visible above the confirmation screen on mobile. */
#multi-step-form.agq-confirmation-active form#msform.step-form,
#multi-step-form.agq-confirmation-active .step-form{
    display:none !important;
}
#multi-step-form.agq-confirmation-active .final-screen{
    display:block !important;
}
@media screen and (max-width: 767px){
    #multi-step-form.agq-confirmation-active .final-screen{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        padding-left:15px !important;
        padding-right:15px !important;
    }
}


/* v2.1.65 Stage 17.6 final mobile + maps fix.
   Confirmation state must override all older mobile fieldset display rules. */
body.agq-quote-confirmation-only #multi-step-form form#msform,
body.agq-quote-confirmation-only #multi-step-form .step-form,
#multi-step-form.agq-confirmation-active form#msform,
#multi-step-form.agq-confirmation-active form#msform fieldset.row,
#multi-step-form.agq-confirmation-active .step-form fieldset.row{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
}
body.agq-quote-confirmation-only #multi-step-form .final-screen,
#multi-step-form.agq-confirmation-active .final-screen.agq-final-active,
#multi-step-form.agq-confirmation-active .final-screen{
    display:block !important;
    visibility:visible !important;
    height:auto !important;
    overflow:visible !important;
    opacity:1 !important;
}
@media screen and (max-width: 767px){
    body.agq-quote-confirmation-only #multi-step-form .row,
    #multi-step-form.agq-confirmation-active .row{
        display:block !important;
    }
    body.agq-quote-confirmation-only #multi-step-form .final-screen,
    #multi-step-form.agq-confirmation-active .final-screen{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        display:block !important;
    }
}


/* v2.1.69 Stage 17.6: compact online quote Step 2 glass-type rows.
   UI-only loaded-path CSS: reduces vertical spacing on the “What do you need fixed?”
   list without changing NAGS, pricing, MyGrant, booking, or selection logic. */
#multi-step-form .step-2 .fields-container > .col-md-9.mb-5,
#multi-step-form .step-2 .fields-container > .col-md-3.img-wraper{
    margin-bottom: 6px !important;
}
#multi-step-form .step-2 .fields-container > .col-md-9.mb-5{
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
}
#multi-step-form .step-2 .fields-container label.form-check-label{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    line-height: 1.25 !important;
}
#multi-step-form .step-2 .fields-container label.form-check-label span{
    padding-left: 6px !important;
}
#multi-step-form .step-2 .fields-container .img-wraper{
    display: flex !important;
    align-items: center !important;
}
#multi-step-form .step-2 .fields-container .img-wraper img{
    max-height: 38px !important;
    width: auto !important;
    max-width: 76px !important;
    object-fit: contain !important;
    margin: 0 !important;
}
@media screen and (max-width: 767px){
    #multi-step-form .step-2 .fields-container > .col-md-9.mb-5,
    #multi-step-form .step-2 .fields-container > .col-md-3.img-wraper{
        margin-bottom: 4px !important;
    }
    #multi-step-form .step-2 .fields-container .img-wraper img{
        max-height: 34px !important;
        max-width: 68px !important;
    }
}

/* v2.1.70 Stage 17.6 Complete Glass Service red text.
   Loaded-path CSS only: target the Step 4 service card text rendered by PHP and JS. */
#multi-step-form .step-4 .service-options .agq-single-service-option .agq-service-quality,
#multi-step-form .step-4 .service-options .agq-single-service-option .agq-service-benefits,
#multi-step-form .step-4 .service-options .agq-single-service-option .agq-service-benefits li {
    color:#c62828 !important;
}

/* v2.1.76 Stage 17.6 mobile transition safeguard + safe button spacing.
   Roll back the broad v2.1.75 grid/order fieldset rules that could override the
   established mobile active-step display controls. Do not move button markup and
   do not change js/custom-script-new.js stepform(). The wrappers remain direct
   fieldset children for the existing click handler. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row{
        display:none !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step{
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .heading{
        order:1;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .col-md-6:not(.img-container):not(.box-container),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-1.row.agq-active-step > .fields-container{
        order:10;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-1.row.agq-active-step > .col-md-3.mb-3{
        order:20;
        margin-top:8px !important;
        margin-bottom:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .img-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .box-container{
        order:30;
    }
}
@media screen and (min-width: 768px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-1.row.agq-active-step > .col-md-3.mb-3{
        margin-top:8px !important;
        margin-bottom:0 !important;
    }
}


/* v2.1.77 Stage 17.6 mobile quote transition guard support + one-row buttons.
   Keeps Previous/Next wrappers as direct fieldset children and does not change
   js/custom-script-new.js stepform(). Active mobile fieldsets use wrapping flex
   so content stays full-width and the two button wrappers can share one row. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        align-items:flex-start !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .heading,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .support-icon,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .col-md-6:not(.img-container),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .box-container{
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .img-container{
        display:none !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn{
        display:block !important;
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        padding-left:4px !important;
        padding-right:4px !important;
        margin-top:8px !important;
        margin-bottom:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn{
        padding-left:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn{
        padding-right:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn .action-button,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn .action-button{
        width:100% !important;
        min-width:0 !important;
        white-space:normal !important;
    }
}


/* v2.1.78 Stage 17.6 mobile schedule/final summary order repair.
   Root cause: the prior mobile button-spacing CSS assigned Previous/Next order before
   .box-container.final, so the schedule/final total-summary column rendered below the
   buttons on mobile. This CSS-only repair keeps the existing markup and stepform()
   handler intact; it only restores visual order so content/summary appears before
   the direct-child button wrappers. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .heading{
        order:1 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .support-icon{
        order:2 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .col-md-6:not(.img-container):not(.box-container),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container{
        order:10 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .box-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .box-container.final{
        order:15 !important;
        margin-top:0 !important;
        margin-bottom:10px !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn{
        order:20 !important;
        display:block !important;
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        margin-top:8px !important;
        margin-bottom:0 !important;
    }
}


/* v2.1.79 Stage 17.6 mobile final customer-info summary containment.
   Verified loaded markup: template-parts/step-6.php has its own direct-child
   .box-container.final summary after the customer-info column and before the
   direct-child button wrappers. On mobile this makes the schedule/quote summary
   appear at the bottom of the customer-info page before Submit. Keep markup and
   stepform() untouched; hide only the Step 6 summary card on mobile so the
   customer-info fields flow directly to Previous/Submit. Step 5 schedule summary
   remains visible and ordered before Previous/Next. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .box-container.final{
        display:none !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .next-btn{
        order:20 !important;
        display:block !important;
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        margin-top:8px !important;
        margin-bottom:0 !important;
    }
}


/* v2.1.80 Stage 17.6 mobile first-screen compact UI polish.
   CSS-only loaded-path polish: keep quote logic, AJAX, pricing, scheduling, submit,
   button markup, and js/custom-script-new.js stepform() untouched. On mobile,
   collapse the 6-box progress tracker to the current active step only and make
   Step 1 vehicle fields more compact with two-per-row controls. */
@media screen and (max-width: 767px){
    #multi-step-form #step-form-progress.step{
        display:block !important;
        margin:0 0 10px !important;
        padding:0 !important;
    }
    #multi-step-form #step-form-progress.step .step-item{
        display:none !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        padding:8px 10px !important;
        border-radius:10px !important;
        background:#eff6ff !important;
        border:1px solid #bfdbfe !important;
        box-shadow:none !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-content-wrapper{
        justify-content:flex-start !important;
        gap:8px !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-content-wrapper:before{
        content:'Step';
        font-weight:800;
        color:#1e3a8a;
        font-size:13px;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-icon{
        width:24px !important;
        height:24px !important;
        min-width:24px !important;
        font-size:12px !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-content:before{
        content:'of 6:';
        margin-right:5px;
        color:#1e3a8a;
        font-size:13px;
        font-weight:800;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-inline-title{
        font-size:13px !important;
        color:#0f172a !important;
        font-weight:800 !important;
    }

    #multi-step-form .step-1.agq-active-step .fields-container.row{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        gap:0 !important;
        padding:10px !important;
        margin-bottom:8px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div{
        margin-bottom:7px !important;
        padding-left:4px !important;
        padding-right:4px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(1),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(2),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(3),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(4),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(5){
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row label{
        font-size:12px !important;
        line-height:1.15 !important;
        margin-bottom:3px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row .form-control,
    #multi-step-form .step-1.agq-active-step .fields-container.row .form-select,
    #multi-step-form .step-1.agq-active-step .fields-container.row select{
        min-height:38px !important;
        height:38px !important;
        padding:6px 8px !important;
        font-size:14px !important;
        margin-bottom:0 !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(9){
        margin-bottom:4px !important;
    }
    #multi-step-form .heading{
        margin-bottom:8px !important;
    }
}


/* v2.1.81 Stage 17.6 mobile UI polish follow-up.
   Loaded-path UI only: compact tracker now follows the actual active fieldset,
   Step 1 places Mobile Number beside Style with Style narrower, and Step 3
   places Previous/Next immediately after parts/options before the trust icons.
   No AJAX, pricing, schedule, submit, or click navigation logic changes. */
@media screen and (max-width: 767px){
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(5){
        flex:0 0 40% !important;
        max-width:40% !important;
        width:40% !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(6){
        flex:0 0 60% !important;
        max-width:60% !important;
        width:60% !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(7),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(9){
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row label[for="mobile_number"]{
        white-space:nowrap !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step{
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:flex-start !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .col-md-6:not(.box-container){
        order:1 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .next-btn{
        order:2 !important;
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        margin-top:8px !important;
        margin-bottom:8px !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .box-container{
        order:3 !important;
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        margin-top:4px !important;
    }
}


/* v2.1.82 Stage 17.6 mobile tracker + Step 1 email/insurance alignment.
   Loaded-path UI only. The custom-script-new.js change is visual tracker sync/cache-bust only;
   it does not change the Previous/Next click navigation handler logic, AJAX, pricing,
   schedule, submit, or button markup. */
@media screen and (max-width: 767px){
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(7),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8){
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        margin-bottom:6px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8){
        display:flex !important;
        align-items:flex-end !important;
        gap:5px !important;
        padding-bottom:6px !important;
        min-height:58px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8) .form-check-input{
        width:16px !important;
        height:16px !important;
        margin:0 2px 2px 0 !important;
        flex:0 0 auto !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8) .form-check-label{
        margin:0 !important;
        line-height:1.15 !important;
        font-size:12px !important;
        white-space:normal !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8) .form-check-label::first-letter{
        margin-left:0 !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(9){
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
    }
}

/* v2.1.83 Stage 17.6 mobile Step 1 field alignment polish.
   UI-only CSS: keep Email full-width, keep insurance on its own one-line row,
   add safe checkbox/label spacing, and align Zip/Year/Make/Model/Style/Mobile
   as equal 50% mobile fields. No JS, navigation, pricing, schedule, or submit logic changes. */
@media screen and (max-width: 767px){
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(1),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(2),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(3),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(4),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(5),
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(6){
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        padding-left:4px !important;
        padding-right:4px !important;
        margin-bottom:7px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(7){
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        padding-left:4px !important;
        padding-right:4px !important;
        margin-bottom:7px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8){
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:8px !important;
        min-height:auto !important;
        padding:2px 4px 4px 4px !important;
        margin-bottom:6px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8) .form-check-input{
        position:static !important;
        width:16px !important;
        height:16px !important;
        margin:0 !important;
        flex:0 0 16px !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(8) .form-check-label{
        display:inline-flex !important;
        align-items:center !important;
        margin:0 0 0 6px !important;
        padding-left:0 !important;
        line-height:1.2 !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }
    #multi-step-form .step-1.agq-active-step .fields-container.row > div:nth-child(9){
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        padding-left:4px !important;
        padding-right:4px !important;
    }
}

/* v2.1.88 Stage 17.6 desktop/tablet final customer-info summary containment.
   The Step 6 customer-info page has its own direct-child .box-container.final
   summary card. v2.1.79 hid that card on mobile only; desktop/tablet still
   displayed the previous price-summary/right-column content on the final page.
   Keep markup and stepform() untouched; hide only Step 6 summary across all
   viewport sizes. Step 5 schedule summary remains visible. */
#multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .box-container.final,
#multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .box-container.final,
#multi-step-form form#msform fieldset.step-6.row[style*="display: block"] > .box-container.final,
#multi-step-form form#msform fieldset.step-6.row[style*="display:block"] > .box-container.final,
#multi-step-form form#msform fieldset.step-6.row[style*="display: flex"] > .box-container.final,
#multi-step-form form#msform fieldset.step-6.row[style*="display:flex"] > .box-container.final{
    display:none !important;
}

/* v2.1.91 Stage 17.6 desktop layout regression rollback.
   Reverts the v2.1.89 desktop/tablet flex/order parity block because it forced
   desktop Bootstrap columns to 100% width and pushed right image/summary columns
   below the main form. Keep the proven mobile-only ordering rules above and
   preserve v2.1.88 Step 6 summary containment. No JS, stepform(), button markup,
   pricing, schedule, submit, reCAPTCHA, Maps, or menu-link logic changed. */

/* v2.1.93: ADAS service-location warning on appointment step */
.agq-adas-location-warning {
    margin-top: 8px;
    padding: 9px 11px;
    border: 1px solid #f0c36d;
    border-radius: 6px;
    background: #fff8e5;
    color: #6f4f00;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
}


/* v2.1.95: place ADAS mobile-service warning below the time-slot buttons, matching the requested schedule-step location. */
.step-5 .agq-adas-location-warning {
    display: none;
    width: 100%;
    clear: both;
    margin: 10px 0 0;
}

/* v2.1.96: runtime-visible ADAS warning remains hidden unless Mobile is selected and the selected/final glass option requires calibration. */


/* v2.1.97 Stage 17.6 compact mobile quote layout restore.
   Purpose: restore the intended mobile quote appearance after prior CSS ordering
   rules conflicted with each other. This block is MOBILE ONLY and intentionally
   does not affect desktop/tablet Bootstrap columns. Keep js/custom-script-new.js
   stepform(), button markup, pricing, scheduling, submit, reCAPTCHA, Maps, and
   menu-link logic untouched.

   Intended mobile layout documented for future builds:
   - compact tracker: show only current active step
   - no right-side/support images on mobile quote steps
   - Step 1 fields compact: Zip/Year/Make/Model/Style/Mobile as 2-per-row;
     Email full width; Insurance checkbox full width underneath Email
   - Previous/Next/Submit buttons stay direct fieldset children and sit one row
   - Step 3 buttons appear immediately after part/options content, before icon cards
   - Step 5 schedule summary appears before navigation buttons
   - Step 6 customer-info page never shows the previous summary/right column
*/
@media screen and (max-width: 767px){
    #multi-step-form,
    #multi-step-form form#msform.step-form{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row{
        display:none !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        align-items:flex-start !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    /* Compact tracker: one visible current-step pill only. */
    #multi-step-form #step-form-progress.step{
        display:block !important;
        margin:0 0 10px !important;
        padding:0 !important;
    }
    #multi-step-form #step-form-progress.step .step-item{
        display:none !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active,
    #multi-step-form #step-form-progress.step .step-item.agq-current-step{
        display:flex !important;
        width:100% !important;
        max-width:100% !important;
        align-items:center !important;
        justify-content:center !important;
        margin:0 !important;
        padding:6px 8px !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-content-wrapper,
    #multi-step-form #step-form-progress.step .step-item.agq-current-step .step-content-wrapper{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:7px !important;
        width:auto !important;
        max-width:100% !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-content-wrapper:before,
    #multi-step-form #step-form-progress.step .step-item.agq-current-step .step-content-wrapper:before{
        content:'Step';
        font-weight:800;
        color:#1e3a8a;
        font-size:13px;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-icon,
    #multi-step-form #step-form-progress.step .step-item.agq-current-step .step-icon{
        width:24px !important;
        height:24px !important;
        min-width:24px !important;
        font-size:12px !important;
    }
    #multi-step-form #step-form-progress.step .step-item.active .step-content:before,
    #multi-step-form #step-form-progress.step .step-item.agq-current-step .step-content:before{
        content:'of 6:';
        margin-right:5px;
        color:#1e3a8a;
        font-size:13px;
        font-weight:800;
    }

    /* Mobile compact mode hides only decorative right/support images, not summaries. */
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .support-icon,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .img-container{
        display:none !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .heading{
        order:1 !important;
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        margin:0 0 8px !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .col-md-6:not(.img-container):not(.box-container),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .box-container{
        order:10 !important;
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        padding-left:10px !important;
        padding-right:10px !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-1.row.agq-active-step > .col-md-3.mb-3{
        order:30 !important;
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
        padding-left:5px !important;
        padding-right:5px !important;
        margin-top:8px !important;
        margin-bottom:0 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .prev-btn .action-button,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .next-btn .action-button,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-1.row.agq-active-step > .col-md-3.mb-3 .action-button{
        width:100% !important;
        min-height:40px !important;
    }

    /* Step 1 compact field grid. */
    #multi-step-form .step-1.agq-active-step > .fields-container.row{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        gap:0 !important;
        order:10 !important;
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
        padding:10px !important;
        margin:0 0 8px !important;
    }
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div{
        padding-left:4px !important;
        padding-right:4px !important;
        margin-bottom:7px !important;
    }
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(1),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(2),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(3),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(4),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(5),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(6){
        flex:0 0 50% !important;
        max-width:50% !important;
        width:50% !important;
    }
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(7),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(8),
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(9){
        flex:0 0 100% !important;
        max-width:100% !important;
        width:100% !important;
    }
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(8){
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:8px !important;
        padding-top:2px !important;
        padding-bottom:4px !important;
        min-height:auto !important;
    }
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(8) .form-check-input{
        position:static !important;
        width:16px !important;
        height:16px !important;
        margin:0 !important;
        flex:0 0 16px !important;
    }
    #multi-step-form .step-1.agq-active-step > .fields-container.row > div:nth-child(8) .form-check-label{
        display:inline-flex !important;
        align-items:center !important;
        margin:0 0 0 6px !important;
        padding-left:0 !important;
        line-height:1.2 !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }
    #multi-step-form .step-1.agq-active-step label{
        font-size:12px !important;
        line-height:1.15 !important;
        margin-bottom:3px !important;
    }
    #multi-step-form .step-1.agq-active-step .form-control,
    #multi-step-form .step-1.agq-active-step .form-select,
    #multi-step-form .step-1.agq-active-step select{
        min-height:38px !important;
        height:38px !important;
        padding:6px 8px !important;
        font-size:14px !important;
        margin-bottom:0 !important;
    }

    /* Parts page: buttons immediately after options, before icon cards. */
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .col-md-6:not(.box-container){
        order:10 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .next-btn{
        order:20 !important;
        margin-top:8px !important;
        margin-bottom:8px !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .box-container{
        order:30 !important;
    }

    /* Schedule page: keep summary before buttons; final checkout: no carried summary. */
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-5.row.agq-active-step > .box-container.final{
        order:20 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-5.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-5.row.agq-active-step > .next-btn{
        order:30 !important;
    }
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .box-container.final{
        display:none !important;
    }
}

/* v2.1.97 desktop/tablet safeguard: final checkout never shows carried summary,
   but no desktop column widths/orders are changed. */
@media screen and (min-width: 768px){
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .box-container.final,
    #multi-step-form form#msform fieldset.step-6.row[style*="display: block"] > .box-container.final,
    #multi-step-form form#msform fieldset.step-6.row[style*="display:block"] > .box-container.final,
    #multi-step-form form#msform fieldset.step-6.row[style*="display: flex"] > .box-container.final,
    #multi-step-form form#msform fieldset.step-6.row[style*="display:flex"] > .box-container.final{
        display:none !important;
    }
}


/* v2.1.98 Stage 17.6 mobile-only quote screen cleanup.
   Purpose: repair mobile visual artifacts introduced by earlier compact layout CSS only.
   - Hide the old per-fieldset red heading text on mobile because the compact tracker is now the visible step label.
   - Add safe left/right breathing room for mobile radio/checkbox controls so they are not clipped by card borders.
   Desktop/tablet layout, stepform(), button markup, pricing, schedule, and submit logic are untouched. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > p.heading,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .heading{
        display:none !important;
        visibility:hidden !important;
        height:0 !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step .fields-container{
        overflow:visible !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step .form-check-label{
        box-sizing:border-box !important;
        max-width:100% !important;
        overflow:visible !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step input.form-check-input{
        position:relative !important;
        margin-left:0 !important;
        margin-right:8px !important;
        flex:0 0 auto !important;
        z-index:2 !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step > .fields-container{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step .fields-container > .col-md-12,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step .fields-container > [class*="col-"]{
        padding-left:8px !important;
        padding-right:8px !important;
        overflow:visible !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step .fields-container label.form-check-label{
        display:flex !important;
        flex-direction:row !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:8px !important;
        width:100% !important;
        padding:4px 6px 4px 8px !important;
        margin:4px 0 !important;
        line-height:1.25 !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-3.row.agq-active-step .fields-container label.form-check-label span{
        display:block !important;
        min-width:0 !important;
        overflow-wrap:anywhere !important;
    }
}


/* v2.1.99 Stage 17.6 mobile tracker clearance repair.
   Purpose: mobile-only fix for compact tracker overlapping the active step content.
   The tracker stays compact and visible, but the active fieldset/shortcode content
   is pushed down with safe clearance. Desktop/tablet, stepform(), button markup,
   pricing, schedule, submit, Maps, and reCAPTCHA are untouched. */
@media screen and (max-width: 767px){
    #multi-step-form #step-form-progress.step{
        position:relative !important;
        z-index:3 !important;
        margin-bottom:18px !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step{
        position:relative !important;
        z-index:1 !important;
        padding-top:12px !important;
        margin-top:0 !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .col-md-6:not(.img-container):not(.box-container){
        margin-top:0 !important;
    }
}


/* v2.1.100 Stage 17.6 mobile quote frame content clearance repair.
   Verified cause: an older mobile rule moved all .fields-container.row upward with
   position:relative; top:-60px, which clipped the top of every active quote screen
   inside the white form/card frame. This block is mobile-only and only neutralizes
   that upward offset for the online quote shortcode. It does not touch desktop,
   stepform(), button markup, pricing, scheduling, submit, Maps, or reCAPTCHA. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form .fields-container.row,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container.row,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step .fields-container.row{
        position:relative !important;
        top:0 !important;
        transform:none !important;
    }

    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step{
        padding-top:18px !important;
        overflow:visible !important;
    }

    #multi-step-form form#msform.step-form{
        overflow:visible !important;
        padding-top:32px !important;
    }
}


/* v2.1.101 Stage 17.6 mobile active frame top clipping repair.
   Source-level correction: the original mobile .fields-container.row rule used top:-60px,
   and form overflow could clip the active fieldset inside the quote frame. Keep this mobile-only.
   Do not alter desktop/tablet layout, stepform(), buttons, pricing, schedule, or submit logic. */
@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form{
        overflow:visible !important;
        padding-top:32px !important;
    }
    #multi-step-form form#msform.step-form fieldset.row.agq-active-step,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step{
        overflow:visible !important;
        padding-top:24px !important;
    }
    #multi-step-form form#msform.step-form fieldset.row.agq-active-step > .fields-container.row,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.row.agq-active-step > .fields-container.row,
    #multi-step-form form#msform.step-form .fields-container.row{
        top:0 !important;
        transform:none !important;
        overflow:visible !important;
    }
}

/* v2.1.102 Stage 17.6 desktop-only final checkout layout repair.
   Purpose: on desktop/tablet only, keep the final checkout customer/contact blocks
   on the left, move the address block to the upper-right, and place Previous/Submit
   directly below the address block. Mobile compact quote layout is intentionally
   excluded. No JS, stepform(), pricing, scheduling, submit logic, or button markup changed. */
@media screen and (min-width: 768px){
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step{
        align-items:flex-start !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container){
        flex:0 0 100% !important;
        max-width:100% !important;
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap:28px !important;
        align-items:start !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container{
        width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(1),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(1){
        grid-column:1 !important;
        grid-row:1 !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(2),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(2){
        grid-column:1 !important;
        grid-row:2 !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(3),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(3){
        grid-column:2 !important;
        grid-row:1 / span 2 !important;
        align-self:start !important;
        margin-top:0 !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .next-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .next-btn{
        flex:0 0 calc(25% - 14px) !important;
        max-width:calc(25% - 14px) !important;
        width:calc(25% - 14px) !important;
        margin-top:14px !important;
        margin-bottom:0 !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .prev-btn{
        margin-left:calc(50% + 14px) !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .next-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .next-btn{
        margin-left:14px !important;
    }
}


/* v2.1.103 Stage 17.6 final checkout customer notes field.
   Purpose: add an optional "Additional Details or Requests" textarea to the final
   checkout step and position it in the right column under the address block on
   desktop/tablet. Mobile remains single-column and follows existing compact layout.
   No JS navigation handler, pricing, scheduling, submit validation, or button markup changed. */
@media screen and (min-width: 768px){
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .agq-additional-details-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .agq-additional-details-container{
        grid-column:2 !important;
        grid-row:2 !important;
        align-self:start !important;
        margin-top:14px !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(4),
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .col-md-6:not(.box-container) > .fields-container:nth-of-type(4){
        grid-column:2 !important;
        grid-row:2 !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step > .next-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .prev-btn,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step > .next-btn{
        margin-top:18px !important;
    }

    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step textarea#customer_notes,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step textarea#customer_notes{
        min-height:94px !important;
        resize:vertical !important;
    }
}

@media screen and (max-width: 767px){
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step .agq-additional-details-container,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step .agq-additional-details-container{
        width:100% !important;
        margin-top:10px !important;
    }
    #multi-step-form form#msform.step-form fieldset.step-6.row.agq-active-step textarea#customer_notes,
    #multi-step-form form#msform.step-form.agq-step-ready fieldset.step-6.row.agq-active-step textarea#customer_notes{
        min-height:86px !important;
        resize:vertical !important;
    }
}

/* v2.2.1 Stage 17.6 Step 2 part-type legacy row restore.
   Scope: Step 2 only. Restores text-left/icon-right layout for desktop and mobile.
   Does not touch tracker, buttons, pricing, schedule, submit, or navigation JS. */
#multi-step-form .step-2 .fields-container.row{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}
#multi-step-form .step-2 .fields-container > .col-md-9.mb-5{
    width: 75% !important;
    max-width: 75% !important;
    flex: 0 0 75% !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 0 !important;
    padding-right: 8px !important;
    margin-bottom: 8px !important;
}
#multi-step-form .step-2 .fields-container > .col-md-3.img-wraper{
    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-left: 8px !important;
    padding-right: 0 !important;
    margin-bottom: 8px !important;
}
#multi-step-form .step-2 .fields-container .img-wraper img{
    display: block !important;
    max-height: 42px !important;
    max-width: 90px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
}
@media screen and (max-width: 767px){
    #multi-step-form .step-2 .fields-container > .col-md-9.mb-5{
        width: 72% !important;
        max-width: 72% !important;
        flex: 0 0 72% !important;
        padding-right: 6px !important;
    }
    #multi-step-form .step-2 .fields-container > .col-md-3.img-wraper{
        width: 28% !important;
        max-width: 28% !important;
        flex: 0 0 28% !important;
        padding-left: 6px !important;
        justify-content: flex-end !important;
    }
    #multi-step-form .step-2 .fields-container .img-wraper img{
        max-height: 36px !important;
        max-width: 74px !important;
    }
    #multi-step-form .step-2 .fields-container label.form-check-label{
        width: 100% !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}

/* AGQ 2.2.3: production-safe menu quote popup/modal sizing only. */
.agq-menu-quote-modal .fancybox-content{width:90vw !important;height:92vh !important;max-width:1100px !important;max-height:92vh !important;padding:0 !important;overflow:hidden !important;}
.agq-menu-quote-modal .fancybox-iframe{width:100% !important;height:100% !important;}
@media (max-width:767px){.agq-menu-quote-modal .fancybox-content{width:100vw !important;height:100vh !important;max-width:100vw !important;max-height:100vh !important;}}

/* v2.2.6 Menu Quote Popup fallback modal: used only when Fancybox is unavailable. */
body.agq-menu-quote-modal-open {
    overflow: hidden;
}
.agq-menu-quote-fallback-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
}
.agq-menu-quote-fallback-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
}
.agq-menu-quote-fallback-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(1100px, 94vw);
    height: min(900px, 92vh);
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
}
.agq-menu-quote-fallback-close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font-size: 28px;
    line-height: 32px;
    cursor: pointer;
    z-index: 2;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.agq-menu-quote-fallback-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
@media (max-width: 767px) {
    .agq-menu-quote-fallback-dialog {
        width: 100vw;
        height: 100vh;
        border-radius: 0;
    }
    .agq-menu-quote-fallback-close {
        top: 10px;
        right: 10px;
    }
}


/* AGQ 2.2.22: dashboard bulk action alignment */
.agq-dashboard-bulk-actions {
    align-items: center !important;
    gap: 10px !important;
}
.agq-dashboard-bulk-actions .agq-bulk-spacer {
    flex: 1 1 auto !important;
}
.agq-dashboard-bulk-actions .agq-bulk-status {
    flex: 0 0 260px !important;
    max-width: 260px !important;
}
.agq-dashboard-bulk-actions .agq-bulk-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    flex: 0 1 auto !important;
}
.agq-dashboard-bulk-actions .agq-bulk-buttons .btn {
    white-space: nowrap !important;
    margin: 0 !important;
}
@media (max-width: 768px) {
    .agq-dashboard-bulk-actions .agq-bulk-status,
    .agq-dashboard-bulk-actions .agq-bulk-buttons {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* 2.2.23: customer appointment portal expanded appointment details. */
.agq-customer-portal .agq-appointment-summary strong{display:block;margin-bottom:10px;font-size:18px;}
.agq-customer-portal .agq-portal-detail-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px;}
.agq-customer-portal .agq-portal-detail-row{display:grid;grid-template-columns:minmax(130px,180px) 1fr;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);}
.agq-customer-portal .agq-portal-detail-row:last-child{border-bottom:0;}
.agq-customer-portal .agq-portal-detail-label{font-weight:700;color:#333;}
.agq-customer-portal .agq-portal-detail-value{color:#111;overflow-wrap:anywhere;}
@media(max-width:600px){.agq-customer-portal .agq-portal-detail-row{grid-template-columns:1fr;gap:2px;}}

/* AGQ 2.3.7: Modern dashboard + left sidebar visual polish only.
   Scope: glass-dashboard layout/menu/cards/tables/buttons. No pricing, booking, email, AJAX, or route logic changed. */
.container-fluid.glass-dashboard{
    --agq-ui-bg:#f6f8fb;
    --agq-ui-surface:#ffffff;
    --agq-ui-border:#e5e7eb;
    --agq-ui-border-strong:#d8dee8;
    --agq-ui-text:#111827;
    --agq-ui-muted:#6b7280;
    --agq-ui-primary:#1A63B8;
    --agq-ui-primary-dark:#134C8F;
    --agq-ui-primary-soft:#EAF2FB;
    --agq-ui-shadow:0 12px 30px rgba(15,23,42,.08);
    --agq-ui-soft-shadow:0 6px 18px rgba(15,23,42,.06);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:var(--agq-ui-bg) !important;
    border-radius:22px;
    padding:18px !important;
    margin-top:22px !important;
    color:var(--agq-ui-text);
}
.glass-dashboard{gap:18px !important;align-items:stretch !important;}
.glass-dashboard .sidebar-sec{
    background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%) !important;
    border:1px solid var(--agq-ui-border) !important;
    border-radius:20px !important;
    box-shadow:var(--agq-ui-soft-shadow) !important;
    padding:14px !important;
    min-height:calc(100vh - 150px) !important;
    margin-top:0 !important;
    position:sticky;
    top:18px;
}
.glass-menu-items ul{display:flex;flex-direction:column;gap:6px;margin:0 !important;padding:0 !important;}
.glass-menu-items ul li{padding:0 !important;margin:0 !important;}
.glass-menu-items ul li a{
    display:flex !important;
    align-items:center;
    min-height:42px;
    padding:11px 13px !important;
    border-radius:14px !important;
    color:#374151 !important;
    font-size:14px !important;
    font-weight:650 !important;
    letter-spacing:.01em;
    line-height:1.25;
    text-decoration:none !important;
    border:1px solid transparent;
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.glass-menu-items ul li a:hover,
.glass-menu-items ul li a:focus{
    background:#fff !important;
    border-color:var(--agq-ui-border-strong) !important;
    color:var(--agq-ui-primary-dark) !important;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
    transform:translateY(-1px);
    outline:none;
}
.glass-menu-items ul li a[aria-current="page"],
.glass-menu-items ul li.current-menu-item a,
.glass-menu-items ul li.active a,
.glass-menu-items ul li a.active{
    background:var(--agq-ui-primary-soft) !important;
    color:var(--agq-ui-primary-dark) !important;
    border-color:#CFE0F5 !important;
}
.glass-menu-items .logout-btn,
.logout-btn{margin-top:16px !important;}
.glass-menu-items .logout-btn a,
.logout-btn a{
    background:#111827 !important;
    color:#fff !important;
    justify-content:center;
}
.glass-menu-items .logout-btn a:hover,
.logout-btn a:hover{background:#000 !important;color:#fff !important;}
.glass-dashboard .content-sec{
    background:transparent !important;
    max-width:calc(100% - 248px) !important;
    padding:0 !important;
    overflow-x:auto;
}
.glass-dashboard .content-sec > *,
.glass-dashboard .content.container,
.glass-dashboard .content .container-fluid{
    background:var(--agq-ui-surface);
    border:1px solid var(--agq-ui-border);
    border-radius:20px;
    box-shadow:var(--agq-ui-shadow);
    padding:20px !important;
}
.glass-dashboard h1,
.glass-dashboard h2,
.glass-dashboard h3{
    color:#0f172a;
    font-weight:750;
    letter-spacing:-.025em;
    margin-top:0;
}
.glass-dashboard h1{font-size:28px;line-height:1.18;}
.glass-dashboard h2{font-size:22px;line-height:1.22;}
.glass-dashboard h3{font-size:18px;line-height:1.28;}
.glass-dashboard label{color:#374151;font-weight:650;}
.glass-dashboard input[type="text"],
.glass-dashboard input[type="email"],
.glass-dashboard input[type="tel"],
.glass-dashboard input[type="number"],
.glass-dashboard input[type="date"],
.glass-dashboard input[type="time"],
.glass-dashboard input[type="search"],
.glass-dashboard input[type="password"],
.glass-dashboard select,
.glass-dashboard textarea,
.glass-dashboard .form-control,
.glass-dashboard .form-select{
    border:1px solid var(--agq-ui-border-strong) !important;
    border-radius:12px !important;
    min-height:40px;
    padding:8px 11px !important;
    background:#fff !important;
    color:var(--agq-ui-text) !important;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.glass-dashboard input:focus,
.glass-dashboard select:focus,
.glass-dashboard textarea:focus,
.glass-dashboard .form-control:focus,
.glass-dashboard .form-select:focus{
    border-color:#f87171 !important;
    box-shadow:0 0 0 3px rgba(220,38,38,.12) !important;
    outline:none !important;
}
.glass-dashboard .btn,
.glass-dashboard button,
.glass-dashboard input[type="submit"],
.glass-dashboard input[type="button"]{
    border-radius:12px !important;
    font-weight:700 !important;
    min-height:38px;
    border:1px solid var(--agq-ui-border-strong) !important;
    box-shadow:0 4px 12px rgba(15,23,42,.08);
}
.glass-dashboard .btn-primary,
.glass-dashboard .button-primary,
.glass-dashboard input.button-primary,
.glass-dashboard input[type="submit"]{
    background:var(--agq-ui-primary) !important;
    border-color:var(--agq-ui-primary) !important;
    color:#fff !important;
}
.glass-dashboard .btn-primary:hover,
.glass-dashboard .button-primary:hover,
.glass-dashboard input.button-primary:hover,
.glass-dashboard input[type="submit"]:hover{background:var(--agq-ui-primary-dark) !important;border-color:var(--agq-ui-primary-dark) !important;}
.glass-dashboard table,
.glass-dashboard .table,
.appointment-list-table{
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:#fff;
    border:1px solid var(--agq-ui-border) !important;
    border-radius:16px !important;
    overflow:hidden;
}
.glass-dashboard table th,
.glass-dashboard .table th,
.appointment-list-table th{
    background:#f9fafb !important;
    color:#374151 !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-transform:uppercase;
    letter-spacing:.045em;
    border-bottom:1px solid var(--agq-ui-border) !important;
}
.glass-dashboard table td,
.glass-dashboard .table td,
.appointment-list-table td{
    color:#1f2937;
    border-color:#eef2f7 !important;
}
.glass-dashboard table tbody tr:hover td,
.glass-dashboard .table tbody tr:hover td,
.appointment-list-table tbody tr:hover td{background:#fafafa !important;}
.agq-dashboard-bulk-actions{
    background:#fff !important;
    border:1px solid var(--agq-ui-border) !important;
    border-radius:16px !important;
    padding:12px !important;
    box-shadow:var(--agq-ui-soft-shadow);
}
.glass-user-login{
    border-radius:20px !important;
    border:1px solid var(--agq-ui-border) !important;
    box-shadow:var(--agq-ui-shadow) !important;
}
@media (max-width:1100px){
    .glass-dashboard .sidebar-sec{flex-basis:220px !important;max-width:220px !important;width:220px !important;}
    .glass-dashboard .content-sec{max-width:calc(100% - 238px) !important;}
}
@media (max-width:900px){
    .container-fluid.glass-dashboard{border-radius:16px;padding:12px !important;}
    .glass-dashboard .sidebar-sec{
        position:relative;top:auto;min-height:0 !important;border-bottom:1px solid var(--agq-ui-border) !important;margin-bottom:14px !important;
    }
    .glass-menu-items ul{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;gap:8px !important;}
    .glass-menu-items ul li a{min-height:40px !important;padding:9px 11px !important;}
    .glass-dashboard .content-sec{max-width:100% !important;}
    .glass-dashboard .content-sec > *,
    .glass-dashboard .content.container,
    .glass-dashboard .content .container-fluid{padding:14px !important;border-radius:16px;}
}
@media (max-width:520px){
    .glass-menu-items ul{display:grid !important;grid-template-columns:1fr 1fr !important;}
    .glass-menu-items ul li a{font-size:13px !important;text-align:center;justify-content:center;}
}


/* AGQ 2.3.8: Dashboard compact search controls + increased main panel height only.
   Scope: visual layout for dashboard top controls/content height. No search/order logic changed. */
.glass-dashboard .content-sec{
    min-height:calc(100vh - 70px) !important;
}
.glass-dashboard .content-sec > *,
.glass-dashboard .content.container,
.glass-dashboard .content .container-fluid{
    min-height:calc(100vh - 110px) !important;
}
.glass-dashboard .agq-dashboard-search-row{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
}
.glass-dashboard .agq-dashboard-general-search{
    flex:1 1 auto !important;
    margin-bottom:0 !important;
}
.glass-dashboard .agq-dashboard-order-limit{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap !important;
    color:#374151 !important;
    margin:0 !important;
    padding:0 !important;
}
.glass-dashboard .agq-dashboard-order-limit label{
    margin:0 !important;
    color:#374151 !important;
    font-weight:700 !important;
}
.glass-dashboard .agq-dashboard-order-limit select{
    width:auto !important;
    min-width:86px !important;
}
@media (max-width: 767px){
    .glass-dashboard .content-sec,
    .glass-dashboard .content-sec > *,
    .glass-dashboard .content.container,
    .glass-dashboard .content .container-fluid{min-height:0 !important;}
    .glass-dashboard .agq-dashboard-search-row{display:block !important;}
    .glass-dashboard .agq-dashboard-general-search{margin-bottom:10px !important;}
    .glass-dashboard .agq-dashboard-order-limit{justify-content:flex-start !important;}
}


/* AGQ 2.3.9: Dashboard SafeRide SaaS-style layout polish only.
   Scope: dashboard/sidebar visual layout. No order/search/pricing/email/booking logic changed. */
.container-fluid.glass-dashboard{
    --agq-ui-bg:#f8fafc;
    --agq-ui-surface:#ffffff;
    --agq-ui-border:#e6ebf2;
    --agq-ui-text:#0f172a;
    --agq-ui-muted:#64748b;
    --agq-ui-blue:#1677ff;
    --agq-ui-blue-dark:#075dd7;
    --agq-ui-sidebar:#071b35;
    --agq-ui-sidebar-2:#0b2344;
    --agq-ui-sidebar-text:#eaf2ff;
    --agq-ui-sidebar-muted:#a8b8cf;
    --agq-ui-shadow:0 18px 45px rgba(15,23,42,.08);
    --agq-ui-soft-shadow:0 8px 24px rgba(15,23,42,.06);
    background:var(--agq-ui-bg) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin-top:0 !important;
    gap:0 !important;
    min-height:calc(100vh - 40px) !important;
    overflow:hidden;
}
.glass-dashboard .sidebar-sec{
    background:linear-gradient(180deg,var(--agq-ui-sidebar) 0%,var(--agq-ui-sidebar-2) 100%) !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:0 18px 55px rgba(2,6,23,.24) !important;
    padding:22px 16px !important;
    min-height:calc(100vh - 40px) !important;
    width:250px !important;
    max-width:250px !important;
    flex:0 0 250px !important;
    position:sticky !important;
    top:0 !important;
}
.agq-sidebar-brand{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 22px 0;
    padding:0 2px 8px 2px;
    color:#fff;
}
.agq-sidebar-logo{
    width:32px;
    height:32px;
    border-radius:11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#1794ff,#0b64e8);
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:0 10px 20px rgba(22,119,255,.35);
}
.agq-sidebar-title{
    font-size:21px;
    line-height:1;
    font-weight:850;
    letter-spacing:-.03em;
    color:#fff;
}
.glass-menu-items ul{gap:7px !important;}
.glass-menu-items ul li a{
    min-height:44px !important;
    padding:11px 13px !important;
    border-radius:11px !important;
    color:var(--agq-ui-sidebar-text) !important;
    font-size:14px !important;
    font-weight:650 !important;
    background:transparent !important;
    border:1px solid transparent !important;
    box-shadow:none !important;
}
.glass-menu-items ul li a:hover,
.glass-menu-items ul li a:focus{
    background:rgba(255,255,255,.09) !important;
    border-color:rgba(255,255,255,.12) !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:none !important;
}
.glass-menu-items ul li:first-child a,
.glass-menu-items ul li a.active,
.glass-menu-items ul li.active a,
.glass-menu-items ul li.current-menu-item a{
    background:linear-gradient(135deg,#1683ff,#0068f5) !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.12) !important;
    box-shadow:0 10px 25px rgba(22,119,255,.32) !important;
}
.glass-menu-items .logout-btn{margin-top:18px !important;}
.glass-menu-items .logout-btn a,
.logout-btn a{
    background:rgba(2,6,23,.42) !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.08) !important;
    border-radius:11px !important;
}
.glass-dashboard .content-sec{
    max-width:calc(100% - 250px) !important;
    width:calc(100% - 250px) !important;
    padding:24px !important;
    background:transparent !important;
    min-height:calc(100vh - 40px) !important;
    overflow-x:auto !important;
}
.glass-dashboard .content-sec > *,
.glass-dashboard .content.container,
.glass-dashboard .content .container-fluid{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    min-height:0 !important;
    margin-top:0 !important;
}
.glass-dashboard .content.container.mt-5{margin-top:0 !important;}
.glass-dashboard .content .container-fluid > h1{display:none;}
.agq-dashboard-titlebar{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin:0 0 22px 0;
}
.agq-dashboard-titlebar h1{
    font-size:28px !important;
    font-weight:850 !important;
    letter-spacing:-.04em !important;
    margin:0 0 6px 0 !important;
    color:#0f172a !important;
}
.agq-dashboard-subtitle{
    margin:0 !important;
    color:var(--agq-ui-muted) !important;
    font-size:14px !important;
}
.agq-dashboard-stat-card{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:12px;
    min-width:152px;
    background:#fff;
    border:1px solid var(--agq-ui-border);
    border-radius:14px;
    padding:12px 14px;
    box-shadow:var(--agq-ui-soft-shadow);
}
.agq-stat-icon{
    width:38px;
    height:38px;
    border-radius:11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#eaf3ff;
    color:var(--agq-ui-blue);
    font-weight:900;
}
.agq-stat-text{display:flex;flex-direction:column;line-height:1.1;}
.agq-stat-text strong{font-size:20px;color:var(--agq-ui-blue);font-weight:850;}
.agq-stat-text small{font-size:12px;color:var(--agq-ui-muted);font-weight:650;}
.glass-dashboard .content .container-fluid > .row.mb-3:first-of-type,
.glass-dashboard .agq-dashboard-search-row{
    background:#fff !important;
    border:1px solid var(--agq-ui-border) !important;
    border-radius:14px !important;
    box-shadow:var(--agq-ui-soft-shadow) !important;
    padding:14px !important;
}
.glass-dashboard .content .container-fluid > .row.mb-3:first-of-type{
    display:grid !important;
    grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(170px,1fr) 92px;
    align-items:center;
    gap:14px;
    margin:0 0 10px 0 !important;
}
.glass-dashboard .content .container-fluid > .row.mb-3:first-of-type > [class*="col-"]{
    width:auto !important;
    max-width:none !important;
    flex:none !important;
    padding:0 !important;
    margin:0 !important;
}
.glass-dashboard .agq-dashboard-search-row{
    margin:0 0 16px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(340px,1fr) auto;
    gap:14px !important;
}
.glass-dashboard .agq-dashboard-general-search{width:100% !important;}
.glass-dashboard .agq-dashboard-order-limit{
    padding:0 !important;
    justify-content:flex-end !important;
}
.glass-dashboard input[type="text"],
.glass-dashboard select,
.glass-dashboard .form-control,
.glass-dashboard .form-select{
    min-height:42px !important;
    border-radius:10px !important;
    border-color:#dde5ef !important;
    box-shadow:none !important;
    font-size:14px !important;
}
.glass-dashboard .btn,
.glass-dashboard button{
    min-height:42px !important;
    border-radius:10px !important;
    background:#fff !important;
    color:var(--agq-ui-blue) !important;
    border:1px solid #dde5ef !important;
    box-shadow:none !important;
    font-weight:750 !important;
}
.glass-dashboard #search_rvs_status,
.glass-dashboard .content .container-fluid > .row.mb-3:first-of-type button{
    width:100% !important;
    background:linear-gradient(135deg,#1683ff,#0068f5) !important;
    color:#fff !important;
    border-color:#0b6ef3 !important;
}
.glass-dashboard .appointment-list-table-wrap{
    margin-top:0 !important;
    border:1px solid var(--agq-ui-border) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:var(--agq-ui-shadow) !important;
    overflow:auto !important;
}
.glass-dashboard table,
.glass-dashboard .table,
.appointment-list-table{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.glass-dashboard .appointment-list-table.table th,
.glass-dashboard .appointment-list-table.table td{
    padding:10px 11px !important;
    font-size:13px !important;
}
.glass-dashboard .appointment-list-table.table thead th{
    background:#f8fafc !important;
    color:#0f172a !important;
    border-bottom:1px solid var(--agq-ui-border) !important;
}
@media (max-width:1100px){
    .glass-dashboard .sidebar-sec{flex-basis:230px !important;max-width:230px !important;width:230px !important;}
    .glass-dashboard .content-sec{max-width:calc(100% - 230px) !important;width:calc(100% - 230px) !important;padding:18px !important;}
}
@media (max-width:900px){
    .container-fluid.glass-dashboard{display:block !important;overflow:visible !important;}
    .glass-dashboard .sidebar-sec{position:relative !important;width:100% !important;max-width:100% !important;min-height:0 !important;border-radius:0 !important;}
    .agq-sidebar-brand{margin-bottom:12px;}
    .glass-dashboard .content-sec{width:100% !important;max-width:100% !important;padding:14px !important;min-height:0 !important;}
    .agq-dashboard-titlebar{display:block;}
    .agq-dashboard-stat-card{margin-top:12px;}
    .glass-dashboard .content .container-fluid > .row.mb-3:first-of-type,
    .glass-dashboard .agq-dashboard-search-row{display:block !important;}
    .glass-dashboard .content .container-fluid > .row.mb-3:first-of-type > [class*="col-"]{margin-bottom:10px !important;}
    .glass-dashboard .agq-dashboard-order-limit{justify-content:flex-start !important;margin-top:10px !important;}
}


/* AGQ 2.3.10: Dashboard action row compression + red SafeRide sidebar theme only.
   Scope: dashboard visual layout only. No order/search/status/pricing/email/booking logic changed. */
.container-fluid.glass-dashboard{
    --agq-ui-red:#1A63B8;
    --agq-ui-red-dark:#0F3E78;
    --agq-ui-red-soft:#EAF2FB;
    --agq-ui-sidebar:#0B2E59;
    --agq-ui-sidebar-2:#0F3E78;
    --agq-ui-blue:var(--agq-ui-red);
    --agq-ui-blue-dark:var(--agq-ui-red-dark);
}
.glass-dashboard .sidebar-sec{
    background:linear-gradient(180deg,#0B2E59 0%,#0F3E78 100%) !important;
}
.agq-sidebar-logo{
    background:linear-gradient(135deg,#2E7BD6,#134C8F) !important;
    box-shadow:0 10px 20px rgba(220,38,38,.30) !important;
}
.glass-menu-items ul li:first-child a,
.glass-menu-items ul li a.active,
.glass-menu-items ul li.active a,
.glass-menu-items ul li.current-menu-item a{
    background:linear-gradient(135deg,#f87171,#2E7BD6) !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.18) !important;
    box-shadow:0 10px 24px rgba(248,113,113,.28) !important;
}
.glass-menu-items ul li a:hover,
.glass-menu-items ul li a:focus{
    background:rgba(248,113,113,.18) !important;
}
.glass-dashboard #search_rvs_status,
.glass-dashboard .content .container-fluid > .row.mb-3:first-of-type button{
    background:linear-gradient(135deg,#2E7BD6,#1A63B8) !important;
    border-color:#1A63B8 !important;
    color:#fff !important;
}
.glass-dashboard .appointment-list-table.table th,
.glass-dashboard .appointment-list-table.table td{
    padding:7px 9px !important;
    line-height:1.22 !important;
    vertical-align:middle !important;
}
.glass-dashboard .appointment-list-table.table td.last-col{
    min-width:190px !important;
    width:190px !important;
    padding:6px 8px !important;
    white-space:normal !important;
}
.glass-dashboard .appointment-list-table.table td.last-col .btn,
.glass-dashboard .appointment-list-table.table td.last-col a.btn,
.glass-dashboard .appointment-list-table.table td.last-col button{
    min-height:28px !important;
    height:28px !important;
    line-height:26px !important;
    padding:0 9px !important;
    font-size:12px !important;
    border-radius:8px !important;
    margin:0 3px 5px 0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:top !important;
}
.glass-dashboard .appointment-list-table.table td.last-col a.btn.btn-danger,
.glass-dashboard .appointment-list-table.table td.last-col .agq-dashboard-print-action{
    background:#fff !important;
    color:#1A63B8 !important;
    border-color:#CFE0F5 !important;
    min-width:44px !important;
}
.glass-dashboard .appointment-list-table.table td.last-col select[name="status"]{
    display:inline-block !important;
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    min-height:30px !important;
    height:30px !important;
    padding:3px 24px 3px 8px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    border-radius:8px !important;
    margin:0 4px 0 0 !important;
    vertical-align:top !important;
    clear:left !important;
}
.glass-dashboard .appointment-list-table.table td.last-col select[name="status"]::before{content:"";display:block;}
.glass-dashboard .appointment-list-table.table td.last-col .update_rvs_status{
    width:auto !important;
    min-width:58px !important;
    margin:0 !important;
    color:#1A63B8 !important;
    border-color:#CFE0F5 !important;
}
.glass-dashboard .appointment-list-table.table td.last-col a.btn:nth-of-type(3)::after{
    content:"";
    display:block;
    flex-basis:100%;
    width:100%;
}
.glass-dashboard .appointment-list-table.table td.last-col br{display:none !important;}

.glass-dashboard .appointment-list-table.table td.agq-dashboard-action-cell{
    min-width:190px !important;
    width:190px !important;
    max-width:190px !important;
}
.glass-dashboard .agq-row-actions-line{
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
}
.glass-dashboard .agq-row-actions-links{margin-bottom:4px !important;}
.glass-dashboard .agq-row-actions-links .btn,
.glass-dashboard .agq-row-actions-status .btn{
    flex:0 0 auto !important;
}
.glass-dashboard .agq-row-actions-status select[name="status"]{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:106px !important;
    max-width:none !important;
}


/* AGQ 2.3.14: REAL frontend dashboard sidebar width/collapse patch.
   Targets actual markup: .container-fluid.glass-dashboard, .sidebar-sec, .content-sec, .glass-menu-items.
   UI only. No pricing/order/email/invoice/booking/formula logic changed. */
.container-fluid.glass-dashboard{
    --agq-sidebar-expanded-width:156px;
    --agq-sidebar-collapsed-width:54px;
}
.container-fluid.glass-dashboard{
    display:flex !important;
    align-items:stretch !important;
    gap:0 !important;
}
.glass-dashboard .sidebar-sec{
    flex:0 0 var(--agq-sidebar-expanded-width) !important;
    width:var(--agq-sidebar-expanded-width) !important;
    min-width:var(--agq-sidebar-expanded-width) !important;
    max-width:var(--agq-sidebar-expanded-width) !important;
    padding:18px 8px !important;
    transition:flex-basis .18s ease,width .18s ease,min-width .18s ease,max-width .18s ease,padding .18s ease !important;
    overflow:visible !important;
}
.glass-dashboard .content-sec{
    flex:1 1 auto !important;
    width:calc(100% - var(--agq-sidebar-expanded-width)) !important;
    max-width:calc(100% - var(--agq-sidebar-expanded-width)) !important;
    transition:width .18s ease,max-width .18s ease !important;
}
.agq-sidebar-brand{
    position:relative !important;
    gap:7px !important;
    padding:0 0 12px 0 !important;
    margin:0 0 12px 0 !important;
}
.agq-sidebar-logo{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:10px !important;
    font-size:11px !important;
}
.agq-sidebar-title{
    font-size:18px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
}
.agq-sidebar-collapse-btn{
    margin-left:auto !important;
    width:24px !important;
    height:24px !important;
    min-height:24px !important;
    border:0 !important;
    border-radius:999px !important;
    padding:0 !important;
    background:#CFE0F5 !important;
    color:#0F3E78 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    font-size:17px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-shadow:0 4px 12px rgba(127,29,29,.22) !important;
}
.agq-sidebar-collapse-btn:hover{background:#EAF2FB !important;color:#0F3E78 !important;}
.glass-menu-items ul li a{
    min-height:38px !important;
    padding:9px 9px !important;
    font-size:13px !important;
    border-radius:10px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

/* Collapsed state: actual body class added by template-parts/sidebar.php script. */
body.agq-sidebar-collapsed .glass-dashboard .sidebar-sec{
    flex-basis:var(--agq-sidebar-collapsed-width) !important;
    width:var(--agq-sidebar-collapsed-width) !important;
    min-width:var(--agq-sidebar-collapsed-width) !important;
    max-width:var(--agq-sidebar-collapsed-width) !important;
    padding-left:6px !important;
    padding-right:6px !important;
}
body.agq-sidebar-collapsed .glass-dashboard .content-sec{
    width:calc(100% - var(--agq-sidebar-collapsed-width)) !important;
    max-width:calc(100% - var(--agq-sidebar-collapsed-width)) !important;
}
body.agq-sidebar-collapsed .agq-sidebar-title{
    display:none !important;
}
body.agq-sidebar-collapsed .agq-sidebar-brand{
    justify-content:center !important;
    padding-bottom:44px !important;
}
body.agq-sidebar-collapsed .agq-sidebar-logo{
    margin:0 auto !important;
}
body.agq-sidebar-collapsed .agq-sidebar-collapse-btn{
    position:absolute !important;
    left:50% !important;
    bottom:8px !important;
    transform:translateX(-50%) rotate(180deg) !important;
    margin:0 !important;
}
body.agq-sidebar-collapsed .glass-menu-items ul{
    gap:8px !important;
}
body.agq-sidebar-collapsed .glass-menu-items ul li a{
    width:42px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:0 !important;
    line-height:0 !important;
    overflow:hidden !important;
}
body.agq-sidebar-collapsed .glass-menu-items ul li a::before{
    font-size:17px !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:currentColor !important;
    display:block !important;
}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(1) a::before{content:"⌂";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(2) a::before{content:"+";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(3) a::before{content:"▣";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(4) a::before{content:"$";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(5) a::before{content:"⌖";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(6) a::before{content:"◈";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(7) a::before{content:"♙";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(8) a::before{content:"✉";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(9) a::before{content:"◷";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(10) a::before{content:"☏";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(11) a::before{content:"⇩";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(12) a::before{content:"▤";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(13) a::before{content:"⚙";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(14) a::before{content:"⚙";}
body.agq-sidebar-collapsed .glass-menu-items ul li:nth-child(15) a::before{content:"🔑";}
body.agq-sidebar-collapsed .glass-menu-items ul li.logout-btn a::before{content:"⎋";}

@media (max-width:1100px){
    .glass-dashboard .sidebar-sec{
        flex-basis:var(--agq-sidebar-expanded-width) !important;
        width:var(--agq-sidebar-expanded-width) !important;
        max-width:var(--agq-sidebar-expanded-width) !important;
    }
    .glass-dashboard .content-sec{
        width:calc(100% - var(--agq-sidebar-expanded-width)) !important;
        max-width:calc(100% - var(--agq-sidebar-expanded-width)) !important;
    }
}
@media (max-width:900px){
    .container-fluid.glass-dashboard{display:block !important;}
    .glass-dashboard .sidebar-sec,
    body.agq-sidebar-collapsed .glass-dashboard .sidebar-sec{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        flex-basis:auto !important;
        padding:14px !important;
    }
    .glass-dashboard .content-sec,
    body.agq-sidebar-collapsed .glass-dashboard .content-sec{
        width:100% !important;
        max-width:100% !important;
    }
    .agq-sidebar-collapse-btn{display:none !important;}
    body.agq-sidebar-collapsed .agq-sidebar-title{display:inline !important;}
    body.agq-sidebar-collapsed .glass-menu-items ul li a{
        width:auto !important;
        height:auto !important;
        min-height:40px !important;
        padding:9px 11px !important;
        font-size:13px !important;
        line-height:1.15 !important;
    }
    body.agq-sidebar-collapsed .glass-menu-items ul li a::before{content:none !important;}
}



/* ==========================================================================
   v2.5.5 UI POLISH — table lines, button shapes, icons
   Loaded via tbe-custom-css on the Glass Dashboard frontend.
   CSS-only. No PHP, AJAX, pricing, booking, or navigation logic changed.
   ========================================================================== */

/* --------------------------------------------------------------------------
   TABLE LINE REPAIR
   Every wp-list-table / widefat inside Glass Dashboard admin sections was
   missing row separators because the dashboard CSS override stripped
   border-color from td. Restore explicit separators.
   -------------------------------------------------------------------------- */

.glass-dashboard table.wp-list-table,
.glass-dashboard table.widefat,
.glass-dashboard table.agq-um-table {
    border-collapse: collapse !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    width: 100% !important;
    background: #fff !important;
}

.glass-dashboard table.wp-list-table thead th,
.glass-dashboard table.widefat thead th,
.glass-dashboard table.agq-um-table thead th {
    background: #f9fafb !important;
    color: #374151 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .045em !important;
    padding: 9px 12px !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-right: none !important;
}

.glass-dashboard table.wp-list-table tbody td,
.glass-dashboard table.widefat tbody td,
.glass-dashboard table.agq-um-table tbody td {
    padding: 9px 12px !important;
    border-bottom: 1px solid #f0f4f8 !important;
    border-right: none !important;
    vertical-align: middle !important;
    color: #1f2937 !important;
    font-size: 13px !important;
}

.glass-dashboard table.wp-list-table tbody tr:last-child td,
.glass-dashboard table.widefat tbody tr:last-child td,
.glass-dashboard table.agq-um-table tbody tr:last-child td {
    border-bottom: none !important;
}

.glass-dashboard table.widefat.striped tbody tr:nth-child(even) td,
.glass-dashboard table.wp-list-table tbody tr:nth-child(even) td {
    background: #fafbfc !important;
}

.glass-dashboard table.wp-list-table tbody tr:hover td,
.glass-dashboard table.widefat tbody tr:hover td,
.glass-dashboard table.agq-um-table tbody tr:hover td {
    background: #f1f5f9 !important;
}

/* --------------------------------------------------------------------------
   BUTTON PILL SHAPE
   All action buttons: pill shape, icon-friendly, three semantic variants.
   -------------------------------------------------------------------------- */

/* Base pill — applied to all button types inside Glass Dashboard content */
.glass-dashboard .content-sec .button,
.glass-dashboard .content-sec .button-primary,
.glass-dashboard .content-sec .button-secondary,
.glass-dashboard .content-sec input[type="submit"],
.glass-dashboard .content-sec input[type="button"],
.glass-dashboard .content-sec button:not(.agq-sidebar-collapse-btn) {
    border-radius: 99px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 6px 14px !important;
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
    transition: background .12s, border-color .12s !important;
}

/* Primary — red fill */
.glass-dashboard .content-sec .button-primary,
.glass-dashboard .content-sec input[type="submit"].button-primary,
.glass-dashboard .content-sec input.button-primary,
.glass-dashboard .content-sec .cust-red-btn {
    background: #1A63B8 !important;
    border: 1px solid #1A63B8 !important;
    color: #fff !important;
}
.glass-dashboard .content-sec .button-primary:hover,
.glass-dashboard .content-sec .cust-red-btn:hover {
    background: #134C8F !important;
    border-color: #134C8F !important;
    color: #fff !important;
}

/* Ghost — neutral outline */
.glass-dashboard .content-sec .button:not(.button-primary),
.glass-dashboard .content-sec a.button:not(.button-primary) {
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
}
.glass-dashboard .content-sec .button:not(.button-primary):hover {
    background: #f9fafb !important;
    border-color: #9ca3af !important;
}

/* Save / Update — green outline */
.glass-dashboard .content-sec button#newsubmit,
.glass-dashboard .content-sec button#uptsubmit,
.glass-dashboard .content-sec button[name="newsubmit"],
.glass-dashboard .content-sec button[name="uptsubmit"],
.glass-dashboard .content-sec button[name="agq_wd_edit_submit"],
.glass-dashboard .content-sec .button.button-primary[name*="save"],
.glass-dashboard .content-sec .button.button-primary[name*="update"],
.glass-dashboard .content-sec input[name="agq_wd_edit_submit"] {
    background: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    color: #15803d !important;
}
.glass-dashboard .content-sec button#newsubmit:hover,
.glass-dashboard .content-sec button#uptsubmit:hover {
    background: #dcfce7 !important;
}

/* Danger — red text, light red border */
.glass-dashboard .content-sec .btn.btn-danger,
.glass-dashboard .content-sec button.btn-danger,
.glass-dashboard .content-sec button[name*="delete"],
.glass-dashboard .content-sec button[name*="Delete"],
.glass-dashboard .content-sec .button[href*="del="] {
    background: #fff !important;
    border: 1px solid #fca5a5 !important;
    color: #1A63B8 !important;
}
.glass-dashboard .content-sec .btn.btn-danger:hover {
    background: #fff1f2 !important;
}

/* Green "Add" button — was #72e675, normalize to red primary */
.glass-dashboard .content-sec button#add_submit {
    background: #1A63B8 !important;
    border: 1px solid #1A63B8 !important;
    color: #fff !important;
    width: auto !important;
    padding: 6px 16px !important;
}
.glass-dashboard .content-sec button#add_submit:hover {
    background: #134C8F !important;
    border-color: #134C8F !important;
}

/* Previous / Next pagination */
.glass-dashboard .content-sec button#prevPage,
.glass-dashboard .content-sec button#nextPage {
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
}
.glass-dashboard .content-sec button#prevPage:hover,
.glass-dashboard .content-sec button#nextPage:hover {
    background: #f9fafb !important;
}

/* Upload / hidden form section buttons */
.glass-dashboard .content-sec #upload_zipcode_section .button,
.glass-dashboard .content-sec #upload_pricemgmt_section .button {
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
}

/* Submit / save form buttons (time slots, email settings) */
.glass-dashboard .content-sec input[name="submit_default_slots"],
.glass-dashboard .content-sec input[name="submit_shop_slots"],
.glass-dashboard .content-sec button.submit-default-slots,
.glass-dashboard .content-sec input[name="save_general_settings"],
.glass-dashboard .content-sec input[name="save_customers_general_settings"],
.glass-dashboard .content-sec button[name="send_test_email_settings"] {
    background: #1A63B8 !important;
    border: 1px solid #1A63B8 !important;
    color: #fff !important;
    padding: 6px 18px !important;
    font-size: 13px !important;
}

/* User management — align to dashboard theme */
.glass-dashboard .content-sec .agq-um-btn {
    border-radius: 99px !important;
    font-size: 12px !important;
    padding: 6px 16px !important;
}
.glass-dashboard .content-sec .agq-um-btn-primary {
    background: #1A63B8 !important;
    color: #fff !important;
    border: none !important;
}
.glass-dashboard .content-sec .agq-um-btn-sm {
    border-radius: 99px !important;
    font-size: 11px !important;
    padding: 4px 11px !important;
}

/* --------------------------------------------------------------------------
   PRICE TABLE TAB NAV (X / Y / L / M / ADAS)
   PHP injects style="font-weight:bold;text-decoration:underline;" on active tab.
   Use attribute selector to target it and apply red filled active state.
   -------------------------------------------------------------------------- */

.glass-dashboard p.agq-price-table-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 12px 0 16px !important;
    align-items: center !important;
}

.glass-dashboard p.agq-price-table-nav a.button {
    border-radius: 99px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 5px 14px !important;
    min-height: 28px !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    color: #374151 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

.glass-dashboard p.agq-price-table-nav a.button[style*="font-weight:bold"],
.glass-dashboard p.agq-price-table-nav a.button[style*="font-weight: bold"] {
    background: #1A63B8 !important;
    border-color: #1A63B8 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.glass-dashboard p.agq-price-table-nav a.button:hover {
    background: #f9fafb !important;
    border-color: #9ca3af !important;
}

.glass-dashboard p.agq-price-table-nav a.button[style*="font-weight:bold"]:hover,
.glass-dashboard p.agq-price-table-nav a.button[style*="font-weight: bold"]:hover {
    background: #134C8F !important;
    border-color: #134C8F !important;
}



/* v2.5.43 online quote final Submit label visibility fix.
   CSS-only scoped to the public quote final submit input. No JS, PHP, pricing,
   NAGS, MyGrant, booking, email, invoice, or navigation logic changed. */
#multi-step-form form#msform input[type="submit"].submit.action-button,
#multi-step-form form#msform input[type="submit"].form-control.btn.btn-primary.submit.action-button,
#multi-step-form fieldset.step-6 input[type="submit"][name="submit"].submit.action-button {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-indent: 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}


/* v2.5.44 online quote final Submit rendered-label repair.
   The shortcode final action is now a real button with inner text so theme/browser
   input-value styling cannot make the label disappear. UI-only; no submit/AJAX logic changed. */
#multi-step-form form#msform button.agq-final-submit-button.submit.action-button,
#multi-step-form fieldset.step-6 button.agq-final-submit-button[name="submit"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-indent: 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    line-height: 1.4 !important;
}
#multi-step-form form#msform button.agq-final-submit-button.submit.action-button .agq-submit-label,
#multi-step-form fieldset.step-6 button.agq-final-submit-button[name="submit"] .agq-submit-label {
    display: inline-block !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
}


/* v2.5.45 deep repair: final online quote shortcode Submit label.
   The live shortcode can be affected by theme/button styles or older cached input markup.
   Keep this scoped to the Book an Appointment final step only. */
#multi-step-form fieldset.step-6 .next-btn button.agq-final-submit-button.submit.action-button,
#multi-step-form fieldset.step-6 .next-btn input[type="submit"].submit.action-button {
    position: relative !important;
    min-width: 132px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#multi-step-form fieldset.step-6 .next-btn button.agq-final-submit-button.submit.action-button::before {
    content: "Submit" !important;
    display: inline-block !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#multi-step-form fieldset.step-6 .next-btn button.agq-final-submit-button.submit.action-button .agq-submit-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    white-space: nowrap !important;
}

/* ===== 2.6.0 dashboard tickers =====================================
   Six figures with one stated meaning each (hover shows it). Replaces the
   single "Total Orders" card, which counted every reservation row including
   abandoned quotes and cancelled orders. Colours follow the website: blue,
   grey and black. ==================================================== */
.agq-ticker-row{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin:0 0 18px;
}
@media (max-width:1400px){ .agq-ticker-row{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:760px){ .agq-ticker-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;} }
.agq-ticker{
    display:flex;
    flex-direction:column;
    gap:2px;
    padding:12px 14px;
    background:#fff;
    border:1px solid #DBE4EF;
    border-left:4px solid #1A63B8;
    border-radius:8px;
    box-shadow:0 1px 2px rgba(15,23,42,.06);
    cursor:default;
}
.agq-ticker-value{
    font-size:26px;
    font-weight:800;
    line-height:1.1;
    color:#0F172A;
    font-variant-numeric:tabular-nums;
}
.agq-ticker-label{
    font-size:12px;
    font-weight:600;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:#6B7785;
}
/* Today and the week ahead are what the shop acts on first. */
.agq-ticker--today{border-left-color:#0B2E59;background:#F7FAFF;}
.agq-ticker--next_7_days{border-left-color:#134C8F;}
.agq-ticker--completed_month{border-left-color:#6B7785;}
.agq-ticker--orders_all{border-left-color:#1D2126;}
/* Anything above zero here needs someone to do something. */
.agq-ticker.is-attention{border-left-color:#B45309;background:#FFFBEB;}
.agq-ticker.is-attention .agq-ticker-value{color:#7C2D12;}
@media (max-width:760px){
    .agq-ticker{padding:10px 11px;}
    .agq-ticker-value{font-size:22px;}
    .agq-ticker-label{font-size:11px;}
}
