/* Speedy-Theme design tokens (from Speedy-Quote) */
:root {
    --sq-primary: #2563eb;
    --sq-primary-hover: #1d4ed8;
    --sq-primary-light: #dbeafe;
    --sq-secondary: #64748b;
    --sq-success: #10b981;
    --sq-error: #ef4444;
    --sq-warning: #f59e0b;
    --sq-text: #1e293b;
    --sq-text-light: #64748b;
    --sq-border: #e2e8f0;
    --sq-bg: #ffffff;
    --sq-bg-alt: #f8fafc;
    --sq-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    --sq-shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    --sq-radius: 12px;
    --sq-radius-sm: 8px;
    --sq-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

#job-schedule-content {
    height: auto;
    min-height: 100%;
    width: 100%;
    position: relative;
    -webkit-font-smoothing: subpixel-antialiased;
    margin: 1rem 0;
    font-family: var(--sq-font);
    color: var(--sq-text);
    background: var(--sq-bg-alt);
}
#job-schedule-wpcontent{
    margin-left: 160px;
    height: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    padding-bottom: 2rem;
}
#job-schedule-menu {
    position: relative;
    float: left;
    z-index: 9990;
    width: 160px;
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    margin-bottom: 0.625rem;
} 

.job-schedule-alert-danger{
    color: var(--sq-error);
}
.job-schedule-alert-success{
    color: var(--sq-success);
}
.pdf_viewer_relative{
    position: relative;
}
.pdf_viewer_notes{
    width:100%;float: left; background-color: #b2b8b3; position: absolute;
    padding: 0%;
}
.pdf_viewer_content p{
    margin: 0px;
    padding: 0px;
    width: 100%;
}
.pfd_date{
    text-align: left;
}
.fixed-notes{
    max-height: 250px;
    overflow-x:scroll;
}
.view_pdf_note_border{
    border-bottom: 1px dotted black;
}
.pfd_user{
    text-align: right;
}
.pdf_viewer_text{
    width: 90%;
    margin: 5%;
}
.pdf_viewer_note_section{
    width: 94%;
    margin: 0% 3%;
    float: left;
}
.pdf_viewer_content{
    width: 100%;
    float: left;
}
.loading_measure_box{
    color: var(--sq-error)!important;
    text-align: center;
    font-size: 1.25rem;
}

