body {background-color: #F2FFF3 !important;}

/* list  */

.new-auth-bg .bg-overlay {background-color: #F4F2FF; background-image: url(../images/auth-bg.jpg) !important; background-repeat: no-repeat; background-size: cover; opacity: 0.2;}
.btn-primary {background-color: #03B895 ; border-color: #03B895}
.btn-primary:hover, .btn-primary:focus {background-color: #028f73 ;border-color: #028f73}
.btn-outline-primary { border-color: #03B895;color: #03B895;}
.btn-outline-primary:hover, .btn-outline-primary:focus {background-color: #03B895 ;border-color: #03B895!important;color: #ffffff;}

.text-primary {color: #03B895 !important; }
.common-box {  border: 1px solid #eff2f7;border-radius: 10px;}
.common-box table tr:last-child td {border-bottom: none;} 
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {background-color: #03B895; border-color: #03B895;}
.profile-btn {background-color: transparent;}
.header-profile {display: flex; align-items: center; gap: 10px;}
.user-pic {width: 42px; height: 42px; border-radius: 50%; overflow: hidden; border: 1px solid #eff2f7;}
.user-pic img {width: 100%; height: 100%;}
.topbar-user {background-color: transparent;}
header .logo-lg {display: inline-block; min-height: 75px;}
.auth-logo {max-width: 200px; margin-bottom: 25px;}



/*Nisha work(popup height css)*/
.modal .modal-dialog .modal-content-height{
    max-height:450px;
}

.dataTables_length {
    padding: 10px 0px 0px 10px;
}
.dataTables_filter {
    padding: 10px 10px 0px 10px;
}
    @keyframes floatOrb1 {
      0%, 100% { transform: translate(0, 0); }
      50%       { transform: translate(-20px, 20px); }
    }
    @keyframes floatOrb2 {
      0%, 100% { transform: translate(0, 0); }
      50%       { transform: translate(20px, -15px); }
    }
    @keyframes floatOrb3 {
      0%, 100% { transform: translate(0, 0); }
      50%       { transform: translate(-10px, -20px); }
    }
 /* ── ORB BACKGROUNDS ── */
    .orb {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
    }
    .orb-1 {
      width: 280px; height: 280px;
      background: #E1F5EE; opacity: 0.6;
      /* ── Animation 2a: float ── */
      animation: floatOrb1 6s ease-in-out infinite;
    }
    .orb-2 {
      
      width: 320px; height: 320px;
      background: #E1F5EE; opacity: 0.4;
      /* ── Animation 2b: float ── */
      animation: floatOrb2 8s ease-in-out infinite;
    }
      
 .orbcard{
    position:relative;
 }
 .orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}


.card-bg {
    position: absolute;
    inset: 0;
    background: #fff;
    z-index: 0;
}



.bubble {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgb(0 195 148 / 41%), rgb(255 255 255 / 33%));
    border: 1px solid rgba(255,255,255,0.55);
    animation: bubble-rise linear infinite;
    bottom: -40px;
}

  @keyframes bubble-rise {
    0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
    8%   { opacity: 0.8; }
    85%  { opacity: 0.4; }
    100% { transform: translateY(-200px) translateX(10px) scale(0.7); opacity: 0; }
  }
  .card-bubbles {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
  }
 .accordion-button.btn-green {
    background-color: #e8fbee;
}
 .accordion-button.btn-green:focus{
    border:none;
    box-shadow:none;
}
.step-icon-wrap{
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #d1fae5;
    z-index: 1;
    border: 3px solid #fff;
    box-shadow: 0 0 0 3px #a7f3d0;
    margin-bottom: 11px;
    transition: transform .2s ease, box-shadow .2s ease;
    cursor: default;
}
.step-num {
    font-size: 13px;
    font-weight: 700;
    color: rgba(20, 24, 33, .75);
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.step-name {
    font-size: 15px;
    color: #6d7080;
    margin: 0 0 4px;
    line-height: 1.35;
    font-weight: 400;
}
.check-badge {
    top: -4px;
    right: -4px;
    width: 22px;
    height: 22px;
    background: #10b981;
    border-radius: 50%;
    border: 2px solid #fff;
    color: #fff;
}
.step-col.completed:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 24px;
    left: calc(50% + 24px);
    right: calc(-50% + 24px);
    height: 2px;
    background: linear-gradient(90deg, #34d399, #a7f3d0);
    z-index: 0;
}
.step-col.active:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 24px;
    left: calc(50% + 24px);
    right: calc(-50% + 24px);
    height: 2px;
    background: #e5e7eb;
    z-index: 0;
}
.step-col.pending:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 24px;
    left: calc(50% + 24px);
    right: calc(-50% + 24px);
    height: 2px;
    background: #e5e7eb;
    z-index: 0;
}
.step-col.pending .step-icon-wrap {
    background: #f3f4f6;
    box-shadow: 0 0 0 3px #e5e7eb;
}
.step-col.pending .step-icon-wrap svg {
    stroke: #9ca3af;
}
.step-col.pending .step-num,
.step-col.pending .step-name {
    color: #9ca3af;
}
.step-col .step-icon-link {
    text-decoration: none;
    color: inherit;
}
.step-col .step-icon-link:hover .step-icon-wrap {
    transform: scale(1.1);
    box-shadow: 0 0 0 4px #6ee7b7;
}
.btn-live:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
 .step-icon-wrap:hover {
    transform: scale(1.1);
    box-shadow: 0 0 0 4px #6ee7b7;
}
.step-icon-wrap svg {
    width: 24px;
    height: 24px;
    stroke: #059669;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.check-badge svg {
    width: 10px;
    height: 10px;
    stroke: #fff;
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.badge-optional {
    font-size: 9px;
    font-weight: 700;
    background: #f0fdf4;
    color: #059669;
    border: 1px solid #a7f3d0;
    border-radius: 20px;
    padding: 2px 8px;
    display: inline-block;
    margin-top: 5px;
}
.btn-live {
    background: linear-gradient(135deg, #34d399 0%, #059669 100%);
    border: none;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 13px 30px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}
.btn-live svg {
    width: 20px;
    height: 20px;
    stroke: #fff;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.h-2{
  height:220px;
}
.h-2 img{
      width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Available Coupons css */
.coupon-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    width: 100%;
    overflow: hidden;
}
.coupon-icon-wrap{
    width: 56px;
    height: 56px;
    background: #eaf6ec;
}
.coupon-icon-wrap i {
    font-size: 1.6rem;
    color: #2e9e4f;
    transform: rotate(95deg);
}
.badge-active {
    background: #eaf6ec;
    color: #2e9e4f;
    border: 1.5px solid #b6dfc0;
    border-radius: 30px;
    font-size: .9rem;
    font-weight: 500;
    padding: 5px 16px;
    white-space: nowrap;
}
.badge-inactive {
    background: #f3f4f6;
    color: #6b7280;
    border: 1.5px solid #e5e7eb;
    border-radius: 30px;
    font-size: .9rem;
    font-weight: 500;
    padding: 5px 16px;
    white-space: nowrap;
}
.coupon-scope-badge {
    font-size: 0.7rem;
    font-weight: 500;
    color: #0d6efd;
    background: #e7f1ff;
    border-radius: 20px;
    padding: 2px 8px;
}
.coupon-card .couponstats-row .stat-item {
    min-width: 0;
    flex: 1 1 0;
}
.coupon-card .couponstats-row .coupon-service-info {
    font-size: 0.95rem;
    cursor: pointer;
    line-height: 1;
}
.tooltip.coupon-service-tooltip .tooltip-inner {
    max-width: 260px;
    text-align: left;
}
.coupon-card .bottom-row .bottom-cell-status {
    min-width: 140px;
}
.toggle-row .form-check-input.big-toggle {
    width: 2.5em;
    height: 1.25em;
    cursor: pointer;
}
.toggle-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a1a;
}
.stat-label {
    font-size: 0.78rem;
    color: #888;
}
.stat-item {
    flex: 1;
    padding-right: 5px;
    border-right: 1.5px solid #f0f0f0;
}
.stat-value {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: normal;
}

.stat-value.green {
    color: #2e9e4f;
}
.stat-item:last-child {
    border-right: none;
    padding-right: 0;
    padding-left: 5px;
}
.bottom-cell:not(:last-child) {
    padding-right: 20px;
    border-right: 1.5px solid #f0f0f0;
    margin-right: 20px;
}
.bottom-value {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a1a;
}
.bottom-label {
    font-size: 0.78rem;
    color: #888;
}
.coupon-usage-stepper-btn {
    width: 28px;
    height: 28px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    color: #1a1a1a;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}
.coupon-usage-stepper-btn:hover:not(:disabled) {
    background: #f3f4f6;
}
.coupon-usage-stepper-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.coupon-usage-stepper-value {
    min-width: 1.5rem;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a1a;
}
.toggle-row .form-check-input.big-toggle:checked {
    background-color: #2e9e4f;
    border-color: #2e9e4f;
}
.toggle-row  input[type="checkbox"]:checked::after{
    content:none;
}
.driver-info-item {
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    position: relative;
    padding-left: 0;
}
.info-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 2px;
    background: rgba(0, 208, 132, 0.12);
    color: #00d084;
}
.info-content {
    flex: 1;
    min-width: 0;
}
.info-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #8b8b8b;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 4px;
    display: block;
}
.info-value {
    font-size: 1.05rem;
    color: #1a1a2e;
    font-weight: 500;
    word-break: break-word;
    line-height: 1.4;
}
.driver-info-container{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    align-items: flex-start;
}
.h-connector {
    position: relative;
    z-index: 1;
    align-self: center;
    border: 1px dashed #dfe4ec;
    flex: 1;
}

.card-accent .progress-block::after{
  content:none;  
}
.card-accent  .progress-block {
    min-height: auto;
    padding-top: 0px;
}

.card-accent .progress-block:nth-child(7) {
   flex: unset; 
}

.card-accent .progress-block::before {
    top: 9px;
    border: 2px solid #dfe4ec;
}
.card-accent .progress-block::before {
    top:9px;
}
.badge-success-chip {
    background: #e6fbf3;
    color: #00c47c;
    font-size: 2rem;
    padding: 6px 10px;
    border-radius: 30px;
}
.badge-success-chip h4 {
    font-size: .9rem;
    font-weight: 600;
}
input[type="checkbox"]:checked::after{
    top: 0px !important;
    left: 3px !important;

}
.img-min-height{
  min-height: 320px;  
}
.addr-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.addr-card {
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
}
.addr-card strong {
    font-weight: 500;
    display: block;
    margin-bottom: 2px;
    font-size: 1rem;
}
.sup-img img{
    width: 60px;
    height: 60px;
    border-radius: 50%;   
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
    background-color: #438eff;
    border: 1px solid #438eff;   
    color: #fff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
    color:#fff;
}



@media (max-width: 575px) {
.stat-item {
    border-bottom: 1.5px solid #f0f0f0;
    border-right: 0px;
    padding: 10px 0px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}
.bottom-cell:not(:last-child){
    border-right:none;
}
}