/* Star icon styling */
.new-job-star {
    text-decoration: none;
    color: inherit;
}

.new-job-star:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

#sort-new-jobs {
    text-decoration: none;
    cursor: pointer;
}

#sort-new-jobs:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

/* Ensure table rows have job IDs */
.table tbody tr {
    transition: background-color 0.3s ease;
}

/* Messsage Box */
.delete-message {
    background: none;
    border: none;
    color: #dc3545;
    cursor: pointer;
    float: right;
    padding: 0 5px;
    opacity: 0.7;
    font-size: 0.8rem;
}

.delete-message:hover {
    opacity: 1;
}

.message-content {
    position: relative;
    word-break: break-word;
}
    .card-header:first-child {
        border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
        background-color: #d5d5d5;
    }
    .notification-container {
        position: fixed;
        top: 80px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 9999;
    }
    .notification {
        min-width: 300px;
        margin-bottom: 10px;
        padding: 15px 20px;
        border-radius: 4px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .notification.success {
        background-color: #d4edda;
        border-left: 4px solid #28a745;
        color: #155724;
    }
    .notification.danger {
        background-color: #f8d7da;
        border-left: 4px solid #dc3545;
        color: #721c24;
    }
    .notification.warning {
        background-color: #fff3cd;
        border-left: 4px solid #ffc107;
        color: #856404;
    }
    .notification-close {
        background: none;
        border: none;
        color: inherit;
        font-size: 1.25rem;
        cursor: pointer;
        opacity: 0.7;
        margin-left: 10px;
        padding: 0 5px;
    }
    .notification-close:hover {
        opacity: 1;
    }
.message {
    position: relative;
    margin-bottom: 1rem;
    padding: 0.75rem;
    border-radius: 8px;
    clear: both;
    max-width: 90%;
}

.message-header {
    position: absolute;
    top: 5px;
    right: 5px;
}

.delete-message {
    cursor: pointer;
    color: #999;
    font-size: 20px;
    font-weight: bold;
    padding: 0 5px;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.delete-message:hover {
    opacity: 1;
    color: #666;
}

.message-content {
    word-break: break-word;
    margin-top: 5px;
}

.client-message {
    background-color: #e3fbd3;
    float: left;
    min-width:200px;
}

.admin-message {
    background-color: #e5f2fa;
    float: right;
     min-width:200px;
}

.timestamp {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.25rem;
}
    .table_service {
        border-collapse: collapse;
        background-color: #ffffff;
        margin: 0 auto;
        border: 1px solid black;
        width: 80%;
    }
    .table_service th, .table_service td {
        padding: 1px;
        text-align: left;
        border: 1px solid #dee2e6;
    }
    .table_service th {
        background-color: #e9e9e9;
        font-weight: bold;
        padding: 5px;
    }
    .table_service tbody tr:hover {
        background-color: ;
    }
    .table_service .btn {
        margin-top: 5px;
    }
    .table_service .total-row {
        font-weight: bold;
    }
    .table_service #totalPrice {
        font-weight: bold;
        color: green;
        padding-left: 5px;
    }
    .form-container {
        width: 100%;
    }
    .readonly-row {
        background-color: ;
    }
    .form-control[readonly] {
        background-color: #e9ecef;
    }


.amount {
width:60px;
display:inline-block;
font-weight:bold;
color:#737373;
}
/* Payment form styles */
#payment-form {
    max-width: 100%;
}

#payment-element {
    margin-bottom: 24px;
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #f8f9fa;
}

#submit {
    padding: 12px 16px;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.2s ease;
}

#submit:disabled {
    opacity: 0.5;
    cursor: default;
}

#payment-message {
    color: rgb(105, 115, 134);
    font-size: 16px;
    line-height: 20px;
    padding-top: 12px;
    text-align: center;
}

/* Card element styles */
.StripeElement {
    background-color: white;
    padding: 8px 12px;
    border-radius: 4px;
    border: 1px solid transparent;
    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}


/* Footer fixes */
html, 
body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
    padding-bottom: 2rem;
}