#job-schedule-menu #navlist
{
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.float-left-box{
    width: 100%;
    float: left;
}
#job-schedule-menu  #navlist li
{
    float: left;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    width: 100%;
    border-left: 3px solid transparent;
}
#job-schedule-menu  #navlist li.active
{
    background: rgba(255, 255, 255, 0.1);
    border-left-color: #3b82f6;
}
#job-schedule-menu  #navlist li a
{
    color: #94a3b8;
    text-decoration: none;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: color 0.2s, background 0.2s;
}
/* Menu icons - same style as Speedy-Quote */
#job-schedule-menu .menu-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
#job-schedule-menu .menu-icon::before {
    font-size: 16px;
}
#job-schedule-menu .menu-icon[data-icon="dashboard"]::before { content: '📊'; }
#job-schedule-menu .menu-icon[data-icon="clipboard"]::before { content: '📋'; }
#job-schedule-menu .menu-icon[data-icon="dollar"]::before { content: '💰'; }
#job-schedule-menu .menu-icon[data-icon="folder"]::before { content: '📁'; }
#job-schedule-menu .menu-icon[data-icon="home"]::before { content: '🏠'; }
#job-schedule-menu .menu-icon[data-icon="map"]::before { content: '🗺️'; }
#job-schedule-menu .menu-icon[data-icon="package"]::before { content: '📦'; }
#job-schedule-menu .menu-icon[data-icon="wand"]::before { content: '✨'; }
#job-schedule-menu .menu-icon[data-icon="settings"]::before { content: '⚙️'; }
#job-schedule-menu .menu-icon[data-icon="schedule"]::before { content: '📅'; }
#job-schedule-menu .menu-icon[data-icon="measure"]::before { content: '📐'; }
#job-schedule-menu .menu-icon[data-icon="accounts"]::before { content: '📒'; }
#job-schedule-menu .menu-icon[data-icon="ledger"]::before { content: '📒'; }
#job-schedule-menu .menu-icon[data-icon="calendar"]::before { content: '📅'; }
#job-schedule-menu .menu-icon[data-icon="warning"]::before { content: '⚠️'; }
#job-schedule-menu .menu-icon[data-icon="posting"]::before { content: '📝'; }
#job-schedule-menu .menu-icon[data-icon="document"]::before { content: '📄'; }
#job-schedule-menu .menu-icon[data-icon="bank"]::before { content: '🏦'; }
#job-schedule-menu .menu-icon[data-icon="chart"]::before { content: '📊'; }
#job-schedule-menu .menu-icon[data-icon="tax"]::before { content: '🧾'; }
#job-schedule-menu .menu-icon[data-icon="quote"]::before { content: '💰'; }
#job-schedule-menu .menu-icon[data-icon="email"]::before { content: '📧'; }
#job-schedule-menu .menu-icon[data-icon="profile"]::before { content: '👤'; }
/* Posting - distinct */
#job-schedule-menu .menu-icon[data-icon="claims"]::before { content: '📃'; }
#job-schedule-menu .menu-icon[data-icon="receipt"]::before { content: '🧾'; }
#job-schedule-menu .menu-icon[data-icon="variation"]::before { content: '➕'; }
#job-schedule-menu .menu-icon[data-icon="payinv"]::before { content: '💵'; }
#job-schedule-menu .menu-icon[data-icon="transfer"]::before { content: '🔄'; }
#job-schedule-menu .menu-icon[data-icon="orphan"]::before { content: '🔗'; }
#job-schedule-menu .menu-icon[data-icon="cleanup"]::before { content: '🧹'; }
#job-schedule-menu .menu-icon[data-icon="journal"]::before { content: '📓'; }
/* Banking */
#job-schedule-menu .menu-icon[data-icon="bankaccount"]::before { content: '🏦'; }
#job-schedule-menu .menu-icon[data-icon="reconcile"]::before { content: '✅'; }
/* Reports - distinct */
#job-schedule-menu .menu-icon[data-icon="sales"]::before { content: '📈'; }
#job-schedule-menu .menu-icon[data-icon="contractor"]::before { content: '👷'; }
#job-schedule-menu .menu-icon[data-icon="salesperson"]::before { content: '🧑‍💼'; }
#job-schedule-menu .menu-icon[data-icon="unpaid"]::before { content: '⏳'; }
#job-schedule-menu .menu-icon[data-icon="jobcost"]::before { content: '💼'; }
#job-schedule-menu .menu-icon[data-icon="timer"]::before { content: '⏱️'; }
#job-schedule-menu .menu-icon[data-icon="overhead"]::before { content: '📊'; }
#job-schedule-menu .menu-icon[data-icon="eofy"]::before { content: '📅'; }
#job-schedule-menu .menu-icon[data-icon="profitloss"]::before { content: '💹'; }
#job-schedule-menu .menu-icon[data-icon="trialbal"]::before { content: '⚖️'; }
#job-schedule-menu .menu-icon[data-icon="balancesheet"]::before { content: '🏛️'; }
#job-schedule-menu .menu-icon[data-icon="chartaccounts"]::before { content: '📑'; }
#job-schedule-menu .menu-icon[data-icon="enquiries"]::before { content: '🔍'; }
#job-schedule-menu .menu-icon[data-icon="jobsreport"]::before { content: '📋'; }
#job-schedule-menu .menu-icon[data-icon="wip"]::before { content: '🚧'; }
/* TAX */
#job-schedule-menu .menu-icon[data-icon="bas"]::before { content: '📑'; }
#job-schedule-menu .menu-icon[data-icon="gst"]::before { content: '📊'; }
#job-schedule-menu .menu-icon[data-icon="tpar"]::before { content: '📄'; }
#job-schedule-menu .menu-icon[data-icon="eofyreport"]::before { content: '📅'; }
/* Price List - distinct */
#job-schedule-menu .menu-icon[data-icon="pricelist"]::before { content: '📋'; }
#job-schedule-menu .menu-icon[data-icon="costcenter"]::before { content: '🗂️'; }
#job-schedule-menu .menu-icon[data-icon="priceunit"]::before { content: '📐'; }
#job-schedule-menu .menu-icon[data-icon="pricelevel"]::before { content: '📊'; }
#job-schedule-menu .menu-icon[data-icon="list"]::before { content: '📝'; }
#job-schedule-menu .menu-icon[data-icon="structures"]::before { content: '🏗️'; }
/* Estimating */
#job-schedule-menu .menu-icon[data-icon="estimating"]::before { content: '📐'; }
#job-schedule-menu .menu-icon[data-icon="estimate"]::before { content: '📋'; }
#job-schedule-menu .menu-icon[data-icon="contract"]::before { content: '📜'; }
#job-schedule-menu .menu-icon[data-icon="extraquote"]::before { content: '💵'; }
/* Quote Hub / Email Hub */
#job-schedule-menu .menu-icon[data-icon="quotehub"]::before { content: '💼'; }
#job-schedule-menu .menu-icon[data-icon="openquote"]::before { content: '📤'; }
#job-schedule-menu .menu-icon[data-icon="approval"]::before { content: '✔️'; }
/* Hide main menu icons when OFF */
#job-schedule-menu[data-show-main-icons="0"] #navlist > li:not(.sub_nav) .menu-icon {
    display: none;
}
#job-schedule-menu[data-show-main-icons="0"] #navlist > li:not(.sub_nav) > a {
    gap: 0;
}
/* Hide sub menu icons when OFF */
#job-schedule-menu[data-show-sub-icons="0"] #navlist > li.sub_nav .menu-icon {
    display: none;
}
#job-schedule-menu[data-show-sub-icons="0"] #navlist > li.sub_nav > a {
    gap: 0;
}
#job-schedule-menu  #navlist li a:hover
{
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}
#job-schedule-menu  #navlist li.active a
{
    color: #fff;
}
#job-schedule-menu  #navlist li.sub_nav a
{
    padding-left: 1.5rem !important;
}
.job-schedule-page h1{
    clear: none;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--sq-text);
}
.job-schedule-page h2{
    clear: none;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--sq-text);
}

.job-schedule-page h3{
    clear: none;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--sq-text);
}
.marign20{
    margin: 1.5rem 0;
}
.job-schedule-content-boxes{
    width: 100%;
    float: left;
    background: var(--sq-bg);
    border: 1px solid var(--sq-border);
    border-radius: var(--sq-radius-sm);
    padding: 1.5rem;
    box-shadow: var(--sq-shadow);
}
.job-schedule-content-boxes .form-section, .job-schedule-content-boxes .form-section-editor{
    width: 100%;
    float: left;
    margin-bottom: 1rem;
}
.job-schedule-content-boxes .form-section label{
    width: 100%;
    float: left;
    color: var(--sq-text);
    font-weight: 500;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}
