:root{--decor-primary:#1a56a0;--decor-accent:#e8a020}.navbar-vertical{box-shadow:none!important;background:linear-gradient(#0a1432fa 0%,#082d37f5 100%)!important;border-right:1px solid #1d9e754d!important}.navbar-vertical .navbar-brand,.navbar-vertical .navbar-brand-autodark{color:#e2f5ef!important;font-weight:500!important}.navbar-brand-image{filter:brightness(10)!important}.navbar-vertical .nav-link{transition:background .15s,color .15s;color:#b4dcd2a6!important;border-radius:6px!important;margin:1px 8px!important}.navbar-vertical .nav-link .nav-link-icon,.navbar-vertical .nav-link .nav-link-icon i,.navbar-vertical .nav-link svg{color:#b4dcd2a6!important}.navbar-vertical .nav-link:hover{color:#9fe1cb!important;background:#1d9e751f!important}.navbar-vertical .nav-link:hover .nav-link-icon,.navbar-vertical .nav-link:hover .nav-link-icon i{color:#9fe1cb!important}.navbar-vertical .nav-link.active,.navbar-vertical .nav-item.active .nav-link{color:#5dcaa5!important;background:#1d9e7533!important;border:1px solid #1d9e7559!important;border-radius:6px!important}.navbar-vertical .nav-link.active .nav-link-icon,.navbar-vertical .nav-link.active .nav-link-icon i,.navbar-vertical .nav-link.active svg{color:#5dcaa5!important}.nav-section-header{letter-spacing:.08em;text-transform:uppercase;color:#5dcaa559;margin-top:4px;padding:8px 16px 3px;font-size:9px;font-weight:600}.navbar-vertical hr,.navbar-vertical .navbar-divider{background-color:#1d9e7533!important;border-color:#1d9e7533!important}.navbar-vertical .avatar{color:#5dcaa5!important;background:#1d9e7540!important;border:1px solid #1d9e7566!important}.navbar-vertical .mt-auto{background:#1d9e751a!important;border-top:1px solid #1d9e7533!important}.navbar-vertical .mt-auto #user-name-sidebar{color:#e2f5ef!important}.navbar-vertical .mt-auto .text-white-50{color:#b4dcd280!important}.btn-primary{background-color:var(--decor-primary);border-color:var(--decor-primary)}.btn-primary:hover,.btn-primary:focus{background-color:#154a87;border-color:#154a87}a{color:var(--decor-primary)}.dashboard-tabs{gap:8px;display:flex}.dashboard-tab{cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.dashboard-tabs .dashboard-tab i.ti{vertical-align:middle;margin-right:5px;font-size:16px;line-height:1;display:inline!important}.dashboard-tab--paint{color:var(--decor-primary);border-color:var(--decor-primary);background:#fff}.dashboard-tab--paint:hover{color:var(--decor-primary);background:#eef3fb}.dashboard-tab--paint.active{color:#fff;background:#1e293b;border-color:#1e293b;box-shadow:0 2px 8px #1e293b4d}.dashboard-tab--paint.active:after{content:"";background:#1e293b;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:-3px;left:12px;right:12px}.dashboard-tab--mould{color:#085041;background:#fff;border-width:1.5px;border-color:#5dcaa5}.dashboard-tab--mould:hover{color:#085041;background:#e1f5ee}.dashboard-tab--mould.active{color:#fff;background:#1e293b;border-color:#1e293b;box-shadow:0 2px 8px #1e293b4d}.dashboard-tab--mould.active:after{content:"";background:#1e293b;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:-3px;left:12px;right:12px}.dashboard-tab--cleans{color:#6c757d;background:#fff;border-width:1.5px;border-color:#adb5bd}.dashboard-tab--cleans:hover{color:#495057;background:#f8f9fa}.dashboard-tab--cleans.active{color:#fff;background:#1e293b;border-color:#1e293b;box-shadow:0 2px 8px #1e293b4d}.dashboard-tab--cleans.active:after{content:"";background:#1e293b;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:-3px;left:12px;right:12px}.ops-metric{background:#fff;border:1px solid #e6e7e9;border-radius:6px;flex:1;min-width:100px;padding:10px 16px}.ops-metric.ops-metric--amber{border-left:2px solid #fac775}.ops-metric.ops-metric--red{border-left:2px solid #f7c1c1}.ops-metric-label{color:#6c757d;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:500}.ops-metric-value{color:#1e293b;font-size:22px;font-weight:700;line-height:1.2}.ops-metric-value--amber{color:#ba7517}.ops-metric-value--red{color:#a32d2d}.ops-metric-sublabel{color:#9ca3af;white-space:nowrap;font-size:10px}.workload-pill{color:#1e293b;white-space:nowrap;background:#f8fafc;border:1px solid #dee2e6;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.workload-pill--green{color:#085041;background:#e1f5ee;border-width:.5px;border-color:#9fe1cb}tr.cursor-pointer{cursor:pointer}tr.cursor-pointer:hover td{background-color:#00000008}.text-pre-wrap{white-space:pre-wrap}.mv-btn-appt,.mv-btn-complete,.mv-btn-failed{white-space:nowrap}.stat-card-clickable{cursor:pointer;transition:background-color .15s,box-shadow .15s}.stat-card-clickable:hover{background-color:#f1f5f9!important;box-shadow:0 2px 8px #00000014!important}.stat-card-clickable .stat-arrow{opacity:.35;font-size:13px;transition:opacity .15s,transform .15s}.stat-card-clickable:hover .stat-arrow{opacity:.7;transform:translate(2px)}.swimlane-header{cursor:pointer;-webkit-user-select:none;user-select:none}.swimlane-header-cell{background-color:#f8fafc}.swimlane-header:hover .swimlane-header-cell{background-color:#f1f5f9!important}.swimlane-chevron{font-size:14px;transition:transform .15s}.swimlane-chevron-cell{border-bottom:none!important;padding:3px 0!important}.swimlane-chevron-pill{cursor:pointer;-webkit-user-select:none;user-select:none;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);align-items:center;gap:8px;height:36px;padding:0 28px 0 16px;transition:filter .12s;display:flex}.swimlane-chevron-pill:hover{filter:brightness(1.1)}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.mq-inline-table .mq-inline-input{text-align:center;-moz-appearance:textfield;background:0 0;border:1px solid #0000;border-radius:3px;width:100%;min-width:36px;padding:4px 2px;font-size:.8rem;display:block}.mq-inline-table .mq-inline-input::-webkit-outer-spin-button{-webkit-appearance:none}.mq-inline-table .mq-inline-input::-webkit-inner-spin-button{-webkit-appearance:none}.mq-inline-table .mq-inline-input:hover{background:#ffffffb3;border-color:#ced4da}.mq-inline-table .mq-inline-input:focus{background:#fff;border-color:#206bc4;outline:none;box-shadow:0 0 0 2px #206bc42e}.mq-row-empty td{opacity:.6}.mq-save-indicator{align-items:center;min-width:14px;height:14px;display:inline-flex}.jd-stepper{padding:0 4px}.jd-stepper-inner{align-items:flex-start;display:flex}.jd-step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.jd-step-line{background:var(--step-line-color,#dee2e6);width:100%;height:2px;position:absolute;top:16px;left:50%}.jd-step-circle{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex;position:relative}.jd-step-label{text-align:center;margin-top:6px;font-size:11px;line-height:1.3}.jd-step--completed .jd-step-circle{background:var(--step-color);color:#fff}.jd-step--current .jd-step-circle{color:var(--step-color);border:2.5px solid var(--step-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--step-color) 22%, transparent);background:#fff}.jd-step--future .jd-step-circle{color:#adb5bd;opacity:.45;background:#f1f3f5}.jd-step--future .jd-step-label{opacity:.45}.jd-form-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=767px){.jd-form-grid{grid-template-columns:1fr}}.jd-section{margin-bottom:1.5rem}.jd-section:last-child{margin-bottom:0}.jd-section-heading{letter-spacing:.06em;text-transform:uppercase;color:#1d9e75;border-bottom:2px solid #1d9e75;margin-bottom:1rem;padding-bottom:.35rem;font-size:11px;font-weight:700}.jd-field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.jd-variant-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem;display:grid}.jd-read-label{color:#6c757d;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem}.jd-read-value{font-size:.9rem}.jd-client-ref-input{background-color:#f8f9fa;font-weight:600}.jd-target-alert{color:#495057;background:#f8f9fa;border-left:3px solid #adb5bd;border-radius:4px;padding:.55rem .85rem;font-size:.875rem}.jd-target-alert--overdue{color:#d63939;background:#fcebeb;border-left-color:#d63939}.jd-target-alert--approaching{color:#7d4e00;background:#fff3cd;border-left-color:#f76707}.jd-timeline{padding-left:2rem;position:relative}.jd-timeline:before{content:"";background:var(--tblr-border-color,#dee2e6);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:6px}.jd-tl-item{margin-bottom:.75rem;position:relative}.jd-tl-item:last-child{margin-bottom:0}.jd-tl-dot{width:14px;height:14px;box-shadow:0 0 0 1px var(--tblr-border-color,#dee2e6);border:2px solid #fff;border-radius:50%;position:absolute;top:.6rem;left:-2rem}.jd-tl-dot--green{background:#2fb344;box-shadow:0 0 0 1px #2fb344}.jd-tl-dot--red{background:#d63939;box-shadow:0 0 0 1px #d63939}.jd-tl-dot--blue{background:#206bc4;box-shadow:0 0 0 1px #206bc4}.jd-tl-card{border:1px solid var(--tblr-border-color,#dee2e6);background:#fff;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.jd-tl-card--failed{background:#fcebeb;border-color:#f5c2c7}.rpt-sidebar-item:hover{background:#f8f9fa}.rpt-sidebar-active{background:#eef2ff!important;border-left:3px solid #3c3489!important}@media (width<=576px){.navbar-vertical{display:none}.page-wrapper{margin-left:0!important}.stat-cards .col{flex:0 0 50%;max-width:50%}.table-responsive{font-size:.85rem}}.mob-view{flex-direction:column;min-height:calc(100vh - 120px);display:flex;position:relative}.mob-offline-banner{color:#fff;text-align:center;z-index:100;background:#dc3545;padding:.5rem 1rem;font-size:.875rem;font-weight:500;position:sticky;top:0}.mob-tab-content{flex:1;padding:0 0 80px;overflow-y:auto}.mob-section-header{color:#495057;z-index:10;background:#f8f9fa;border-bottom:1px solid #dee2e6;align-items:center;padding:.75rem 1rem .5rem;font-size:.95rem;font-weight:600;display:flex;position:sticky;top:0}.mob-job-list{flex-direction:column;gap:.75rem;padding:.75rem .75rem 1rem;display:flex}.mob-job-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:.875rem 1rem;box-shadow:0 1px 3px #0000000f}.mob-job-card--done{opacity:.8;background:#f8f9fa}.mob-job-ref{color:#206bc4;margin-bottom:.2rem;font-size:1rem;font-weight:700}.mob-job-address{color:#495057;margin-bottom:.35rem;font-size:.875rem}.mob-job-status{margin-bottom:.35rem}.mob-card-actions{border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:.4rem;margin-top:.75rem;padding-top:.75rem;display:flex}.mob-card-actions .btn{flex:calc(50% - .4rem);min-width:100px;font-size:.8rem}.mob-day-group{border-bottom:1px solid #dee2e6}.mob-day-header{color:#343a40;cursor:pointer;text-align:left;background:#f8f9fa;border:none;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.mob-day-header:hover{background:#e9ecef}.mob-day-header--today{color:#1a56db;background:#e8f0fe}.mob-day-header--today:hover{background:#d6e4fd}.mob-chevron{margin-left:auto;font-size:1rem;transition:transform .2s}.mob-day-jobs{flex-direction:column;gap:.6rem;padding:.5rem .75rem .75rem;display:flex}.mob-profile{max-width:480px;margin:0 auto;padding:1.5rem 1rem}.mob-tab-bar{z-index:200;background:#fff;border-top:1px solid #dee2e6;align-items:stretch;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000014}.mob-tab-btn{color:#6c757d;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:.5rem .25rem;font-size:.7rem;font-weight:500;transition:color .15s;display:flex}.mob-tab-btn i{font-size:1.35rem}.mob-tab-btn.active{color:#206bc4}.mob-tab-btn:hover:not(.active){color:#495057}.mob-toast-container{z-index:300;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:72px;left:1rem;right:1rem}.mob-toast-container .toast{pointer-events:all;border-radius:8px}