.footer {
    flex-shrink: 0;
}

/* Status badge colors - dimmer versions */
.status-badge.bg-warning {
    background-color: #ffd97d !important; /* Dimmer yellow */
}

.status-badge.bg-primary {
    background-color: #6c8be0 !important; /* Dimmer blue */
}

.status-badge.bg-ready {
    background-color: #21bb75 !important; /* Dimmer blue */
}

.status-badge.bg-success {
    background-color: #7fb992 !important; /* Dimmer green */
}

.status-badge.bg-secondary {
    background-color: #939aa3 !important; /* Dimmer gray */
}

.status-badge.bg-danger {
    background-color: #e17f7f !important; /* Dimmer red */
}

/* Make the text darker for better contrast */
.status-badge {
    color: #2c3338 !important;
    font-weight: 500;
}

/* Keep your existing mystatus class */
.mystatus {
    width: 190px;
    height: 30px;
    vertical-align: middle;
    height: 2rem;
    line-height: 1.5rem;
}


/* Client dashboard specific styles */
.client-dashboard td[data-label="Job Name"] {
    text-align: left !important;
}

@media screen and (max-width: 768px) {
    .client-dashboard td[data-label="Job Name"] {
        text-align: right !important;
        border-radius: 25px;
    }

    .client-dashboard .table td[data-label="Job Name"]::before {
        text-align: left;
    }

    .client-dashboard .table td[data-label="Job Name"] .align-items-center {
        justify-content: flex-start;
    }
}




/* Date and time styles */
.table td[data-label="Date Posted"],
.table td[data-label="Date Required"] {
    color: #242629;
    font-size: 0.875rem;
    text-align: left;
}

/* Time styling */
.time-text {
    font-size: 0.875rem; /* Even smaller time text */
    color: #242629; /* Slightly lighter color for time */
}

.text-muted {
    font-size: 0.75rem;
}
/* Mobile view adjustments */
@media screen and (max-width: 768px) {
    .table td[data-label="Date Posted"],
    .table td[data-label="Date Required"] {
        text-align: right !important;
    }
}

.btn-group-vertical>.btn, .btn-group>.btn, .btn-group>.paybtn{
    width: 90px;
}

#admin .paybtn{
 width: 95px;
}

.btn-group, .btn-group-vertical {
   
    gap: 0.25rem;
}

#admin .btn-group-vertical > .btn,
#admin .btn-group > .btn {
    width: 50px;
}


.message-badge {
    text-decoration: none;
}

.badge-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background-color: #dc3545;
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
}

.badge-circle:hover {
    opacity: 0.9;
    color: white;
    text-decoration: none;
}

.btn-primary {
    background-color: #4a6da7;
    border-color: #435f91;
    color: #ffffff !important;
}

.btn-primary:hover {
    background-color: #3d5a8a;
    border-color: #374e77;
    color: #ffffff !important;
}

.btn-danger {
    background-color: #b44141;
    border-color: #9e3a3a;
    color: #ffffff !important;
}

.btn-danger:hover {
    background-color: #943636;
    border-color: #833030;
    color: #ffffff !important;
}

.btn-info {
    background-color: #4799b7;
    border-color: #3f89a3;
    color: #ffffff !important;
}

.btn-info:hover {
    background-color: #3b7d96;
    border-color: #346d82;
    color: #ffffff !important;
}

.btn-secondary {
    background-color: #6c757d;
    border-color: #5f666d;
    color: #ffffff !important;
}

.btn-secondary:hover {
    background-color: #5a6268;
    border-color: #4e555b;
    color: #ffffff !important;
}

/* Muted badge colors */
.badge.bg-primary {
    background-color: #4a6da7 !important;
    color: #ffffff !important;
}

.bg-ready {
    background-color: #21bb75 !important;
    color: #ffffff !important;
}
.badge.bg-danger {
    background-color: #b44141 !important;
    color: #ffffff !important;
}

.badge.bg-success {
    background-color: #3c8b5a !important;
    color: #ffffff !important;
}