.job-schedule-content-boxes .form-section input[type=text],.job-schedule-content-boxes .form-section input[type=password],.job-schedule-content-boxes .form-section input[type=submit] ,.job-schedule-content-boxes .form-section input[type=button],.job-schedule-content-boxes .form-section select{
    width: 100%;
    padding: 0.75rem 1rem;
    margin: 0.5rem 0;
    box-sizing: border-box;
    font-size: 1rem;
    font-family: inherit;
    color: var(--sq-text);
    background: var(--sq-bg);
    border: 2px solid var(--sq-border);
    border-radius: var(--sq-radius-sm);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.job-schedule-content-boxes .form-section input[type=text]:focus,.job-schedule-content-boxes .form-section input[type=password]:focus,.job-schedule-content-boxes .form-section select:focus{
    outline: none;
    border-color: var(--sq-primary);
    box-shadow: 0 0 0 3px var(--sq-primary-light);
}
.job-schedule-content-boxes .form-section input[type=submit],.job-schedule-content-boxes .form-section input[type=button]{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    cursor: pointer;
    background: var(--sq-primary);
    color: #fff;
    border: none;
}
.job-schedule-content-boxes .form-section input[type=submit]:hover,.job-schedule-content-boxes .form-section input[type=button]:hover{
    background: var(--sq-primary-hover);
}

.job-schedule-table-box, .job-details-box{
    overflow-x: auto;
    margin: 1.5rem 0; 
}
.job-details-box-popup{
    overflow-x: auto;
    margin: 0; 
}

#dashboard-table, #job-schedule-table, .job-schedule-table {
  border-collapse: collapse;
  width: 100%;
  border-radius: var(--sq-radius-sm);
  overflow: hidden;
  box-shadow: var(--sq-shadow);
}

#dashboard-table td, #dashboard-table th, #job-schedule-table td, #job-schedule-table th, .job-schedule-table td, .job-schedule-table th {
  border: 1px solid var(--sq-border);
  padding: 0.75rem 1rem;
}
#job-schedule-table tr,.job-schedule-table tr{background-color: var(--sq-bg)!important;}

#job-schedule-table tr:nth-child(even),.job-schedule-table tr:nth-child(even){background-color: var(--sq-bg-alt)!important;}

#dashboard-table tr:hover, #job-schedule-table tr:hover, .job-schedule-table tr:hover {background-color: var(--sq-bg-alt)!important;}

#dashboard-table tr.trodd{
    background-color: var(--sq-bg)!important;
}
#dashboard-table tr.treven{
    background-color: var(--sq-bg-alt)!important;
}

#dashboard-table th , #job-schedule-table th, .job-schedule-table th {
  padding: 0.75rem 1rem;
  text-align: left;
  background-color: var(--sq-primary);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.heading-td{
    color: var(--sq-text);
    font-weight: 600;
    font-size: 0.875rem;
}
.job-details-box{
  width: 100%;
  float: left;
  margin-bottom: 1rem;
}
.job-details-box span{
  width: 100%;
  display: block;
  color: var(--sq-text);
  font-weight: 600;  
}
.aling-right{
  text-align: right;
}
.back-link a{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--sq-primary);
  color: #fff;
  padding: 0.5rem 1rem;
  margin: 0.5rem 0;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.2s;
}
.back-link a:hover{
  background: var(--sq-primary-hover);
}
.job-details-col{
  float: left;
  width: 45%;
  padding-right: 5%;
}
.job-details-table-box{
  width: 100%;
  float: left;
  margin-bottom: 1rem;
}
.job-schedule-calender{
    width: 100%;
    float: left;
    margin: 1.5rem 0;
}

.job-schedule-message-box{
    width: 100%;
    float: left;
    margin-bottom: 1rem;
}

.message-box{
    width: 100%;
    padding: 0.5rem 0;
    float: left;
    border-bottom: 1px dotted var(--sq-primary);
}
.message-box-nobo{
    border-bottom:0px !important;
}
.direct-chat-info{
    width: 100%;
    float: left;
    margin-bottom: 5px
}
.direct-chat-info .direct-chat-name{
    display: block;
    
    color: black;
font-size: 16px;
font-weight: bold;
}
.direct-chat-info .direct-chat-timestamp{
    display: block;
    font-size: 12px;
    color: black;
}
.message-box .pull-left{
    float: left;
}
.message-box .pull-right{
    float: right;
}
.message-box .direct-chat-reply{
    width: 100%;
    float:left;
}
.message-box .direct-chat-reply a{
    color: red;
}

/* Collapsible Note Text - Dashboard */
.direct-chat-text-content {
    position: relative;
    transition: max-height 0.3s ease;
}
/* Short notes - show fully */
.direct-chat-text-content.note-short {
    max-height: none;
    overflow: visible;
}
/* Long notes - collapsed by default */
.direct-chat-text-content.note-long {
    max-height: 50px;
    overflow: hidden;
}
/* Fade effect for collapsed long notes */
.direct-chat-text-content.note-long:not(.note-expanded)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 20px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
}
/* Hover to preview full content */
.direct-chat-text-content.note-long:hover {
    max-height: 300px;
    overflow: auto;
    z-index: 100;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    border-radius: 4px;
    padding: 5px;
    margin: -5px;
}
.direct-chat-text-content.note-long:hover::after {
    display: none;
}
/* Expanded state (clicked) */
.direct-chat-text-content.note-expanded {
    max-height: none !important;
    overflow: visible !important;
}
.direct-chat-text-content.note-expanded::after {
    display: none !important;
}
.note-expand-toggle {
    display: inline-block;
    padding: 2px 8px;
    margin-top: 3px;
    cursor: pointer;
    color: #0073aa;
    font-size: 12px;
    user-select: none;
}
.note-expand-toggle:hover {
    color: #005177;
    text-decoration: underline;
}
.note-expand-toggle .toggle-icon {
    font-size: 10px;
}
.note-expand-toggle-hidden {
    display: none !important;
}

#jobh-menu{
    display: none;
}
#jobh-menu a.base-anchor{
    width: 50px;
   height: 50px;
   display: block;
   background-color: #1e73be;
}
#jobh-menu a.ham-icon{
   background-image: url("../images/ham.png");
   background-repeat: no-repeat;
   background-position: center; 
}
#jobh-menu a.cross-icon{
   background-image: url("../images/cross.png");
   background-repeat: no-repeat;
   background-position: center; 
}
.job-details-box-message{
  width: 100%;
  float:left;
  margin-bottom: 10px;
}

.profile-dashboard span{
    color: black;
}
.profile-dashboard h3{
    color: black;
    font-weight: bold;
}
.signature_button_box{
    background-color: #fff;
    margin:5px;
}
.sign,.sign_display_box{
    display: none;
}
.font1{
    font-family: 'Pacifico', cursive;
    font-size: 30px;
    width: 400px;
}
.font2{
    font-family: 'Permanent Marker', cursive;
    font-size: 30px;
    width: 400px;
}
.font3{
    font-family: 'Homemade Apple', cursive;
    font-size: 30px;
    width: 400px;
}
.font4{
    font-family: 'Parisienne', cursive;
    font-size: 30px;
    width: 400px;
}
.font5{
    font-family: 'Damion', cursive;
    font-size: 30px;
    width: 400px;
}
.font6{
    font-family: 'Yesteryear', cursive;
    font-size: 30px;
    width: 400px;
}
.sign_display_box .selected{
    background-color: #e526ef;
}
.signature_content{
    font-weight: normal!important;
}
.dash-job-box{
    width: 70%;
    float: left;
}
.dash-notes-box{
    width: 26%;
    margin:0% 2%;
    float: left;
}
.labl{
    cursor:pointer!important;
}
.labl-selected{
    background-color: #dbdbdb;
}
.labl > input{ /* HIDE RADIO */
    visibility: hidden; /* Makes input not-clickable */
    position: absolute; /* Remove input from document flow */
}
@media screen and (max-width: 768px){
    .flex-container{
        display: block !important;
    }
    .flex-box{
        width: 100%;
        margin:10px 10px 0 0!important;
    }
    #job-schedule-menu{
        width: 100%!important;
        display: none;
    }
    #jobh-menu{
        display: block;
    }
    #job-schedule-wpcontent{
        padding-left: 0%!important;
        margin-left:0px!important;
    }
    .dash-job-box{
        width: 100%!important;
    }
    .dash-notes-box{
        width: 100%!important;
        margin:2% 0%!important;
    }
    .mulcheckform input[type=submit]{
        margin-top:5px;
    }
}
.text_aling{
    text-align: center;
}
.job_bold_uppper{
    text-transform: uppercase;
    font-weight: bold;
    font-size: 20px;
}
.nav-tab-wrapper{
    border-bottom: 1px solid var(--sq-border);
    margin: 0;
    padding-top: 0.5rem;
    padding-bottom: 0;
    line-height: inherit;
    width: 100%;
    float: left;
}
.nav-tab-active, .nav-tab-active:focus, .nav-tab-active:focus:active, .nav-tab-active:hover {
    border-bottom: 1px solid var(--sq-bg);
    background: var(--sq-bg);
    color: var(--sq-text);
}
.nav-tab {
    display: inline-block;
    border: 1px solid var(--sq-border);
    border-bottom: none;
    margin-left: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    margin-top: 0.5rem; 
    line-height: 1.5;
    font-weight: 600;
    background: var(--sq-bg-alt);
    color: var(--sq-secondary);
    text-decoration: none;
    white-space: nowrap;
    border-radius: var(--sq-radius-sm) var(--sq-radius-sm) 0 0;
}
.nav-tab-active {
    margin-bottom: -1px;
    color: var(--sq-primary);
    background: var(--sq-bg);
}
.nav-tab-active, .nav-tab:focus:active {
    box-shadow: none;
}
.job-schedule-content-boxes textarea{
    height: 100px;
    min-height: 100px;
    border: 2px solid var(--sq-border);
    border-radius: var(--sq-radius-sm);
    padding: 0.75rem 1rem;
}
.job-schedule-content-boxes textarea:focus{
    outline: none;
    border-color: var(--sq-primary);
    box-shadow: 0 0 0 3px var(--sq-primary-light);
}
.clear-sign{
    cursor: pointer;
}
.signature-box{
    float: left;
    border: 1px solid;
}
.im_field{
    width: 100%;
    margin: 5px 0px;
    cursor: pointer;
    float: left;
}
.at_remove{
    color: var(--sq-error);
    cursor: pointer;
}

.dash-notes-box h1{
    clear: none;
    font-size: 25px;
    margin-top:20px;
}
.job_selected_class{
    background-color: var(--sq-primary-light)!important;
}

.job_lead, .job_lead a{
    color: #072e3a !important;
}
.job_active, .job_active a{
    color: #150238!important;
}