.badge.bg-info {
    background-color: #4799b7 !important;
    color: #ffffff !important;
}

.badge.bg-warning {
    background-color: #cc9b3f !important;
    color: #ffffff !important;
} 

.mystatus {
   width:100px;
    height:23px;
    vertical-align:middle;
    height: 1.9rem;
    line-height: 1.4rem;
}


.job-name-tooltip {
    cursor: pointer;  /* Changed from 'help' to 'pointer' */
    border-bottom: none;  /* Removed the dotted underline */
    text-decoration: none;  /* Ensure no text decoration */
}

/* Rest of your tooltip styles */
.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-size: 0.875rem;
    max-width: 300px;
}

.tooltip .tooltip-inner {
    max-width: 300px;
    padding: 8px 12px;
    color: #fff;
    text-align: left;
    background-color: #000;
    border-radius: 4px;
    white-space: pre-wrap;
}



.message-count {
    display: inline-flex;
    align-items: center;
}

.badge {
    font-size: 0.75rem;
    padding: 0.25em 0.6em;
}

.job-name-tooltip {
    cursor: pointer;  /* Changed from 'help' to 'pointer' */
    border-bottom: none;  /* Removed the dotted underline */
    text-decoration: none;  /* Ensure no text decoration */
}

/* Rest of your tooltip styles */
.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    font-size: 0.875rem;
    max-width: 300px;
}

.tooltip .tooltip-inner {
    max-width: 300px;
    padding: 8px 12px;
    color: #fff;
    text-align: left;
    background-color: #000;
    border-radius: 4px;
    white-space: pre-wrap;
}


.job-name-tooltip {
    cursor: pointer;
    color: inherit; /* Keep the default text color */
}

.job-name-tooltip:hover {
    color: #0056b3; /* Bootstrap's default link hover color, or choose your own */
}   
   
   
 .search-container {
    position: relative;
}

.search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
}

.search-result-item {
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-item:hover {
    background-color: #f8f9fa;
}

.search-highlight {
    background-color: #ffeeba;
    padding: 0 2px;
}

.no-results {
    padding: 10px 15px;
    color: #6c757d;
    font-style: italic;
}  
   
   
    /* Default styles */
    .table-responsive {
        overflow-x: auto;
    }

    /* Mobile view styles */
    @media screen and (max-width: 768px) {
        .table {
            border: 0;
        }
        
        .table thead {
            display: none; /* Hide table header on mobile */
        }
        
        .table tr {
            margin-bottom: 2rem;
            display: block;
            border: 3px solid #ddd;
            border-radius: 9px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        
        .table td {
            display: block;
            text-align: right;
            border-bottom: 1px solid #eee;
        }
        
        .table td:last-child {
            border-bottom: 0;
        }
        
        .table td::before {
            content: attr(data-label);
            float: left;
            font-weight: bold;
            text-transform: uppercase;
            font-size: 0.85em;
        }

        /* Adjust button groups for mobile */
        .btn-group {
            gap: 0.45rem;
            width:100%;
        }

        /* Adjust status select for mobile */
        .status-select {
            width: 50%;
            margin-top: 0.5rem;
            margin-left: auto;margin-right: 0;
        }

        /* Adjust search and filter section */
        .mb-4 .d-flex {
            flex-direction: column;
            gap: 1rem;
        }

        .mb-4 .btn-group {
            width: 100%;
        }

        .mb-4 .form-control {
            max-width: 100%;
        }
        td[data-label="PAYMENT"] {
          display: flex;
          justify-content: space-between; /* Keep label on the left and other content on the right */
          align-items: center; /* Vertically align items */
        }
        
        /* Optional: Add spacing between right-side elements */
        td[data-label="PAYMENT"] .payment-items {
          display: flex;
          gap: 10px; /* Adjust spacing between the amount and buttons */
        }
           
        .mystatus {
           
            height:23px;
            vertical-align:middle;
            height: 1.9rem;
            line-height: 1.3rem;
            width:100%;
        }
        
        
    }