.job_prospect, .job_prospect a{
    color: #0059cd!important;
}
.job_quoting, .job_quoting a{
    color: #2a008c !important;
}
.job_declined, .job_declined a{
    color: #e65100 !important; /* Orange - Quote Declined */
}
.job_finance, .job_finance a{
    color: #02ad02!important;
}
.job_preliminary_deposit, .job_preliminary_deposit a{
    color: #4b6b4b!important;
}
.job_newsletter_owner_occupier, .job_newsletter_owner_occupier a{
    color: #b5651d!important;
}
.job_newsletter_investors, .job_newsletter_investors a{
    color: #803e04!important;
}
.job_dead, .job_dead a{
    color: #FF0000!important;
}
.job_contract, .job_contract a{
    color: #277557!important;
}
.job_colour_selection, .job_colour_selection a{
    color: #d6cf0d!important;
}
.job_estimating_scheduling, .job_estimating_scheduling a{
    color: #fcc305!important;
}
.job_under_construction, .job_under_construction a{
    color: #099101!important;
}
.job_archived, .job_archived a{
    color: #800080!important;
}
/*
calender
*/
/*******************************Calendar Top Navigation*********************************/
div#calendar{
  margin:0px auto;
  padding:0px;
  width: 602px;
  box-shadow: 0px 12px 18px -6px rgba(0,0,0,0.3);
  border: 1px solid #0073aa;
}
 
div#calendar div.box{
    position:relative;
    top:0px;
    left:0px;
    width:100%;
    height:40px;
    /* background-color:   #787878 ;       */
}
 
div#calendar div.header
{
    line-height:40px;  
    vertical-align:middle;
    position:absolute;
    left:11px;
    top:0px;
    width:582px;
    height:40px;   
    text-align:center;
}
 
div#calendar div.header a.prev,div#calendar div.header a.next
{ 
    position:absolute;
    top:0px;   
    height: 17px;
    display:block;
    cursor:pointer;
    text-decoration:none;
    color:black;
    padding-left: 15px;
    padding-right: 15px;
}
 
div#calendar div.header span.title
{
    color:black;
    font-size:18px;
}
 
 
div#calendar div.header a.prev{
    left:0px;
}
 
div#calendar div.header a.next{
    right:0px;
}

 
/*******************************Calendar Content Cells*********************************/
div#calendar div.box-content{
    /* border:1px solid #787878 ; */
    border-top:none;
}
div#calendar ul.label{
    float:left;
    margin: 0px;
    padding: 0px;
    margin-top:5px;
    margin-left: 5px;
}

div#calendar ul.label li{
    margin:0px;
    padding:0px;
    margin-right:5px;
    float:left;
    list-style-type:none;
    width:80px;
    height:40px;
    line-height:40px;
    vertical-align:middle;
    text-align:center;
    color:#000;
    font-size: 15px;
    background-color: transparent;
}
 
 
div#calendar ul.dates{
    float:left;
    margin: 0px;
    padding: 0px;
    margin-left: 5px;
    margin-bottom: 5px;
}
 
/** overall width = width+padding-right**/
div#calendar ul.dates li{
    margin:0px;
    padding:0px;
    margin-right:5px;
    margin-top: 5px;
    line-height:80px;
    vertical-align:middle;
    float:left;
    list-style-type:none;
    width:80px;
    height:80px;
    font-size:25px;
    color:#000;
    text-align:center; 
    border-radius: 200px;
}

div#calendar ul.dates li:hover
{
    background: #36BEC2 !important;
    color:white;
    box-shadow: inset 0px 0px 14px #36BEC2;
}
div#calendar ul.dates li a{ 
  color: #32a86b!important;
}
div#calendar ul.dates li.todays_date{ 
  color: #1e73be!important;
}
div#calendar ul.dates li.todays_date a{ 
  color:#1e73be!important;
}
div#calendar ul.dates li.past_date{ 
  color:#000000!important;
}
div#calendar ul.dates li.past_date a{ 
  color:#000000!important;
}
div#calendar ul.dates li.appointment_dated{ 
    color:#E4285C!important;
    font-weight: bold;
    background-color: #DCDCDC;
}
div#calendar ul.dates li.appointment_dated a{ 
    color:#E4285C!important;
    font-weight: bold;
}
:focus{
    outline:none;
}
 
div.clear{
    clear:both;
}  

.box
{
    background:white;
}
.box-content
{
    background:white;
}
.estimate_red{
    color: red!important;
}
/*
calender
*/

.appointment_dated span
{
    font-size: 10px!important;
}


div#calendar ul.dates li.start{
    clear: both;
}
/*
* NEWLY ADDED
******************/
@media screen and (max-width: 374px) and (min-width: 319px) 
{
    div#calendar
    {
        width: 100%;
    }
    div#calendar div.header
    {
        line-height: 40px;
        width: 100%;
        height: 40px;
        left: 0px;
    }
    div#calendar div.box
    {
        width: 100%;
        height: 40px;
    }
    div#calendar ul.label li
    {
        width: 30.5px;
        height: 40px;
        line-height: 40px;
        font-size: 12px;
    }

    div#calendar ul.dates li
    {
        line-height: 30.5px;
        width: 30.5px;
        height: 30.5px;
        font-size: 15px;
    }
}

@media screen and (max-width: 424px) and (min-width: 375px) 
{
    div#calendar
    {
        width: 100%;
    }
    div#calendar div.header
    {
        line-height: 40px;
        width: 100%;
        height: 40px;
        left: 0px;
    }
    div#calendar div.box
    {
        width: 100%;
        height: 40px;
    }
    div#calendar ul.label li
    {
        width: 36.5px;
        height: 40px;
        line-height: 40px;
        font-size: 15px;
    }

    div#calendar ul.dates li
    {
        line-height: 36.5px;
        width: 36.5px;
        height: 36.5px;
        font-size: 15px;
    }
}

@media screen and (max-width: 767px) and (min-width: 425px) 
{
    div#calendar
    {
        width: 100%;
    }
    div#calendar div.header
    {
        line-height: 40px;
        width: 100%;
        height: 40px;
        left: 0px;
    }
    div#calendar div.box
    {
        width: 100%;
        height: 40px;
    }
    div#calendar ul.label li
    {
        width: 36.5px;
        height: 42.5px;
        line-height: 42.5px;
        font-size: 15px;
    }

    div#calendar ul.dates li
    {
        line-height: 42.5px;
        width: 42.5px;
        height: 42.5px;
        font-size: 15px;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px) 
{
    div#calendar
    {
        width: 100%;
    }
    div#calendar div.header
    {
        line-height: 40px;
        width: 100%;
        height: 40px;
        left: 0px;
    }
    div#calendar div.box
    {
        width: 100%;
        height: 40px;
    }
    div#calendar ul.label li
    {
        width: 81.7px;
        height: 42.5px;
        line-height: 42.5px;
        font-size: 18px;
    }

    div#calendar ul.dates li
    {
        line-height: 81.7px;
        width: 81.7px;
        height: 81.7px;
        font-size: 25px;
    }
}
.delete{
    width: 16px;
    height: 16px;
    background-image: url("../images/delete.png");
    background-repeat: no-repeat;
    background-position: center; 
    display: inline-block;
    margin: 5px;
    cursor: pointer;
}
.edit{
    width: 16px;
    height: 16px;
    background-image: url("../images/edit.png");
    background-repeat: no-repeat;
    background-position: center; 
    display: inline-block;
    margin: 5px;
    cursor: pointer;
}
.marginBtn50{
    margin-bottom: 50px; 
}
#job-schedule-menu .hide_menu{
    display: none;
}
.str_qty, .est_qty{
    width: 80px;
    padding: 3px!important;
}
.str_price, .est_price{
    width: 70px;
    padding: 3px!important;
}
.str_select{
    width: 100%;
    padding: 3px!important;
}
.est_select{
    width: 100%;
    padding: 3px!important;
}
.blue-bg{
    padding: 10px;
    background-color: #1e73be;
    color: white;
}
.blue-bg a{
    color: white;
}
.margin-btm{
    margin-bottom: 20px;
}
.small_calculation{
    font-size: 10px;
}

.form-gl-box{
    width: 100%;
    float: left;
}
.form-gl-box-40{
    width: 40%!important;
    float: left;
}
.form-gl-box-60{
    width: 60%!important;
    float: left;
}
.im_field img{
    max-width: 100px;
}

.image-question{
    width: 100%;
    display:inline-block;
    margin: 10px 0px;
}
.image-question .image-question-option{
   display:inline-block;
   margin-right: 20px;
}
.image-question .image-question-image{
    display:inline-block;
}
.image-question .image-question-image img{
   max-width: 100px;
}
.red-error{
    border: 1px solid red!important;
}
.question-option{
    width: 100%;
    float:left;
}
.number_cell{
    text-align: right;
}
.payment_success p {
    padding: 10px 15px;
    margin: 0px !important;
    color: green;
    background-color: yellow;
}
.payment_fail p {
    padding: 10px 15px;
    margin: 0px !important;
    color: red;
    background-color: yellow;
}
.dashboard_load{
    text-align: center;
}
.trans_error{
    border: 1px solid red!important;
}

.float-right{
    float: right;
}
.cal_rounding_btn{
    padding: 2px 10px!important;
    clear: both;
    font-size: 10px;
}
.top_heading{
    font-weight: bold;
    cursor: pointer;
}
.top_salestext{
    display: none;
}
.twilio_browser .job-details-col{
    width: 48%!important;
    padding: 0% 1% 0% 1%!important;
}
.sales_scripts .top_heading, .sales_scripts .top_salestext{
    font-size: 10px;
}
.twilio_browser .sales_scripts{
    height: 800px;
    overflow: scroll;
}
.generate_display_box{
    width: 100%;
    float: left;
    max-height: 400px;
    overflow: scroll;
}
.est_subtotal{
    text-align: right;
}
.est_subtotal_price{
    text-align: left;
    
}

.marign-rigth-10{
    margin-right: 10px;
}

#job-schedule-settings .form-section label{
    font-weight: 600;
    color: var(--sq-text);
}

.invoice_type_box{
    display: none;
}
#job-variations-table .variations_textarea{
    width: 100%;
    height: 55px!important;
}
#job-variations-table .variations_input{
    width: 100%;
}
.ed_button{
    width: auto!important;
}
table.template_preview,.template_preview td,.template_preview th{
    border-width: 0px!important;
    margin: 0px!important;
    padding: 2px 3px!important;
}
table.template_preview p{
     padding: 0px!important;
     margin: 0px!important;
}
.save_contract_box{
    margin: 5px;
}
.template_preview td{
    vertical-align: bottom!important;
}
.template_preview td.td-top {
    vertical-align: top !important;
}

.error_contract_box{
    border: 2px solid var(--sq-error)!important;
}

.td_right{
    text-align: right!important;
}
.red_col{
    color: var(--sq-error)!important;
}
.audit_selected{
    color: rgb(0, 4, 255) !important
}
.nomargin{
    margin: 0px!important;
}
.error_contract_checkbox_box{
    outline: 2px solid var(--sq-error);
}
.job_progress_table{
    min-width: 350px!important;
}
.hide_payment_table{
    display: none;
}

#pl_progress_table_template_html{
    width: 600px!important;
}
.contract_days_box{
    width: 60px!important;
}

.order_content_qty{
    width: 80px;
}
.order_content_unit_price{
    width: 80px;
}

.order_content_price{
    width: 100px;
}
.order_content_total_price{
    width: 100px;
}
.op_total{
    text-align: right;
}
.purchase_order_button input[type=button] ,.quote_button input[type=button]{
    margin: 5px;
}
.order_content_attribute_value{
    width: 100%!important;
}
.small_calculation_box{
    width: 80px!important;
}
.flex-container {
    display: flex;
    float: left;
}
.flex-box{
    margin: 0px 10px 0px 0px;
    padding: 20px;
    border: 1px solid black;
    display: inline-block;
}
.flex-content{
    float: left;
    width: 100%;
}
.trans_text{
    padding: 5px!important;
    width: 110px;
}
.trans_sel{
    padding: 5px!important;
    width: 110px;
}
.trans_hide_del{
    display: none;
}

/* ==========================================================================
   MOBILE RESPONSIVE STYLES - Job Schedule Plugin
   Compatible with Speedy Theme
   ========================================================================== */

/* ============ TABLET LANDSCAPE (1024px and below) ============ */
@media screen and (max-width: 1024px) {
    /* Tables - enable horizontal scroll */
    .job-schedule-table-box {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    #job-schedule-table {
        min-width: 800px;
    }
    
    /* Form sections */
    .job-schedule-content-boxes .form-section {
        width: 100%;
        padding: 1rem;
    }
    
    /* Dashboard boxes */
    .dash-job-box {
        width: 100% !important;
        margin: 10px 0 !important;
    }
    
    /* Reduce font sizes slightly */
    .job_bold_uppper {
        font-size: 16px;
    }
}

/* ============ TABLET PORTRAIT (768px and below) ============ */
@media screen and (max-width: 768px) {
    /* Main layout - hide sidebar, full width content */
    #job-schedule-menu {
        position: fixed;
        left: -250px;
        top: 0;
        height: 100vh;
        width: 250px !important;
        z-index: 99999;
        transition: left 0.3s ease;
        overflow-y: auto;
        display: block !important;
    }
    
    #job-schedule-menu.mobile-menu-open {
        left: 0;
    }
    
    #job-schedule-wpcontent {
        margin-left: 0 !important;
        padding: 10px !important;
        width: 100%;
    }
    
    /* Mobile hamburger menu button */
    #jobh-menu {
        display: block !important;
        position: fixed;
        top: 10px;
        left: 10px;
        z-index: 99998;
        background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
        padding: 0.625rem 1rem;
        border-radius: 6px;
        cursor: pointer;
    }
    
    #jobh-menu .ham-icon {
        display: block;
        width: 25px;
        height: 3px;
        background: #fff;
        position: relative;
    }
    
    #jobh-menu .ham-icon::before,
    #jobh-menu .ham-icon::after {
        content: '';
        position: absolute;
        width: 25px;
        height: 3px;
        background: #fff;
        left: 0;
    }
    
    #jobh-menu .ham-icon::before {
        top: -8px;
    }
    
    #jobh-menu .ham-icon::after {
        top: 8px;
    }
    
    /* Mobile menu overlay */
    .mobile-menu-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 99990;
    }
    
    .mobile-menu-overlay.active {
        display: block;
    }
    
    /* Page titles */
    .job-schedule-page h1 {
        font-size: 20px;
        padding-top: 50px; /* Space for hamburger menu */
    }
    
    .job-schedule-page h2 {
        font-size: 18px;
    }
    
    .job-schedule-page h3 {
        font-size: 16px;
    }
    
    /* Tables - stack on mobile */
    #job-schedule-table,
    .job-schedule-table {
        display: block;
        width: 100%;
    }
    
    #job-schedule-table thead {
        display: none;
    }
    
    #job-schedule-table tbody,
    #job-schedule-table tr {
        display: block;
        width: 100%;
    }
    
    #job-schedule-table td {
        display: block;
        width: 100%;
        text-align: left;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid var(--sq-border);
        position: relative;
    }
    
    #job-schedule-table td::before {
        content: attr(data-label);
        font-weight: 600;
        display: block;
        margin-bottom: 0.25rem;
        color: var(--sq-secondary);
        font-size: 0.75rem;
        text-transform: uppercase;
    }
    
    #job-schedule-table tr {
        margin-bottom: 1rem;
        border: 1px solid var(--sq-border);
        border-radius: var(--sq-radius-sm);
        background: var(--sq-bg);
        box-shadow: var(--sq-shadow);
    }
    
    /* Form inputs - full width */
    .job-schedule-content-boxes input[type="text"],
    .job-schedule-content-boxes input[type="email"],
    .job-schedule-content-boxes input[type="password"],
    .job-schedule-content-boxes input[type="number"],
    .job-schedule-content-boxes input[type="tel"],
    .job-schedule-content-boxes input[type="date"],
    .job-schedule-content-boxes select,
    .job-schedule-content-boxes textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        font-size: 16px; /* Prevents zoom on iOS */
        padding: 0.75rem 1rem;
        border: 2px solid var(--sq-border);
        border-radius: var(--sq-radius-sm);
    }
    
    /* Buttons - full width on mobile */
    .job-schedule-content-boxes input[type="submit"],
    .job-schedule-content-boxes input[type="button"],
    .job-schedule-content-boxes button,
    .job-schedule-dash-button {
        width: 100%;
        padding: 0.875rem 1.25rem;
        font-size: 1rem;
        margin: 0.5rem 0;
        border-radius: 6px;
    }
    
    /* Flex containers - stack vertically */
    .flex-container {
        flex-direction: column !important;
    }
    
    .flex-box {
        width: 100% !important;
        margin: 10px 0 !important;
    }
    
    /* Dashboard notes */
    .dash-notes-box {
        width: 100% !important;
        margin: 10px 0 !important;
    }
    
    /* Navigation tabs - scrollable */
    .nav-tab-wrapper {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 5px;
    }
    
    .nav-tab {
        padding: 10px 15px;
        font-size: 13px;
    }
    
    /* Job details boxes */
    .job-details-box {
        padding: 10px;
    }
    
    .job-details-col {
        width: 100% !important;
        float: none !important;
        margin-bottom: 15px;
    }
    
    /* Estimate/Quote tables */
    .estimate-table-box,
    .quote-table-box {
        overflow-x: auto;
    }
    
    /* Signature box */
    .signature-box {
        width: 100% !important;
        max-width: 300px;
    }
    
    /* Login page */
    .job-schedule-login {
        padding: 10px;
    }
    
    .job-schedule-project-box {
        width: 100% !important;
        margin: 10px 0 !important;
    }
    
    /* PDF viewer */
    .pdf_viewer_content {
        width: 100%;
    }
    
    /* Transaction inputs */
    .trans_text,
    .trans_sel {
        width: 100% !important;
    }
    
    /* Purchase order fields */
    .order_content_qty,
    .order_content_unit_price,
    .order_content_price,
    .order_content_total_price {
        width: 100% !important;
    }
    
    /* Structure/Estimate quantity fields */
    .str_qty,
    .est_qty,
    .str_price,
    .est_price,
    .str_select,
    .est_select {
        width: 100% !important;
    }
    
    /* Time tracking footer bar */
    #sspt-time-footer-bar {
        left: 0 !important;
    }
    
    /* Menu toggle button */
    #sspt-menu-toggle {
        display: none !important;
    }
}

/* ============ MOBILE PHONES (480px and below) ============ */
@media screen and (max-width: 480px) {
    /* Even smaller text */
    .job-schedule-page h1 {
        font-size: 18px;
    }
    
    .job-schedule-page h2 {
        font-size: 16px;
    }
    
    body {
        font-size: 14px;
    }
    
    /* Tighter padding */
    #job-schedule-wpcontent {
        padding: 5px !important;
    }
    
    .job-schedule-content-boxes {
        padding: 5px;
    }
    
    /* Stack form labels */
    .job-schedule-content-boxes .form-section label {
        display: block;
        margin-bottom: 5px;
    }
    
    /* Smaller buttons */
    .job-schedule-content-boxes input[type="submit"],
    .job-schedule-content-boxes input[type="button"] {
        padding: 12px 15px;
        font-size: 14px;
    }
    
    /* Job boxes */
    .job-details-table-box {
        padding: 5px;
    }
    
    /* Menu items */
    #job-schedule-menu #navlist li a {
        font-size: 13px;
        padding: 12px 10px;
    }
    
    /* Time tracking widget compact */
    .sspt-footer-compact {
        padding: 6px 10px;
        gap: 5px;
    }
    
    .sspt-footer-time {
        font-size: 14px;
    }
    
    .sspt-footer-label {
        display: none;
    }
}

/* ============ SMALL PHONES (320px and below) ============ */
@media screen and (max-width: 320px) {
    .job-schedule-page h1 {
        font-size: 16px;
    }
    
    #jobh-menu {
        padding: 8px 12px;
    }
    
    .nav-tab {
        padding: 8px 10px;
        font-size: 12px;
    }
}

/* ============ TOUCH DEVICE IMPROVEMENTS ============ */
@media (hover: none) and (pointer: coarse) {
    /* Larger touch targets */
    #job-schedule-menu #navlist li {
        min-height: 44px;
    }
    
    #job-schedule-menu #navlist li a {
        padding: 12px 10px;
    }
    
    input[type="checkbox"],
    input[type="radio"] {
        min-width: 20px;
        min-height: 20px;
    }
    
    /* Prevent double-tap zoom */
    button,
    input[type="submit"],
    input[type="button"],
    a {
        touch-action: manipulation;
    }
}

/* ============ LANDSCAPE ORIENTATION ============ */
@media screen and (max-height: 500px) and (orientation: landscape) {
    #job-schedule-menu {
        height: 100vh;
        overflow-y: auto;
    }
    
    .job-schedule-page h1 {
        padding-top: 10px;
    }
}

/* ============ PRINT STYLES ============ */
@media print {
    #job-schedule-menu,
    #jobh-menu,
    #sspt-menu-toggle,
    #sspt-time-footer-bar,
    .mobile-menu-overlay {
        display: none !important;
    }
    
    #job-schedule-wpcontent {
        margin-left: 0 !important;
        padding: 0 !important;
    }
}

/* ============ LOADING INDICATOR STYLES ============ */
@keyframes sspt-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.sspt-loading-indicator {
    text-align: center;
    padding: 40px 20px;
}

.sspt-loading-indicator .sspt-spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: sspt-spin 1s linear infinite;
}

.sspt-loading-indicator p {
    margin-top: 15px;
    color: #666;
    font-size: 14px;
}

/* ============ JOB LIST CLICKABLE LINKS WITH TOOLTIPS ============ */
.job-address-link,
.job-status-link {
    color: #0073aa;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition: color 0.2s ease;
}

.job-address-link:hover,
.job-status-link:hover {
    color: #005177;
    text-decoration: underline;
}

/* Enhanced tooltip styling using title attribute */
.job-address-link[title],
.job-status-link[title] {
    position: relative;
}

.job-address-link::after,
.job-status-link::after {
    content: attr(title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 1000;
    pointer-events: none;
    margin-bottom: 5px;
}

.job-address-link::before,
.job-status-link::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #333;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 1000;
    margin-bottom: 0;
}

.job-address-link:hover::after,
.job-address-link:hover::before,
.job-status-link:hover::after,
.job-status-link:hover::before {
    opacity: 1;
    visibility: visible;
}

/* Hide default title tooltip */
.job-address-link:hover[title],
.job-status-link:hover[title] {
    /* The title attribute provides fallback for accessibility */
}