.tjc-dashboard-page{max-width:1450px;margin:18px auto;padding:0 14px;font-family:Inter,Arial,sans-serif;color:#24324a}
.tjc-topbar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#243552 0%,#2d4265 100%);border-radius:18px;padding:16px 18px;margin-bottom:14px;box-shadow:0 10px 24px rgba(15,23,42,.12)}
.tjc-brand{font-size:22px;font-weight:900;color:#fff}
.tjc-topbar-actions{display:flex;gap:10px}.tjc-icon-btn{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:18px;font-weight:700}
.tjc-panel{background:#fff;border:1px solid #d8e2ee;border-radius:16px;padding:10px;box-shadow:0 6px 14px rgba(15,23,42,.035);margin-bottom:10px}
.tjc-nav-panel{padding:10px 12px}
.tjc-panel-tabs,.tjc-scheduler-tabs{display:flex;gap:10px;flex-wrap:wrap}
.tjc-tab{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:10px;background:#dbe6f2;color:#102a43;text-decoration:none;font-size:12px;font-weight:800;border:1px solid #ccd9e7}
.tjc-tab-active{background:#243552;color:#fff;border-color:#243552}
.tjc-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.tjc-kpi-card{border-radius:18px;padding:18px 16px;color:#fff;min-height:124px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.tjc-kpi-blue{background:linear-gradient(135deg,#2f6fdd 0%,#3561be 100%)}.tjc-kpi-orange{background:linear-gradient(135deg,#f39a46 0%,#eb853b 100%)}.tjc-kpi-red{background:linear-gradient(135deg,#e05b61 0%,#d94b59 100%)}.tjc-kpi-purple{background:linear-gradient(135deg,#6a6ad8 0%,#4f54b9 100%)}
.tjc-kpi-title{font-size:14px;font-weight:700;margin-bottom:10px}.tjc-kpi-main{font-size:42px;line-height:1;font-weight:800}.tjc-kpi-main span{font-size:24px;font-weight:700}.tjc-kpi-sub{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-top:8px}.tjc-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden;margin-top:10px}.tjc-progress span{display:block;height:100%;background:#fff;border-radius:999px}
.tjc-section-title{font-size:26px;line-height:1.15;font-weight:900;color:#23395d;margin:0 0 12px}
.tjc-queue-header .tjc-section-title,.tjc-performance-panel .tjc-section-title,.tjc-side-stack .tjc-section-title,.tjc-panel .tjc-section-title{font-size:19px;font-weight:800}
.tjc-team-progress-row{display:grid;grid-template-columns:180px 1fr 60px;gap:12px;align-items:center;margin-bottom:10px}.tjc-team-progress-name{font-size:14px;font-weight:800;color:#1e3551}.tjc-team-progress-bar,.tjc-analytics-track{height:10px;border-radius:999px;background:#dde5ef;overflow:hidden}.tjc-team-progress-bar span,.tjc-analytics-track span{display:block;height:100%;border-radius:999px}.tjc-team-progress-count,.tjc-analytics-value{font-size:13px;font-weight:800;color:#1e3551;text-align:right}.tjc-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;background:#eef2ff;color:#4254c5;font-size:12px;font-weight:800}
.tjc-bar-blue{background:#3b82f6}.tjc-bar-green{background:#65a30d}.tjc-bar-orange{background:#f59e0b}.tjc-bar-red{background:#ef4444}.tjc-bar-purple{background:#8b5cf6}
.tjc-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) 260px;gap:14px;align-items:start}
.tjc-dashboard-job-list{display:flex;flex-direction:column;gap:12px;min-height:120px}
.tjc-queue-card,.tjc-scheduler-job{background:#fff;border:1px solid #d7e2ee;border-radius:16px;padding:14px;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.tjc-queue-card[draggable="true"],.tjc-scheduler-job[draggable="true"]{cursor:grab}
.tjc-queue-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.tjc-queue-card-title,.tjc-scheduler-job-title{font-size:18px;font-weight:800;color:#0f2440}.tjc-queue-card-sub,.tjc-queue-card-address,.tjc-scheduler-job-meta,.tjc-cell-sub,.tjc-queue-subtitle{font-size:13px;line-height:1.45;color:#516882}
.tjc-inline-assign-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.tjc-inline-assign-grid select,.tjc-inline-assign-grid input,.tjc-search-input,.tjc-assign-form-inline select,.tjc-assign-form-inline input{width:100%;min-height:38px;border:1px solid #cfd9e6;border-radius:10px;padding:0 10px;background:#fff;color:#10233c;font-size:14px;box-sizing:border-box}
.tjc-inline-actions,.tjc-row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.tjc-row-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.tjc-inline-feedback{font-size:12px;font-weight:700;color:#365077;margin-top:8px;display:none}.tjc-inline-feedback.show{display:block}.tjc-inline-feedback.error{color:#b91c1c}.tjc-inline-feedback.success{color:#166534}
.tjc-scheduler-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.tjc-scheduler-spotlight{padding:8px;border-radius:20px;border:1px solid #dbe7f5;background:linear-gradient(180deg,#ffffff 0%,#f6faff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.tjc-scheduler-columns{display:grid;gap:10px;align-items:start}.tjc-scheduler-columns.is-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.tjc-scheduler-columns.is-three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.tjc-scheduler-columns.is-four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.tjc-scheduler-column{background:#fff;border:1px solid #d7e2ee;border-radius:18px;overflow:hidden;min-height:210px;box-shadow:0 8px 18px rgba(15,23,42,.05)}.tjc-scheduler-column-head{padding:12px 12px 10px;border-bottom:1px solid rgba(255,255,255,.45)}.tjc-scheduler-column-title,.tjc-week-team-title,.tjc-week-day-title{font-size:14px;font-weight:900;color:#fff;margin:0;text-align:center;letter-spacing:-.02em}.tjc-scheduler-column-body{padding:10px}.tjc-team-accent-blue .tjc-scheduler-column-head{background:linear-gradient(135deg,#6fa0ff 0%,#4f84e4 100%)}.tjc-team-accent-green .tjc-scheduler-column-head{background:linear-gradient(135deg,#9ac96c 0%,#7fb04a 100%)}.tjc-team-accent-orange .tjc-scheduler-column-head{background:linear-gradient(135deg,#ffb34f 0%,#f39a36 100%)}.tjc-team-accent-purple .tjc-scheduler-column-head{background:linear-gradient(135deg,#9f88ff 0%,#7b66df 100%)}.tjc-job-list{display:flex;flex-direction:column;gap:8px;min-height:110px}.tjc-dropzone{border:2px dashed #c8d8eb;border-radius:14px;padding:17px 15px;text-align:left;color:#5a7090;background:#fbfdff;font-size:13px;font-weight:700;min-height:96px;display:flex;align-items:flex-start;justify-content:flex-start}.tjc-dropzone-note{display:none}.tjc-drop-active{border-color:#2f6fdd !important;background:#eef5ff !important}.tjc-unscheduled-drop-active{outline:2px dashed #2f6fdd;outline-offset:4px}.tjc-scheduler-job{padding:12px;border-radius:14px;border:1px solid #d9e4ef;box-shadow:0 5px 14px rgba(15,23,42,.05)}.tjc-scheduler-job-title{font-size:14px;font-weight:800;color:#132a46;margin-bottom:2px}.tjc-scheduler-job-meta{font-size:11px;line-height:1.35;color:#5a6f89}.tjc-job-action{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:7px 10px;border-radius:10px;background:#eef2ff;color:#3652c9;text-decoration:none;font-size:10px;font-weight:800}.tjc-scheduler-job.tjc-dragging{opacity:.45}.tjc-job-list.is-drop-target{background:#eef5ff;border-radius:12px;box-shadow:inset 0 0 0 2px #bfd5ff}.tjc-drop-marker{height:8px;border-radius:999px;background:#4f84e4;opacity:0;margin:0;transition:opacity .12s ease}.tjc-drop-marker.is-visible{opacity:1}.tjc-side-stack{display:flex;flex-direction:column;gap:14px}.tjc-stat-row,.tjc-analytics-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e7edf4}.tjc-analytics-row{grid-template-columns:120px 1fr 34px}.tjc-stat-row:last-child,.tjc-analytics-row:last-child{border-bottom:none}.tjc-analytics-label{font-size:13px;font-weight:700;color:#1e3551}
.tjc-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:12px;text-decoration:none;font-weight:800;border:none;cursor:pointer}.tjc-button-primary,.tjc-link-btn-primary{background:#2f6fdd;color:#fff}.tjc-button-secondary{background:#5ea04b;color:#fff}.tjc-bottom-actions{display:flex;gap:12px;margin-top:14px}
.tjc-link-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:10px;background:#eef2ff;color:#3652c9;text-decoration:none;font-size:12px;font-weight:800;border:none;cursor:pointer}.tjc-link-btn-danger{background:#fee2e2;color:#b91c1c}
.tjc-queue-panel{padding:12px}.tjc-table-wrap{overflow:auto}.tjc-office-table{width:100%;border-collapse:separate;border-spacing:0;min-width:700px;font-size:13px}.tjc-office-table th{background:#f6f9fc;color:#475569;font-size:10px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:9px 12px;border-bottom:1px solid #dbe5ef;font-weight:800}.tjc-office-table td{padding:10px 12px;border-bottom:1px solid #e7edf4;vertical-align:middle;color:#0f172a;font-size:13px;font-weight:500;line-height:1.25}.tjc-office-table-compact tbody tr:nth-child(even){background:#f7fbff}.tjc-office-table-compact tbody tr:nth-child(odd){background:#fff}.tjc-office-table tbody tr:hover{background:#eef6ff}.tjc-office-table strong{font-size:14px;font-weight:700;color:#0f172a}.tjc-cell-jobcard{white-space:nowrap;font-weight:700;color:#1e3a8a;font-size:13px}.tjc-cell-address,.tjc-cell-town{color:#334155}.tjc-actions-col,.tjc-cell-manage{text-align:right;width:108px}.tjc-manage-menu{position:relative;display:inline-block}.tjc-manage-menu > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:74px}.tjc-manage-menu > summary::-webkit-details-marker{display:none}.tjc-manage-menu[open] > summary{box-shadow:0 8px 20px rgba(37,99,235,.14)}.tjc-manage-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:flex;flex-direction:column;gap:6px;min-width:190px;padding:10px;background:#fff;border:1px solid #dbe5ef;border-radius:14px;box-shadow:0 14px 32px rgba(15,23,42,.12)}.tjc-manage-menu-panel .tjc-link-btn,.tjc-manage-menu-panel .tjc-link-btn-primary{width:100%;justify-content:center}.tjc-manage-assign-form{display:grid;gap:6px;padding-top:2px}.tjc-manage-assign-form select,.tjc-manage-assign-form input{width:100%;min-height:34px;border:1px solid #cfd9e6;border-radius:8px;padding:0 8px;background:#fff;color:#10233c;font-size:12px;box-sizing:border-box}.tjc-manage-assign-form .tjc-inline-feedback{font-size:11px;color:#475569}
.tjc-queue-tools{display:flex;gap:10px;align-items:center}.tjc-search-input{min-width:300px}.tjc-week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tjc-week-day,.tjc-week-team-block{background:#f8fbff;border:1px solid #d7e2ee;border-radius:16px;padding:12px}
.tjc-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;padding:24px;z-index:9999}.tjc-modal-backdrop.tjc-open{display:flex}.tjc-modal{width:min(760px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.28);overflow:hidden}.tjc-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e6ebf2}.tjc-modal-title{font-size:22px;font-weight:800;color:#24324a;margin:0}.tjc-modal-close{border:none;background:#eef2f7;color:#334155;border-radius:10px;width:38px;height:38px;font-size:20px;cursor:pointer}.tjc-modal-body{padding:20px}.tjc-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.tjc-quick-box{background:#f8fafc;border:1px solid #e6ebf2;border-radius:14px;padding:14px}.tjc-quick-box strong{display:block;font-size:12px;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.tjc-quick-actions{display:flex;gap:10px;flex-wrap:wrap}
.tjc-empty{padding:16px;border-radius:14px;background:#f7faff;border:1px solid #d7e2ee;color:#365077;font-size:14px;font-weight:500}.tjc-notice-success,.tjc-notice-error{padding:14px 16px;border-radius:14px;margin:0 0 18px}.tjc-notice-success{background:#ecfdf3;border:1px solid #b7ebc6;color:#166534}.tjc-notice-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.tjc-inventory-shell{padding:10px}.tjc-inventory-form-card-top,.tjc-inventory-list-card{padding:10px;border-radius:14px}.tjc-inventory-form-card-top{margin-bottom:8px}.body:has(.tjc-office-shell) header,body:has(.tjc-office-shell) .site-header,body:has(.tjc-office-shell) .ast-header-break-point,body:has(.tjc-office-shell) #masthead{display:none !important}body:has(.tjc-office-shell){background:#eef4fb}.tjc-frontend-wrap:has(.tjc-office-shell){max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.tjc-office-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;align-items:stretch}.tjc-office-sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow:auto}.tjc-office-main{min-width:0;min-height:100vh;overflow:visible}.tjc-office-main-topbar{position:sticky;top:0;z-index:20;background:#eef4fb;padding-top:10px;padding-bottom:10px}.tjc-order-label{font-size:11px;font-weight:800;color:#6b7f96;text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.tjc-office-sync-pill{display:inline-flex;align-items:center;gap:6px;padding:0 10px;min-height:34px;border-radius:999px;background:#fff;border:1px solid #d7e3ef;color:#365077;font-size:12px;font-weight:800}.tjc-office-sync-pill.is-refreshing{color:#1d4ed8;border-color:#bfdbfe}.tjc-inventory-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.tjc-inventory-header-row .tjc-section-title{font-size:15px;margin-bottom:2px}.tjc-inventory-header-row .tjc-queue-subtitle,.tjc-inline-note,.tjc-queue-header-compact .tjc-queue-subtitle{font-size:11px;line-height:1.25}.tjc-inventory-stat-row{display:flex;gap:8px}.tjc-inventory-stat{padding:5px 8px;border-radius:12px}.tjc-inventory-stat strong{font-size:13px}.tjc-inventory-stat span{font-size:10px}.tjc-inventory-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.tjc-field-span-2{grid-column:1 / -1}.tjc-inventory-form-grid .tjc-form-field{display:flex;flex-direction:column;gap:3px;margin:0}.tjc-inventory-form-grid .tjc-form-field label{font-size:11px;font-weight:700;color:#365077}.tjc-inventory-form-grid input,.tjc-inventory-form-grid select,.tjc-inventory-search-row .tjc-search-input{width:100%;min-height:30px;height:30px;border:1px solid #cfd9e6;border-radius:8px;padding:0 9px;background:#fff;color:#10233c;font-size:12px;box-sizing:border-box;font-family:Arial,sans-serif}.tjc-inventory-form-grid textarea{min-height:50px;padding:7px 9px;font-size:12px;border:1px solid #cfd9e6;border-radius:8px;font-family:Arial,sans-serif}.tjc-inventory-type-toggle{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tjc-type-pill{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid #cfd9e6;border-radius:999px;background:#fff;color:#10233c;font-size:12px;font-weight:700;cursor:pointer;user-select:none;line-height:1}.tjc-inventory-form-grid input[type=radio].tjc-inventory-item-type-radio{position:absolute!important;opacity:0!important;pointer-events:none!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important}.tjc-type-pill-dot{flex:0 0 11px;width:11px;height:11px;border-radius:50%;border:2px solid #8aa0bb;background:#fff;box-sizing:border-box;display:inline-block}.tjc-type-pill-label{display:inline-block;white-space:nowrap}.tjc-type-pill.is-active{border-color:#2f6fdd;background:#eef4ff;color:#214b9a}.tjc-type-pill.is-active .tjc-type-pill-dot{border-color:#2f6fdd;background:#2f6fdd;box-shadow:inset 0 0 0 2px #eef4ff}.tjc-inventory-cost-field.is-hidden{display:none}.tjc-bottom-actions{margin-top:4px;display:flex;gap:8px;align-items:center}.tjc-bottom-actions .tjc-link-btn{min-height:30px;padding:0 10px;font-size:11px}.tjc-secondary-link{font-size:11px}.tjc-queue-header-compact{margin-bottom:4px}.tjc-queue-header-compact .tjc-section-title{font-size:15px;margin-bottom:2px}.tjc-inventory-search-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.tjc-inventory-search-row .tjc-search-input{font-size:12px}.tjc-inventory-clear-search{min-height:30px;padding:0 10px;white-space:nowrap;font-size:11px}.tjc-inventory-list-card .tjc-office-table{min-width:620px;font-family:Arial,sans-serif}.tjc-inventory-table-upgraded th,.tjc-inventory-table-upgraded td{padding:6px 8px}.tjc-inventory-table-upgraded th{font-size:10px}.tjc-inventory-table-upgraded td{font-size:11px;line-height:1.2}.tjc-inventory-table-upgraded td:nth-child(2),.tjc-inventory-table-upgraded td:nth-child(3),.tjc-inventory-table-upgraded td:nth-child(4),.tjc-inventory-table-upgraded td:nth-child(5),.tjc-inventory-table-upgraded td:nth-child(6){font-size:11px;font-weight:600}.tjc-inventory-item-main{display:flex;flex-direction:column;gap:1px;min-width:130px}.tjc-inventory-item-main strong{font-size:11px;line-height:1.15;font-weight:700}.tjc-inventory-item-main span{font-size:9px;line-height:1.15;color:#6b7f96}.tjc-inventory-table-upgraded .tjc-link-btn{min-height:26px;padding:0 8px;font-size:10px;border-radius:8px}.tjc-inventory-row.is-hidden{display:none}.tjc-inventory-list-card .tjc-manage-menu-panel{min-width:170px;padding:8px;border-radius:12px}.tjc-inline-note{margin-bottom:6px}@media (max-width:780px){.tjc-inventory-form-grid{grid-template-columns:1fr}.tjc-field-span-2{grid-column:auto}.tjc-inventory-header-row{flex-direction:column}.tjc-inventory-search-row{flex-direction:row}}
@media (max-width:1180px){.tjc-dashboard-grid,.tjc-kpi-grid,.tjc-week-grid,.tjc-quick-grid{grid-template-columns:1fr}.tjc-search-input{min-width:0;width:100%}}
@media (max-width:780px){body:has(.tjc-office-shell) header,body:has(.tjc-office-shell) .site-header,body:has(.tjc-office-shell) #masthead{display:none!important}.tjc-office-shell{grid-template-columns:1fr}.tjc-office-sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;max-width:320px;width:min(84vw,320px);z-index:120;transform:translateX(-105%)}.tjc-dashboard-page{padding:0 8px}.tjc-topbar,.tjc-scheduler-header{flex-direction:column;align-items:flex-start}.tjc-panel-tabs,.tjc-scheduler-tabs,.tjc-row-actions,.tjc-inline-actions,.tjc-bottom-actions,.tjc-quick-actions,.tjc-queue-tools{display:grid;grid-template-columns:1fr;gap:8px}.tjc-tab,.tjc-link-btn,.tjc-button{width:100%}.tjc-inline-assign-grid,.tjc-team-progress-row,.tjc-analytics-row,.tjc-stat-row{grid-template-columns:1fr}.tjc-office-table{min-width:720px}.tjc-inventory-search-row{flex-direction:column;align-items:stretch}}

/* Scheduler redesign overrides */
.tjc-scheduler-spotlight{padding:16px;border-radius:26px;background:linear-gradient(180deg,#fbfdff 0%,#f3f7fc 100%);border:1px solid #dbe5ef;box-shadow:0 18px 36px rgba(15,23,42,.06)}
.tjc-scheduler-columns{gap:16px}
.tjc-scheduler-column{border:1px solid #d7e3ef;border-radius:24px;box-shadow:0 12px 28px rgba(15,23,42,.06);background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);overflow:hidden}
.tjc-scheduler-column-head{padding:16px 18px}
.tjc-scheduler-column-title{font-size:18px;font-weight:900;letter-spacing:-.02em}
.tjc-scheduler-column-body{padding:14px}
.tjc-job-list{gap:12px;min-height:0}
.tjc-dropzone{min-height:56px;align-items:center;justify-content:center;text-align:center;border-style:dashed;border-width:2px;border-radius:16px;font-size:14px;color:#7b8ca4;background:#f9fbff;padding:14px}
.tjc-scheduler-job{padding:16px 16px 14px;border-radius:18px;border:1px solid #d9e5f1;background:#fff;box-shadow:0 10px 20px rgba(15,23,42,.05)}
.tjc-scheduler-job-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.tjc-scheduler-job-title{font-size:22px;line-height:1.05;font-weight:900;color:#0f172a;margin:0 0 8px}
.tjc-scheduler-job-street{font-size:15px;line-height:1.35;font-weight:700;color:#1f3b63;margin:0 0 4px}
.tjc-scheduler-job-town{font-size:13px;line-height:1.4;color:#6b7f98}
.tjc-scheduler-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;background:#eef2ff;border:1px solid #dbe4ff;color:#3652c9;font-size:12px;font-weight:800;white-space:nowrap}
.tjc-scheduler-card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}
.tjc-scheduler-order-controls{display:flex;align-items:center;gap:8px}
.tjc-order-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid #c9d8eb;background:#fff;color:#163760;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 6px 14px rgba(15,23,42,.06)}
.tjc-order-btn:hover{transform:translateY(-1px);background:#eff6ff;border-color:#93c5fd}
.tjc-order-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.tjc-drag-handle{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 10px;border-radius:10px;background:#f8fafc;border:1px dashed #c9d8eb;color:#7b8ca4;font-size:16px;cursor:grab}
.tjc-job-action{margin-top:0;min-height:38px;padding:0 14px;border-radius:12px;background:linear-gradient(135deg,#ecf3ff 0%,#dfeaff 100%);color:#1d4ed8;font-size:12px;font-weight:800;border:1px solid #d7e5ff}
.tjc-job-list.is-drop-target{background:#edf4ff;border-radius:18px;box-shadow:inset 0 0 0 2px #bfdbfe}
.tjc-drop-marker{height:10px;border-radius:999px;background:linear-gradient(90deg,#60a5fa 0%,#2563eb 100%)}
.tjc-manage-menu-panel{min-width:320px;padding:14px;border-radius:16px;border:1px solid #dbe5ef;box-shadow:0 16px 32px rgba(15,23,42,.10);background:#fff}
.tjc-manage-assign-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px}
.tjc-field-wrap label{display:block;margin-bottom:6px;font-size:12px;font-weight:800;color:#37506f}
.tjc-manage-menu-panel select,.tjc-manage-menu-panel input{width:100%;min-height:40px;border:1px solid #cfd9e6;border-radius:10px;padding:0 10px;background:#fff;color:#10233c;font-size:14px;box-sizing:border-box}
.tjc-office-table td,.tjc-office-table th{padding-top:5px!important;padding-bottom:5px!important}

.tjc-client-profile-shell{padding:18px!important}
.tjc-client-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.tjc-client-stat-card,.tjc-client-block,.tjc-client-future-card{background:#f8fbff;border:1px solid #dbe7f3;border-radius:16px;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.tjc-client-stat-card{padding:14px 16px}
.tjc-client-stat-card span,.tjc-client-future-card span{display:block;font-size:12px;font-weight:800;color:#5a7090;text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px}
.tjc-client-stat-card strong,.tjc-client-future-card strong{display:block;font-size:22px;line-height:1.15;font-weight:900;color:#132a46}
.tjc-client-layout-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:16px;align-items:start}
.tjc-client-main-stack,.tjc-client-side-stack{display:flex;flex-direction:column;gap:16px}
.tjc-client-block{padding:16px}
.tjc-client-block-title{font-size:16px;font-weight:900;color:#23395d;margin:0 0 12px}
.tjc-client-overview-copy{font-size:14px;line-height:1.55;color:#425a75}
.tjc-client-future-grid{display:grid;grid-template-columns:1fr;gap:10px}
.tjc-client-future-card{padding:12px 14px}
.tjc-client-future-card small{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:#5a7090}
@media (max-width:1180px){.tjc-client-summary-grid,.tjc-client-layout-grid{grid-template-columns:1fr}}
@media (max-width:780px){.tjc-client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tjc-client-profile-shell{padding:12px!important}}
@media (max-width:520px){.tjc-client-summary-grid{grid-template-columns:1fr}}


/* Premium list/table styling */
.tjc-panel.tjc-queue-panel{padding:18px!important;border-radius:22px!important;background:#ffffff!important;border:1px solid #dbe7f3!important;box-shadow:0 10px 28px rgba(15,23,42,.05)!important}
.tjc-queue-header-slim{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important}
.tjc-queue-meta{display:flex;align-items:center;gap:8px;min-height:32px}
.tjc-queue-subtitle{font-size:14px!important;line-height:1.2!important;font-weight:700!important;color:#5b6f88!important;margin:0!important}
.tjc-queue-tools-slim{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex-wrap:wrap!important;min-width:0!important;width:auto!important;flex:1!important}
.tjc-search-input.tjc-search-input-slim{min-height:44px!important;height:44px!important;min-width:280px!important;max-width:420px!important;border-radius:14px!important;padding:0 16px!important;font-size:14px!important;background:#f8fbff!important;border:1px solid #cddbeb!important;color:#10233c!important}
.tjc-queue-show-slim{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:44px!important;font-size:13px!important;font-weight:700!important;color:#163760!important;white-space:nowrap!important}
.tjc-queue-show-slim select{min-height:36px!important;height:36px!important;border-radius:12px!important;padding:0 10px!important;font-size:13px!important;border:1px solid #cddbeb!important;background:#fff!important}
.tjc-table-wrap{border:1px solid #dbe5ef!important;border-radius:14px!important;overflow:auto!important;background:#fff!important}
.tjc-office-table,.tjc-office-table.tjc-office-table-compact{min-width:760px!important;font-size:12px!important}
.tjc-office-table th,.tjc-office-table.tjc-office-table-compact th{padding:9px 11px!important;font-size:10px!important;letter-spacing:.08em!important;line-height:1.15!important;color:#4a5f78!important;background:#f7faff!important;white-space:nowrap!important}
.tjc-office-table td,.tjc-office-table.tjc-office-table-compact td{padding:8px 11px!important;font-size:12px!important;line-height:1.2!important;border-bottom:1px solid #e7edf4!important}
.tjc-office-table strong,.tjc-office-table.tjc-office-table-compact strong{font-size:12px!important;font-weight:700!important}
.tjc-office-table-compact tbody tr:nth-child(even){background:#f8fbff!important}
.tjc-office-table-compact tbody tr:nth-child(odd){background:#ffffff!important}
.tjc-office-table tbody tr:hover{background:#eef6ff!important}
.tjc-table-sub{margin-top:4px!important;font-size:12px!important;line-height:1.25!important;color:#6b7f98!important}
.tjc-cell-jobcard{font-size:16px!important;font-weight:800!important;color:#1e3a8a!important}
.tjc-cell-address,.tjc-cell-town,.tjc-cell-customer{font-size:14px!important;color:#22364d!important}
.tjc-actions-col,.tjc-cell-manage{text-align:right!important;width:54px!important}
.tjc-link-btn,.tjc-link-btn-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 14px!important;border-radius:12px!important;font-size:13px!important;line-height:1!important}
.tjc-manage-menu > summary{min-width:auto!important}
.tjc-manage-menu>summary.tjc-link-btn,.tjc-manage-menu>summary.tjc-link-btn-primary{min-width:auto!important;min-height:auto!important;height:auto!important;padding:0!important;font-size:12px!important;border-radius:10px!important}
.tjc-manage-menu-panel{min-width:220px!important;padding:10px!important;border-radius:12px!important}
.tjc-manage-assign-form select,.tjc-manage-assign-form input{min-height:36px!important;font-size:13px!important}
.tjc-office-page-title{font-size:40px!important;line-height:1.05!important;letter-spacing:-.02em!important}
.tjc-office-main-topbar{margin-bottom:18px!important}
.tjc-queue-panel .tjc-queue-subtitle{font-size:11px!important;line-height:1.2!important}.tjc-search-input.tjc-search-input-slim{min-height:34px!important;height:34px!important;font-size:12px!important;padding:0 10px!important}.tjc-queue-show-slim{font-size:11px!important;gap:6px!important}.tjc-queue-show-slim select{min-height:32px!important;height:32px!important;font-size:12px!important}.tjc-job-list-table{table-layout:fixed}.tjc-job-list-table th:nth-child(1),.tjc-job-list-table td:nth-child(1){width:115px}.tjc-job-list-table th:nth-child(2),.tjc-job-list-table td:nth-child(2){width:23%}.tjc-job-list-table th:nth-child(3),.tjc-job-list-table td:nth-child(3){width:31%}.tjc-job-list-table th:nth-child(4),.tjc-job-list-table td:nth-child(4){width:22%}.tjc-job-list-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tjc-job-list-table .tjc-cell-customer,.tjc-job-list-table .tjc-cell-address,.tjc-job-list-table .tjc-cell-details{white-space:normal}.tjc-job-row{transition:background-color .12s ease}.tjc-row-clickable{cursor:pointer}.tjc-row-clickable:focus{outline:2px solid #bfdbfe;outline-offset:-2px}.tjc-cell-primary{font-size:12px;font-weight:600;line-height:1.2;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tjc-table-sub{display:block;margin-top:2px;font-size:10px;line-height:1.15;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tjc-cell-jobcard strong{letter-spacing:.01em}.tjc-row-menu-trigger,.tjc-row-open-indicator{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid #d7e3ef;background:#fff;color:#365077;text-decoration:none;font-size:16px;font-weight:700;line-height:1;cursor:pointer}.tjc-row-menu-trigger:hover,.tjc-row-open-indicator:hover{background:#eef4ff;border-color:#bfd5ff;color:#214b9a}.tjc-row-menu-trigger::-webkit-details-marker{display:none}.tjc-cell-manage{white-space:nowrap}.tjc-manage-menu-panel .tjc-link-btn,.tjc-manage-menu-panel .tjc-link-btn-primary{min-height:30px!important;padding:0 10px!important;font-size:11px!important;border-radius:8px!important}.tjc-manage-menu-panel label{font-size:10px!important;font-weight:700!important;color:#475569!important}.tjc-manage-menu-panel select,.tjc-manage-menu-panel input{min-height:34px!important;height:34px!important;font-size:12px!important}.tjc-manage-assign-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tjc-manage-assign-form{gap:8px!important}.tjc-manage-assign-form .tjc-inline-feedback{font-size:10px!important}.tjc-job-list-table .tjc-cell-address,.tjc-job-list-table .tjc-cell-details{color:#334155!important}@media (max-width:780px){.tjc-panel.tjc-queue-panel{padding:14px!important}.tjc-queue-header-slim{align-items:stretch!important}.tjc-queue-tools-slim{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;width:100%!important}.tjc-search-input.tjc-search-input-slim{min-width:0!important;max-width:none!important;width:100%!important}.tjc-queue-show-slim{justify-content:flex-start!important}.tjc-office-table,.tjc-office-table.tjc-office-table-compact{min-width:720px!important}.tjc-office-page-title{font-size:30px!important}}


/* UI architecture helpers */
.tjc-ui-card,.tjc-panel{background:#fff;border:1px solid #d8e2ee;border-radius:16px;box-shadow:0 6px 14px rgba(15,23,42,.035)}
.tjc-ui-section-header,.tjc-queue-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.tjc-ui-badge,.tjc-badge,.tjc-status-pill,.tjc-client-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800}
.tjc-ui-button,.tjc-link-btn,.tjc-button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:800;text-decoration:none;cursor:pointer}
.tjc-ui-table-compact .tjc-office-table,.tjc-office-table-compact{font-size:12px}
.tjc-ui-density-compact .tjc-office-table th,.tjc-ui-density-compact .tjc-office-table td{padding-top:7px;padding-bottom:7px}
.tjc-ui-debug{display:grid;gap:4px;margin:0 auto 12px;padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#9a3412;font-size:12px;max-width:1450px}
.tjc-ui-debug code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}

/* ---- Office shell restore patch: align refactor with working reference layout ---- */
body:has(.tjc-office-shell) header,
body:has(.tjc-office-shell) .site-header,
body:has(.tjc-office-shell) .ast-header-break-point,
body:has(.tjc-office-shell) #masthead{
  display:block !important;
}
body:has(.tjc-office-shell){
  background:#eef4fb;
}
.tjc-frontend-wrap:has(.tjc-office-shell){
  max-width:1380px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:28px 16px 40px !important;
  box-sizing:border-box;
}
.tjc-office-mobile-bar,
.tjc-office-mobile-overlay,
.tjc-mobile-menu-toggle,
.tjc-mobile-drawer-close{
  display:none;
}
.tjc-office-shell{
  display:grid;
  grid-template-columns:228px minmax(0,1fr);
  gap:26px;
  min-height:0;
  align-items:start;
}
.tjc-office-sidebar{
  position:sticky;
  top:24px;
  align-self:start;
  height:auto;
  overflow:visible;
  background:#ffffff;
  border:1px solid #dbe7f3;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
  padding:17px 15px;
}
.tjc-office-sidebar-head{
  display:block;
  padding:4px 4px 14px;
  margin-bottom:10px;
  border-bottom:1px solid #e8eef5;
}
.tjc-office-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
}
.tjc-office-brand-logo{
  display:block;
  width:110px;
  max-width:100%;
  height:auto;
}
.tjc-office-nav{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.tjc-office-nav-link,
.tjc-office-side-action{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:39px;
  padding:0 12px;
  border-radius:11px;
  text-decoration:none;
  color:#334a62;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.tjc-office-nav-link:hover,
.tjc-office-side-action:hover{
  background:#f4f8fd;
  color:#1f4f9f;
}
.tjc-office-nav-link.is-active{
  color:#fff;
  background:linear-gradient(135deg,#3d7ef3 0%,#2c63d9 100%);
  box-shadow:0 10px 18px rgba(47,111,221,.24);
}
.tjc-office-nav-icon{
  flex:0 0 18px;
  width:18px;
  text-align:center;
  font-size:14px;
  opacity:.9;
}
.tjc-office-nav-label{
  display:block;
  min-width:0;
}
.tjc-office-sidebar-footer{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #e8eef5;
}
.tjc-office-main{
  min-width:0;
  min-height:0;
  overflow:visible;
}
.tjc-office-main-topbar{
  position:static;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  background:transparent;
  padding:2px 0 0;
  margin-bottom:14px !important;
}
.tjc-office-page-heading{
  min-width:0;
  flex:1 1 auto;
}
.tjc-office-page-title{
  margin:0;
  font-size:34px !important;
  line-height:1.05 !important;
  letter-spacing:-.02em !important;
  color:#1f2f49;
  font-weight:900;
}
.tjc-office-main-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.tjc-office-sync-pill,
.tjc-office-date-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid #dbe5ef;
  background:#fff;
  color:#35506d;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.tjc-office-primary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:8px;
  background:linear-gradient(135deg,#3d7ef3 0%,#2c63d9 100%);
  color:#fff;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
  box-shadow:0 10px 18px rgba(47,111,221,.22);
  white-space:nowrap;
}
.tjc-dashboard-page{
  max-width:none;
  margin:0;
  padding:0;
}
.tjc-kpi-grid{
  gap:10px;
}
.tjc-kpi-card{
  min-height:106px;
  padding:14px 14px 12px;
  border-radius:16px;
}
.tjc-kpi-title{font-size:12px;margin-bottom:8px}
.tjc-kpi-main{font-size:24px}
.tjc-kpi-main span{font-size:15px}
.tjc-kpi-sub{font-size:11px;margin-top:6px}
.tjc-progress{height:6px;margin-top:8px}
.tjc-performance-panel .tjc-section-title,
.tjc-panel .tjc-section-title,
.tjc-side-stack .tjc-section-title,
.tjc-queue-header .tjc-section-title{
  font-size:13px;
  margin-bottom:8px;
}
.tjc-team-progress-row{
  grid-template-columns:90px 1fr 56px;
  gap:10px;
  margin-bottom:0;
}
.tjc-team-progress-name,
.tjc-team-progress-count,
.tjc-badge{
  font-size:10px;
}
.tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
  display:block;
  margin-bottom:10px;
}
.tjc-dashboard-main-panel,
.tjc-scheduler-panel-prominent{
  padding:12px;
  border-radius:18px;
}
.tjc-scheduler-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.tjc-scheduler-title-xl{
  font-size:17px !important;
  margin-bottom:3px !important;
}
.tjc-scheduler-subtitle-xl,
.tjc-queue-subtitle{
  font-size:11px !important;
  line-height:1.25 !important;
  color:#586d87 !important;
  font-weight:700 !important;
}
.tjc-scheduler-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.tjc-tab,
.tjc-tab.tjc-tab-compact{
  min-height:24px;
  padding:0 9px;
  border-radius:7px;
  font-size:9px;
  border:1px solid #d2ddea;
  background:#eef3f9;
}
.tjc-tab-active{
  background:#273f70;
  border-color:#273f70;
}
.tjc-scheduler-spotlight{
  padding:10px;
  border-radius:16px;
}
.tjc-scheduler-columns.is-two-up,
.tjc-scheduler-columns.is-three-up,
.tjc-scheduler-columns.is-four-up{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.tjc-scheduler-column{
  min-height:240px;
}
.tjc-scheduler-column-title{
  font-size:12px;
}
.tjc-dropzone{
  min-height:120px;
  justify-content:flex-start;
  align-items:flex-start;
  font-size:12px;
}
.tjc-dashboard-below-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.tjc-dashboard-below-grid > .tjc-panel{
  padding:12px;
  border-radius:16px;
}
.tjc-stat-row{
  padding:8px 0;
}
.tjc-stat-row span,
.tjc-stat-row strong,
.tjc-analytics-label,
.tjc-analytics-value{
  font-size:11px;
}
.tjc-analytics-row{
  grid-template-columns:110px 1fr 22px;
  gap:8px;
  padding:6px 0;
}
.tjc-office-table,
.tjc-office-table.tjc-office-table-compact{
  min-width:720px !important;
}
@media (max-width:1180px){
  .tjc-frontend-wrap:has(.tjc-office-shell){padding-left:14px !important;padding-right:14px !important}
  .tjc-office-shell{grid-template-columns:1fr;gap:16px}
  .tjc-office-sidebar{position:relative;top:auto}
}
@media (max-width:780px){
  body:has(.tjc-office-shell) header,
  body:has(.tjc-office-shell) .site-header,
  body:has(.tjc-office-shell) #masthead{display:block !important}
  .tjc-office-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
  .tjc-mobile-menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:3px;width:36px;height:36px;border:1px solid #d8e2ee;border-radius:10px;background:#fff;padding:0 9px}
  .tjc-mobile-menu-toggle span{display:block;height:2px;background:#1f3654;border-radius:999px}
  .tjc-office-mobile-brand{display:flex;align-items:center}
  .tjc-office-mobile-brand .tjc-office-brand-logo{width:104px}
  .tjc-office-mobile-quickadd{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border-radius:8px;background:#2f6fdd;color:#fff;text-decoration:none;font-size:11px;font-weight:800}
  .tjc-office-shell{grid-template-columns:1fr}
  .tjc-office-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:120;width:min(84vw,320px);max-width:320px;height:100vh;overflow:auto;transform:translateX(-105%);transition:transform .18s ease;padding-top:18px}
  .tjc-office-sidebar.is-open,[data-mobile-drawer].is-open{transform:translateX(0)}
  .tjc-mobile-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid #d7e2ee;background:#fff;color:#22364d;font-size:18px}
  .tjc-office-mobile-overlay{position:fixed;inset:0;background:rgba(15,23,42,.32);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:110}
  .tjc-office-mobile-overlay.is-open{opacity:1;pointer-events:auto}
  .tjc-office-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .tjc-office-main-topbar{flex-direction:column;align-items:flex-start}
  .tjc-office-main-actions{justify-content:flex-start}
  .tjc-office-page-title{font-size:28px !important}
  .tjc-dashboard-below-grid{grid-template-columns:1fr}
}

/* Dashboard redesign phase */
.tjc-kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.tjc-kpi-card{
  min-height:92px;
  padding:14px 14px 12px;
  border-radius:18px;
}
.tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);
  gap:14px;
  align-items:start;
  margin-bottom:14px;
}
.tjc-dashboard-main-panel,
.tjc-scheduler-panel-prominent{
  padding:14px;
  border-radius:22px;
}
.tjc-dashboard-side-stack{
  gap:14px;
}
.tjc-dashboard-side-panel{
  padding:14px;
  border-radius:22px;
}
.tjc-panel-kicker{
  margin-bottom:6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6f86a3;
}
.tjc-mini-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.tjc-mini-stat-card{
  border:1px solid #e1eaf4;
  border-radius:14px;
  padding:10px;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f8fc 100%);
}
.tjc-mini-stat-card span{
  display:block;
  font-size:10px;
  font-weight:700;
  color:#68819f;
  margin-bottom:4px;
}
.tjc-mini-stat-card strong{
  display:block;
  font-size:20px;
  line-height:1;
  color:#152c47;
}
.tjc-dashboard-below-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.tjc-dashboard-below-grid > .tjc-panel{
  padding:14px;
  border-radius:22px;
  margin-bottom:0;
}
.tjc-performance-panel{
  margin-bottom:0;
}
.tjc-team-progress-row{
  grid-template-columns:88px 1fr 62px;
  padding:8px 0;
  border-bottom:1px solid #e7edf4;
}
.tjc-team-progress-row:last-child{
  border-bottom:none;
}
.tjc-analytics-card-panel .tjc-section-title,
.tjc-performance-panel .tjc-section-title,
.tjc-dashboard-side-panel .tjc-section-title{
  margin-bottom:8px;
}
.tjc-stat-row{
  padding:10px 0;
}
.tjc-stat-row span{
  font-size:11px;
  color:#5d7591;
}
.tjc-stat-row strong{
  font-size:13px;
  color:#132a46;
}
.tjc-analytics-row{
  grid-template-columns:118px 1fr 28px;
  gap:8px;
  padding:8px 0;
}
.tjc-analytics-track{
  width:100%;
  height:8px;
  border-radius:999px;
  background:#edf3f9;
  overflow:hidden;
}
.tjc-analytics-track span,
.tjc-team-progress-bar span,
.tjc-progress span{
  display:block;
  height:100%;
  border-radius:999px;
}
.tjc-bar-blue{background:linear-gradient(90deg,#6ea8ff 0%,#477ae6 100%)}
.tjc-bar-green{background:linear-gradient(90deg,#6fcf97 0%,#2da66b 100%)}
.tjc-bar-orange{background:linear-gradient(90deg,#ffc36a 0%,#f59e0b 100%)}
.tjc-bar-red{background:linear-gradient(90deg,#ff8e8e 0%,#ef4444 100%)}
.tjc-bar-purple{background:linear-gradient(90deg,#b59bff 0%,#7c5ce6 100%)}

@media (max-width:1180px){
  .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home,
  .tjc-dashboard-below-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:780px){
  .tjc-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .tjc-kpi-card{
    min-height:88px;
    padding:12px;
  }
  .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    display:block;
  }
  .tjc-dashboard-side-stack{
    margin-top:12px;
  }
  .tjc-mini-stat-grid{
    grid-template-columns:1fr 1fr;
  }
  .tjc-dashboard-below-grid{
    grid-template-columns:1fr;
  }
}

/* Dashboard header polish: live sync + primary action sizing. */
.tjc-office-sync-pill.is-live{
  border-color:#86efac;
  background:#ecfdf3;
  color:#166534;
}
.tjc-office-sync-pill.is-live::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:6px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.14);
}
.tjc-office-sync-pill.is-refreshing{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}
.tjc-office-sync-pill.is-refreshing::before{
  background:#3b82f6;
  box-shadow:0 0 0 3px rgba(59,130,246,.14);
}
.tjc-office-primary-action{
  gap:7px;
  min-height:34px;
  padding:0 15px;
  border-radius:10px;
  font-size:11px;
  font-weight:900;
}
.tjc-office-primary-action:hover,
.tjc-office-primary-action:focus{
  color:#fff;
  text-decoration:none;
}
.tjc-office-primary-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  font-size:17px;
  line-height:1;
  font-weight:900;
}

/* Dashboard scheduler column standardisation + scheduled status polish. */
.tjc-scheduler-columns.is-three-standard{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.tjc-scheduler-columns.is-four-up{
  grid-template-columns:repeat(4,minmax(260px,1fr));
  overflow-x:auto;
  padding-bottom:4px;
}
.tjc-scheduler-status.tjc-status-scheduled{
  border-color:#bbf7d0;
  background:#dcfce7;
  color:#166534;
}
.tjc-scheduler-status.tjc-status-scheduled::before{
  content:"";
  width:6px;
  height:6px;
  margin-right:6px;
  border-radius:999px;
  background:#22c55e;
}
@media (max-width:780px){
  .tjc-scheduler-columns.is-three-standard,
  .tjc-scheduler-columns.is-four-up{
    grid-template-columns:1fr;
    overflow-x:visible;
  }
}
/* Dashboard scheduler card compact action controls. */
.tjc-scheduler-job-top{gap:8px;margin-bottom:10px}
.tjc-scheduler-status{flex:0 0 auto;min-height:16px;padding:0 5px;font-size:8px;line-height:1}
.tjc-scheduler-status.tjc-status-scheduled::before{width:3px;height:3px;margin-right:4px}
.tjc-scheduler-card-actions{gap:8px;flex-wrap:nowrap}
.tjc-scheduler-order-controls{gap:6px;flex:0 0 auto}
.tjc-order-label,.tjc-drag-handle{display:none!important}
.tjc-order-btn{width:32px;height:32px;border-radius:9px;font-size:13px}
.tjc-job-action{flex:0 0 auto;min-height:32px;padding:0 10px;border-radius:10px;font-size:11px}
@media (max-width:1100px){.tjc-scheduler-job{padding:14px 12px 12px}.tjc-scheduler-job-title{font-size:20px}.tjc-scheduler-job-street{font-size:14px}}
/* Dashboard sidebar action counters */
.tjc-office-nav-link{
  position:relative;
}
.tjc-office-nav-count{
  flex:0 0 auto;
  min-width:18px;
  height:18px;
  padding:0 6px;
  margin-left:auto;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:1px solid rgba(51,74,98,.22);
  color:#47627d;
  font-size:10px;
  font-weight:800;
  line-height:1;
  box-sizing:border-box;
}
.tjc-office-nav-link.is-active .tjc-office-nav-count{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.38);
  color:#fff;
}
@media (max-width:780px){
  .tjc-office-nav-count{
    min-width:20px;
    height:20px;
    font-size:10px;
  }
}

.tjc-queue-context-note{margin:0 0 12px;padding:10px 12px;border-radius:14px;background:#f8fbff;border:1px solid #dbe7f3;color:#365077;font-size:12px;font-weight:700;line-height:1.35}
.tjc-manage-menu-panel form{margin:0}.tjc-manage-menu-panel form .tjc-link-btn{width:100%}

/* Dashboard premium polish: layout, header, scheduler, stronger greens. */
html.tjc-office-dashboard-active body header,
body.tjc-office-dashboard-active header,
html.tjc-office-dashboard-active body .site-header,
body.tjc-office-dashboard-active .site-header,
html.tjc-office-dashboard-active body .ast-primary-header-bar,
body.tjc-office-dashboard-active .ast-primary-header-bar,
html.tjc-office-dashboard-active body .ast-mobile-header-wrap,
body.tjc-office-dashboard-active .ast-mobile-header-wrap,
html.tjc-office-dashboard-active body .elementor-location-header,
body.tjc-office-dashboard-active .elementor-location-header,
html.tjc-office-dashboard-active body #masthead,
body.tjc-office-dashboard-active #masthead{
  display:none!important;
}
body.tjc-office-dashboard-active{
  background:#eef4fb!important;
}

.tjc-office-main-topbar{
  padding:14px 18px 12px;
  border-bottom:1px solid rgba(190,205,224,.55);
  backdrop-filter:saturate(140%) blur(8px);
}
.tjc-office-main-actions{
  gap:10px;
}
.tjc-office-sync-pill,
.tjc-office-date-pill{
  min-height:38px;
  padding:0 14px;
  font-size:12px;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
.tjc-office-date-pill{
  color:#18365f;
  background:#ffffff;
  border-color:#cfddec;
  font-size:13px;
  letter-spacing:-.01em;
}
.tjc-office-sync-pill.is-live{
  border-color:#16a34a;
  background:#eafff1;
  color:#087a34;
}
.tjc-office-sync-pill.is-live::before{
  width:8px;
  height:8px;
  background:#00a651;
  box-shadow:0 0 0 4px rgba(0,166,81,.16);
}
.tjc-office-primary-action{
  min-height:42px;
  padding:0 18px;
  border-radius:14px;
  font-size:13px;
  background:linear-gradient(135deg,#1769e8 0%,#0b4fc7 100%);
  box-shadow:0 14px 28px rgba(23,105,232,.25);
}
.tjc-office-primary-action-icon{
  width:22px;
  height:22px;
  font-size:20px;
}

.tjc-performance-panel-top{
  border-radius:22px;
  border:1px solid #d2dfec;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 18px 38px rgba(15,23,42,.07);
}
.tjc-performance-panel-top .tjc-team-progress-row{
  grid-template-columns:minmax(120px,180px) minmax(0,1fr) 64px;
  gap:14px;
  padding:10px 0;
}
.tjc-performance-panel-top .tjc-team-progress-name{
  font-size:12px;
  font-weight:900;
  color:#17345c;
}
.tjc-performance-panel-top .tjc-team-progress-count{
  background:#eef4ff;
  color:#194a9a;
  border-radius:999px;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.tjc-scheduler-panel-prominent{
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #cfdeed;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}
.tjc-scheduler-header{
  padding:2px 2px 10px;
  border-bottom:1px solid rgba(207,222,237,.75);
}
.tjc-scheduler-title-xl{
  font-size:20px!important;
  letter-spacing:-.02em;
  color:#142f55;
}
.tjc-scheduler-subtitle-xl{
  color:#536b88!important;
}
.tjc-scheduler-tabs .tjc-tab{
  min-height:30px;
  padding:0 12px;
  border-radius:10px;
  font-size:10px;
  font-weight:900;
  background:#f5f8fc;
}
.tjc-scheduler-tabs .tjc-tab-active{
  background:#123d78;
  border-color:#123d78;
  color:#fff;
}
.tjc-scheduler-spotlight{
  margin-top:12px;
  padding:14px;
  border-radius:22px;
  background:#f7fbff;
  border-color:#d5e3f1;
}
.tjc-scheduler-column{
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 14px 30px rgba(15,23,42,.07);
}
.tjc-scheduler-column-head{
  background:linear-gradient(135deg,#1d63d8 0%,#114cae 100%);
  border-bottom:none;
}
.tjc-scheduler-column-title{
  color:#fff;
  font-size:14px;
}
.tjc-scheduler-column-body{
  background:#f8fbff;
}
.tjc-scheduler-job{
  border-color:#cfdeed;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.tjc-scheduler-job-title{
  color:#071c3a;
}
.tjc-scheduler-status.tjc-status-scheduled{
  border-color:#00a651;
  background:#e8fff0;
  color:#007a32;
}
.tjc-scheduler-status.tjc-status-scheduled::before{
  background:#00a651;
}
.tjc-job-action{
  background:#eaf2ff;
  color:#0b4fc7;
  border-color:#c9daf5;
}
.tjc-order-btn{
  background:#fff;
  border-color:#cbd9ea;
  color:#0e376b;
}
.tjc-dashboard-side-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tjc-dashboard-side-stack .tjc-dashboard-side-panel{
  box-shadow:0 16px 34px rgba(15,23,42,.07);
}
@media (max-width:780px){
  .tjc-office-main-topbar{padding:10px 10px 8px;position:relative;top:auto}
  .tjc-office-main-actions{justify-content:flex-start}
  .tjc-office-sync-pill,.tjc-office-date-pill,.tjc-office-primary-action{width:auto;min-height:36px}
  .tjc-performance-panel-top .tjc-team-progress-row{grid-template-columns:1fr}
}

/* Pass 10: logged-in dashboard spacing + account menu */
html.tjc-office-dashboard-active,
html.tjc-office-dashboard-active body,
body.tjc-office-dashboard-active{
  margin-top:0!important;
  padding-top:0!important;
}
html.tjc-office-dashboard-active body .site,
body.tjc-office-dashboard-active .site,
html.tjc-office-dashboard-active body .site-content,
body.tjc-office-dashboard-active .site-content,
html.tjc-office-dashboard-active body .content-area,
body.tjc-office-dashboard-active .content-area,
html.tjc-office-dashboard-active body .site-main,
body.tjc-office-dashboard-active .site-main,
html.tjc-office-dashboard-active body .entry-content,
body.tjc-office-dashboard-active .entry-content,
html.tjc-office-dashboard-active body .wp-site-blocks,
body.tjc-office-dashboard-active .wp-site-blocks{
  margin-top:0!important;
  padding-top:0!important;
}
html.tjc-office-dashboard-active body header,
body.tjc-office-dashboard-active header,
html.tjc-office-dashboard-active body .site-header,
body.tjc-office-dashboard-active .site-header,
html.tjc-office-dashboard-active body .ast-primary-header-bar,
body.tjc-office-dashboard-active .ast-primary-header-bar,
html.tjc-office-dashboard-active body .ast-mobile-header-wrap,
body.tjc-office-dashboard-active .ast-mobile-header-wrap,
html.tjc-office-dashboard-active body .elementor-location-header,
body.tjc-office-dashboard-active .elementor-location-header,
html.tjc-office-dashboard-active body #masthead,
body.tjc-office-dashboard-active #masthead{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html.tjc-office-dashboard-active body.admin-bar,
body.tjc-office-dashboard-active.admin-bar{
  margin-top:0!important;
}
.tjc-frontend-wrap:has(.tjc-office-shell){
  padding-top:12px!important;
}
.tjc-office-main-topbar{
  padding-top:0!important;
  margin-top:0!important;
  margin-bottom:12px!important;
}
.tjc-office-main-actions{
  align-items:center!important;
  flex-wrap:nowrap!important;
}
.tjc-office-account-menu{
  position:relative;
  flex:0 0 auto;
}
.tjc-office-account-menu summary{
  list-style:none;
}
.tjc-office-account-menu summary::-webkit-details-marker{
  display:none;
}
.tjc-office-account-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:96px;
  height:36px;
  border-radius:999px;
  border:1px solid #c8d8ec;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  cursor:pointer;
  padding:0 14px;
  color:#0f2f5f;
  font-size:12px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  box-sizing:border-box;
}
.tjc-office-account-trigger:hover,
.tjc-office-account-menu[open] .tjc-office-account-trigger{
  border-color:#9fbae0;
  background:#eef5ff;
  box-shadow:0 10px 22px rgba(15,23,42,.12);
}
.tjc-office-account-label{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
.tjc-office-account-caret{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  line-height:1;
  color:#41648f;
  margin-top:1px;
}
.tjc-office-account-avatar{
  display:none;
}
.tjc-office-account-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:80;
  min-width:210px;
  padding:8px;
  border-radius:16px;
  border:1px solid #d6e2ef;
  background:rgba(255,255,255,.98);
  box-shadow:0 22px 45px rgba(15,23,42,.16);
}
.tjc-office-account-name{
  padding:10px 10px 2px;
  color:#18365f;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tjc-office-account-email{
  padding:0 10px 9px;
  margin-bottom:4px;
  color:#6b7f99;
  font-size:11px;
  font-weight:700;
  border-bottom:1px solid #e7eef7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tjc-office-account-panel a{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:0 10px;
  border-radius:10px;
  color:#314760;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.tjc-office-account-panel a:hover{
  background:#eef4ff;
  color:#0b4fc7;
}
@media (max-width:780px){
  .tjc-frontend-wrap:has(.tjc-office-shell){
    padding-top:8px!important;
  }
  .tjc-office-main-actions{
    flex-wrap:wrap!important;
  }
  .tjc-office-account-trigger{
    min-width:90px;
    height:34px;
    border-radius:999px;
    padding:0 12px;
  }
  .tjc-office-account-panel{
    right:auto;
    left:0;
  }
}
/* Pass 11: large screen / TV monitor layout cap
   Keeps the dashboard usable on laptop screens, but stops it stretching badly
   on TV or ultra-wide displays. The background still fills the full screen. */
@media (min-width: 1500px) {
  body.tjc-office-dashboard-active .tjc-frontend-wrap:has(.tjc-office-shell) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    box-sizing: border-box !important;
  }

  body.tjc-office-dashboard-active .tjc-office-shell {
    width: 100% !important;
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
  }

  body.tjc-office-dashboard-active .tjc-office-main {
    min-width: 0 !important;
    max-width: 1290px !important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-page {
    width: 100% !important;
    max-width: 1260px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.68fr) !important;
    gap: 16px !important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-below-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body.tjc-office-dashboard-active .tjc-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-two-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-four-up {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column,
  body.tjc-office-dashboard-active .tjc-dashboard-side-panel,
  body.tjc-office-dashboard-active .tjc-performance-panel-top {
    max-width: 100% !important;
  }
}

/* Extra-wide screens: keep the working area centred and controlled. */
@media (min-width: 1900px) {
  body.tjc-office-dashboard-active .tjc-office-shell {
    max-width: 1580px !important;
  }

  body.tjc-office-dashboard-active .tjc-office-main {
    max-width: 1310px !important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-page {
    max-width: 1280px !important;
  }
}

/* Pass 12: scheduler card readability and status chip cleanup */
body.tjc-office-dashboard-active .tjc-scheduler-job{
  padding:12px 12px 11px!important;
  border-radius:18px!important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-top{
  gap:8px!important;
  margin-bottom:8px!important;
  align-items:flex-start!important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-title{
  font-size:17px!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  margin:0 0 5px!important;
  color:#0f172a!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-street,
body.tjc-office-dashboard-active .tjc-job-detail-line{
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:650!important;
  color:#334155!important;
  margin:0 0 3px!important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-town{
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:600!important;
  color:#64748b!important;
  margin-left:0!important;
}

/* Make scheduled status readable and remove the weak dot. */
body.tjc-office-dashboard-active .tjc-scheduler-status,
body.tjc-office-dashboard-active .tjc-scheduler-status.tjc-status-scheduled{
  min-height:24px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  border:1px solid #15803d!important;
  background:#15803d!important;
  color:#ffffff!important;
  box-shadow:0 5px 12px rgba(21,128,61,.22)!important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status::before,
body.tjc-office-dashboard-active .tjc-scheduler-status.tjc-status-scheduled::before{
  content:none!important;
  display:none!important;
}

body.tjc-office-dashboard-active .tjc-scheduler-card-actions{
  margin-top:8px!important;
}

body.tjc-office-dashboard-active .tjc-job-action{
  min-height:32px!important;
  padding:0 10px!important;
  font-size:11px!important;
  border-radius:10px!important;
}

@media (max-width:1100px){
  body.tjc-office-dashboard-active .tjc-scheduler-job-title{
    font-size:16px!important;
  }
  body.tjc-office-dashboard-active .tjc-scheduler-job-street,
  body.tjc-office-dashboard-active .tjc-job-detail-line{
    font-size:11.5px!important;
  }
}

/* Pass 13: square scheduler job cards + better status colours */
body.tjc-office-dashboard-active .tjc-scheduler-job {
	aspect-ratio: 1 / 1 !important;
	min-height: unset !important;
	height: auto !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	padding: 14px !important;
	overflow: hidden !important;
}

/* Keep the card content controlled inside the square. */
body.tjc-office-dashboard-active .tjc-scheduler-job-top {
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) !important;
	gap: 9px !important;
	align-items: start !important;
	margin-bottom: 8px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-main {
	min-width: 0 !important;
	overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-job-avatar {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	font-size: 13px !important;
	border-radius: 50% !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-title {
	max-width: 100% !important;
	font-size: 14px !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	margin: 0 0 6px !important;
}

/* Cleaner compact status pill. */
body.tjc-office-dashboard-active .tjc-scheduler-status {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	max-width: 92px !important;
	min-height: 21px !important;
	padding: 0 8px !important;
	border-radius: 999px !important;
	font-size: 9px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	border: 1px solid transparent !important;
	box-shadow: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status::before,
body.tjc-office-dashboard-active .tjc-scheduler-status::after {
	display: none !important;
	content: none !important;
}

/* Compact job details. */
body.tjc-office-dashboard-active .tjc-job-detail-line {
	font-size: 11px !important;
	line-height: 1.25 !important;
	gap: 6px !important;
	margin-top: 5px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-town {
	font-size: 10px !important;
	line-height: 1.2 !important;
	margin-left: 18px !important;
}

/* Bottom actions stay inside the square. */
body.tjc-office-dashboard-active .tjc-scheduler-card-actions {
	margin-top: 8px !important;
	padding-top: 8px !important;
	gap: 6px !important;
}

body.tjc-office-dashboard-active .tjc-order-btn {
	width: 30px !important;
	height: 30px !important;
	font-size: 11px !important;
}

body.tjc-office-dashboard-active .tjc-job-action {
	min-width: 72px !important;
	min-height: 30px !important;
	padding: 0 10px !important;
	font-size: 11px !important;
}

/* Status colour system. These selectors work when the PHP badge includes a status slug class. */
body.tjc-office-dashboard-active .tjc-scheduler-status,
body.tjc-office-dashboard-active .tjc-scheduler-status.status-scheduled {
	background: #16a34a !important;
	color: #ffffff !important;
	border-color: #15803d !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-unscheduled {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #1d4ed8 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-on-our-way,
body.tjc-office-dashboard-active .tjc-scheduler-status.status-on_our_way {
	background: #f97316 !important;
	color: #ffffff !important;
	border-color: #ea580c !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-on-site,
body.tjc-office-dashboard-active .tjc-scheduler-status.status-on_site {
	background: #0ea5e9 !important;
	color: #ffffff !important;
	border-color: #0284c7 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-waiting-on-parts,
body.tjc-office-dashboard-active .tjc-scheduler-status.status-waiting_on_parts {
	background: #8b5cf6 !important;
	color: #ffffff !important;
	border-color: #7c3aed !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-follow-up-required,
body.tjc-office-dashboard-active .tjc-scheduler-status.status-follow_up_required {
	background: #06b6d4 !important;
	color: #ffffff !important;
	border-color: #0891b2 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-completed {
	background: #22c55e !important;
	color: #ffffff !important;
	border-color: #16a34a !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-invoiced {
	background: #0f766e !important;
	color: #ffffff !important;
	border-color: #115e59 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-closed {
	background: #475569 !important;
	color: #ffffff !important;
	border-color: #334155 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-status.status-cancelled,
body.tjc-office-dashboard-active .tjc-scheduler-status.status-canceled {
	background: #dc2626 !important;
	color: #ffffff !important;
	border-color: #b91c1c !important;
}


/* Pass 14: remove scheduler status badge and clean compact square job card */
body.tjc-office-dashboard-active .tjc-scheduler-status,
body.tjc-office-dashboard-active .tjc-scheduler-status[class*="status-"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

/* Keep the small scheduler job card square, but make the content breathe again. */
body.tjc-office-dashboard-active .tjc-scheduler-job {
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	min-height: unset !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	padding: 14px !important;
	overflow: hidden !important;
}

/* Avatar + job text layout after removing the status pill. */
body.tjc-office-dashboard-active .tjc-scheduler-job-top {
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) !important;
	align-items: start !important;
	column-gap: 9px !important;
	row-gap: 0 !important;
	margin: 0 0 8px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-main {
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-job-avatar {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	font-size: 13px !important;
	border-radius: 50% !important;
}

/* Name can now use two lines instead of being crushed by the badge. */
body.tjc-office-dashboard-active .tjc-scheduler-job-title {
	max-width: 100% !important;
	font-size: 14px !important;
	line-height: 1.12 !important;
	font-weight: 800 !important;
	margin: 0 !important;
	white-space: normal !important;
	overflow: hidden !important;
	text-overflow: clip !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
}

/* Keep address readable but compact. */
body.tjc-office-dashboard-active .tjc-job-detail-line {
	font-size: 11px !important;
	line-height: 1.25 !important;
	gap: 6px !important;
	margin-top: 6px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-town {
	font-size: 10px !important;
	line-height: 1.2 !important;
	margin-left: 18px !important;
}

/* Keep controls inside the square without feeling cramped. */
body.tjc-office-dashboard-active .tjc-scheduler-card-actions {
	margin-top: 8px !important;
	padding-top: 8px !important;
	gap: 7px !important;
}

body.tjc-office-dashboard-active .tjc-order-btn {
	width: 30px !important;
	height: 30px !important;
	font-size: 11px !important;
}

body.tjc-office-dashboard-active .tjc-job-action {
	min-width: 74px !important;
	min-height: 30px !important;
	padding: 0 10px !important;
	font-size: 11px !important;
}

/* The status colour remains visible through the left border instead of a badge. */
body.tjc-office-dashboard-active .tjc-scheduler-job {
	border-left-width: 5px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-scheduled {
	border-left-color: #16a34a !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-unscheduled {
	border-left-color: #2563eb !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-on-our-way,
body.tjc-office-dashboard-active .tjc-scheduler-job.status-on_our_way {
	border-left-color: #f97316 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-on-site,
body.tjc-office-dashboard-active .tjc-scheduler-job.status-on_site {
	border-left-color: #0ea5e9 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-waiting-on-parts,
body.tjc-office-dashboard-active .tjc-scheduler-job.status-waiting_on_parts {
	border-left-color: #8b5cf6 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-follow-up-required,
body.tjc-office-dashboard-active .tjc-scheduler-job.status-follow_up_required {
	border-left-color: #06b6d4 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-completed {
	border-left-color: #22c55e !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-invoiced {
	border-left-color: #0f766e !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-closed {
	border-left-color: #475569 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.status-cancelled,
body.tjc-office-dashboard-active .tjc-scheduler-job.status-canceled {
	border-left-color: #dc2626 !important;
}

/* Pass 15: final square scheduler card + job type chip instead of status */
body.tjc-office-dashboard-active .tjc-scheduler-status,
body.tjc-office-dashboard-active .tjc-scheduler-status[class*="tjc-status-"],
body.tjc-office-dashboard-active .tjc-scheduler-status[class*="status-"] {
	display: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job {
	position: relative !important;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 14px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	overflow: hidden !important;
	border-left-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-top {
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-main {
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: hidden !important;
	padding-right: 58px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-title {
	font-size: 14px !important;
	line-height: 1.12 !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em !important;
	color: #071a38 !important;
	margin: 0 0 6px !important;
	white-space: normal !important;
	overflow: hidden !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	text-overflow: clip !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-street {
	font-size: 11px !important;
	line-height: 1.22 !important;
	font-weight: 700 !important;
	color: #334155 !important;
	margin: 0 0 3px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-town {
	font-size: 10px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	color: #64748b !important;
	margin: 0 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-type {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	max-width: 58px !important;
	min-height: 19px !important;
	padding: 0 7px !important;
	border-radius: 999px !important;
	font-size: 8px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	background: #2563eb !important;
	color: #fff !important;
	border: 1px solid #1d4ed8 !important;
	box-shadow: 0 6px 14px rgba(37, 99, 235, 0.18) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-call-out,
body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-callout,
body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-call_out {
	background: #ef4444 !important;
	border-color: #dc2626 !important;
	box-shadow: 0 6px 14px rgba(239, 68, 68, 0.18) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-installation,
body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-install {
	background: #2563eb !important;
	border-color: #1d4ed8 !important;
	box-shadow: 0 6px 14px rgba(37, 99, 235, 0.18) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-maintenance,
body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-service {
	background: #16a34a !important;
	border-color: #15803d !important;
	box-shadow: 0 6px 14px rgba(22, 163, 74, 0.18) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-warranty {
	background: #f59e0b !important;
	border-color: #d97706 !important;
	box-shadow: 0 6px 14px rgba(245, 158, 11, 0.18) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-quotation,
body.tjc-office-dashboard-active .tjc-scheduler-job-type.tjc-job-type-quote {
	background: #7c3aed !important;
	border-color: #6d28d9 !important;
	box-shadow: 0 6px 14px rgba(124, 58, 237, 0.18) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-card-actions {
	margin-top: 8px !important;
	padding-top: 8px !important;
	gap: 7px !important;
}

body.tjc-office-dashboard-active .tjc-order-btn {
	width: 30px !important;
	height: 30px !important;
	font-size: 11px !important;
}

body.tjc-office-dashboard-active .tjc-job-action {
	min-width: 74px !important;
	min-height: 30px !important;
	padding: 0 10px !important;
	font-size: 11px !important;
}

/* Pass 16: scheduler card rebuild
   - keep the small job card square
   - stop the job type chip from crushing the customer details
   - use clearer typography
   - add a compact team move control */
body.tjc-office-dashboard-active .tjc-scheduler-job {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 272px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 16px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-top {
  display: block !important;
  margin: 0 0 10px !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-main {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-title {
  width: 100% !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.14 !important;
  font-weight: 900 !important;
  color: #081a34 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-street {
  width: 100% !important;
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #324968 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-town {
  width: 100% !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: #60718a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-bottom {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  align-items: start !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-job-type {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid var(--tjc-job-type-color, #2563eb) !important;
  background: #ffffff !important;
  color: var(--tjc-job-type-color, #2563eb) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px !important;
  width: 100% !important;
  align-items: center !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  border: 1px solid #cfdeec !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #18365f !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 0 9px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-mini-go {
  min-width: 56px !important;
  height: 34px !important;
  padding: 0 10px !important;
  border: 1px solid #2563eb !important;
  border-radius: 10px !important;
  background: #eef4ff !important;
  color: #2563eb !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form .tjc-inline-feedback {
  grid-column: 1 / -1 !important;
  margin-top: -2px !important;
  min-height: 12px !important;
  font-size: 10px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-card-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid #e7eef6 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-order-controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body.tjc-office-dashboard-active .tjc-order-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 10px !important;
}

body.tjc-office-dashboard-active .tjc-job-action {
  min-width: 88px !important;
  height: 34px !important;
  margin-top: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #bcd0ea !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #1f56c5 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

@media (max-width: 1100px) {
  body.tjc-office-dashboard-active .tjc-scheduler-job {
    min-height: 250px !important;
    padding: 14px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job-title {
    font-size: 14px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-team-form {
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-mini-go {
    width: 100% !important;
  }
}

/* Pass 17: scheduler card fit + remove unnecessary inner scheduler shell */
body.tjc-office-dashboard-active .tjc-scheduler-spotlight {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-columns {
  width: 100% !important;
  max-width: 100% !important;
  gap: 14px !important;
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column-body {
  padding: 12px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-job-list {
  width: 100% !important;
  max-width: 100% !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job {
  width: min(100%, 238px) !important;
  max-width: calc(100% - 8px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 14px !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-top {
  flex: 0 0 auto !important;
  margin-bottom: 8px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-bottom {
  margin-top: 10px !important;
  gap: 7px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-job-type {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  align-self: flex-start !important;
  max-width: 100% !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  background: #fff !important;
  color: var(--tjc-job-type-color, #2563eb) !important;
  border-color: var(--tjc-job-type-color, #2563eb) !important;
  box-shadow: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form {
  grid-template-columns: minmax(0, 1fr) 54px !important;
  gap: 6px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form select {
  height: 32px !important;
  min-height: 32px !important;
  font-size: 11px !important;
  padding: 0 8px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-mini-go {
  min-width: 54px !important;
  height: 32px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-card-actions {
  margin-top: auto !important;
  padding-top: 8px !important;
  gap: 6px !important;
}

body.tjc-office-dashboard-active .tjc-order-btn {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
}

body.tjc-office-dashboard-active .tjc-job-action {
  min-width: 78px !important;
  height: 30px !important;
  min-height: 30px !important;
  font-size: 11px !important;
}

@media (max-width: 1100px) {
  body.tjc-office-dashboard-active .tjc-scheduler-job {
    width: min(100%, 224px) !important;
    max-width: calc(100% - 8px) !important;
    padding: 12px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-team-form {
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-mini-go {
    width: 100% !important;
  }
}

/* Pass 18: compact premium scheduler cards, badges, controls */
body.tjc-office-dashboard-active .tjc-scheduler-job {
  width: min(100%, 236px) !important;
  max-width: calc(100% - 8px) !important;
  padding: 13px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid rgba(148, 163, 184, 0.58) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-main {
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 4px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-title {
  font-size: 14.5px !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: normal !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-street {
  font-size: 11.5px !important;
  line-height: 1.22 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-town {
  font-size: 11px !important;
  line-height: 1.18 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job-bottom {
  margin-top: 8px !important;
  gap: 6px !important;
  align-items: start !important;
  justify-items: start !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-job-type {
  justify-self: start !important;
  align-self: start !important;
  width: auto !important;
  max-width: 74% !important;
  min-width: 0 !important;
  min-height: 20px !important;
  height: 20px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--tjc-job-type-color, #2563eb) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 12px rgba(15, 23, 42, 0.13) !important;
  font-size: 9.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-job-type::before {
  content: "" !important;
  width: 5px !important;
  height: 5px !important;
  margin-right: 5px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.24) !important;
  flex: 0 0 auto !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) 50px !important;
  gap: 6px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-team-form select,
body.tjc-office-dashboard-active .tjc-manage-assign-form select,
body.tjc-office-dashboard-active .tjc-inline-assign-grid select,
body.tjc-office-dashboard-active .tjc-assign-form-inline select {
  height: 31px !important;
  min-height: 31px !important;
  border: 1px solid #c8d6e6 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%) !important;
  color: #132b4d !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 4px 10px rgba(15, 23, 42, 0.05) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  padding: 0 28px 0 12px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-mini-go,
body.tjc-office-dashboard-active .tjc-job-action,
body.tjc-office-dashboard-active .tjc-order-btn {
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease, border-color 0.12s ease !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-mini-go {
  min-width: 50px !important;
  height: 31px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #0f3f86 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 14px rgba(15, 63, 134, 0.22) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-card-actions {
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(203, 213, 225, 0.75) !important;
  gap: 7px !important;
}

body.tjc-office-dashboard-active .tjc-order-controls,
body.tjc-office-dashboard-active .tjc-scheduler-order-controls {
  gap: 5px !important;
}

body.tjc-office-dashboard-active .tjc-order-btn {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #eef3f8 !important;
  color: #18365f !important;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.55), 0 5px 10px rgba(15, 23, 42, 0.06) !important;
  font-size: 10px !important;
}

body.tjc-office-dashboard-active .tjc-job-action {
  min-width: 76px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #071a38 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 14px rgba(7, 26, 56, 0.2) !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-mini-go:hover,
body.tjc-office-dashboard-active .tjc-job-action:hover,
body.tjc-office-dashboard-active .tjc-order-btn:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 1100px) {
  body.tjc-office-dashboard-active .tjc-scheduler-job {
    width: min(100%, 226px) !important;
    padding: 12px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job-title {
    font-size: 13.5px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-team-form {
    grid-template-columns: minmax(0, 1fr) 48px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-mini-go {
    width: auto !important;
    min-width: 48px !important;
  }
}

/* Strong mobile/team-style scheduler cards for the office dashboard. */
body.tjc-office-dashboard-active .tjc-scheduler-column{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #dbe5f1;box-shadow:0 12px 28px rgba(15,23,42,.06)}
body.tjc-office-dashboard-active .tjc-scheduler-column-body{padding:12px;background:#fff}
body.tjc-office-dashboard-active .tjc-job-list{gap:12px}
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card{background:#fff;border:1px solid #dfe7f1;border-radius:16px;box-shadow:0 8px 18px rgba(15,23,42,.04);overflow:hidden;padding:0;color:#24324a}
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card-booked{background:linear-gradient(180deg,#fff8f8 0%,#fffdfd 100%);border-color:#efb4b4;box-shadow:0 12px 28px rgba(212,92,92,.12)}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-toggle{display:block;width:100%;padding:14px;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-title-wrap{min-width:0;flex:1}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-title{font-size:20px;font-weight:900;color:#16325c;line-height:1.1;word-break:break-word}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:48%}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge-booked{background:linear-gradient(180deg,#ffe6e6 0%,#ffd9d9 100%);border:1px solid #efb4b4;color:#a33b3b;box-shadow:0 4px 10px rgba(212,92,92,.12)}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge-job-type{background:var(--tjc-job-type-color,#64748b);border:1px solid var(--tjc-job-type-color,#64748b);color:#fff;box-shadow:0 4px 10px rgba(15,23,42,.08)}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-body{display:flex;flex-direction:column;gap:7px}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-meta{font-size:14px;color:#334155;line-height:1.45;word-break:break-word}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #e7edf5}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-hint{font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-chevron{font-size:24px;line-height:1;color:#64748b}
body.tjc-office-dashboard-active .tjc-scheduler-job.is-open .tjc-tech-card-chevron{transform:rotate(45deg)}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-actions{padding:0 14px 14px;border-top:1px solid #e7edf5;background:#fbfdff}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;border:none;background:#eef2f7;color:#23395d;text-decoration:none;font-size:14px;font-weight:800;cursor:pointer;text-align:center}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-btn-primary{background:#2f6fdd;color:#fff}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-order-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center;margin:0}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-order-btn{min-height:42px;border-radius:12px;border:none;background:#eef2f7;color:#23395d;font-size:15px;font-weight:900;cursor:pointer}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-team-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e7edf5}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-team-form select{height:42px;border:1px solid #cfd9e6;border-radius:12px;padding:0 10px;background:#fff;color:#23395d;font-weight:700;min-width:0;width:100%}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-mini-go{height:42px;border:none;border-radius:12px;background:#23395d;color:#fff;font-size:13px;font-weight:900;padding:0 12px;cursor:pointer}
@media (max-width:980px){body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-standard,body.tjc-office-dashboard-active .tjc-scheduler-columns.is-four-up{grid-template-columns:1fr}}
@media (max-width:560px){body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-toggle{padding:12px}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-title{font-size:18px}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-head{flex-direction:column;align-items:flex-start}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badges{justify-content:flex-start;max-width:100%}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-action-grid{grid-template-columns:1fr}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-team-form{grid-template-columns:1fr}}
/* Office scheduler compact column card fix. The Teams Dashboard keeps its own full-width card style. */
body.tjc-office-dashboard-active .tjc-scheduler-column,
body.tjc-office-dashboard-active .tjc-scheduler-column-body,
body.tjc-office-dashboard-active .tjc-job-list {
  overflow: visible !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  justify-content: initial !important;
  overflow: visible !important;
  padding: 0 !important;
  border-radius: 16px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-toggle {
  padding: 12px 12px 10px !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-title-wrap {
  width: 100% !important;
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-title {
  font-size: 18px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badges {
  width: 100% !important;
  max-width: 100% !important;
  justify-content: flex-start !important;
  gap: 7px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge {
  min-height: 28px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-meta {
  font-size: 13px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-foot {
  margin-top: 10px !important;
  padding-top: 9px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-hint {
  font-size: 11px !important;
  letter-spacing: .04em !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-chevron {
  font-size: 22px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-actions {
  display: block !important;
  padding: 0 12px 12px !important;
  border-top: 1px solid #e7edf5 !important;
  background: #fbfdff !important;
  overflow: visible !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-actions[hidden] {
  display: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-action-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  padding-top: 10px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-btn,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-order-btn,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-scheduler-mini-go {
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  padding: 0 10px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-scheduler-order-controls {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-scheduler-team-form {
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-scheduler-team-form select {
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
}

@media (min-width: 1180px) {
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-two-up .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-title {
    font-size: 19px !important;
  }
}

/* Pass 18: final force override for compact Office Dashboard scheduler job type badges. */
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job span.tjc-scheduler-job-type,
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job .tjc-scheduler-job-type,
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job .tjc-scheduler-job-type[class*="tjc-job-type-"] {
  min-height: 20px !important;
  height: 20px !important;
  line-height: 18px !important;
  padding: 0 7px !important;
  font-size: 9px !important;
  border-radius: 999px !important;
  letter-spacing: .045em !important;
  white-space: nowrap !important;
}

/* Pass 19: actual Office Dashboard scheduler job-type chips.
   Previous compact rule targeted the old .tjc-scheduler-job-type class, but the upgraded scheduler cards now render job types as .tjc-tech-badge-job-type. */
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-badges {
  gap: 6px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge.tjc-tech-badge-job-type,
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card span.tjc-tech-badge-job-type {
  min-height: 23px !important;
  height: 23px !important;
  line-height: 1 !important;
  padding: 0 9px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  border-radius: 999px !important;
  box-shadow: 0 3px 7px rgba(15, 23, 42, .07) !important;
  white-space: nowrap !important;
}

/* Pass 21: keep the office scheduler as a proper 3-column board at desktop width.
   Do not let a single team stretch full width and do not let cards collapse into skinny columns. */
body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home {
  grid-template-columns: minmax(780px, 2.4fr) minmax(220px, .55fr) !important;
  gap: 14px !important;
}

body.tjc-office-dashboard-active .tjc-dashboard-side-stack,
body.tjc-office-dashboard-active .tjc-dashboard-side-panel,
body.tjc-office-dashboard-active .tjc-performance-panel-top,
body.tjc-office-dashboard-active .tjc-analytics-card-panel {
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-panel-prominent,
body.tjc-office-dashboard-active .tjc-scheduler-spotlight {
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-standard,
body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-up,
body.tjc-office-dashboard-active .tjc-scheduler-columns.is-four-up {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(250px, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  min-width: 780px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-columns.is-two-up {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  min-width: 520px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column-body {
  padding: 16px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card {
  width: 100% !important;
  max-width: 100% !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-toggle {
  padding: 14px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-head {
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badges {
  width: auto !important;
  max-width: 48% !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-title {
  font-size: 18px !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 1320px) {
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-standard,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-four-up {
    grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
    min-width: 520px !important;
  }
}

@media (max-width: 560px) {
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-standard,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-two-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-four-up {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-head {
    flex-direction: column !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badges {
    max-width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* Pass 22: mobile/app usability and refined scheduler job-type badge.
   Product decision: use badge Option A from the mockups. */
body.tjc-office-dashboard-active .tjc-scheduler-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

body.tjc-office-dashboard-active .tjc-manual-refresh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid #cbd9eb;
  background: #ffffff;
  color: #183257;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

body.tjc-office-dashboard-active .tjc-manual-refresh-btn:disabled {
  opacity: .7;
  cursor: wait;
}

body.tjc-office-dashboard-active .tjc-scheduler-mobile-filter {
  display: none;
}

body.tjc-office-dashboard-active .tjc-scheduler-mobile-select {
  width: 100%;
  min-height: 42px;
  padding: 0 38px 0 14px;
  border-radius: 13px;
  border: 1px solid #cbd9eb;
  background: #ffffff;
  color: #183257;
  font-size: 16px;
  font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge.tjc-tech-badge-job-type,
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card span.tjc-tech-badge-job-type,
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge-job-type {
  min-height: 22px !important;
  height: 22px !important;
  line-height: 1 !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--tjc-job-type-color, #ef4444) 8%, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--tjc-job-type-color, #ef4444) 36%, #ffffff) !important;
  color: var(--tjc-job-type-color, #ef4444) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-scheduler-header-mockup {
    align-items: stretch !important;
    gap: 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-toolbar {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-tabs-mockup {
    display: none !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-mobile-filter {
    display: block;
    min-width: 0;
  }

  body.tjc-office-dashboard-active .tjc-manual-refresh-btn {
    min-height: 42px;
    padding: 0 12px;
    box-shadow: none;
  }
}

/* Tablet drawer navigation fix
 * Keeps the office dashboard sidebar as a hamburger drawer on tablet landscape,
 * instead of stacking the full sidebar above the dashboard content.
 */
@media (max-width:1180px){
  html.tjc-mobile-nav-open,
  html.tjc-mobile-nav-open body{
    overflow:hidden !important;
  }

  .tjc-frontend-wrap:has(.tjc-office-shell){
    max-width:100% !important;
    width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .tjc-office-mobile-bar{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
  }

  .tjc-mobile-menu-toggle{
    display:inline-flex !important;
    flex-direction:column;
    justify-content:center;
    gap:3px;
    width:40px;
    height:40px;
    border:1px solid #d8e2ee;
    border-radius:10px;
    background:#fff;
    padding:0 10px;
    cursor:pointer;
  }

  .tjc-mobile-menu-toggle span{
    display:block;
    height:2px;
    background:#1f3654;
    border-radius:999px;
  }

  .tjc-office-mobile-brand{
    display:flex;
    align-items:center;
  }

  .tjc-office-mobile-brand .tjc-office-brand-logo{
    width:112px;
    max-width:100%;
    height:auto;
  }

  .tjc-office-mobile-quickadd{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border-radius:9px;
    background:#2f6fdd;
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
  }

  .tjc-office-shell{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .tjc-office-sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    z-index:120 !important;
    width:min(84vw,320px) !important;
    max-width:320px !important;
    height:100vh !important;
    overflow:auto !important;
    transform:translateX(-105%) !important;
    transition:transform .18s ease !important;
    padding-top:18px !important;
    border-radius:0 18px 18px 0 !important;
  }

  .tjc-office-sidebar.is-open,
  .tjc-office-sidebar[data-mobile-drawer].is-open,
  [data-mobile-drawer].is-open{
    transform:translateX(0) !important;
  }

  .tjc-mobile-drawer-close{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:8px;
    border:1px solid #d7e2ee;
    background:#fff;
    color:#22364d;
    font-size:18px;
    cursor:pointer;
  }

  .tjc-office-mobile-overlay{
    display:block !important;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.32);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
    z-index:110;
  }

  .tjc-office-mobile-overlay.is-open,
  html.tjc-mobile-nav-open .tjc-office-mobile-overlay{
    opacity:1;
    pointer-events:auto;
  }

  .tjc-office-sidebar-head{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
}

/* Pass 13: row action dropdown positioning.
   Open normal rows downward, bottom row upward, and keep the menu above neighbouring controls. */
.tjc-table-wrap,
.tjc-queue-panel,
.tjc-inventory-list-card{
  overflow:visible!important;
}

.tjc-office-table,
.tjc-office-table tbody,
.tjc-office-table tr,
.tjc-office-table td{
  overflow:visible!important;
}

.tjc-office-table tr{
  position:relative;
}

.tjc-office-table tr:has(.tjc-manage-menu[open]){
  z-index:50;
}

.tjc-manage-menu{
  position:relative!important;
  z-index:1;
}

.tjc-manage-menu[open]{
  z-index:999!important;
}

.tjc-manage-menu-panel{
  right:0!important;
  left:auto!important;
  top:calc(100% + 6px)!important;
  bottom:auto!important;
  z-index:1000!important;
}

.tjc-office-table tbody tr:last-child .tjc-manage-menu-panel{
  top:auto!important;
  bottom:calc(100% + 6px)!important;
}

.tjc-office-table tbody tr:only-child .tjc-manage-menu-panel{
  top:calc(100% + 6px)!important;
  bottom:auto!important;
}

/* Team Performance v2 */
.tjc-performance-panel-top .tjc-panel-kicker{
  display:none!important;
}
.tjc-performance-panel-top .tjc-section-title,
.tjc-performance-panel .tjc-section-title{
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  color:#142946;
  margin-bottom:14px;
  letter-spacing:-.01em;
}
.tjc-team-performance-list{
  display:grid;
  gap:12px;
}
.tjc-performance-panel-top .tjc-team-progress-row,
.tjc-performance-panel .tjc-team-progress-row{
  display:grid;
  grid-template-columns:minmax(130px,190px) minmax(0,1fr) minmax(150px,190px);
  align-items:center;
  gap:14px;
  padding:14px 0;
  margin:0;
  border-bottom:1px solid #e4edf7;
}
.tjc-performance-panel-top .tjc-team-progress-row:last-child,
.tjc-performance-panel .tjc-team-progress-row:last-child{
  border-bottom:none;
}
.tjc-team-progress-head{
  min-width:0;
}
.tjc-performance-panel-top .tjc-team-progress-name,
.tjc-performance-panel .tjc-team-progress-name{
  font-size:14px;
  line-height:1.2;
  font-weight:900;
  color:#17345c;
  margin-bottom:6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tjc-team-performance-status{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  background:#eef4ff;
  color:#33527a;
}
.tjc-team-performance-status.is-strong{background:#e8f8ee;color:#177245}
.tjc-team-performance-status.is-good{background:#edf8e7;color:#3f7f18}
.tjc-team-performance-status.is-warning{background:#fff6db;color:#9a6100}
.tjc-team-performance-status.is-behind{background:#ffe9e7;color:#b42318}
.tjc-team-performance-status.is-idle{background:#eef2f7;color:#61738c}
.tjc-performance-panel-top .tjc-team-progress-bar,
.tjc-performance-panel .tjc-team-progress-bar{
  position:relative;
  width:100%;
  height:13px;
  border-radius:999px;
  background:#e6edf5;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.12);
}
.tjc-performance-panel-top .tjc-team-progress-fill,
.tjc-performance-panel .tjc-team-progress-fill{
  position:relative;
  z-index:1;
  display:block;
  height:100%;
  border-radius:999px;
  box-shadow:0 7px 16px rgba(15,23,42,.12);
}
.tjc-performance-panel-top .tjc-team-progress-fill.is-red,
.tjc-performance-panel .tjc-team-progress-fill.is-red{background:#dc2626;}
.tjc-performance-panel-top .tjc-team-progress-fill.is-orange,
.tjc-performance-panel .tjc-team-progress-fill.is-orange{background:#f97316;}
.tjc-performance-panel-top .tjc-team-progress-fill.is-yellow,
.tjc-performance-panel .tjc-team-progress-fill.is-yellow{background:#facc15;}
.tjc-performance-panel-top .tjc-team-progress-fill.is-green,
.tjc-performance-panel .tjc-team-progress-fill.is-green{background:#22c55e;}
.tjc-performance-panel-top .tjc-team-progress-count,
.tjc-performance-panel .tjc-team-progress-count{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
  min-height:auto;
  padding:0;
  background:transparent;
  color:#17345c;
  border-radius:0;
  text-align:right;
  font-size:12px;
  font-weight:800;
}
.tjc-team-progress-count strong{
  font-size:14px;
  line-height:1.1;
  font-weight:900;
  color:#17345c;
}
.tjc-team-progress-count > span:not(.tjc-badge){
  font-size:11px;
  line-height:1.15;
  font-weight:700;
  color:#657891;
}
@media (max-width:900px){
  .tjc-performance-panel-top .tjc-team-progress-row,
  .tjc-performance-panel .tjc-team-progress-row{
    grid-template-columns:1fr;
    gap:9px;
  }
  .tjc-performance-panel-top .tjc-team-progress-count,
  .tjc-performance-panel .tjc-team-progress-count{
    justify-content:start;
    text-align:left;
  }
}


/* Team Performance progress bar fix
   The fill colour is based on the actual completion percentage.
   No gradient here: a short bar must not show red, orange, yellow and green at once. */
body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-bar,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-bar {
  height: 10px !important;
  border-radius: 999px !important;
  background: #dde7f2 !important;
  overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-bar span,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-bar span {
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  background-image: none !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-fill.is-red,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-fill.is-red { background-color: #dc2626 !important; }
body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-fill.is-orange,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-fill.is-orange { background-color: #f97316 !important; }
body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-fill.is-yellow,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-fill.is-yellow { background-color: #facc15 !important; }
body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-fill.is-green,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-fill.is-green { background-color: #22c55e !important; }

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-count,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-count {
  background: transparent !important;
  border-radius: 0 !important;
  color: #17345c !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  min-height: auto !important;
  padding: 0 !important;
}


/* Manage/three-dot popup portal fix
   Keeps action menus above tables/cards without creating internal scrollbars.
   Works with the JS that moves .tjc-manage-menu-panel to document.body while open. */
body.tjc-office-dashboard-active .tjc-floating-manage-panel,
.tjc-floating-manage-panel {
  position: fixed !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2147483000 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 220px !important;
  max-width: calc(100vw - 24px) !important;
  padding: 10px !important;
  background: #ffffff !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .18) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-floating-manage-panel .tjc-link-btn,
body.tjc-office-dashboard-active .tjc-floating-manage-panel .tjc-link-btn-primary,
.tjc-floating-manage-panel .tjc-link-btn,
.tjc-floating-manage-panel .tjc-link-btn-primary {
  width: 100% !important;
  justify-content: center !important;
}

body.tjc-office-dashboard-active .tjc-floating-manage-panel form,
.tjc-floating-manage-panel form {
  margin: 0 !important;
}

body.tjc-office-dashboard-active .tjc-floating-manage-panel select,
body.tjc-office-dashboard-active .tjc-floating-manage-panel input,
.tjc-floating-manage-panel select,
.tjc-floating-manage-panel input {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Keep table scrolling horizontally, but never trap the floating action menu vertically. */
body.tjc-office-dashboard-active .tjc-table-wrap,
body.tjc-office-dashboard-active .tjc-queue-panel,
body.tjc-office-dashboard-active .tjc-inventory-list-card {
  overflow-y: visible !important;
}

body.tjc-office-dashboard-active .tjc-office-table,
body.tjc-office-dashboard-active .tjc-office-table tbody,
body.tjc-office-dashboard-active .tjc-office-table tr,
body.tjc-office-dashboard-active .tjc-office-table td {
  overflow: visible !important;
}

/* When a menu is open, keep its trigger visually active but do not rely on table stacking. */
body.tjc-office-dashboard-active .tjc-manage-menu[open] {
  z-index: 999 !important;
}

body.tjc-office-dashboard-active .tjc-manage-menu[open] > summary {
  box-shadow: 0 8px 20px rgba(37, 99, 235, .18) !important;
}


/* Manage popup no-flicker guard */
.tjc-floating-manage-panel {
  transform: none !important;
  animation: none !important;
}

/* Manage popup portal position hardening
   Fixes portaled panels being hidden by older .tjc-manage-menu-panel top/right !important rules. */
body.tjc-office-dashboard-active .tjc-floating-manage-panel,
.tjc-floating-manage-panel {
  left: var(--tjc-floating-left, 0px) !important;
  top: var(--tjc-floating-top, 0px) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--tjc-floating-width, auto) !important;
  visibility: visible;
}

body.tjc-office-dashboard-active .tjc-floating-manage-panel[style],
.tjc-floating-manage-panel[style] {
  left: var(--tjc-floating-left, 0px) !important;
  top: var(--tjc-floating-top, 0px) !important;
}

/* Pass 24: scheduler date navigation and team header rounding. */
body.tjc-office-dashboard-active .tjc-scheduler-date-form {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

body.tjc-office-dashboard-active .tjc-scheduler-date-input {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #cbd9eb;
  border-radius: 12px;
  background: #ffffff;
  color: #183257;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

body.tjc-office-dashboard-active .tjc-scheduler-date-submit {
  min-height: 38px;
  white-space: nowrap;
}

body.tjc-office-dashboard-active .tjc-scheduler-column {
  border-radius: 22px;
  overflow: hidden;
}

body.tjc-office-dashboard-active .tjc-scheduler-column-head {
  border-radius: 20px 20px 0 0;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-scheduler-date-form,
  body.tjc-office-dashboard-active .tjc-scheduler-date-input,
  body.tjc-office-dashboard-active .tjc-scheduler-date-submit {
    width: 100%;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-date-form {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Pass 25: scheduler selected date label, cleaner empty scheduler state, timezone-safe display polish. */
body.tjc-office-dashboard-active .tjc-scheduler-current-date {
  margin-top: 2px;
  color: #36506f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -.01em;
}

body.tjc-office-dashboard-active .tjc-scheduler-empty {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7b8ca4;
  font-size: 13px;
  font-weight: 800;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.tjc-office-dashboard-active .tjc-job-list:has(.tjc-scheduler-empty) {
  min-height: 132px;
}

body.tjc-office-dashboard-active .tjc-scheduler-column-head {
  border-radius: 20px 20px 0 0;
}

/* Account menu: use a consistent Account label instead of user initials. */
.tjc-office-account-trigger{
  width:auto!important;
  min-width:96px!important;
  height:42px!important;
  gap:7px!important;
  padding:0 14px!important;
  border-radius:14px!important;
}
.tjc-office-account-label{
  color:#17365f!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}
.tjc-office-account-caret{
  color:#5c7190!important;
  font-size:11px!important;
  line-height:1!important;
  transform:translateY(-1px);
}
.tjc-office-account-email{
  padding:0 10px 9px!important;
  margin:-1px 0 5px!important;
  color:#667892!important;
  font-size:11px!important;
  font-weight:800!important;
  border-bottom:1px solid #e7eef7!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tjc-office-account-name{
  border-bottom:0!important;
  margin-bottom:0!important;
  padding-bottom:4px!important;
}
@media (max-width:780px){
  .tjc-office-account-trigger{
    width:auto!important;
    min-width:88px!important;
    height:38px!important;
    padding:0 12px!important;
  }
}

/* Batch 1: Account dropdown priority and safe active state.
   Keep this isolated from row action menus and mobile dashboard layout. */
body.tjc-office-dashboard-active .tjc-office-main-topbar,
body.tjc-office-dashboard-active .tjc-office-main-actions,
body.tjc-office-dashboard-active .tjc-office-account-menu{
  overflow:visible!important;
}

body.tjc-office-dashboard-active .tjc-office-account-trigger{
  border:0!important;
  outline:0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  color:#17365f!important;
  box-shadow:0 0 0 1px rgba(191,213,255,.9),0 8px 18px rgba(15,23,42,.08)!important;
  transform:none!important;
}

body.tjc-office-dashboard-active .tjc-office-account-trigger:hover,
body.tjc-office-dashboard-active .tjc-office-account-menu[open] .tjc-office-account-trigger{
  border:0!important;
  outline:0!important;
  background:linear-gradient(180deg,#eaf4ff 0%,#dbeafe 100%)!important;
  color:#0b4fc7!important;
  box-shadow:0 0 0 2px rgba(37,99,235,.22),0 10px 22px rgba(37,99,235,.14)!important;
}

body.tjc-office-dashboard-active .tjc-office-account-menu[open] .tjc-office-account-label,
body.tjc-office-dashboard-active .tjc-office-account-menu[open] .tjc-office-account-caret{
  color:#0b4fc7!important;
}

body.tjc-office-dashboard-active .tjc-floating-account-panel{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  z-index:2147483001!important;
  min-width:220px!important;
  max-width:calc(100vw - 24px)!important;
  display:block!important;
  border-radius:16px!important;
  border:1px solid #d6e2ef!important;
  background:rgba(255,255,255,.99)!important;
  box-shadow:0 22px 45px rgba(15,23,42,.18)!important;
  box-sizing:border-box!important;
}

/* Batch 3: mobile dashboard header/logo polish only. */
.tjc-office-brand,
.tjc-office-mobile-brand,
.tjc-office-brand-logo{
  background:transparent !important;
  box-shadow:none !important;
}
.tjc-office-brand-logo{
  object-fit:contain !important;
}
@media (max-width:780px){
  .tjc-office-mobile-quickadd{
    display:none !important;
  }
  .tjc-office-mobile-bar{
    grid-template-columns:44px minmax(0,1fr) 44px;
    display:grid !important;
    align-items:center !important;
    gap:8px !important;
  }
  .tjc-office-mobile-brand{
    justify-content:center !important;
    min-width:0 !important;
  }
  .tjc-office-mobile-brand .tjc-office-brand-logo{
    width:142px !important;
    max-width:min(58vw,170px) !important;
    height:auto !important;
  }
}
@media (max-width:420px){
  .tjc-office-mobile-brand .tjc-office-brand-logo{
    width:132px !important;
    max-width:56vw !important;
  }
}

/* Batch 5: mobile dashboard scheduler and Team Performance compacting. */
@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-performance-panel-top,
  body.tjc-office-dashboard-active .tjc-performance-panel {
    padding: 10px 12px !important;
    border-radius: 18px !important;
    margin-bottom: 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-section-title,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-section-title {
    font-size: 17px !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
  }

  body.tjc-office-dashboard-active .tjc-team-performance-list {
    gap: 6px !important;
  }

  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-row,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px 10px !important;
    padding: 7px 0 !important;
    align-items: center !important;
  }

  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-head,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-head {
    grid-column: 1 / 2 !important;
  }

  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-name,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-name {
    font-size: 13px !important;
    line-height: 1.15 !important;
    margin-bottom: 0 !important;
  }

  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-bar,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-bar {
    grid-column: 1 / -1 !important;
    height: 7px !important;
    margin-top: 2px !important;
  }

  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-count,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-count {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    align-items: flex-end !important;
    justify-content: center !important;
    text-align: right !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body.tjc-office-dashboard-active .tjc-team-progress-count strong {
    font-size: 13px !important;
    line-height: 1 !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-toolbar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  body.tjc-office-dashboard-active .tjc-manual-refresh-btn,
  body.tjc-office-dashboard-active .tjc-scheduler-mobile-select {
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-mobile-filter {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-date-form {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: visible !important;
    opacity: .01 !important;
    pointer-events: none !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-date-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-date-submit {
    display: none !important;
  }
}

/* Batch 6: mobile contained horizontal scrolling for wide dashboard tables/lists.
   Keep the page itself fixed to the viewport, but allow each table block to scroll internally. */
@media (max-width: 780px) {
  html.tjc-office-dashboard-active,
  html.tjc-office-dashboard-active body,
  body.tjc-office-dashboard-active {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.tjc-office-dashboard-active .tjc-frontend-wrap:has(.tjc-office-shell),
  body.tjc-office-dashboard-active .tjc-office-shell,
  body.tjc-office-dashboard-active .tjc-office-main,
  body.tjc-office-dashboard-active .tjc-dashboard-page,
  body.tjc-office-dashboard-active .tjc-panel,
  body.tjc-office-dashboard-active .tjc-queue-panel,
  body.tjc-office-dashboard-active .tjc-client-profile-shell,
  body.tjc-office-dashboard-active .tjc-client-layout-grid,
  body.tjc-office-dashboard-active .tjc-client-main-stack,
  body.tjc-office-dashboard-active .tjc-client-side-stack,
  body.tjc-office-dashboard-active .tjc-client-block {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-page {
    width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow-x: hidden !important;
  }

  body.tjc-office-dashboard-active .tjc-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding-bottom: 8px;
    box-sizing: border-box !important;
  }

  body.tjc-office-dashboard-active .tjc-table-wrap::after {
    content: "Swipe sideways to see all columns";
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    text-align: right;
  }

  body.tjc-office-dashboard-active .tjc-table-wrap > .tjc-office-table,
  body.tjc-office-dashboard-active .tjc-table-wrap > table {
    width: max-content !important;
    max-width: none !important;
    min-width: 760px !important;
  }

  body.tjc-office-dashboard-active #tjc-clients-table {
    min-width: 820px !important;
  }

  body.tjc-office-dashboard-active .tjc-job-list-table,
  body.tjc-office-dashboard-active #tjc-office-table {
    min-width: 820px !important;
  }

  body.tjc-office-dashboard-active .tjc-client-block .tjc-office-table {
    min-width: 680px !important;
  }

  body.tjc-office-dashboard-active .tjc-actions-col,
  body.tjc-office-dashboard-active .tjc-cell-manage {
    min-width: 116px !important;
    white-space: nowrap !important;
  }

  body.tjc-office-dashboard-active .tjc-office-table th,
  body.tjc-office-dashboard-active .tjc-office-table td {
    white-space: nowrap;
  }

  body.tjc-office-dashboard-active .tjc-office-table td:nth-child(4),
  body.tjc-office-dashboard-active .tjc-office-table th:nth-child(4),
  body.tjc-office-dashboard-active #tjc-clients-table td:nth-child(4),
  body.tjc-office-dashboard-active #tjc-clients-table th:nth-child(4) {
    white-space: normal;
    min-width: 220px;
  }

  body.tjc-office-dashboard-active .tjc-queue-tools,
  body.tjc-office-dashboard-active .tjc-queue-tools-slim {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-search-input,
  body.tjc-office-dashboard-active .tjc-search-input-slim {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* Batch 7: Analytics tab foundation */
body.tjc-office-dashboard-active .tjc-analytics-module {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.tjc-office-dashboard-active .tjc-analytics-hero-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

body.tjc-office-dashboard-active .tjc-analytics-filter-form {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body.tjc-office-dashboard-active .tjc-analytics-range-select {
  min-height: 42px;
  border: 1px solid #d7e1ef;
  border-radius: 14px;
  background: #fff;
  color: #102033;
  font-weight: 800;
  padding: 0 38px 0 14px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

body.tjc-office-dashboard-active .tjc-analytics-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.tjc-office-dashboard-active .tjc-analytics-summary-card {
  position: relative;
  overflow: hidden;
}

body.tjc-office-dashboard-active .tjc-analytics-summary-card::after {
  content: "";
  position: absolute;
  right: -24px;
  top: -24px;
  width: 82px;
  height: 82px;
  border-radius: 999px;
  opacity: .12;
  background: currentColor;
}

body.tjc-office-dashboard-active .tjc-analytics-summary-card-blue { color: #2563eb; }
body.tjc-office-dashboard-active .tjc-analytics-summary-card-green { color: #16a34a; }
body.tjc-office-dashboard-active .tjc-analytics-summary-card-orange { color: #f97316; }
body.tjc-office-dashboard-active .tjc-analytics-summary-card-red { color: #dc2626; }
body.tjc-office-dashboard-active .tjc-analytics-summary-card .tjc-kpi-label { color: #64748b; }
body.tjc-office-dashboard-active .tjc-analytics-summary-card .tjc-kpi-value { color: #0f172a; }

body.tjc-office-dashboard-active .tjc-analytics-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.tjc-office-dashboard-active .tjc-analytics-report-card-wide {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  body.tjc-office-dashboard-active .tjc-analytics-summary-grid,
  body.tjc-office-dashboard-active .tjc-analytics-report-grid {
    grid-template-columns: 1fr;
  }

  body.tjc-office-dashboard-active .tjc-analytics-hero-panel {
    align-items: stretch;
  }

  body.tjc-office-dashboard-active .tjc-analytics-filter-form,
  body.tjc-office-dashboard-active .tjc-analytics-range-select,
  body.tjc-office-dashboard-active .tjc-analytics-filter-form .tjc-manual-refresh-btn {
    width: 100%;
  }
}

/* Batch 8: Analytics visual chart polish */
body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-row {
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr) minmax(58px, auto);
  gap: 12px;
  align-items: center;
}

body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-track {
  height: 14px;
  background: #e8eef6;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .07);
}

body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-track span {
  min-width: 4px;
  box-shadow: 0 4px 10px rgba(15, 23, 42, .10);
}

body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-value {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  min-width: 58px;
}

body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-value strong {
  font-size: 14px;
  color: #102033;
}

body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-value span {
  font-size: 11px;
  font-weight: 900;
  color: #64748b;
}

body.tjc-office-dashboard-active .tjc-analytics-trend {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-height: 190px;
  padding: 12px 4px 4px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

body.tjc-office-dashboard-active .tjc-analytics-trend-item {
  flex: 1 0 38px;
  min-width: 38px;
  display: grid;
  grid-template-rows: 20px 120px auto;
  align-items: end;
  gap: 6px;
  text-align: center;
}

body.tjc-office-dashboard-active .tjc-analytics-trend-count {
  font-size: 11px;
  font-weight: 900;
  color: #334155;
  line-height: 1;
}

body.tjc-office-dashboard-active .tjc-analytics-trend-bar-wrap {
  position: relative;
  height: 120px;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef4fb 100%);
  border: 1px solid #dce6f2;
  overflow: hidden;
}

body.tjc-office-dashboard-active .tjc-analytics-trend-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  min-height: 0;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(180deg, #5f91f5 0%, #2f6fdd 100%);
  box-shadow: 0 -4px 12px rgba(47, 111, 221, .18);
}

body.tjc-office-dashboard-active .tjc-analytics-trend-label {
  font-size: 10px;
  font-weight: 900;
  color: #64748b;
  line-height: 1.15;
  min-height: 24px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 9px 0;
  }

  body.tjc-office-dashboard-active .tjc-analytics-report-card .tjc-analytics-value {
    justify-content: flex-start;
  }

  body.tjc-office-dashboard-active .tjc-analytics-trend {
    min-height: 170px;
    gap: 8px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-trend-item {
    flex-basis: 34px;
    min-width: 34px;
    grid-template-rows: 18px 104px auto;
  }

  body.tjc-office-dashboard-active .tjc-analytics-trend-bar-wrap {
    height: 104px;
  }
}

/* Batch 9: Analytics cleanup/refinement */
body.tjc-office-dashboard-active .tjc-analytics-filter-form {
  flex: 0 0 auto;
}

body.tjc-office-dashboard-active .tjc-analytics-range-tabs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px;
  border: 1px solid #d7e1ef;
  border-radius: 999px;
  background: #f8fafc;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.9), 0 8px 18px rgba(15,23,42,.05);
}

body.tjc-office-dashboard-active .tjc-analytics-range-tab {
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #475569;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
  min-height: 36px;
  padding: 0 16px;
  text-align: center;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
  white-space: nowrap;
}

body.tjc-office-dashboard-active .tjc-analytics-range-tab:hover,
body.tjc-office-dashboard-active .tjc-analytics-range-tab:focus-visible {
  background: #eef5ff;
  color: #1d4ed8;
  outline: none;
}

body.tjc-office-dashboard-active .tjc-analytics-range-tab.is-active {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 8px 16px rgba(37,99,235,.22);
}

@media (max-width: 900px) {
  body.tjc-office-dashboard-active .tjc-analytics-filter-form {
    width: 100%;
  }

  body.tjc-office-dashboard-active .tjc-analytics-range-tabs {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    border-radius: 18px;
    padding: 6px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-range-tab {
    justify-content: center;
    min-height: 42px;
    width: 100%;
  }
}

/* Batch 10: Analytics reporting basis selector */
body.tjc-office-dashboard-active .tjc-analytics-filter-form {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

body.tjc-office-dashboard-active .tjc-analytics-filter-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.tjc-office-dashboard-active .tjc-analytics-filter-label {
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

body.tjc-office-dashboard-active .tjc-analytics-range-tab {
    text-decoration: none;
}

body.tjc-office-dashboard-active .tjc-analytics-basis-tabs .tjc-analytics-range-tab.is-active {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    box-shadow: 0 10px 22px rgba(22, 163, 74, .22);
}

@media (max-width: 780px) {
    body.tjc-office-dashboard-active .tjc-analytics-filter-form,
    body.tjc-office-dashboard-active .tjc-analytics-filter-group,
    body.tjc-office-dashboard-active .tjc-analytics-range-tabs {
        width: 100%;
    }

    body.tjc-office-dashboard-active .tjc-analytics-range-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Batch 10 micro-fix: center analytics selector text inside pill buttons */
body.tjc-office-dashboard-active .tjc-analytics-range-tabs .tjc-analytics-range-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.1;
    text-align: center;
}

body.tjc-office-dashboard-active .tjc-analytics-filter-label {
    display: block;
    padding-left: 2px;
}

@media (max-width: 780px) {
    body.tjc-office-dashboard-active .tjc-analytics-range-tabs .tjc-analytics-range-tab {
        min-height: 44px;
    }
}


/* Pass 23: compact corner status badge and job type row under the client name. */
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card{position:relative;overflow:visible !important}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-head{display:block;margin-bottom:10px}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-title-wrap{display:block;min-width:0;flex:none}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start;max-width:100%;margin-top:8px}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status{position:absolute;top:-10px;right:12px;z-index:4;display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.45);box-shadow:0 8px 18px rgba(15,23,42,.16);font-size:10px;font-weight:900;letter-spacing:.04em;line-height:1;white-space:nowrap;backdrop-filter:blur(6px);width:auto;max-width:calc(100% - 24px)}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:rgba(255,255,255,.18);font-size:10px;line-height:1;flex:0 0 auto}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-on-our-way{background:linear-gradient(180deg,#3b82f6 0%,#1d4ed8 100%);color:#fff}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-on-site{background:linear-gradient(180deg,#34c759 0%,#16a34a 100%);color:#fff}
@media (max-width:560px){body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status{top:-8px;right:10px;min-height:22px;padding:0 8px;font-size:9px;gap:5px;max-width:calc(100% - 20px)}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-dot{width:14px;height:14px;font-size:9px}body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badges{margin-top:8px}}


/* Pass 24: final compact corner status badge and left-aligned job type chip.
   Keeps the live status as a small top-right overlap and prevents mobile full-width stretching. */
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card,
.tjc-tech-shell .tjc-tech-card {
  position: relative !important;
  overflow: visible !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-head,
.tjc-tech-shell .tjc-tech-card-head {
  display: block !important;
  text-align: left !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-title-wrap,
.tjc-tech-shell .tjc-tech-card-title-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-card-title,
.tjc-tech-shell .tjc-tech-card-title {
  text-align: left !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badges,
.tjc-tech-shell .tjc-tech-badges {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 8px !important;
  text-align: left !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge-job-type,
.tjc-tech-shell .tjc-tech-badge-job-type {
  margin-left: 0 !important;
  margin-right: auto !important;
  align-self: flex-start !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status,
.tjc-tech-shell .tjc-card-corner-status {
  position: absolute !important;
  top: -11px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 5 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  align-self: auto !important;

  width: max-content !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
  inline-size: max-content !important;
  min-inline-size: 0 !important;
  max-inline-size: calc(100% - 24px) !important;

  height: 24px !important;
  min-height: 24px !important;
  line-height: 1 !important;
  padding: 0 10px !important;
  gap: 6px !important;
  box-sizing: border-box !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.16) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-label,
.tjc-tech-shell .tjc-card-corner-status-label {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-dot,
.tjc-tech-shell .tjc-card-corner-status-dot {
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  min-height: 15px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

@media (max-width: 560px) {
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status,
  .tjc-tech-shell .tjc-card-corner-status {
    top: -8px !important;
    right: 10px !important;
    width: max-content !important;
    max-width: calc(100% - 20px) !important;
    inline-size: max-content !important;
    max-inline-size: calc(100% - 20px) !important;
    height: 21px !important;
    min-height: 21px !important;
    padding: 0 7px !important;
    gap: 4px !important;
    font-size: 9px !important;
    letter-spacing: .045em !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-card-corner-status-dot,
  .tjc-tech-shell .tjc-card-corner-status-dot {
    flex-basis: 13px !important;
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    min-height: 13px !important;
    font-size: 8px !important;
  }
}


/* Pass 25: office scheduler quick status actions. */
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-action-grid{
  align-items:stretch;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
  grid-column:1 / -1;
  display:block;
  margin-top:4px;
  padding:12px;
  border:1px solid #dbe5f2;
  border-radius:14px;
  background:#f8fbff;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form label{
  display:grid;
  gap:7px;
  margin:0;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#52647f;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select{
  width:100%;
  min-height:44px;
  padding:0 12px;
  border:1px solid #cfd9e8;
  border-radius:12px;
  background:#fff;
  color:#12203a;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select:focus{
  outline:3px solid rgba(37,99,235,.18);
  border-color:#2563eb;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-inline-feedback{
  margin-top:7px;
  font-size:12px;
  font-weight:800;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-inline-feedback.success{
  color:#15803d;
}
@media (max-width:560px){
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
    padding:10px;
  }
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select{
    min-height:48px;
    font-size:16px;
  }
}


/* Pass 26: make the office scheduler status selector slightly thicker. */
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select{
  min-height:52px;
  padding:0 16px;
  border-radius:15px;
  font-size:16px;
  line-height:52px;
}
@media (max-width:560px){
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select{
    min-height:54px;
    font-size:17px;
    line-height:54px;
  }
}


/* Pass 27: force the visible office scheduler status select to a thicker tap target on mobile browsers. */
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select,
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select{
  display:block !important;
  width:100% !important;
  height:62px !important;
  min-height:62px !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  border:2px solid #cfd9e8 !important;
  border-radius:18px !important;
  background-color:#fff !important;
  color:#0f1b33 !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:62px !important;
  appearance:auto !important;
  -webkit-appearance:menulist !important;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select:focus,
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select:focus{
  outline:3px solid rgba(37,99,235,.18) !important;
  border-color:#2563eb !important;
}
@media (max-width:560px){
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
    padding:14px !important;
    border-radius:18px !important;
  }
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select,
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select{
    height:66px !important;
    min-height:66px !important;
    padding:0 18px !important;
    font-size:19px !important;
    line-height:66px !important;
    border-radius:19px !important;
  }
}


/* Pass 28: rebalance office scheduler status selector to match the team selector height. */
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
  padding:10px 12px !important;
  border-radius:15px !important;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form label{
  gap:8px !important;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select,
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select{
  height:48px !important;
  min-height:48px !important;
  padding:0 14px !important;
  border:1px solid #cfd9e8 !important;
  border-radius:14px !important;
  font-size:16px !important;
  font-weight:850 !important;
  line-height:48px !important;
  box-shadow:none !important;
}
@media (max-width:560px){
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
    padding:10px 12px !important;
    border-radius:15px !important;
  }
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select,
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select{
    height:50px !important;
    min-height:50px !important;
    padding:0 14px !important;
    border-radius:14px !important;
    font-size:17px !important;
    line-height:50px !important;
  }
}


/* Pass 29: match office scheduler status select height to the team selector. */
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
  padding:10px 12px !important;
  border-radius:15px !important;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form label{
  gap:7px !important;
}
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select,
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select{
  height:42px !important;
  min-height:42px !important;
  padding:0 10px !important;
  border:1px solid #cfd9e6 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#12203a !important;
  font-size:16px !important;
  font-weight:850 !important;
  line-height:42px !important;
  box-shadow:none !important;
}
@media (max-width:560px){
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form{
    padding:10px 12px !important;
    border-radius:15px !important;
  }
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form select,
  body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-scheduler-status-form .tjc-scheduler-status-select{
    height:42px !important;
    min-height:42px !important;
    padding:0 10px !important;
    border-radius:12px !important;
    font-size:16px !important;
    line-height:42px !important;
  }
}

/* Task 15 revised: team-scoped office scheduler reorder. */
body.tjc-office-dashboard-active .tjc-scheduler-column-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  position:relative;
}
body.tjc-office-dashboard-active .tjc-scheduler-column-title{
  flex:1 1 auto;
  min-width:0;
  text-align:center;
}
body.tjc-office-dashboard-active .tjc-team-reorder-btn,
body.tjc-office-dashboard-active .tjc-team-reorder-save-btn{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.92);
  color:#17375f;
  font-size:10px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(15,23,42,.12);
}
body.tjc-office-dashboard-active .tjc-team-reorder-save-btn{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
body.tjc-office-dashboard-active .tjc-team-reorder-save-btn:disabled{
  opacity:.7;
  cursor:wait;
}
body.tjc-office-dashboard-active .tjc-reorder-feedback{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  max-width:34%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  font-weight:900;
  color:rgba(255,255,255,.92);
}
body.tjc-office-dashboard-active .tjc-reorder-feedback.success{color:#dcfce7}
body.tjc-office-dashboard-active .tjc-reorder-feedback.error{color:#fee2e2}
body.tjc-office-dashboard-active .tjc-reorder-handle{
  display:none;
  position:absolute;
  top:10px;
  left:10px;
  z-index:8;
  width:34px;
  height:34px;
  border-radius:11px;
  border:1px solid #cbd8ea;
  background:#fff;
  color:#1e3a5f;
  font-size:17px;
  font-weight:900;
  line-height:1;
  cursor:grab;
  touch-action:none;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}
body.tjc-office-dashboard-active .tjc-scheduler-column.tjc-reorder-column-active .tjc-reorder-handle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.tjc-office-dashboard-active .tjc-scheduler-column.tjc-reorder-column-active .tjc-scheduler-job{
  padding-left:52px !important;
  cursor:default;
  user-select:none;
}
body.tjc-office-dashboard-active .tjc-scheduler-column.tjc-reorder-column-active .tjc-scheduler-job .tjc-scheduler-card-toggle{
  pointer-events:none;
}
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-reorder-dragging{
  position:relative;
  z-index:20;
  transform:scale(1.02);
  box-shadow:0 16px 34px rgba(15,23,42,.22) !important;
  opacity:.94;
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-team-reorder-btn,
  body.tjc-office-dashboard-active .tjc-team-reorder-save-btn{
    right:8px;
    min-height:26px;
    padding:0 8px;
    font-size:9px;
  }
  body.tjc-office-dashboard-active .tjc-reorder-feedback{
    display:none;
  }
}
body.tjc-office-dashboard-active .tjc-team-reorder-btn[hidden],
body.tjc-office-dashboard-active .tjc-team-reorder-save-btn[hidden],
body.tjc-office-dashboard-active .tjc-reorder-handle[hidden]{
  display:none !important;
}

/* Task 15 follow-up: keep the reorder drag handle compact on mobile.
   Some mobile rules/theme button styles can force buttons to full width; this
   handle must stay as a small block so the customer/job name remains visible. */
body.tjc-office-dashboard-active .tjc-scheduler-column.tjc-reorder-column-active .tjc-reorder-handle,
body.tjc-office-dashboard-active .tjc-reorder-handle{
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  flex:0 0 34px !important;
}

@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-scheduler-column.tjc-reorder-column-active .tjc-reorder-handle,
  body.tjc-office-dashboard-active .tjc-reorder-handle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:absolute !important;
    top:12px !important;
    left:12px !important;
    right:auto !important;
    bottom:auto !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:11px !important;
    line-height:1 !important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column.tjc-reorder-column-active .tjc-scheduler-job{
    padding-left:58px !important;
  }
}

/* Task 16: keep compact corner status badges above neighbouring scheduler cards.
   Visual badge design is intentionally unchanged; this only fixes stacking/overlap priority. */
body.tjc-office-dashboard-active .tjc-scheduler-column,
body.tjc-office-dashboard-active .tjc-scheduler-jobs,
.tjc-tech-shell,
.tjc-tech-shell .tjc-tech-jobs {
  overflow: visible !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card,
.tjc-tech-shell .tjc-tech-card {
  isolation: isolate;
  z-index: 1;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card.tjc-has-corner-status,
.tjc-tech-shell .tjc-tech-card.tjc-has-corner-status {
  z-index: 30 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card.tjc-has-corner-status:hover,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card.tjc-has-corner-status:focus-within,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card.tjc-has-corner-status.tjc-reorder-dragging,
.tjc-tech-shell .tjc-tech-card.tjc-has-corner-status:hover,
.tjc-tech-shell .tjc-tech-card.tjc-has-corner-status:focus-within {
  z-index: 60 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-card-corner-status,
.tjc-tech-shell .tjc-tech-card .tjc-card-corner-status {
  z-index: 80 !important;
  pointer-events: none;
}

/* Patch: keep desktop dashboard panels inside the viewport and preserve rounded table/list corners. */
.tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
  grid-template-columns:minmax(0,1fr) minmax(260px,320px);
}
.tjc-dashboard-main-panel,
.tjc-dashboard-side-stack,
.tjc-dashboard-side-panel{
  min-width:0;
}
.tjc-dashboard-side-panel{
  overflow:hidden;
}
.tjc-dashboard-side-panel .tjc-panel-kicker,
.tjc-dashboard-side-panel .tjc-section-title,
.tjc-dashboard-side-panel .tjc-analytics-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tjc-dashboard-side-panel .tjc-analytics-row{
  grid-template-columns:minmax(0,118px) minmax(0,1fr) auto;
}
.tjc-panel .tjc-table-wrap,
.tjc-client-block .tjc-table-wrap,
.tjc-inventory-list-card .tjc-table-wrap{
  border-radius:14px;
  overflow:auto;
  background:#fff;
}
.tjc-panel .tjc-office-table thead tr:first-child th:first-child,
.tjc-client-block .tjc-office-table thead tr:first-child th:first-child,
.tjc-inventory-list-card .tjc-office-table thead tr:first-child th:first-child{
  border-top-left-radius:14px;
}
.tjc-panel .tjc-office-table thead tr:first-child th:last-child,
.tjc-client-block .tjc-office-table thead tr:first-child th:last-child,
.tjc-inventory-list-card .tjc-office-table thead tr:first-child th:last-child{
  border-top-right-radius:14px;
}
@media (max-width:1380px){
  .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:1fr;
  }
  .tjc-dashboard-side-stack{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:14px;
  }
}
@media (max-width:900px){
  .tjc-dashboard-side-stack{
    display:flex;
    flex-direction:column;
  }
}


/* Patch: desktop dashboard proportional layout at normal browser zoom.
   The previous large-screen cap could leave unused space on the right while the dashboard
   side cards were clipped. Keep the shell fluid on desktop and make the side rail compact. */
@media (min-width:1200px){
  body.tjc-office-dashboard-active .tjc-frontend-wrap:has(.tjc-office-shell){
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:clamp(10px,1.1vw,20px)!important;
    padding-right:clamp(10px,1.1vw,20px)!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-office-shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    grid-template-columns:clamp(240px,15vw,280px) minmax(0,1fr)!important;
    column-gap:14px!important;
  }

  body.tjc-office-dashboard-active .tjc-office-main{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    overflow:visible!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-page{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:minmax(0,1fr) minmax(230px,250px)!important;
    gap:12px!important;
    align-items:start!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-main-panel,
  body.tjc-office-dashboard-active .tjc-scheduler-panel-prominent,
  body.tjc-office-dashboard-active .tjc-dashboard-side-stack,
  body.tjc-office-dashboard-active .tjc-dashboard-side-panel{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-panel{
    padding:12px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-section-title{
    font-size:14px!important;
    line-height:1.2!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-stat-row{
    gap:8px!important;
    padding:8px 0!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-stat-row span,
  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-analytics-label{
    font-size:11px!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-stat-row strong,
  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-analytics-row strong{
    font-size:11px!important;
    white-space:nowrap!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-panel .tjc-analytics-row{
    grid-template-columns:minmax(0,92px) minmax(44px,1fr) auto!important;
    gap:7px!important;
    padding:7px 0!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-panel-prominent{
    padding:12px!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-two-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-three-up,
  body.tjc-office-dashboard-active .tjc-scheduler-columns.is-four-up{
    grid-template-columns:repeat(2,minmax(220px,1fr))!important;
    gap:12px!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column-head{
    padding:10px 12px!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column-body{
    padding:10px!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job{
    padding:12px!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-job-title{
    font-size:13px!important;
    line-height:1.12!important;
  }

  body.tjc-office-dashboard-active .tjc-job-detail-line{
    font-size:10px!important;
    line-height:1.22!important;
  }
}

/* When the actual desktop viewport is too narrow for the right rail, stack it below
   instead of letting it get sliced off the right edge. */
@media (min-width:1200px) and (max-width:1500px){
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:1fr!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-stack{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:12px!important;
  }
}

/* Patch: make the office dashboard render closer to the user's 80% browser zoom reference at normal desktop zoom.
   This is intentionally scoped to the office dashboard shell on desktop only. It reduces the whole operational UI
   proportionally instead of chasing individual oversized cards, labels, and scheduler controls one by one. */
@media (min-width:1200px){
  body.tjc-office-dashboard-active .tjc-frontend-wrap:has(.tjc-office-shell){
    overflow-x:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-office-shell{
    zoom:.82;
    width:calc(100% / .82)!important;
    max-width:calc(100% / .82)!important;
    transform-origin:top left;
  }

  body.tjc-office-dashboard-active .tjc-office-topbar,
  body.tjc-office-dashboard-active .tjc-scheduler-toolbar{
    flex-wrap:nowrap!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-panel-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14px!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-panel-head > div:first-child{
    min-width:210px!important;
    flex:0 0 auto!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-toolbar{
    flex:1 1 auto!important;
    justify-content:flex-end!important;
    min-width:0!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column-head{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column-head strong,
  body.tjc-office-dashboard-active .tjc-scheduler-column-title{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    padding-right:74px!important;
    box-sizing:border-box!important;
  }

  body.tjc-office-dashboard-active .tjc-scheduler-column-head .tjc-reorder-handle{
    position:absolute!important;
    top:50%!important;
    right:12px!important;
    transform:translateY(-50%)!important;
    z-index:5!important;
  }
}

/* With the proportional dashboard scale in place, the right-side dashboard rail can remain beside the scheduler
   on normal desktop screens instead of dropping below too early. */
@media (min-width:1200px) and (max-width:1500px){
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:minmax(0,1fr) minmax(230px,250px)!important;
    gap:12px!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-stack{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    margin-top:0!important;
  }
}

@media (min-width:1200px) and (max-width:1280px){
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:1fr!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-stack{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-top:12px!important;
  }
}

/* Patch: fix 100% desktop scale without widening the whole shell.
   The previous proportional scale was applied to the full shell and widened it, which could push the
   top action bar, KPI cards, and right dashboard rail beyond the visible viewport. Keep the sidebar at
   its natural size and scale only the main dashboard workspace. */
@media (min-width:1200px){
  body.tjc-office-dashboard-active .tjc-office-shell{
    zoom:1!important;
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:clamp(240px,15vw,280px) minmax(0,1fr)!important;
    overflow:visible!important;
  }

  body.tjc-office-dashboard-active .tjc-office-sidebar{
    zoom:1!important;
  }

  body.tjc-office-dashboard-active .tjc-office-main{
    zoom:.82!important;
    width:calc(100% / .82)!important;
    max-width:calc(100% / .82)!important;
    min-width:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-page{
    width:100%!important;
    max-width:none!important;
  }

  body.tjc-office-dashboard-active .tjc-office-topbar{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-office-topbar .tjc-topbar-actions{
    min-width:0!important;
    flex-wrap:nowrap!important;
  }

  body.tjc-office-dashboard-active .tjc-kpi-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:minmax(0,1fr) minmax(230px,250px)!important;
    gap:12px!important;
  }
}

@media (min-width:1200px) and (max-width:1320px){
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:1fr!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-stack{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:12px!important;
  }
}

/* Patch: correct desktop workspace scaling without creating horizontal overflow.
   The previous desktop scale patch widened .tjc-office-main with width:calc(100% / .82),
   which made the KPI row, top action pills, and right dashboard rail extend beyond the viewport.
   Keep the sidebar normal, scale the main workspace visually, but keep its layout box inside the available width. */
@media (min-width:1200px){
  html.tjc-office-dashboard-active,
  body.tjc-office-dashboard-active{
    overflow-x:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-frontend-wrap:has(.tjc-office-shell){
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }

  body.tjc-office-dashboard-active .tjc-office-shell{
    zoom:1!important;
    width:100%!important;
    max-width:100vw!important;
    grid-template-columns:clamp(230px,16vw,270px) minmax(0,1fr)!important;
    gap:16px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.tjc-office-dashboard-active .tjc-office-sidebar{
    zoom:1!important;
    min-width:0!important;
  }

  body.tjc-office-dashboard-active .tjc-office-main{
    zoom:.82!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-page,
  body.tjc-office-dashboard-active .tjc-office-topbar,
  body.tjc-office-dashboard-active .tjc-kpi-grid,
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.tjc-office-dashboard-active .tjc-office-topbar{
    overflow:visible!important;
  }

  body.tjc-office-dashboard-active .tjc-office-topbar .tjc-topbar-actions,
  body.tjc-office-dashboard-active .tjc-scheduler-toolbar{
    flex-wrap:nowrap!important;
    min-width:0!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:minmax(0,1fr) minmax(220px,240px)!important;
    gap:12px!important;
    align-items:start!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-stack,
  body.tjc-office-dashboard-active .tjc-dashboard-side-panel{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media (min-width:1200px) and (max-width:1380px){
  body.tjc-office-dashboard-active .tjc-dashboard-grid.tjc-dashboard-grid-dashboard-home{
    grid-template-columns:1fr!important;
  }

  body.tjc-office-dashboard-active .tjc-dashboard-side-stack{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:12px!important;
  }
}

/* Pass 28: scheduler card badge row alignment.
   Keep the job type chip on the left and the booked time on the right so timed jobs do not create an extra badge line. */
body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badges,
.tjc-tech-shell .tjc-tech-badges {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge-job-type,
.tjc-tech-shell .tjc-tech-badge-job-type {
  order: 1 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 78px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  flex: 0 1 auto !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-job .tjc-tech-badge-booked,
.tjc-tech-shell .tjc-tech-badge-booked {
  order: 2 !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Pass 29: scheduler badge row width correction.
   The booked-time chip must sit at the far right of the job card, not squeeze the job-type chip.
   This deliberately overrides the older compact header rule that limited the badge row to 48%. */
body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-title-wrap,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-card-title-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-badges,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badges {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  flex: 1 1 auto !important;
  margin-top: 8px !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge-job-type,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge-job-type {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-scheduler-column .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge-booked,
body.tjc-office-dashboard-active .tjc-scheduler-job.tjc-tech-card .tjc-tech-badge-booked {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Patch: clients profile containment, rounded detail tables, and edit client form. */
body.tjc-office-dashboard-active .tjc-client-layout-grid,
body.tjc-office-dashboard-active .tjc-client-main-stack,
body.tjc-office-dashboard-active .tjc-client-side-stack,
body.tjc-office-dashboard-active .tjc-client-block,
body.tjc-office-dashboard-active .tjc-client-block .tjc-table-wrap{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.tjc-office-dashboard-active .tjc-client-block{
  overflow:hidden;
}
body.tjc-office-dashboard-active .tjc-client-block .tjc-table-wrap{
  display:block!important;
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border-radius:14px!important;
  border:1px solid #dbe5ef!important;
  background:#fff!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table th{
  width:34%!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table th,
body.tjc-office-dashboard-active .tjc-client-details-table td{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table tbody tr:first-child th:first-child,
body.tjc-office-dashboard-active .tjc-client-jobs-table thead tr:first-child th:first-child{
  border-top-left-radius:14px!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table tbody tr:first-child td:last-child,
body.tjc-office-dashboard-active .tjc-client-jobs-table thead tr:first-child th:last-child{
  border-top-right-radius:14px!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table tbody tr:last-child th:first-child,
body.tjc-office-dashboard-active .tjc-client-jobs-table tbody tr:last-child td:first-child{
  border-bottom-left-radius:14px!important;
}
body.tjc-office-dashboard-active .tjc-client-details-table tbody tr:last-child td:last-child,
body.tjc-office-dashboard-active .tjc-client-jobs-table tbody tr:last-child td:last-child{
  border-bottom-right-radius:14px!important;
}
body.tjc-office-dashboard-active .tjc-client-jobs-table{
  min-width:680px!important;
}
body.tjc-office-dashboard-active .tjc-client-jobs-table td:nth-child(4),
body.tjc-office-dashboard-active .tjc-client-jobs-table th:nth-child(4){
  min-width:220px;
  white-space:normal!important;
}
body.tjc-office-dashboard-active .tjc-client-edit-form{
  display:block;
}
body.tjc-office-dashboard-active .tjc-client-edit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.tjc-office-dashboard-active .tjc-client-edit-grid .tjc-form-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0;
}
body.tjc-office-dashboard-active .tjc-client-edit-grid .tjc-form-field span{
  color:#475569;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.tjc-office-dashboard-active .tjc-client-edit-grid input{
  width:100%;
  min-height:38px;
  border:1px solid #cfd9e6;
  border-radius:10px;
  padding:0 11px;
  background:#fff;
  color:#10233c;
  font-size:13px;
  box-sizing:border-box;
}
body.tjc-office-dashboard-active .tjc-client-edit-grid .tjc-field-span-2{
  grid-column:1 / -1;
}
body.tjc-office-dashboard-active .tjc-client-edit-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-client-edit-grid{
    grid-template-columns:1fr;
  }
  body.tjc-office-dashboard-active .tjc-client-edit-grid .tjc-field-span-2{
    grid-column:auto;
  }
  body.tjc-office-dashboard-active .tjc-client-details-table th{
    width:42%!important;
  }
  body.tjc-office-dashboard-active .tjc-client-edit-actions .tjc-button,
  body.tjc-office-dashboard-active .tjc-client-edit-actions .tjc-link-btn{
    width:100%;
    justify-content:center;
  }
}

/* Sales documents: quotations v1 */
.tjc-sales-shell { display: grid; gap: 16px; }
.tjc-sales-tabs { display:flex; flex-wrap:wrap; gap:8px; margin: 4px 0 8px; }
.tjc-sales-tab { display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border:1px solid #d9e4f2; border-radius:999px; background:#fff; color:#334155; font-weight:800; font-size:13px; text-decoration:none; }
.tjc-sales-tab.is-active { background:#e8f2ff; border-color:#9cc8ff; color:#174ea6; }
.tjc-sales-status { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; font-size:12px; font-weight:900; background:#eef2f7; color:#334155; }
.tjc-sales-status-draft { background:#eef2f7; color:#475569; }
.tjc-sales-status-sent { background:#e0f2fe; color:#0369a1; }
.tjc-sales-status-accepted { background:#dcfce7; color:#166534; }
.tjc-sales-status-declined { background:#fee2e2; color:#991b1b; }
.tjc-sales-form { display:grid; gap:16px; }
.tjc-sales-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px; }
.tjc-sales-items-block { border:1px solid #dfe8f3; border-radius:18px; background:#f8fbff; padding:14px; display:grid; gap:12px; }
.tjc-sales-items-head { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; color:#1f3657; }
.tjc-sales-items-head span { color:#64748b; font-size:12px; font-weight:800; }
.tjc-sales-item-row { display:grid; grid-template-columns: 1.2fr 1.8fr .55fr .7fr; gap:10px; padding:12px; border:1px solid #e2eaf5; border-radius:16px; background:#fff; }
.tjc-sales-description-field textarea { min-height: 45px; }
.tjc-sales-actions, .tjc-sales-status-actions, .tjc-row-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tjc-sales-status-actions { border-top:1px solid #e2e8f0; padding-top:14px; }
.tjc-sales-summary { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:10px; }
.tjc-sales-summary div { border:1px solid #dfe8f3; border-radius:16px; padding:12px 14px; background:#fff; display:flex; justify-content:space-between; gap:10px; }
.tjc-muted-small { color:#64748b; font-size:12px; font-weight:700; line-height:1.45; margin-top:4px; }
.tjc-sales-preview-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.tjc-sales-document-preview { background:#fff; border:1px solid #d8e2ef; border-radius:18px; overflow:hidden; color:#0f172a; box-shadow:0 16px 40px rgba(15,23,42,.08); }
.tjc-sales-doc-banner { background:#1d4ed8; color:#fff; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:24px; }
.tjc-sales-doc-banner strong { display:block; font-size:26px; letter-spacing:.06em; }
.tjc-sales-doc-banner span { display:block; font-size:14px; opacity:.9; margin-top:4px; }
.tjc-sales-doc-grid { display:grid; grid-template-columns: 1.2fr 1.2fr .8fr; gap:24px; padding:24px 26px; line-height:1.55; }
.tjc-sales-doc-subject { padding:0 26px 18px; line-height:1.55; }
.tjc-sales-doc-table { width:calc(100% - 52px); margin:0 26px 18px; border-collapse:collapse; }
.tjc-sales-doc-table th, .tjc-sales-doc-table td { border-bottom:1px solid #e2e8f0; padding:10px; vertical-align:top; text-align:left; }
.tjc-sales-doc-table th { background:#f8fafc; color:#334155; font-size:12px; text-transform:uppercase; }
.tjc-sales-doc-totals { max-width:360px; margin:0 26px 20px auto; display:grid; gap:8px; }
.tjc-sales-doc-totals div { display:flex; justify-content:space-between; gap:18px; padding:8px 0; border-bottom:1px solid #e2e8f0; }
.tjc-sales-doc-notes { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:0 26px 26px; line-height:1.55; }
@media (max-width: 900px) { .tjc-sales-grid, .tjc-sales-summary, .tjc-sales-doc-grid, .tjc-sales-doc-notes { grid-template-columns:1fr; } .tjc-sales-item-row { grid-template-columns:1fr; } }
@media print { body * { visibility:hidden !important; } .tjc-sales-document-preview, .tjc-sales-document-preview * { visibility:visible !important; } .tjc-sales-document-preview { position:absolute; left:0; top:0; width:100%; box-shadow:none; border:none; } .tjc-sales-preview-actions, .tjc-office-sidebar, .tjc-office-topbar, .tjc-office-mobile-bar { display:none !important; } }

/* JobCardHub quotation UI v2: dynamic line items */
.tjc-quote-item-rows{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.tjc-sales-item-row{
    position:relative;
    align-items:flex-start;
}
.tjc-sales-remove-line{
    appearance:none;
    border:1px solid #dbe4ef;
    background:#fff;
    color:#64748b;
    border-radius:999px;
    width:30px;
    height:30px;
    line-height:1;
    font-size:20px;
    cursor:pointer;
    margin-top:28px;
}
.tjc-sales-remove-line:hover{
    border-color:#fca5a5;
    color:#b91c1c;
    background:#fff5f5;
}
.tjc-sales-add-line{
    display:inline-flex;
    margin-top:12px;
    width:max-content;
}
@media (max-width: 760px){
    .tjc-sales-remove-line{
        position:absolute;
        top:8px;
        right:8px;
        margin-top:0;
    }
    .tjc-sales-item-row{
        padding-right:44px;
    }
}

.tjc-sales-document-invoice .tjc-sales-doc-banner { background: linear-gradient(135deg,#0f9f6e,#12b981); }


/* Sales document payments v1 */
.tjc-sales-payment-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    margin-top: 18px;
}
.tjc-sales-payment-card {
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.74);
    padding: 16px;
}
.tjc-sales-payment-card h3 {
    margin: 0 0 12px;
    font-size: 16px;
}
.tjc-sales-payment-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.tjc-sales-payment-note,
.tjc-sales-payment-form .tjc-office-primary-action {
    grid-column: 1 / -1;
}
.tjc-sales-payment-history {
    display: grid;
    gap: 8px;
}
.tjc-sales-payment-line {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}
.tjc-sales-writeoff-form {
    margin-top: 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    padding-top: 14px;
}
.tjc-danger-link {
    color: #b91c1c !important;
    background: #fef2f2 !important;
}
.tjc-sales-status-overdue {
    color: #b45309;
    background: #fffbeb;
}
.tjc-sales-status-written_off {
    color: #6b21a8;
    background: #faf5ff;
}
.tjc-sales-status-part_paid {
    color: #0369a1;
    background: #f0f9ff;
}
@media (max-width: 900px) {
    .tjc-sales-payment-panel,
    .tjc-sales-payment-form {
        grid-template-columns: 1fr;
    }
}

.tjc-inline-form {
    display: inline-flex;
    margin: 0;
}

.tjc-link-btn-positive {
    background: #e8fff2;
    border-color: #b6f0cd;
    color: #087233;
}

.tjc-sales-linked-doc {
    align-items: center;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 14px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin: 0 0 14px;
    padding: 12px 14px;
}

/* JobCardHub sales documents UI polish v1
   Scope: quotations/invoices only. No document/payment logic changes. */
body.tjc-office-dashboard-active .tjc-sales-shell {
    gap: 18px;
}

body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-header-slim {
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

body.tjc-office-dashboard-active .tjc-sales-shell .tjc-section-title {
    color: #172b4d;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
}

body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-subtitle {
    margin-top: 4px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

body.tjc-office-dashboard-active .tjc-sales-form {
    gap: 18px;
}

body.tjc-office-dashboard-active .tjc-sales-form .tjc-form-field,
body.tjc-office-dashboard-active .tjc-sales-payment-form .tjc-form-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
    min-width: 0;
}

body.tjc-office-dashboard-active .tjc-sales-form .tjc-form-field > span,
body.tjc-office-dashboard-active .tjc-sales-payment-form .tjc-form-field > span {
    color: #365077;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .01em;
    line-height: 1.2;
}

body.tjc-office-dashboard-active .tjc-sales-form input:not([type="hidden"]),
body.tjc-office-dashboard-active .tjc-sales-form select,
body.tjc-office-dashboard-active .tjc-sales-form textarea,
body.tjc-office-dashboard-active .tjc-sales-payment-form input,
body.tjc-office-dashboard-active .tjc-sales-payment-form select,
body.tjc-office-dashboard-active .tjc-sales-payment-form textarea {
    width: 100%;
    max-width: 100%;
    border: 1px solid #cfdbea;
    border-radius: 12px;
    background: #ffffff;
    color: #10233c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    box-sizing: border-box;
    box-shadow: none;
    outline: none;
}

body.tjc-office-dashboard-active .tjc-sales-form input:not([type="hidden"]),
body.tjc-office-dashboard-active .tjc-sales-form select,
body.tjc-office-dashboard-active .tjc-sales-payment-form input,
body.tjc-office-dashboard-active .tjc-sales-payment-form select {
    min-height: 40px;
    height: 40px;
    padding: 0 12px;
}

body.tjc-office-dashboard-active .tjc-sales-form textarea,
body.tjc-office-dashboard-active .tjc-sales-payment-form textarea {
    min-height: 78px;
    padding: 10px 12px;
    resize: vertical;
}

body.tjc-office-dashboard-active .tjc-sales-form input:focus,
body.tjc-office-dashboard-active .tjc-sales-form select:focus,
body.tjc-office-dashboard-active .tjc-sales-form textarea:focus,
body.tjc-office-dashboard-active .tjc-sales-payment-form input:focus,
body.tjc-office-dashboard-active .tjc-sales-payment-form select:focus,
body.tjc-office-dashboard-active .tjc-sales-payment-form textarea:focus {
    border-color: #74a8ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

body.tjc-office-dashboard-active .tjc-sales-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
    align-items: end;
}

body.tjc-office-dashboard-active .tjc-sales-items-block {
    background: linear-gradient(180deg, #f8fbff 0%, #f3f8ff 100%);
    border-color: #d7e6f7;
    border-radius: 20px;
    padding: 16px;
    gap: 14px;
}

body.tjc-office-dashboard-active .tjc-sales-items-head {
    align-items: flex-start;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

body.tjc-office-dashboard-active .tjc-sales-items-head strong {
    color: #172b4d;
    font-size: 16px;
    font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-sales-items-head span {
    max-width: 360px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-align: right;
}

body.tjc-office-dashboard-active .tjc-quote-item-rows {
    gap: 10px;
}

body.tjc-office-dashboard-active .tjc-sales-item-row {
    grid-template-columns: minmax(170px, 1.15fr) minmax(240px, 1.7fr) minmax(90px, .45fr) minmax(115px, .55fr) 34px;
    gap: 12px;
    align-items: end;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dfe9f6;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

body.tjc-office-dashboard-active .tjc-sales-item-row .tjc-form-field > span {
    font-size: 11px;
    color: #4b6386;
}

body.tjc-office-dashboard-active .tjc-sales-item-row input:not([type="hidden"]),
body.tjc-office-dashboard-active .tjc-sales-item-row textarea {
    font-size: 12px;
    font-weight: 700;
}

body.tjc-office-dashboard-active .tjc-sales-description-field textarea {
    min-height: 40px;
    height: 40px;
    padding-top: 9px;
}

body.tjc-office-dashboard-active .tjc-sales-remove-line {
    align-self: end;
    justify-self: center;
    width: 30px;
    height: 30px;
    margin: 0 0 5px;
    border-color: #d7e3ef;
    background: #f8fafc;
    color: #64748b;
    font-size: 18px;
    font-weight: 800;
}

body.tjc-office-dashboard-active .tjc-sales-add-line {
    min-height: 34px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-sales-summary {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

body.tjc-office-dashboard-active .tjc-sales-summary div {
    align-items: center;
    background: #ffffff;
    border-color: #d7e6f7;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
}

body.tjc-office-dashboard-active .tjc-sales-summary span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

body.tjc-office-dashboard-active .tjc-sales-summary strong {
    color: #172b4d;
    font-size: 15px;
    font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-sales-actions,
body.tjc-office-dashboard-active .tjc-sales-status-actions {
    gap: 10px;
}

body.tjc-office-dashboard-active .tjc-sales-status-actions {
    margin-top: 2px;
    padding-top: 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.24);
}

body.tjc-office-dashboard-active .tjc-sales-tabs {
    margin: 8px 0 12px;
}

body.tjc-office-dashboard-active .tjc-sales-tab {
    min-height: 34px;
    padding: 0 13px;
    border-color: #d7e3ef;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.035);
}

body.tjc-office-dashboard-active .tjc-sales-tab.is-active {
    background: #eaf3ff;
    border-color: #9cc8ff;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.09);
}

body.tjc-office-dashboard-active .tjc-sales-payment-card .tjc-form-field > span {
    color: #365077;
    font-size: 12px;
    font-weight: 900;
}

@media (max-width: 1100px) {
    body.tjc-office-dashboard-active .tjc-sales-item-row {
        grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.2fr) minmax(90px, .45fr) minmax(105px, .55fr) 34px;
    }
}

@media (max-width: 820px) {
    body.tjc-office-dashboard-active .tjc-sales-item-row {
        grid-template-columns: 1fr;
        align-items: stretch;
        padding-right: 46px;
    }

    body.tjc-office-dashboard-active .tjc-sales-remove-line {
        position: absolute;
        top: 10px;
        right: 10px;
        margin: 0;
    }

    body.tjc-office-dashboard-active .tjc-sales-items-head span {
        max-width: none;
        text-align: left;
    }

    body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-header-slim {
        align-items: stretch;
    }
}


.tjc-sales-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
}

.tjc-sales-share-pdf {
    cursor: pointer;
}

.tjc-sales-actions .tjc-sales-share-pdf,
.tjc-sales-preview-actions .tjc-sales-share-pdf {
    border: 1px solid #cbd5e1;
    background: #ffffff;
}

@media print {
    .tjc-sales-preview-actions {
        display: none !important;
    }
}

/* Sales forms polish v2: quotations/invoices screen layout only */
body.tjc-office-dashboard-active .tjc-sales-shell {
  padding: 18px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid #d9e5f2 !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06) !important;
}

body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-header,
body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-header-slim {
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid #e4edf7 !important;
}

body.tjc-office-dashboard-active .tjc-sales-shell .tjc-section-title {
  margin: 0 0 4px !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: #172b4d !important;
}

body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-subtitle {
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #58708f !important;
}

body.tjc-office-dashboard-active .tjc-sales-form {
  display: block !important;
}

body.tjc-office-dashboard-active .tjc-sales-grid {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.45fr) minmax(160px, 0.8fr) minmax(160px, 0.8fr) minmax(160px, 0.8fr) !important;
  gap: 14px !important;
  align-items: start !important;
  margin-bottom: 16px !important;
}

body.tjc-office-dashboard-active .tjc-sales-grid .tjc-form-field {
  margin: 0 !important;
}

body.tjc-office-dashboard-active .tjc-form-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  color: #172b4d !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.tjc-office-dashboard-active .tjc-form-field > span {
  display: block !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #637b99 !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-sales-form input[type="text"],
body.tjc-office-dashboard-active .tjc-sales-form input[type="date"],
body.tjc-office-dashboard-active .tjc-sales-form input[type="number"],
body.tjc-office-dashboard-active .tjc-sales-form select,
body.tjc-office-dashboard-active .tjc-sales-form textarea,
body.tjc-office-dashboard-active .tjc-sales-payment-form input[type="text"],
body.tjc-office-dashboard-active .tjc-sales-payment-form input[type="date"],
body.tjc-office-dashboard-active .tjc-sales-payment-form input[type="number"],
body.tjc-office-dashboard-active .tjc-sales-payment-form textarea,
body.tjc-office-dashboard-active .tjc-sales-writeoff-form textarea {
  width: 100% !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  border: 1px solid #cddbea !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #10233c !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.tjc-office-dashboard-active .tjc-sales-form textarea,
body.tjc-office-dashboard-active .tjc-sales-payment-form textarea,
body.tjc-office-dashboard-active .tjc-sales-writeoff-form textarea {
  min-height: 86px !important;
  resize: vertical !important;
}

body.tjc-office-dashboard-active .tjc-sales-form input:focus,
body.tjc-office-dashboard-active .tjc-sales-form select:focus,
body.tjc-office-dashboard-active .tjc-sales-form textarea:focus,
body.tjc-office-dashboard-active .tjc-sales-payment-form input:focus,
body.tjc-office-dashboard-active .tjc-sales-payment-form textarea:focus,
body.tjc-office-dashboard-active .tjc-sales-writeoff-form textarea:focus {
  outline: none !important;
  border-color: #7ea6e8 !important;
  box-shadow: 0 0 0 3px rgba(47, 111, 221, 0.12) !important;
}

body.tjc-office-dashboard-active .tjc-sales-items-block {
  margin: 18px 0 !important;
  padding: 16px !important;
  border: 1px solid #d7e5f4 !important;
  border-radius: 20px !important;
  background: #f8fbff !important;
}

body.tjc-office-dashboard-active .tjc-sales-items-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

body.tjc-office-dashboard-active .tjc-sales-items-head strong {
  font-size: 17px !important;
  line-height: 1.2 !important;
  color: #172b4d !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-sales-items-head span {
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  color: #3652c9 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.tjc-office-dashboard-active .tjc-quote-item-rows {
  display: grid !important;
  gap: 10px !important;
}

body.tjc-office-dashboard-active .tjc-sales-item-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 1.05fr) minmax(280px, 1.55fr) minmax(92px, 0.45fr) minmax(120px, 0.55fr) 34px !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 14px !important;
  border: 1px solid #dbe7f3 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.035) !important;
}

body.tjc-office-dashboard-active .tjc-sales-item-row .tjc-form-field {
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-sales-item-row textarea {
  min-height: 42px !important;
}

body.tjc-office-dashboard-active .tjc-sales-description-field textarea {
  min-height: 68px !important;
}

body.tjc-office-dashboard-active .tjc-sales-remove-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  margin-top: 18px !important;
  border: 1px solid #d8e4f0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #7c8fa6 !important;
  cursor: pointer !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.tjc-office-dashboard-active .tjc-sales-remove-line:hover {
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
  color: #be123c !important;
}

body.tjc-office-dashboard-active .tjc-sales-add-line {
  margin-top: 12px !important;
  background: #eef4ff !important;
  color: #2d55c8 !important;
  border: 1px solid #dbe6ff !important;
}

body.tjc-office-dashboard-active .tjc-muted-small {
  margin: 10px 0 0 !important;
  color: #647b99 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

body.tjc-office-dashboard-active .tjc-sales-summary {
  margin-left: auto !important;
  max-width: 420px !important;
  padding: 14px !important;
  border: 1px solid #dbe7f3 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045) !important;
}

body.tjc-office-dashboard-active .tjc-sales-summary div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #e8eef6 !important;
}

body.tjc-office-dashboard-active .tjc-sales-summary div:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.tjc-office-dashboard-active .tjc-sales-summary span {
  color: #607792 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.tjc-office-dashboard-active .tjc-sales-summary strong {
  color: #10233c !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-sales-actions,
body.tjc-office-dashboard-active .tjc-sales-status-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #e4edf7 !important;
}

body.tjc-office-dashboard-active .tjc-sales-status-actions form {
  margin: 0 !important;
}

body.tjc-office-dashboard-active .tjc-sales-tabs {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 0 0 14px !important;
}

body.tjc-office-dashboard-active .tjc-sales-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  border: 1px solid #d7e4f2 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #365077 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.tjc-office-dashboard-active .tjc-sales-tab.is-active {
  background: #173d7a !important;
  border-color: #173d7a !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(23, 61, 122, 0.16) !important;
}

body.tjc-office-dashboard-active .tjc-sales-status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  color: #3355c8 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-sales-status-paid,
body.tjc-office-dashboard-active .tjc-sales-status-accepted {
  background: #ecfdf3 !important;
  color: #166534 !important;
}

body.tjc-office-dashboard-active .tjc-sales-status-overdue,
body.tjc-office-dashboard-active .tjc-sales-status-declined,
body.tjc-office-dashboard-active .tjc-sales-status-written_off {
  background: #fef2f2 !important;
  color: #991b1b !important;
}

body.tjc-office-dashboard-active .tjc-sales-linked-doc {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-card {
  padding: 16px !important;
  border: 1px solid #dbe7f3 !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045) !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-card h3 {
  margin: 0 0 12px !important;
  color: #172b4d !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-form {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-note {
  grid-column: 1 / -1 !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-history {
  display: grid !important;
  gap: 8px !important;
}

body.tjc-office-dashboard-active .tjc-sales-payment-line {
  display: grid !important;
  grid-template-columns: 110px 100px 1fr 1fr !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  background: #f8fbff !important;
  border: 1px solid #e2ecf7 !important;
  font-size: 12px !important;
  color: #405873 !important;
  font-weight: 750 !important;
}

body.tjc-office-dashboard-active .tjc-sales-writeoff-form {
  display: grid !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid #e4edf7 !important;
}

body.tjc-office-dashboard-active .tjc-danger-link {
  background: #fff1f2 !important;
  color: #be123c !important;
  border: 1px solid #fecdd3 !important;
}

@media (max-width: 1180px) {
  body.tjc-office-dashboard-active .tjc-sales-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-item-row {
    grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.25fr) minmax(90px, 0.45fr) minmax(110px, 0.55fr) 34px !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-payment-panel {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 820px) {
  body.tjc-office-dashboard-active .tjc-sales-shell {
    padding: 14px !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-header,
  body.tjc-office-dashboard-active .tjc-sales-shell .tjc-queue-header-slim,
  body.tjc-office-dashboard-active .tjc-sales-items-head,
  body.tjc-office-dashboard-active .tjc-sales-linked-doc {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-grid,
  body.tjc-office-dashboard-active .tjc-sales-payment-form {
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-item-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-remove-line {
    width: 100% !important;
    height: 36px !important;
    margin-top: 0 !important;
    border-radius: 12px !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-summary {
    max-width: none !important;
    margin-left: 0 !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-actions,
  body.tjc-office-dashboard-active .tjc-sales-status-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-actions .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-sales-actions .tjc-office-primary-action,
  body.tjc-office-dashboard-active .tjc-sales-status-actions .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-sales-status-actions form,
  body.tjc-office-dashboard-active .tjc-sales-status-actions button {
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-payment-line {
    grid-template-columns: 1fr !important;
  }
}


/* Finance dashboard v1 */
.tjc-finance-shell { display: flex; flex-direction: column; gap: 18px; }
.tjc-finance-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.tjc-finance-kpi { border: 1px solid #dbe7f5; border-radius: 18px; padding: 16px; background: #ffffff; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05); }
.tjc-finance-kpi span { display: block; color: #64748b; font-size: 12px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; margin-bottom: 8px; }
.tjc-finance-kpi strong { display: block; color: #162a4a; font-size: 24px; line-height: 1.1; margin-bottom: 8px; }
.tjc-finance-kpi small { display: block; color: #64748b; font-weight: 700; }
.tjc-finance-kpi-primary { border-color: #bfdbfe; background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%); }
.tjc-finance-kpi-warning { border-color: #fed7aa; background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%); }
.tjc-finance-kpi-success { border-color: #bbf7d0; background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%); }
.tjc-finance-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; }
.tjc-finance-card { border: 1px solid #dbe7f5; border-radius: 18px; padding: 18px; background: #fff; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04); }
.tjc-finance-card-head { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.tjc-finance-card-head strong { display: block; color: #162a4a; font-size: 16px; }
.tjc-finance-card-head span { display: block; color: #64748b; font-size: 12px; margin-top: 3px; }
.tjc-finance-split-row, .tjc-finance-status-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid #edf2f7; color: #334155; }
.tjc-finance-split-row:first-of-type, .tjc-finance-status-row:first-child { border-top: 0; }
.tjc-finance-split-row strong, .tjc-finance-status-row strong { color: #162a4a; }
.tjc-finance-split-row.is-warning strong { color: #b45309; }
.tjc-finance-actions-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.tjc-finance-status-list { display: flex; flex-direction: column; }
.tjc-finance-status-row { grid-template-columns: 1fr auto auto; }
.tjc-finance-status-row em { color: #64748b; font-style: normal; font-weight: 700; min-width: 105px; text-align: right; }
.tjc-finance-wide-card { margin-top: 0; }
.tjc-finance-table .tjc-actions-col { width: 1%; white-space: nowrap; }
@media (max-width: 1100px) {
    .tjc-finance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tjc-finance-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .tjc-finance-kpi-grid { grid-template-columns: 1fr; }
    .tjc-finance-kpi strong { font-size: 21px; }
    .tjc-finance-status-row { grid-template-columns: 1fr auto; }
    .tjc-finance-status-row em { grid-column: 1 / -1; text-align: left; min-width: 0; }
}


/* Expenses v1 */
.tjc-expenses-shell { display: flex; flex-direction: column; gap: 16px; }
.tjc-expenses-table small { display: block; color: #64748b; margin-top: 3px; }
.tjc-expense-form { gap: 18px; }
.tjc-expense-status-unbilled { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.tjc-expense-status-invoiced { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.tjc-expense-status-reimbursed { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
@media (max-width: 780px) {
    .tjc-expenses-table { min-width: 760px; }
}


/* Expenses v2 polish */
.tjc-expense-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    align-items: center;
}

.tjc-inline-form {
    display: inline-flex;
    margin: 0;
}

.tjc-inline-form button.tjc-link-btn {
    cursor: pointer;
    border: 0;
    font: inherit;
}

.tjc-muted-action {
    background: #f1f5f9 !important;
    color: #475569 !important;
}

.tjc-danger-action {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.tjc-receipt-placeholder {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    background: #f8fafc;
    color: #334155;
    margin: 8px 0 16px;
}

.tjc-receipt-placeholder span {
    color: #64748b;
    font-size: 13px;
}

/* Expenses receipt uploads */
.tjc-receipt-upload-box {
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 14px;
    background: #f8fafc;
    padding: 14px;
    display: grid;
    gap: 10px;
    margin: 12px 0;
}

.tjc-receipt-upload-box strong {
    display: block;
    color: #0f172a;
    margin-bottom: 3px;
}

.tjc-receipt-upload-box span,
.tjc-receipt-upload-box small {
    color: #64748b;
}

.tjc-receipt-upload-box input[type="file"] {
    width: 100%;
    border: 1px dashed rgba(15, 23, 42, 0.22);
    border-radius: 12px;
    background: #ffffff;
    padding: 12px;
}

.tjc-current-receipt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.tjc-checkbox-line {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #475569;
}

.tjc-expense-receipt-link {
    display: inline-block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #2563eb;
    text-decoration: none;
}

.tjc-expense-receipt-link:hover {
    text-decoration: underline;
}


/* Sales document email panel */
.tjc-sales-email-panel{margin-top:18px;padding:18px;border:1px solid #dce7f2;border-radius:18px;background:#f8fbff;box-shadow:0 10px 28px rgba(15,42,74,.06)}
.tjc-sales-email-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.tjc-sales-email-head strong{display:block;font-size:15px;color:#1f2d3d}
.tjc-sales-email-head span{display:block;margin-top:3px;font-size:12px;color:#667085}
.tjc-sales-email-form{display:grid;gap:12px}
.tjc-sales-email-form .tjc-office-primary-action{justify-self:start}
@media(max-width:720px){.tjc-sales-email-panel{padding:14px}.tjc-sales-email-form .tjc-office-primary-action{width:100%;justify-content:center}}


/* Sales document history */
.tjc-sales-events-panel {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #dbe4ee;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.tjc-sales-events-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.tjc-sales-events-head strong {
    display: block;
    color: #0f172a;
    font-size: 15px;
}

.tjc-sales-events-head span {
    display: block;
    color: #64748b;
    font-size: 12px;
    margin-top: 2px;
}

.tjc-sales-events-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.tjc-sales-events-list li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #e5edf5;
    border-radius: 12px;
    background: #f8fafc;
}

.tjc-sales-events-list li strong {
    display: block;
    color: #0f172a;
    font-size: 13px;
}

.tjc-sales-events-list li span {
    display: block;
    color: #475569;
    font-size: 12px;
    margin-top: 3px;
}

.tjc-sales-events-list li time {
    color: #64748b;
    font-size: 12px;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .tjc-sales-events-head,
    .tjc-sales-events-list li {
        display: block;
    }

    .tjc-sales-events-list li time {
        display: block;
        margin-top: 6px;
        white-space: normal;
    }
}


/* JobCardHub sales finance stable layout override.
   Keep finance analytics wide like the main Analytics tab and prevent later button/card styles from narrowing it. */
.tjc-sales-shell.tjc-finance-shell {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  overflow: visible !important;
}
.tjc-finance-shell .tjc-queue-header {
  width: 100% !important;
  align-items: flex-start !important;
}
.tjc-finance-shell .tjc-row-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}
.tjc-finance-kpi-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(210px, 1fr)) !important;
  gap: 16px !important;
}
.tjc-finance-kpi {
  min-width: 0 !important;
  width: auto !important;
  padding: 18px !important;
}
.tjc-finance-kpi strong {
  white-space: nowrap !important;
  overflow: visible !important;
  font-size: clamp(22px, 2vw, 30px) !important;
}
.tjc-finance-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  gap: 16px !important;
}
.tjc-finance-wide-card {
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
}
.tjc-finance-status-row em {
  white-space: nowrap !important;
}
@media (max-width: 1180px) {
  .tjc-finance-kpi-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }
  .tjc-finance-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 720px) {
  .tjc-finance-kpi-grid {
    grid-template-columns: 1fr !important;
  }
  .tjc-finance-shell .tjc-row-actions {
    justify-content: flex-start !important;
  }
}

/* === Job card stock editor width refinement v1 === */
body.tjc-office-dashboard-active .tjc-stock-table-wrap {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.tjc-office-dashboard-active .tjc-stock-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.tjc-office-dashboard-active .tjc-stock-table th,
body.tjc-office-dashboard-active .tjc-stock-table td {
  box-sizing: border-box !important;
  padding: 8px 7px !important;
  vertical-align: top !important;
  overflow: visible !important;
}

body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(1),
body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(1) {
  width: 42% !important;
}

body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(2),
body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(2) {
  width: 22% !important;
}

body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(3),
body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(3) {
  width: auto !important;
}

body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(4),
body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(4) {
  width: 54px !important;
  text-align: center !important;
}

body.tjc-office-dashboard-active .tjc-stock-table input[type="text"],
body.tjc-office-dashboard-active .tjc-stock-table input[type="number"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

body.tjc-office-dashboard-active .tjc-stock-table .tjc-stock-item-cell {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.tjc-office-dashboard-active .tjc-stock-table .tjc-stock-item-input {
  text-overflow: ellipsis !important;
}

body.tjc-office-dashboard-active .tjc-stock-table .tjc-row-remove {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 2px auto 0 !important;
  border-radius: 12px !important;
}

body.tjc-office-dashboard-active .tjc-stock-row-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

body.tjc-office-dashboard-active .tjc-stock-row-buttons .tjc-link-btn {
  width: auto !important;
  min-width: 160px !important;
  min-height: 46px !important;
  padding: 0 18px !important;
}

@media (max-width: 900px) {
  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(1),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(1) {
    width: 40% !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(2),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(2) {
    width: 20% !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(4),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(4) {
    width: 50px !important;
  }
}

@media (max-width: 640px) {
  body.tjc-office-dashboard-active .tjc-stock-table,
  body.tjc-office-dashboard-active .tjc-stock-table thead,
  body.tjc-office-dashboard-active .tjc-stock-table tbody,
  body.tjc-office-dashboard-active .tjc-stock-table tr,
  body.tjc-office-dashboard-active .tjc-stock-table th,
  body.tjc-office-dashboard-active .tjc-stock-table td {
    display: block !important;
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table thead {
    display: none !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table tr {
    position: relative !important;
    padding: 12px !important;
    margin: 0 0 10px !important;
    border: 1px solid #d8e4f0 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table td {
    padding: 0 0 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table td::before {
    content: attr(data-label) !important;
    display: block !important;
    margin: 0 0 6px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table td:last-child {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 0 !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-table td:last-child::before {
    display: none !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-row-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-stock-row-buttons .tjc-link-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* === Job card stock editor desktop full-width layout v1 === */
/* Desktop only: use the full card width for Stock Required / Stock Used. */
@media (min-width: 781px) {
  .tjc-stock-table-wrap,
  body.tjc-office-dashboard-active .tjc-stock-table-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 18px !important;
  }

  .tjc-stock-table-wrap .tjc-stock-toolbar,
  body.tjc-office-dashboard-active .tjc-stock-table-wrap .tjc-stock-toolbar {
    width: 100% !important;
    max-width: 100% !important;
  }

  .tjc-stock-table,
  .tjc-stock-table thead,
  .tjc-stock-table tbody,
  body.tjc-office-dashboard-active .tjc-stock-table,
  body.tjc-office-dashboard-active .tjc-stock-table thead,
  body.tjc-office-dashboard-active .tjc-stock-table tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
    border-spacing: 0 !important;
  }

  .tjc-stock-table thead tr,
  .tjc-stock-table tbody tr,
  body.tjc-office-dashboard-active .tjc-stock-table thead tr,
  body.tjc-office-dashboard-active .tjc-stock-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(260px, 2fr) 150px minmax(260px, 2fr) 46px !important;
    gap: 12px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .tjc-stock-table th,
  .tjc-stock-table td,
  body.tjc-office-dashboard-active .tjc-stock-table th,
  body.tjc-office-dashboard-active .tjc-stock-table td {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .tjc-stock-table th:nth-child(1),
  .tjc-stock-table td:nth-child(1),
  .tjc-stock-table th:nth-child(2),
  .tjc-stock-table td:nth-child(2),
  .tjc-stock-table th:nth-child(3),
  .tjc-stock-table td:nth-child(3),
  .tjc-stock-table th:nth-child(4),
  .tjc-stock-table td:nth-child(4),
  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(1),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(1),
  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(2),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(2),
  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(3),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(3),
  body.tjc-office-dashboard-active .tjc-stock-table th:nth-child(4),
  body.tjc-office-dashboard-active .tjc-stock-table td:nth-child(4) {
    width: auto !important;
    max-width: none !important;
  }

  .tjc-stock-table input[type="text"],
  .tjc-stock-table input[type="number"],
  body.tjc-office-dashboard-active .tjc-stock-table input[type="text"],
  body.tjc-office-dashboard-active .tjc-stock-table input[type="number"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .tjc-stock-table .tjc-stock-item-cell,
  .tjc-stock-table .tjc-stock-item-input,
  body.tjc-office-dashboard-active .tjc-stock-table .tjc-stock-item-cell,
  body.tjc-office-dashboard-active .tjc-stock-table .tjc-stock-item-input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .tjc-stock-table .tjc-row-remove,
  body.tjc-office-dashboard-active .tjc-stock-table .tjc-row-remove {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }

  .tjc-stock-row-buttons,
  body.tjc-office-dashboard-active .tjc-stock-row-buttons {
    width: 100% !important;
    margin-top: 12px !important;
    padding-left: 0 !important;
  }
}

/* Medium desktop: keep full width, but soften the column minimums. */
@media (min-width: 781px) and (max-width: 1100px) {
  .tjc-stock-table thead tr,
  .tjc-stock-table tbody tr,
  body.tjc-office-dashboard-active .tjc-stock-table thead tr,
  body.tjc-office-dashboard-active .tjc-stock-table tbody tr {
    grid-template-columns: minmax(220px, 2fr) 135px minmax(220px, 2fr) 44px !important;
    gap: 10px !important;
  }
}

/* === Job card stock editor desktop full-width layout v2 ===
   The stock blocks sit inside the left desktop column in the current PHP markup.
   To give them real desktop width without moving markup, the job card form layout is
   set to a single full-width column on desktop/tablet while preserving mobile rules. */
@media (min-width: 781px) {
  #tjc-new-jobcard-form .tjc-jobcard-layout,
  #tjc-jobcard-detail-form .tjc-detail-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }

  #tjc-new-jobcard-form .tjc-jobcard-column,
  #tjc-jobcard-detail-form .tjc-detail-shell > * {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  #tjc-new-jobcard-form .tjc-form-section:has(.tjc-stock-table-wrap),
  #tjc-jobcard-detail-form .tjc-form-section:has(.tjc-stock-table-wrap) {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  #tjc-new-jobcard-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table-wrap,
  #tjc-jobcard-detail-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table-wrap {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  #tjc-new-jobcard-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table thead tr,
  #tjc-new-jobcard-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table tbody tr,
  #tjc-jobcard-detail-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table thead tr,
  #tjc-jobcard-detail-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table tbody tr {
    grid-template-columns: minmax(360px, 1.6fr) 150px minmax(320px, 1.4fr) 48px !important;
    gap: 14px !important;
  }
}

@media (min-width: 781px) and (max-width: 1050px) {
  #tjc-new-jobcard-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table thead tr,
  #tjc-new-jobcard-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table tbody tr,
  #tjc-jobcard-detail-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table thead tr,
  #tjc-jobcard-detail-form .tjc-form-section:has(.tjc-stock-table-wrap) .tjc-stock-table tbody tr {
    grid-template-columns: minmax(280px, 1.6fr) 130px minmax(240px, 1.3fr) 46px !important;
    gap: 10px !important;
  }
}

/* Finance documents polish: statements, purchase orders and credit notes */
body.tjc-office-dashboard-active .tjc-sales-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid #e4edf7 !important;
}

body.tjc-office-dashboard-active .tjc-finance-document-shell .tjc-office-primary-action,
body.tjc-office-dashboard-active .tjc-finance-document-shell .tjc-link-btn,
body.tjc-office-dashboard-active .tjc-finance-actions .tjc-link-btn {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-finance-actions,
body.tjc-office-dashboard-active .tjc-form-actions,
body.tjc-office-dashboard-active .tjc-finance-add-line {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 14px 0 !important;
}

body.tjc-office-dashboard-active .tjc-sales-form-grid,
body.tjc-office-dashboard-active .tjc-finance-document-grid,
body.tjc-office-dashboard-active .tjc-finance-statement-form {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
  gap: 14px !important;
  align-items: end !important;
  margin-bottom: 16px !important;
}

body.tjc-office-dashboard-active .tjc-finance-document-grid .tjc-form-field-wide,
body.tjc-office-dashboard-active .tjc-finance-statement-form .tjc-form-field-wide {
  grid-column: 1 / -1 !important;
}

body.tjc-office-dashboard-active .tjc-finance-statement-form .tjc-form-actions {
  margin: 0 !important;
  align-self: end !important;
}

body.tjc-office-dashboard-active .tjc-finance-document-form input[type="text"],
body.tjc-office-dashboard-active .tjc-finance-document-form input[type="email"],
body.tjc-office-dashboard-active .tjc-finance-document-form input[type="date"],
body.tjc-office-dashboard-active .tjc-finance-document-form input[type="number"],
body.tjc-office-dashboard-active .tjc-finance-document-form select,
body.tjc-office-dashboard-active .tjc-finance-document-form textarea,
body.tjc-office-dashboard-active .tjc-finance-statement-form input[type="date"],
body.tjc-office-dashboard-active .tjc-finance-statement-form select,
body.tjc-office-dashboard-active .tjc-finance-items-table input[type="text"],
body.tjc-office-dashboard-active .tjc-finance-items-table input[type="number"],
body.tjc-office-dashboard-active .tjc-finance-items-table textarea {
  width: 100% !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  border: 1px solid #cddbea !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #10233c !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.tjc-office-dashboard-active .tjc-finance-document-form textarea,
body.tjc-office-dashboard-active .tjc-finance-items-table textarea {
  min-height: 76px !important;
  resize: vertical !important;
}

body.tjc-office-dashboard-active .tjc-finance-items-table {
  margin: 16px 0 10px !important;
  overflow-x: auto !important;
}

body.tjc-office-dashboard-active .tjc-finance-items-table table {
  table-layout: fixed !important;
  width: 100% !important;
}

body.tjc-office-dashboard-active .tjc-finance-items-table th,
body.tjc-office-dashboard-active .tjc-finance-items-table td {
  vertical-align: top !important;
  padding: 10px !important;
}

body.tjc-office-dashboard-active .tjc-finance-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid #e6edf7 !important;
}

body.tjc-office-dashboard-active .tjc-finance-card-head > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

body.tjc-office-dashboard-active .tjc-finance-split-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 12px 0 !important;
  font-size: 16px !important;
}

@media (max-width: 980px) {
  body.tjc-office-dashboard-active .tjc-sales-form-grid,
  body.tjc-office-dashboard-active .tjc-finance-document-grid,
  body.tjc-office-dashboard-active .tjc-finance-statement-form {
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.tjc-office-dashboard-active .tjc-sales-head,
  body.tjc-office-dashboard-active .tjc-finance-card-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.tjc-office-dashboard-active .tjc-sales-form-grid,
  body.tjc-office-dashboard-active .tjc-finance-document-grid,
  body.tjc-office-dashboard-active .tjc-finance-statement-form {
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-actions .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-finance-document-shell .tjc-office-primary-action {
    width: 100% !important;
  }
}



/* Mobile document preview cleanup: hide the desktop-style quote/invoice preview on phones.
   The actual PDF actions remain above it: View PDF, Download PDF, Share PDF and email. */
@media (max-width: 760px) {
    .tjc-sales-document-preview {
        display: none !important;
    }

    .tjc-sales-preview-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: stretch;
    }

    .tjc-sales-preview-actions .tjc-link-btn,
    .tjc-sales-preview-actions .tjc-office-primary-action,
    .tjc-sales-preview-actions button {
        flex: 1 1 calc(50% - 8px);
        min-width: 130px;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }
}

/* JobCardHub table corner cleanup: keep row backgrounds inside rounded list/table cards while dropdowns remain visible. */
body.tjc-office-dashboard-active .tjc-office-table{
  border-radius:16px!important;
}
body.tjc-office-dashboard-active .tjc-office-table thead tr:first-child th:first-child{
  border-top-left-radius:16px!important;
}
body.tjc-office-dashboard-active .tjc-office-table thead tr:first-child th:last-child{
  border-top-right-radius:16px!important;
}
body.tjc-office-dashboard-active .tjc-office-table tbody tr:last-child td:first-child{
  border-bottom-left-radius:16px!important;
}
body.tjc-office-dashboard-active .tjc-office-table tbody tr:last-child td:last-child{
  border-bottom-right-radius:16px!important;
}
body.tjc-office-dashboard-active .tjc-office-table tbody tr:last-child td{
  border-bottom-color:transparent!important;
}

/* JobCardHub job card form desktop polish v3.
   Scope: desktop/tablet job card create/edit screens only.
   Purpose: tighten oversized action buttons/cards without touching mobile layouts or logic. */
@media (min-width: 901px) {
  .tjc-jobcard-shell,
  .tjc-frontend-wrap.tjc-form-page {
    font-size: 13px !important;
  }

  .tjc-jobcard-shell .tjc-button,
  .tjc-frontend-wrap.tjc-form-page .tjc-button,
  .tjc-jobcard-shell .tjc-link-btn,
  .tjc-frontend-wrap.tjc-form-page .tjc-link-btn {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 13px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06) !important;
  }

  .tjc-jobcard-shell .tjc-button-secondary,
  .tjc-frontend-wrap.tjc-form-page .tjc-button-secondary {
    background: #ffffff !important;
    color: #173252 !important;
    border: 1px solid #cbd8e8 !important;
  }

  .tjc-jobcard-shell .tjc-button-secondary:hover,
  .tjc-frontend-wrap.tjc-form-page .tjc-button-secondary:hover {
    background: #f6f9ff !important;
    border-color: #b8c9de !important;
    transform: translateY(-1px);
  }

  .tjc-jobcard-shell .tjc-button-primary,
  .tjc-frontend-wrap.tjc-form-page .tjc-button-primary {
    background: linear-gradient(180deg, #34a853 0%, #21883d 100%) !important;
    color: #ffffff !important;
    border: 1px solid #21883d !important;
    box-shadow: 0 8px 18px rgba(33, 136, 61, 0.18) !important;
  }

  .tjc-jobcard-shell .tjc-button-primary:hover,
  .tjc-frontend-wrap.tjc-form-page .tjc-button-primary:hover {
    filter: brightness(0.98);
    transform: translateY(-1px);
  }

  .tjc-jobcard-shell .tjc-jobcard-topbar,
  .tjc-jobcard-shell .tjc-jobcard-page-title {
    padding: 12px 16px !important;
  }

  .tjc-jobcard-shell .tjc-jobcard-body {
    padding: 14px !important;
  }

  .tjc-jobcard-shell .tjc-jobcard-layout,
  .tjc-frontend-wrap.tjc-form-page .tjc-detail-shell {
    gap: 14px !important;
  }

  .tjc-jobcard-shell .tjc-form-section,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-section {
    padding: 13px !important;
    margin-bottom: 12px !important;
    border-radius: 15px !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04) !important;
  }

  .tjc-jobcard-shell .tjc-form-section-title,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-section-title {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    font-size: 13px !important;
  }

  .tjc-jobcard-shell .tjc-form-grid,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-grid,
  .tjc-jobcard-shell .tjc-admin-grid,
  .tjc-frontend-wrap.tjc-form-page .tjc-admin-grid {
    gap: 10px 12px !important;
  }

  .tjc-jobcard-shell .tjc-form-field,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field {
    gap: 5px !important;
  }

  .tjc-jobcard-shell .tjc-form-field label,
  .tjc-jobcard-shell .tjc-inline-label,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field label,
  .tjc-frontend-wrap.tjc-form-page .tjc-inline-label {
    font-size: 11.5px !important;
    letter-spacing: 0.01em !important;
  }

  .tjc-jobcard-shell .tjc-form-field input,
  .tjc-jobcard-shell .tjc-form-field select,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field input,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field select {
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
  }

  .tjc-jobcard-shell .tjc-form-field textarea,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field textarea {
    min-height: 78px !important;
    padding: 9px 10px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
  }

  .tjc-jobcard-shell .tjc-form-field input[type="date"],
  .tjc-jobcard-shell .tjc-form-field input[type="time"],
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field input[type="date"],
  .tjc-frontend-wrap.tjc-form-page .tjc-form-field input[type="time"] {
    min-height: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 13px !important;
    padding: 0 10px !important;
  }

  .tjc-jobcard-shell .tjc-form-actions,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-actions {
    gap: 8px !important;
    margin-top: 14px !important;
    align-items: center !important;
  }

  .tjc-jobcard-shell .tjc-form-actions > div,
  .tjc-frontend-wrap.tjc-form-page .tjc-form-actions > div,
  .tjc-detail-topbar > div:last-child {
    gap: 8px !important;
    align-items: center !important;
  }

  .tjc-jobcard-shell .tjc-dictate-btn,
  .tjc-frontend-wrap.tjc-form-page .tjc-dictate-btn,
  .tjc-jobcard-shell .tjc-voice-note-controls .tjc-button,
  .tjc-frontend-wrap.tjc-form-page .tjc-voice-note-controls .tjc-button {
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 11px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }

  .tjc-jobcard-shell .tjc-stock-table-wrap,
  .tjc-frontend-wrap.tjc-form-page .tjc-stock-table-wrap,
  .tjc-jobcard-shell .tjc-image-uploader,
  .tjc-frontend-wrap.tjc-form-page .tjc-image-uploader,
  .tjc-jobcard-shell .tjc-voice-note-uploader,
  .tjc-frontend-wrap.tjc-form-page .tjc-voice-note-uploader,
  .tjc-jobcard-shell .tjc-signature-wrap,
  .tjc-frontend-wrap.tjc-form-page .tjc-signature-wrap {
    padding: 10px !important;
    border-radius: 13px !important;
  }

  .tjc-jobcard-shell .tjc-stock-row-card,
  .tjc-frontend-wrap.tjc-form-page .tjc-stock-row-card {
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 13px !important;
  }
}

/* Client business/individual fields and mobile action cleanup */
body.tjc-office-dashboard-active .tjc-client-type-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
body.tjc-office-dashboard-active .tjc-client-type-option{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  border:1px solid #d7e3ef;
  border-radius:14px;
  background:#fff;
  color:#28415f;
  font-weight:900;
  cursor:pointer;
}
body.tjc-office-dashboard-active .tjc-client-type-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.tjc-office-dashboard-active .tjc-client-type-option.is-active{
  background:#eaf2ff;
  border-color:#2f6fe4;
  color:#174ea6;
  box-shadow:0 8px 20px rgba(47,111,228,.12);
}
body.tjc-office-dashboard-active .tjc-client-edit-grid [hidden]{
  display:none!important;
}
body.tjc-office-dashboard-active .tjc-client-edit-grid select,
body.tjc-office-dashboard-active .tjc-client-edit-grid input{
  font-size:16px;
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-queue-header-slim{
    gap:12px!important;
  }
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-queue-tools-slim{
    grid-template-columns:1fr!important;
  }
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-queue-tools-slim .tjc-link-btn-primary{
    width:100%!important;
    min-height:48px!important;
    border-radius:18px!important;
    font-size:16px!important;
    justify-content:center!important;
    box-shadow:0 12px 26px rgba(37,99,235,.16)!important;
  }
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-search-input-slim{
    width:100%!important;
    min-height:48px!important;
    border-radius:18px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-tools-slim{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-tools-slim .tjc-link-btn{
    width:100%!important;
    min-height:46px!important;
    border-radius:16px!important;
    justify-content:center!important;
    font-size:15px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-type-selector{
    grid-template-columns:1fr;
  }
}

/* Clients form/button polish fix */
body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-header-slim{
  align-items:flex-start;
}
body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-tools-slim{
  flex:0 0 auto;
}
body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-tools-slim .tjc-link-btn{
  white-space:nowrap;
}
body.tjc-office-dashboard-active .tjc-client-edit-form .tjc-client-type-selector{
  margin:0 0 22px!important;
}
body.tjc-office-dashboard-active .tjc-client-edit-form .tjc-client-business-field[hidden],
body.tjc-office-dashboard-active .tjc-client-edit-form .tjc-client-individual-field[hidden]{
  display:none!important;
}

@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-queue-header-slim{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-queue-tools-slim{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-queue-tools-slim .tjc-link-btn-primary{
    width:auto!important;
    max-width:220px!important;
    min-height:42px!important;
    padding:10px 18px!important;
    justify-self:center!important;
    border:1px solid #bfd0e6!important;
    border-radius:999px!important;
    background:#eef4ff!important;
    color:#2557b8!important;
    box-shadow:0 10px 24px rgba(37,99,235,.10)!important;
    font-size:16px!important;
    font-weight:900!important;
  }
  body.tjc-office-dashboard-active .tjc-queue-panel:has(#tjc-clients-table) .tjc-search-input-slim{
    width:100%!important;
    max-width:100%!important;
    min-height:48px!important;
    border-radius:18px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-header-slim{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:10px!important;
    align-items:start!important;
    overflow:visible!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-meta{
    min-width:0!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-tools-slim{
    width:auto!important;
    display:flex!important;
    justify-content:flex-end!important;
    min-width:0!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-queue-tools-slim .tjc-link-btn{
    width:auto!important;
    min-width:0!important;
    max-width:96px!important;
    min-height:38px!important;
    padding:8px 14px!important;
    border:1px solid #bfd0e6!important;
    border-radius:999px!important;
    background:#eef4ff!important;
    color:#2557b8!important;
    box-shadow:none!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.tjc-office-dashboard-active .tjc-client-edit-form .tjc-client-type-selector{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:4px 0 24px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-edit-form .tjc-client-type-option{
    min-height:42px!important;
    border-radius:999px!important;
    font-size:15px!important;
  }
}

/* Payment reversal controls */
body.tjc-office-dashboard-active .tjc-sales-payment-line-reversal {
  background: #fff7ed;
  border-color: #fed7aa;
}

body.tjc-office-dashboard-active .tjc-sales-payment-reverse {
  grid-column: 1 / -1;
  margin-top: 8px;
}

body.tjc-office-dashboard-active .tjc-sales-payment-reverse summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #b91c1c;
  font-weight: 800;
  font-size: 13px;
}

body.tjc-office-dashboard-active .tjc-sales-payment-reverse form {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid #fee2e2;
  border-radius: 16px;
  background: #fffafa;
}

body.tjc-office-dashboard-active .tjc-sales-payment-reverse .tjc-form-field {
  display: grid;
  gap: 6px;
  margin: 0 0 10px;
}

body.tjc-office-dashboard-active .tjc-sales-payment-reverse textarea {
  width: 100%;
  min-height: 74px;
  resize: vertical;
}

/* Task 3: mobile office drawer scroll fix.
   Keep the sidebar as a fixed drawer on phones, but make its own content area
   scroll to the true bottom so footer links such as Team Management remain reachable. */
@media (max-width:780px){
  html.tjc-mobile-nav-open,
  html.tjc-mobile-nav-open body{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  body.tjc-office-dashboard-active .tjc-office-sidebar,
  body.tjc-office-dashboard-active .tjc-office-sidebar.is-open,
  body.tjc-office-dashboard-active [data-mobile-drawer],
  body.tjc-office-dashboard-active [data-mobile-drawer].is-open{
    top:0!important;
    right:auto!important;
    bottom:auto!important;
    left:0!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
    padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
  }

  body.tjc-office-dashboard-active .tjc-office-sidebar-head{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    background:#ffffff!important;
  }

  body.tjc-office-dashboard-active .tjc-office-sidebar-footer{
    margin-bottom:0!important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* Task 4: client profile mobile layout - remove desktop-table behaviour on client detail/account screens. */
body.tjc-office-dashboard-active .tjc-client-account-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
body.tjc-office-dashboard-active .tjc-client-account-card{
  min-width:0;
  padding:14px 16px;
  border:1px solid #dbe7f3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.04);
}
body.tjc-office-dashboard-active .tjc-client-account-card span{
  display:block;
  margin:0 0 6px;
  color:#5a7090;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
body.tjc-office-dashboard-active .tjc-client-account-card strong{
  display:block;
  color:#132a46;
  font-size:20px;
  font-weight:900;
  line-height:1.15;
  overflow-wrap:anywhere;
}
body.tjc-office-dashboard-active .tjc-client-account-card small{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.tjc-office-dashboard-active .tjc-client-account-sections{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
body.tjc-office-dashboard-active .tjc-client-account-heading{
  margin:0 0 10px;
  color:#23395d;
  font-size:14px;
  font-weight:900;
}
@media (max-width:1180px){
  body.tjc-office-dashboard-active .tjc-client-account-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-client-profile-shell{
    padding:10px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-table-wrap::after{
    display:none!important;
    content:none!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-table-wrap,
  body.tjc-office-dashboard-active .tjc-client-details-wrap,
  body.tjc-office-dashboard-active .tjc-client-jobs-wrap,
  body.tjc-office-dashboard-active .tjc-client-account-table-wrap{
    overflow-x:visible!important;
    overflow-y:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding-bottom:0!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-office-table,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-table-wrap > .tjc-office-table,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-table-wrap > table,
  body.tjc-office-dashboard-active .tjc-client-details-table,
  body.tjc-office-dashboard-active .tjc-client-jobs-table,
  body.tjc-office-dashboard-active .tjc-client-account-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:auto!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-office-table thead{
    display:none!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-office-table tbody{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-office-table tr{
    display:block!important;
    width:100%!important;
    padding:12px!important;
    border:1px solid #dbe7f3!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
    box-sizing:border-box!important;
  }
  body.tjc-office-dashboard-active .tjc-client-details-table tr{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-details-table th,
  body.tjc-office-dashboard-active .tjc-client-details-table td{
    display:block!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box!important;
  }
  body.tjc-office-dashboard-active .tjc-client-details-table th{
    color:#64748b!important;
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
  }
  body.tjc-office-dashboard-active .tjc-client-details-table td{
    color:#10233c!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.35!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-card{
    padding:13px 14px!important;
    border-radius:16px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-card strong{
    font-size:19px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table tr,
  body.tjc-office-dashboard-active .tjc-client-jobs-table tr{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table td,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table td::before,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td::before{
    flex:0 0 96px;
    color:#64748b;
    font-size:11px;
    font-weight:900;
    letter-spacing:.06em;
    line-height:1.4;
    text-transform:uppercase;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table td > *,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td > *{
    min-width:0;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table td:last-child,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:last-child{
    justify-content:flex-start!important;
    margin-top:4px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table td:last-child::before,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:last-child::before{
    display:none!important;
    content:none!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-section .tjc-office-table .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-client-jobs-table .tjc-link-btn{
    width:100%!important;
    justify-content:center!important;
    min-height:40px!important;
    border-radius:999px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(1) td:nth-child(1)::before{content:"Quote";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(1) td:nth-child(2)::before{content:"Status";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(1) td:nth-child(3)::before{content:"Total";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(2) td:nth-child(1)::before{content:"Invoice";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(2) td:nth-child(2)::before{content:"Status";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(2) td:nth-child(3)::before{content:"Balance";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(3) td:nth-child(1)::before{content:"Credit Note";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(3) td:nth-child(2)::before{content:"Status";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(3) td:nth-child(3)::before{content:"Total";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(4) td:nth-child(1)::before{content:"Date";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(4) td:nth-child(2)::before{content:"Invoice";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(4) td:nth-child(3)::before{content:"Method";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(4) td:nth-child(4)::before{content:"Reference";}
  body.tjc-office-dashboard-active .tjc-client-account-sections .tjc-client-account-section:nth-child(4) td:nth-child(5)::before{content:"Amount";}
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:nth-child(1)::before{content:"Job Card";}
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:nth-child(2)::before{content:"Status";}
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:nth-child(3)::before{content:"Scheduled";}
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:nth-child(4)::before{content:"Address";}
}

/* Client profile mobile polish: top actions, edit action placement and linked job-card button wrapping */
body.tjc-office-dashboard-active .tjc-client-block-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
body.tjc-office-dashboard-active .tjc-client-block-heading .tjc-client-block-title{
  margin:0;
}
body.tjc-office-dashboard-active .tjc-client-detail-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
body.tjc-office-dashboard-active .tjc-client-detail-actions .tjc-link-btn{
  white-space:nowrap;
}

@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-profile-top-actions{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    justify-content:stretch!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-profile-top-actions .tjc-link-btn{
    max-width:none!important;
    width:100%!important;
    min-height:42px!important;
    padding:9px 14px!important;
    font-size:15px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-profile-top-actions .tjc-link-btn:first-child{
    width:auto!important;
    min-width:86px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-block-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  body.tjc-office-dashboard-active .tjc-client-detail-actions .tjc-link-btn{
    width:auto!important;
    min-width:112px!important;
    max-width:none!important;
    min-height:38px!important;
    padding:8px 14px!important;
    border-radius:999px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
    justify-content:center!important;
  }
  body.tjc-office-dashboard-active .tjc-client-jobs-table .tjc-cell-manage,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td.tjc-cell-manage,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:last-child{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    text-align:left!important;
    justify-content:stretch!important;
  }
  body.tjc-office-dashboard-active .tjc-client-jobs-table .tjc-cell-manage .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-client-jobs-table td:last-child .tjc-link-btn{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:center!important;
    justify-content:center!important;
  }
}

/* Client profile mobile linked job-card action fix: override compact table action column widths. */
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table tr{
    overflow:hidden!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td.tjc-cell-manage,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td:last-child{
    display:block!important;
    grid-column:1 / -1!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    margin:8px 0 0!important;
    padding:0!important;
    text-align:stretch!important;
    white-space:normal!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td.tjc-cell-manage::before,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td:last-child::before{
    display:none!important;
    content:none!important;
  }
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td.tjc-cell-manage .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td:last-child .tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td.tjc-cell-manage a.tjc-link-btn,
  body.tjc-office-dashboard-active .tjc-client-profile-shell .tjc-client-jobs-table td:last-child a.tjc-link-btn{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:flex!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
    border-radius:14px!important;
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    overflow:hidden!important;
  }
}


/* JobCardHub floating quick actions: top Back/Save remains, bottom bar handles fast secondary actions. */
.tjc-form-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.tjc-form-top-actions .tjc-button,
.tjc-form-top-actions .tjc-link-btn,
.tjc-form-top-actions .tjc-office-primary-action{
  width:auto!important;
  min-height:38px!important;
  padding:9px 14px!important;
  white-space:nowrap!important;
}
.tjc-floating-more-wrap{
  position:fixed;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  z-index:9998;
}
.tjc-floating-actions-bar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid rgba(219,229,239,.9);
  border-radius:999px;
  background:#10233c;
  box-shadow:0 18px 42px rgba(15,23,42,.28);
  box-sizing:border-box;
}
.tjc-floating-action-icon,
.tjc-floating-more-menu > summary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
  -webkit-appearance:none;
  appearance:none;
}
.tjc-floating-action-icon:hover,
.tjc-floating-more-menu > summary:hover{
  background:rgba(255,255,255,.2)!important;
  color:#fff!important;
}
.tjc-floating-more-menu{
  position:relative!important;
  display:block!important;
}
.tjc-floating-more-menu > summary{
  list-style:none;
  user-select:none;
  border:0!important;
  background:rgba(255,255,255,.12)!important;
}
.tjc-floating-more-menu > summary::-webkit-details-marker{display:none;}
.tjc-floating-icon-svg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:23px;
  height:23px;
}
.tjc-floating-icon-svg svg{
  display:block;
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjc-floating-more-dots{
  font-size:22px;
  line-height:1;
  letter-spacing:2px;
}
.tjc-floating-more-sheet{
  position:absolute;
  right:0;
  bottom:calc(100% + 12px);
  width:min(360px, calc(100vw - 28px));
  max-height:min(70vh, 560px);
  overflow:auto;
  padding:14px;
  border:1px solid #dbe5ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.24);
}
.tjc-floating-more-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:2px 2px 10px;
  border-bottom:1px solid #eef2f7;
  margin-bottom:10px;
  color:#10233c;
  font-size:18px;
}
.tjc-floating-more-close{
  width:38px;
  height:38px;
  border:1px solid #dbe5ef;
  border-radius:999px;
  background:#fff;
  color:#10233c;
  font-size:24px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
}
.tjc-floating-more-actions{
  display:grid;
  gap:8px;
}
.tjc-floating-more-actions .tjc-button,
.tjc-floating-more-actions .tjc-link-btn,
.tjc-floating-more-actions .tjc-link-btn-primary,
.tjc-floating-more-actions .tjc-office-primary-action,
.tjc-floating-more-actions button,
.tjc-floating-more-actions a{
  width:100%!important;
  min-height:42px!important;
  justify-content:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.tjc-floating-more-actions form,
.tjc-floating-action-form{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
.tjc-sales-summary > div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
}
.tjc-sales-summary span,
.tjc-sales-summary strong{
  min-width:0!important;
  line-height:1.25!important;
}
.tjc-sales-summary strong{
  text-align:right!important;
  white-space:nowrap!important;
}
@media (max-width:780px){
  .tjc-detail-topbar{
    align-items:stretch!important;
  }
  .tjc-detail-topbar > div:last-child,
  .tjc-form-top-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:8px!important;
  }
  .tjc-form-top-actions .tjc-button,
  .tjc-form-top-actions .tjc-link-btn,
  .tjc-form-top-actions .tjc-office-primary-action{
    width:100%!important;
    min-width:0!important;
    padding:9px 10px!important;
    font-size:13px!important;
  }
  .tjc-floating-more-wrap{
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .tjc-floating-actions-bar{
    justify-content:space-between;
    border-radius:24px;
    padding:9px 12px;
  }
  .tjc-floating-action-icon,
  .tjc-floating-more-menu > summary{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .tjc-floating-more-sheet{
    position:fixed;
    left:18px;
    right:18px;
    bottom:calc(82px + env(safe-area-inset-bottom, 0px));
    width:auto;
    max-height:68vh;
    border-radius:22px;
  }
  .tjc-sales-summary > div{
    padding:9px 10px!important;
  }
  .tjc-sales-summary span,
  .tjc-sales-summary strong{
    font-size:13px!important;
  }
  .tjc-sales-summary strong{
    max-width:48%;
  }
}
body.tjc-has-floating-more{
  padding-bottom:96px;
}


/* JobCardHub finance: professional invoice payment modal from invoice list. */
body.tjc-invoice-payment-modal-open {
  overflow: hidden;
}

.tjc-invoice-payment-open {
  width: 100%;
  text-align: left;
}

.tjc-invoice-payment-modal,
.tjc-invoice-payment-modal * {
  box-sizing: border-box;
}

.tjc-invoice-payment-modal {
  width: min(540px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: #ffffff;
  color: #111827;
  box-shadow: 0 34px 90px rgba(15, 23, 42, 0.38);
  overflow: hidden;
}

.tjc-invoice-payment-modal::backdrop {
  background: rgba(15, 23, 42, 0.54);
  backdrop-filter: blur(5px);
}

.tjc-invoice-payment-modal-close-form {
  margin: 0;
}

.tjc-invoice-payment-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #334155;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.tjc-invoice-payment-close:hover,
.tjc-invoice-payment-close:focus {
  border-color: rgba(37, 99, 235, 0.45);
  color: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.14);
  outline: none;
}

.tjc-invoice-payment-modal-card {
  margin: 0;
  padding: 0;
  background: #ffffff;
}

.tjc-invoice-payment-modal-head {
  padding: 26px 74px 24px 28px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.15), transparent 38%),
    linear-gradient(135deg, #f8fbff 0%, #eef5ff 52%, #f8fafc 100%);
}

.tjc-invoice-payment-kicker {
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1;
  text-transform: uppercase;
}

.tjc-invoice-payment-modal-head h3 {
  margin: 0 0 7px;
  color: #0f172a;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.tjc-invoice-payment-modal-head p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
}

.tjc-invoice-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 24px 28px 4px;
}

.tjc-invoice-payment-grid .tjc-form-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  margin: 0;
}

.tjc-invoice-payment-grid .tjc-form-field span {
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tjc-invoice-payment-grid input[type="date"],
.tjc-invoice-payment-grid input[name="tjc_payment_date"],
.tjc-invoice-payment-grid input[type="number"],
.tjc-invoice-payment-grid input[type="text"],
.tjc-invoice-payment-grid textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  box-sizing: border-box;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  color: #0f172a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
  font-size: 14px;
  line-height: 1.35;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.tjc-invoice-payment-grid textarea {
  min-height: 92px;
  resize: vertical;
}

.tjc-invoice-payment-grid input[type="date"]:focus,
.tjc-invoice-payment-grid input[name="tjc_payment_date"]:focus,
.tjc-invoice-payment-grid input[type="number"]:focus,
.tjc-invoice-payment-grid input[type="text"]:focus,
.tjc-invoice-payment-grid textarea:focus {
  border-color: #2563eb;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
  outline: none;
}

.tjc-invoice-payment-grid input::placeholder,
.tjc-invoice-payment-grid textarea::placeholder {
  color: #94a3b8;
}

.tjc-invoice-payment-note {
  grid-column: 1 / -1;
}

.tjc-invoice-payment-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 22px;
  padding: 20px 28px 26px;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
  background: #ffffff;
}

.tjc-invoice-payment-actions .tjc-link-btn,
.tjc-invoice-payment-actions .tjc-office-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.tjc-invoice-payment-actions .tjc-link-btn {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #475569;
}

.tjc-invoice-payment-actions .tjc-link-btn:hover,
.tjc-invoice-payment-actions .tjc-link-btn:focus {
  border-color: #cbd5e1;
  background: #f1f5f9;
  color: #0f172a;
  outline: none;
}

.tjc-invoice-payment-actions .tjc-office-primary-action {
  border: 1px solid #1d4ed8;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.26);
}

.tjc-invoice-payment-actions .tjc-office-primary-action:hover,
.tjc-invoice-payment-actions .tjc-office-primary-action:focus {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
  color: #ffffff;
  box-shadow: 0 15px 30px rgba(37, 99, 235, 0.32);
  outline: none;
}

@media (max-width: 640px) {
  .tjc-invoice-payment-modal {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 20px;
  }

  .tjc-invoice-payment-close {
    top: 14px;
    right: 14px;
  }

  .tjc-invoice-payment-modal-head {
    padding: 22px 62px 20px 20px;
  }

  .tjc-invoice-payment-modal-head h3 {
    font-size: 22px;
  }

  .tjc-invoice-payment-grid {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 20px 20px 2px;
  }

  .tjc-invoice-payment-grid input[type="date"],
  .tjc-invoice-payment-grid input[name="tjc_payment_date"],
  .tjc-invoice-payment-grid input[type="number"],
  .tjc-invoice-payment-grid input[type="text"],
  .tjc-invoice-payment-grid textarea {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    -webkit-appearance: none;
    appearance: none;
  }

  .tjc-invoice-payment-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 18px 20px 20px;
  }

  .tjc-invoice-payment-actions .tjc-link-btn,
  .tjc-invoice-payment-actions .tjc-office-primary-action {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Dashboard team pagination */
.tjc-team-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #dbe7f5;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.tjc-team-pager-label{
  flex:1;
  text-align:center;
  color:#1f3657;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.01em;
}
.tjc-team-pager-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid #cfe0f2;
  border-radius:999px;
  background:#fff;
  color:#1f4f9a;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(15,23,42,.05);
}
.tjc-team-pager-btn:hover:not(:disabled){
  background:#eef5ff;
  border-color:#bcd3f2;
}
.tjc-team-pager-btn:disabled{
  cursor:not-allowed;
  opacity:.45;
  box-shadow:none;
}
.tjc-scheduler-column[hidden]{display:none!important;}

@media (max-width:780px){
  .tjc-team-pager{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .tjc-team-pager-label{
    order:-1;
  }
  .tjc-team-pager-btn{
    width:100%;
  }
}


/* Job card action menu: align with compact finance floating action menu. */
.tjc-jobcard-more-sheet{
  width:min(310px, calc(100vw - 28px))!important;
  padding:10px!important;
  border-radius:16px!important;
}
.tjc-jobcard-more-sheet .tjc-floating-more-head{
  padding:0 0 8px!important;
  margin-bottom:8px!important;
  font-size:14px!important;
  font-weight:700!important;
}
.tjc-jobcard-more-sheet .tjc-floating-more-close{
  width:32px!important;
  height:32px!important;
  font-size:18px!important;
}
.tjc-jobcard-more-sheet .tjc-floating-more-actions{
  gap:6px!important;
}
.tjc-jobcard-more-sheet .tjc-link-btn,
.tjc-jobcard-more-sheet .tjc-office-primary-action,
.tjc-jobcard-more-sheet button,
.tjc-jobcard-more-sheet a{
  min-height:34px!important;
  padding:8px 10px!important;
  border-radius:9px!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:800!important;
}
.tjc-jobcard-more-sheet .tjc-office-primary-action{
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
.tjc-jobcard-more-sheet .tjc-link-btn-positive{
  background:#eaf7ee!important;
  color:#15803d!important;
  box-shadow:inset 0 0 0 1px #b9ebc7!important;
}
@media (max-width:780px){
  .tjc-jobcard-more-sheet{
    left:auto!important;
    right:18px!important;
    bottom:calc(82px + env(safe-area-inset-bottom, 0px))!important;
    width:min(310px, calc(100vw - 36px))!important;
    max-height:calc(100vh - 118px - env(safe-area-inset-bottom, 0px))!important;
  }
}

/* Finance and supplier list search. Matches the compact Job Cards search pattern. */
.tjc-list-search{
  display:flex;
  align-items:center;
  width:min(360px, 100%);
  margin:10px 0 12px auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.tjc-list-search-icon{
  display:none!important;
}
.tjc-list-search-input{
  width:100%;
  min-height:34px;
  height:34px;
  border:1px solid #cfdceb!important;
  border-radius:13px!important;
  background:#f8fbff!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0 13px!important;
  color:#1f2d44!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:34px!important;
  box-sizing:border-box;
}
.tjc-list-search-input:focus{
  border-color:#b8cced!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;
}
.tjc-list-search-input::placeholder{
  color:#667085;
  font-weight:500;
}
.tjc-list-search-empty{
  margin:10px 0 0;
  padding:12px 14px;
  border:1px dashed #c6d4e8;
  border-radius:13px;
  background:#f8fbff;
  color:#52627a;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
@media (max-width:780px){
  .tjc-list-search{
    width:100%;
    margin:10px 0 12px;
    overflow-anchor:none;
  }
  .tjc-list-search.is-mobile-active{
    position:sticky;
    top:max(8px, env(safe-area-inset-top, 0px));
    z-index:35;
    padding:6px;
    margin:4px -6px 6px;
    width:calc(100% + 12px);
    border-radius:16px;
    background:#eef4fb;
    box-shadow:0 8px 20px rgba(15,35,65,.08);
    overscroll-behavior:contain;
  }
  .tjc-list-search-input{
    min-height:38px;
    height:38px;
    border-radius:13px!important;
    font-size:13px!important;
    line-height:38px!important;
  }
  body.tjc-mobile-list-search-active [data-tjc-filter-list]{
    overflow-anchor:none;
    padding-bottom:max(24px, env(safe-area-inset-bottom, 0px));
  }
}

/* JobCardHub pagination footer refresh: completed/closed/cancelled/service queue lists. */
body.tjc-office-dashboard-active .tjc-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 20px 18px;
  margin:0;
  border-top:1px solid #dbe7f3;
  background:#fff;
  border-radius:0 0 18px 18px;
}
body.tjc-office-dashboard-active .tjc-pagination-summary{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
body.tjc-office-dashboard-active .tjc-pagination-summary-icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#eaf3ff;
  color:#2563eb;
  border:1px solid #d6e7ff;
  font-size:22px;
  font-weight:900;
  line-height:1;
}
body.tjc-office-dashboard-active .tjc-pagination-summary-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
body.tjc-office-dashboard-active .tjc-pagination-summary-copy strong{
  color:#0f1f37;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
}
body.tjc-office-dashboard-active .tjc-pagination-summary-copy span{
  color:#64748b;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}
body.tjc-office-dashboard-active .tjc-pagination-controls{
  display:inline-grid;
  grid-template-columns:auto auto auto;
  align-items:stretch;
  border:1px solid #cfdced;
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
body.tjc-office-dashboard-active .tjc-pagination-control,
body.tjc-office-dashboard-active .tjc-pagination-current{
  min-height:44px;
  padding:0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:15px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
body.tjc-office-dashboard-active .tjc-pagination-control{
  color:#2563eb;
  background:#fff;
  transition:background-color .15s ease, color .15s ease;
}
body.tjc-office-dashboard-active .tjc-pagination-control:hover,
body.tjc-office-dashboard-active .tjc-pagination-control:focus{
  background:#eff6ff;
  color:#1d4ed8;
  outline:none;
}
body.tjc-office-dashboard-active .tjc-pagination-control.is-disabled{
  color:#94a3b8;
  background:#f8fafc;
  cursor:not-allowed;
  pointer-events:none;
}
body.tjc-office-dashboard-active .tjc-pagination-current{
  min-width:94px;
  color:#1e293b;
  background:#f2f6fb;
  border-left:1px solid #cfdced;
  border-right:1px solid #cfdced;
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-pagination{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    padding:18px 14px 16px;
  }
  body.tjc-office-dashboard-active .tjc-pagination-summary{
    justify-content:flex-start;
  }
  body.tjc-office-dashboard-active .tjc-pagination-summary-icon{
    flex-basis:40px;
    width:40px;
    height:40px;
    border-radius:13px;
    font-size:20px;
  }
  body.tjc-office-dashboard-active .tjc-pagination-summary-copy strong{
    font-size:16px;
  }
  body.tjc-office-dashboard-active .tjc-pagination-summary-copy span{
    font-size:13px;
  }
  body.tjc-office-dashboard-active .tjc-pagination-controls{
    width:100%;
    grid-template-columns:1fr auto 1fr;
  }
  body.tjc-office-dashboard-active .tjc-pagination-control,
  body.tjc-office-dashboard-active .tjc-pagination-current{
    min-height:42px;
    padding:0 12px;
    font-size:13px;
  }
  body.tjc-office-dashboard-active .tjc-pagination-current{
    min-width:72px;
  }
}

/* JobCardHub v1.15: premium status-aware job-card action sheet. */
body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-job-action-sheet {
  gap: 0 !important;
  width: min(460px, calc(100vw - 24px)) !important;
  min-width: min(420px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  padding: 0 !important;
  border-radius: 22px !important;
  border: 1px solid rgba(203, 213, 225, .92) !important;
  background: #ffffff !important;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .24) !important;
  overflow: hidden !important;
  font-family: Arial, sans-serif !important;
}

.tjc-job-action-sheet form { margin: 0 !important; }

.tjc-action-sheet-handle {
  width: 46px;
  height: 5px;
  border-radius: 999px;
  background: #cbd5e1;
  margin: 12px auto 8px;
}

.tjc-action-sheet-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 18px 16px;
  border-bottom: 1px solid #e5edf7;
}

.tjc-action-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  color: #1d4ed8;
  background: #eaf1ff;
  white-space: nowrap;
}

.tjc-action-status-completed,
.tjc-action-status-closed { color: #15803d; background: #dcfce7; }
.tjc-action-status-overdue,
.tjc-action-status-cancelled { color: #b91c1c; background: #fee2e2; }
.tjc-action-status-waiting-on-parts { color: #b45309; background: #fef3c7; }
.tjc-action-status-follow-up-required { color: #6d28d9; background: #ede9fe; }
.tjc-action-status-scheduled { color: #1d4ed8; background: #dbeafe; }
.tjc-action-status-unscheduled { color: #1d4ed8; background: #eef4ff; }

.tjc-action-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #c7d7f8;
  border-radius: 10px;
  background: #f3f7ff;
  color: #1d4ed8 !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.tjc-action-sheet-section {
  padding: 14px 18px;
  border-bottom: 1px solid #e5edf7;
}

.tjc-action-sheet-section-soft {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.tjc-action-section-title {
  margin: 0 0 10px;
  color: #263b59;
  font-size: 14px;
  font-weight: 900;
}

.tjc-action-schedule-form {
  display: grid !important;
  gap: 12px !important;
  padding: 0 !important;
}

.tjc-action-field {
  display: grid;
  gap: 6px;
}

.tjc-action-field label {
  margin: 0 !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field select,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field input,
.tjc-job-action-sheet .tjc-action-field select,
.tjc-job-action-sheet .tjc-action-field input {
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 12px !important;
  border: 1px solid #cbd9ea !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #10233c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, .02) !important;
}

.tjc-action-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #2f6fdd, #1d4ed8);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(37, 99, 235, .24);
}

.tjc-action-doc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tjc-action-doc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 12px;
  border: 1px solid #d1ddf0;
  border-radius: 14px;
  background: #f7faff;
  color: #1d4ed8 !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

.tjc-action-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 0 8px !important;
  padding: 0 14px !important;
  border: 1px solid #d9e4f2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #10233c !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.tjc-action-row:last-child { margin-bottom: 0 !important; }
.tjc-action-row span { color: #64748b; font-size: 18px; line-height: 1; }
.tjc-action-row-blue { color: #1d4ed8 !important; }
.tjc-action-row-green { color: #15803d !important; }
.tjc-action-row-amber { color: #b45309 !important; }
.tjc-action-row-danger { color: #dc2626 !important; }

.tjc-action-sheet-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px 14px;
  background: #f8fafc;
}

.tjc-action-sheet-footer > a,
.tjc-action-sheet-footer > form,
.tjc-action-sheet-footer button.tjc-action-row {
  flex: 1 1 0;
}

.tjc-action-sheet-footer > a,
.tjc-action-sheet-footer button.tjc-action-row {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid #d7e3ef !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #10233c !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.tjc-action-sheet-footer button.tjc-action-row span { display: none; }
.tjc-job-action-sheet .tjc-inline-feedback { font-size: 11px !important; font-weight: 800; }
.tjc-job-action-sheet .tjc-inline-feedback.show.success { color: #15803d; }
.tjc-job-action-sheet .tjc-inline-feedback.show.error { color: #dc2626; }

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 20px) !important;
    border-radius: 20px !important;
  }

  .tjc-action-sheet-top { padding: 10px 14px 14px; }
  .tjc-action-sheet-section { padding: 14px; }
  .tjc-action-doc-grid { grid-template-columns: 1fr; }
  .tjc-action-sheet-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* JobCardHub v1.16: launch cleanup for compact status-aware job-card action sheet. */
body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-job-action-sheet {
  width: min(420px, calc(100vw - 24px)) !important;
  min-width: min(380px, calc(100vw - 24px)) !important;
  border-radius: 20px !important;
  box-shadow: 0 22px 58px rgba(15, 23, 42, .22) !important;
}

.tjc-action-sheet-handle {
  width: 42px !important;
  height: 5px !important;
  margin: 10px auto 6px !important;
}

.tjc-action-sheet-top {
  padding: 8px 16px 14px !important;
}

.tjc-action-status-chip {
  min-height: 32px !important;
  padding: 0 13px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
}

.tjc-action-open {
  min-height: 36px !important;
  padding: 0 13px !important;
  border-radius: 9px !important;
}

.tjc-action-sheet-section {
  padding: 13px 16px !important;
}

.tjc-action-section-title {
  margin-bottom: 9px !important;
  font-size: 13px !important;
}

.tjc-action-schedule-form {
  gap: 10px !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field select,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field input,
.tjc-job-action-sheet .tjc-action-field select,
.tjc-job-action-sheet .tjc-action-field input {
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 11px !important;
}

.tjc-action-primary {
  min-height: 46px !important;
  border-radius: 11px !important;
}

.tjc-action-doc-grid {
  gap: 9px !important;
}

.tjc-action-doc {
  min-height: 48px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
}

.tjc-action-status-control-section {
  background: #ffffff !important;
}

.tjc-action-status-form {
  margin: 0 !important;
}

.tjc-action-status-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-status-grid select,
.tjc-job-action-sheet .tjc-action-status-grid select {
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #cbd9ea !important;
  border-radius: 11px !important;
  background: #f8fbff !important;
  color: #10233c !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.tjc-action-status-grid button {
  min-height: 42px !important;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #1d4ed8 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .20) !important;
}

/* v1.16 removes duplicated bottom shortcuts; keep this hidden for legacy markup safety. */
.tjc-action-sheet-footer {
  display: none !important;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
  }

  .tjc-action-sheet-top { padding: 8px 13px 12px !important; }
  .tjc-action-sheet-section { padding: 12px 13px !important; }
  .tjc-action-doc-grid { grid-template-columns: 1fr !important; }
  .tjc-action-status-grid { grid-template-columns: 1fr; }
  .tjc-action-status-grid button { width: 100% !important; }
}

/* JobCardHub v1.17: tighter launch action sheet and full status dropdown. */
body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-job-action-sheet {
  width: min(390px, calc(100vw - 24px)) !important;
  min-width: min(350px, calc(100vw - 24px)) !important;
  border-radius: 18px !important;
}

.tjc-action-sheet-handle {
  width: 38px !important;
  height: 4px !important;
  margin: 9px auto 5px !important;
}

.tjc-action-sheet-top {
  padding: 7px 14px 12px !important;
}

.tjc-action-status-chip {
  min-height: 28px !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

.tjc-action-open {
  min-height: 32px !important;
  padding: 0 11px !important;
  border-radius: 8px !important;
  background: #f7faff !important;
  font-size: 11px !important;
  box-shadow: none !important;
}

.tjc-action-sheet-section {
  padding: 11px 14px !important;
}

.tjc-action-sheet-section-soft {
  background: #f8fbff !important;
}

.tjc-action-section-title {
  margin-bottom: 8px !important;
  font-size: 12px !important;
}

.tjc-action-schedule-form {
  gap: 8px !important;
}

.tjc-action-field {
  gap: 5px !important;
}

.tjc-action-field label {
  font-size: 11px !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field select,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field input,
.tjc-job-action-sheet .tjc-action-field select,
.tjc-job-action-sheet .tjc-action-field input {
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.tjc-action-primary {
  min-height: 42px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  box-shadow: 0 9px 20px rgba(37, 99, 235, .20) !important;
}

.tjc-action-doc-grid {
  gap: 8px !important;
}

.tjc-action-doc {
  min-height: 44px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.tjc-action-status-grid,
.tjc-action-status-grid.tjc-action-status-grid-stacked {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-status-grid select,
.tjc-job-action-sheet .tjc-action-status-grid select {
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  font-size: 12px !important;
}

.tjc-action-status-grid button {
  width: 100% !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: calc(100vw - 18px) !important;
    min-width: 0 !important;
  }
}

/* JobCardHub action sheet v1.18 compact polish.
   Keep the v1.17 workflow, but reduce the visual weight so the three-dot menu
   feels like a quick action panel instead of a full modal. */
body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-job-action-sheet {
  width: min(340px, calc(100vw - 22px)) !important;
  min-width: min(318px, calc(100vw - 22px)) !important;
  max-width: 340px !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14) !important;
}

.tjc-action-sheet-handle {
  width: 32px !important;
  height: 4px !important;
  margin: 7px auto 4px !important;
  border-radius: 999px !important;
}

.tjc-action-sheet-top {
  padding: 6px 12px 9px !important;
  gap: 8px !important;
}

.tjc-action-status-chip {
  min-height: 25px !important;
  padding: 0 9px !important;
  border-radius: 8px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
}

.tjc-action-open {
  min-height: 29px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
}

.tjc-action-sheet-section {
  padding: 9px 12px !important;
}

.tjc-action-section-title {
  margin: 0 0 6px !important;
  font-size: 11.5px !important;
  line-height: 1.15 !important;
}

.tjc-action-schedule-form {
  gap: 6px !important;
}

.tjc-action-field {
  gap: 4px !important;
}

.tjc-action-field label {
  font-size: 10.5px !important;
  line-height: 1.1 !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field select,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field input,
.tjc-job-action-sheet .tjc-action-field select,
.tjc-job-action-sheet .tjc-action-field input,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-status-grid select,
.tjc-job-action-sheet .tjc-action-status-grid select {
  min-height: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
  line-height: 34px !important;
}

.tjc-action-primary,
.tjc-action-status-grid button {
  min-height: 36px !important;
  height: 36px !important;
  border-radius: 9px !important;
  padding: 0 12px !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .18) !important;
}

.tjc-action-doc-grid {
  gap: 7px !important;
}

.tjc-action-doc {
  min-height: 38px !important;
  padding: 0 9px !important;
  border-radius: 9px !important;
  font-size: 11.5px !important;
}

.tjc-action-status-grid,
.tjc-action-status-grid.tjc-action-status-grid-stacked {
  gap: 6px !important;
}

.tjc-job-action-sheet .tjc-inline-feedback {
  margin-top: 2px !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: calc(100vw - 18px) !important;
    min-width: 0 !important;
    max-width: 360px !important;
    border-radius: 16px !important;
  }

  .tjc-action-sheet-top {
    padding: 7px 12px 10px !important;
  }

  .tjc-action-sheet-section {
    padding: 10px 12px !important;
  }
}


/* JobCardHub action sheet v1.20 rollback compact.
   Removes the oversized v1.19 modal feel and makes the menu a small action panel. */

body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-floating-manage-panel.tjc-job-action-sheet,
.tjc-job-action-sheet {
  width: min(315px, calc(100vw - 20px)) !important;
  min-width: min(300px, calc(100vw - 20px)) !important;
  max-width: 315px !important;
  border-radius: 14px !important;
  border: 1px solid #b9c9df !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .16) !important;
  overflow: hidden !important;
}

.tjc-action-sheet-handle {
  width: 30px !important;
  height: 4px !important;
  margin: 7px auto 3px !important;
  background: #aebbd0 !important;
  border-radius: 999px !important;
}

.tjc-action-sheet-top {
  padding: 8px 10px 10px !important;
  gap: 8px !important;
  border-bottom: 1px solid #e4ebf5 !important;
  background: #ffffff !important;
}

.tjc-action-status-chip {
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  border: 1px solid #d6e3fb !important;
  background: #eff5ff !important;
  color: #1d4ed8 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.tjc-action-status-chip::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 999px;
  background: #fff;
  margin-right: 6px;
  box-sizing: border-box;
}

.tjc-action-open {
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  border: 1px solid #b4c4dd !important;
  background: #ffffff !important;
  color: #12284c !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 9px rgba(15, 23, 42, .06) !important;
}

.tjc-action-sheet-section,
.tjc-action-sheet-section-soft,
.tjc-action-status-control-section {
  margin: 0 !important;
  padding: 10px !important;
  border: 0 !important;
  border-bottom: 1px solid #e4ebf5 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.tjc-job-action-sheet .tjc-action-sheet-section:last-child,
.tjc-job-action-sheet .tjc-action-status-control-section:last-child {
  border-bottom: 0 !important;
}

.tjc-action-section-title {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 7px !important;
  color: #162a4a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  line-height: 1.1 !important;
}

.tjc-action-section-title::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: #0f2f62;
  box-shadow: none;
  flex: 0 0 auto;
}

.tjc-action-field {
  display: grid !important;
  gap: 4px !important;
  margin: 0 0 8px !important;
}

.tjc-action-field label,
.tjc-action-status-label {
  display: block !important;
  margin: 0 !important;
  color: #203757 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field select,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field input,
.tjc-job-action-sheet .tjc-action-field select,
.tjc-job-action-sheet .tjc-action-field input,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-status-grid select,
.tjc-job-action-sheet .tjc-action-status-grid select {
  width: 100% !important;
  min-height: 35px !important;
  height: 35px !important;
  border-radius: 8px !important;
  border: 1px solid #bdcce2 !important;
  background: #ffffff !important;
  color: #12284c !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 35px !important;
  box-shadow: none !important;
}

.tjc-action-schedule-form,
.tjc-action-status-form {
  margin: 0 !important;
}

.tjc-action-schedule-form {
  gap: 0 !important;
}

.tjc-action-primary,
.tjc-action-status-grid button {
  width: 100% !important;
  min-height: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  padding: 0 11px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.01em !important;
}

.tjc-action-primary {
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #2f6cf6 0%, #1d4ed8 100%) !important;
  box-shadow: 0 8px 16px rgba(37, 99, 235, .2) !important;
}

.tjc-action-status-grid button {
  border: 1px solid #84a4e6 !important;
  color: #1d4ed8 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.tjc-action-primary:hover,
.tjc-action-primary:focus,
.tjc-action-status-grid button:hover,
.tjc-action-status-grid button:focus {
  transform: none !important;
}

.tjc-action-status-grid,
.tjc-action-status-grid.tjc-action-status-grid-stacked {
  display: grid !important;
  gap: 7px !important;
}

.tjc-action-doc-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

.tjc-action-doc {
  min-height: 35px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  border: 1px solid #bdcce2 !important;
  background: #ffffff !important;
  color: #1d4ed8 !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

.tjc-job-action-sheet .tjc-inline-feedback {
  margin-top: 5px !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: calc(100vw - 18px) !important;
    min-width: 0 !important;
    max-width: 330px !important;
    border-radius: 14px !important;
  }

  .tjc-action-sheet-top { padding: 8px 10px 10px !important; }
  .tjc-action-sheet-section,
  .tjc-action-sheet-section-soft,
  .tjc-action-status-control-section { padding: 10px !important; }
}


/* Team Performance compact premium rows v1.24 */
body.tjc-office-dashboard-active .tjc-performance-panel-top,
body.tjc-office-dashboard-active .tjc-performance-panel{
  padding: 18px 24px 14px !important;
  border: 1px solid #d8e4f0 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-section-title,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-section-title{
  margin: 0 0 12px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: -.015em !important;
  color: #102b4e !important;
}

body.tjc-office-dashboard-active .tjc-team-performance-list{
  display: grid !important;
  gap: 0 !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-row,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-row{
  display: grid !important;
  grid-template-columns: minmax(160px, 260px) minmax(160px, 1fr) 58px !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 48px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #e8eef6 !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-row:last-child,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-row:last-child{
  border-bottom: 0 !important;
}

body.tjc-office-dashboard-active .tjc-team-progress-head{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-team-progress-avatar{
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  color: var(--tjc-team-color, #2563eb) !important;
  border: 1px solid #dbe5ef !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

body.tjc-office-dashboard-active .tjc-team-progress-avatar img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-name,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-name{
  margin: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #15345b !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-bar,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-bar{
  height: 8px !important;
  border-radius: 999px !important;
  background: #e2ebf5 !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .07) !important;
  overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-fill,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-fill{
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  background-image: none !important;
  box-shadow: 0 6px 12px rgba(15, 23, 42, .10) !important;
}

body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-count,
body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-count{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  background: transparent !important;
  color: #102b4e !important;
  text-align: right !important;
}

body.tjc-office-dashboard-active .tjc-team-progress-count strong{
  color: #102b4e !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

@media (max-width: 760px){
  body.tjc-office-dashboard-active .tjc-performance-panel-top .tjc-team-progress-row,
  body.tjc-office-dashboard-active .tjc-performance-panel .tjc-team-progress-row{
    grid-template-columns: minmax(110px, 1fr) minmax(80px, 1.2fr) 48px !important;
    gap: 10px !important;
  }
  body.tjc-office-dashboard-active .tjc-team-progress-avatar{
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }
}

/* Team avatar preset icons v1.25 */
body.tjc-office-dashboard-active .tjc-team-progress-preset{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  color:#fff !important;
}
body.tjc-office-dashboard-active .tjc-team-progress-preset svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
  fill:currentColor !important;
}
body.tjc-office-dashboard-active .tjc-team-progress-preset.is-tech-blue{background:#2563eb !important;}
body.tjc-office-dashboard-active .tjc-team-progress-preset.is-tech-green{background:#16a34a !important;}
body.tjc-office-dashboard-active .tjc-team-progress-preset.is-tech-orange{background:#f97316 !important;}
body.tjc-office-dashboard-active .tjc-team-progress-preset.is-tech-purple{background:#7c3aed !important;}
body.tjc-office-dashboard-active .tjc-team-progress-preset.is-tech-teal{background:#0891b2 !important;}
body.tjc-office-dashboard-active .tjc-team-progress-preset.is-tech-navy{background:#0f2f5f !important;}
/* JobCardHub invoice status badges v1.27: premium icon pills.
   Visual-only refinement for sales/finance status chips. */
body.tjc-office-dashboard-active .tjc-sales-status {
  gap: 6px !important;
  min-height: 26px !important;
  padding: 3px 10px 3px 7px !important;
  border: 1px solid rgba(148, 163, 184, 0.28) !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
}

body.tjc-office-dashboard-active .tjc-sales-status::before {
  display: none;
}

body.tjc-office-dashboard-active .tjc-sales-status-paid::before,
body.tjc-office-dashboard-active .tjc-sales-status-accepted::before,
body.tjc-office-dashboard-active .tjc-sales-status-overdue::before,
body.tjc-office-dashboard-active .tjc-sales-status-declined::before,
body.tjc-office-dashboard-active .tjc-sales-status-unpaid::before,
body.tjc-office-dashboard-active .tjc-sales-status-part_paid::before,
body.tjc-office-dashboard-active .tjc-sales-status-draft::before,
body.tjc-office-dashboard-active .tjc-sales-status-sent::before,
body.tjc-office-dashboard-active .tjc-sales-status-cancelled::before,
body.tjc-office-dashboard-active .tjc-sales-status-converted::before,
body.tjc-office-dashboard-active .tjc-sales-status-written_off::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  background: rgba(255, 255, 255, 0.55);
}

body.tjc-office-dashboard-active .tjc-sales-status-paid,
body.tjc-office-dashboard-active .tjc-sales-status-accepted {
  background: #ecfdf3 !important;
  border-color: #bbf7d0 !important;
  color: #15803d !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-paid::before,
body.tjc-office-dashboard-active .tjc-sales-status-accepted::before { content: "✓"; }

body.tjc-office-dashboard-active .tjc-sales-status-overdue,
body.tjc-office-dashboard-active .tjc-sales-status-declined {
  background: #fef2f2 !important;
  border-color: #fecaca !important;
  color: #dc2626 !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-overdue::before,
body.tjc-office-dashboard-active .tjc-sales-status-declined::before { content: "!"; }

body.tjc-office-dashboard-active .tjc-sales-status-unpaid {
  background: #fff7ed !important;
  border-color: #fed7aa !important;
  color: #ea580c !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-unpaid::before { content: "○"; }

body.tjc-office-dashboard-active .tjc-sales-status-part_paid {
  background: #ecfeff !important;
  border-color: #a5f3fc !important;
  color: #0891b2 !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-part_paid::before { content: "½"; }

body.tjc-office-dashboard-active .tjc-sales-status-draft {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #64748b !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-draft::before { content: "✎"; }

body.tjc-office-dashboard-active .tjc-sales-status-sent,
body.tjc-office-dashboard-active .tjc-sales-status-cancelled {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #2563eb !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-sent::before { content: "→"; }
body.tjc-office-dashboard-active .tjc-sales-status-cancelled::before { content: "×"; }

body.tjc-office-dashboard-active .tjc-sales-status-converted {
  background: #eef2ff !important;
  border-color: #c7d2fe !important;
  color: #4f46e5 !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-converted::before { content: "↗"; }

body.tjc-office-dashboard-active .tjc-sales-status-written_off {
  background: #f5f3ff !important;
  border-color: #ddd6fe !important;
  color: #7c3aed !important;
}
body.tjc-office-dashboard-active .tjc-sales-status-written_off::before { content: "−"; }

/* JobCardHub supplier and purchase order form polish. */
body.tjc-office-dashboard-active .tjc-suppliers-shell .tjc-sales-form,
body.tjc-office-dashboard-active .tjc-finance-document-shell .tjc-sales-form{
  gap:16px;
}
body.tjc-office-dashboard-active .tjc-suppliers-shell .tjc-sales-form-grid,
body.tjc-office-dashboard-active .tjc-finance-document-shell .tjc-sales-form-grid{
  gap:12px;
}
body.tjc-office-dashboard-active .tjc-supplier-items-card,
body.tjc-office-dashboard-active .tjc-sales-items-table,
body.tjc-office-dashboard-active .tjc-finance-items-table{
  border:1px solid #dbe7f3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.04);
  overflow:hidden;
}
body.tjc-office-dashboard-active .tjc-supplier-items-head{
  padding:14px 16px;
  border-bottom:1px solid #e4edf7;
  background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%);
}
body.tjc-office-dashboard-active .tjc-supplier-items-head strong{
  display:block;
  color:#132947;
  font-size:15px;
  line-height:1.15;
  font-weight:900;
}
body.tjc-office-dashboard-active .tjc-supplier-items-head span{
  display:block;
  margin-top:4px;
  color:#52647d;
  font-size:12px;
  font-weight:700;
}
body.tjc-office-dashboard-active .tjc-suppliers-shell .tjc-table-wrap,
body.tjc-office-dashboard-active .tjc-finance-document-shell .tjc-table-wrap{
  border-radius:0;
  border:0;
  box-shadow:none;
}
body.tjc-office-dashboard-active .tjc-po-supplier-select-field{
  grid-column:span 2;
}
body.tjc-office-dashboard-active .tjc-po-item-select{
  width:100%;
  min-height:34px;
  margin-bottom:0;
  border:1px solid #cfdceb;
  border-radius:12px;
  background:#f8fbff;
  color:#172b4d;
  font-size:12px;
  font-weight:800;
}
body.tjc-office-dashboard-active .tjc-po-item-name-input{
  display:none !important;
}
body.tjc-office-dashboard-active .tjc-finance-options-grid{
  align-items:end;
}
body.tjc-office-dashboard-active .tjc-toggle-card{
  position:relative;
  min-height:56px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 13px;
  border:1px solid #d2e0ef;
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  box-shadow:0 8px 22px rgba(15,23,42,.035);
  cursor:pointer;
  box-sizing:border-box;
}
body.tjc-office-dashboard-active .tjc-toggle-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.tjc-office-dashboard-active .tjc-toggle-card-control{
  flex:0 0 42px;
  width:42px;
  height:24px;
  border-radius:999px;
  background:#e5edf7;
  box-shadow:inset 0 0 0 1px #cbd8e8;
  position:relative;
  transition:background .16s ease, box-shadow .16s ease;
}
body.tjc-office-dashboard-active .tjc-toggle-card-control:after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 2px 7px rgba(15,23,42,.22);
  transition:transform .16s ease;
}
body.tjc-office-dashboard-active .tjc-toggle-card input:checked + .tjc-toggle-card-control{
  background:#2563eb;
  box-shadow:inset 0 0 0 1px #1d4ed8, 0 6px 16px rgba(37,99,235,.18);
}
body.tjc-office-dashboard-active .tjc-toggle-card input:checked + .tjc-toggle-card-control:after{
  transform:translateX(18px);
}
body.tjc-office-dashboard-active .tjc-toggle-card-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
body.tjc-office-dashboard-active .tjc-toggle-card-copy strong{
  color:#142640;
  font-size:13px;
  line-height:1.1;
  font-weight:900;
}
body.tjc-office-dashboard-active .tjc-toggle-card-copy em{
  color:#64748b;
  font-size:11px;
  line-height:1.25;
  font-style:normal;
  font-weight:700;
}
body.tjc-office-dashboard-active .tjc-toggle-card:focus-within{
  border-color:#9bbcf8;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
body.tjc-office-dashboard-active .tjc-supplier-active-option{
  align-self:end;
}
@media (max-width:900px){
  body.tjc-office-dashboard-active .tjc-po-supplier-select-field{
    grid-column:1 / -1;
  }
}
@media (max-width:640px){
  body.tjc-office-dashboard-active .tjc-toggle-card{
    min-height:52px;
  }
}

/* JobCardHub quotations: open status replaces separate Draft/Sent UI labels. */
body.tjc-office-dashboard-active .tjc-sales-status-open {
    background: #eef2f7;
    border-color: rgba(100, 116, 139, 0.38);
    color: #475569;
}
body.tjc-office-dashboard-active .tjc-sales-status-open::before {
    content: "○";
}

/* === JobCardHub finance dashboard redesign v1.31 === */
body.tjc-office-dashboard-active .tjc-finance-dashboard {
  gap: 20px !important;
}

body.tjc-office-dashboard-active .tjc-finance-hero-header {
  border-bottom: 1px solid #e6eef9 !important;
  padding-bottom: 16px !important;
}

body.tjc-office-dashboard-active .tjc-section-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 5px 10px !important;
  margin-bottom: 8px !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 999px !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body.tjc-office-dashboard-active .tjc-finance-hero-card {
  display: grid !important;
  grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr) !important;
  gap: 18px !important;
  padding: 22px !important;
  border: 1px solid #cfe1f7 !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .14), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #ffffff 45%, #eff6ff 100%) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08) !important;
}

body.tjc-office-dashboard-active .tjc-finance-hero-main {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 145px !important;
}

body.tjc-office-dashboard-active .tjc-finance-hero-main span,
body.tjc-office-dashboard-active .tjc-finance-kpi span {
  color: #5f718d !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body.tjc-office-dashboard-active .tjc-finance-hero-main strong {
  margin-top: 7px !important;
  color: #10264a !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

body.tjc-office-dashboard-active .tjc-finance-hero-main small {
  margin-top: 10px !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-title {
  margin-bottom: 10px !important;
  color: #162a4a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-bar {
  display: flex !important;
  width: 100% !important;
  height: 13px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e7edf7 !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .12) !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-bar span { min-width: 3px !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-bar .is-current { background: #3b82f6 !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-bar .is-days_1_15 { background: #f59e0b !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-bar .is-days_16_30 { background: #fb7185 !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-bar .is-days_31_45 { background: #ef4444 !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-bar .is-days_45_plus { background: #991b1b !important; }

body.tjc-office-dashboard-active .tjc-finance-ageing-list {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 13px !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-item {
  position: relative !important;
  padding: 9px 10px 9px 12px !important;
  border: 1px solid #e2eaf5 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .82) !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-item:before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 10px !important;
  bottom: 10px !important;
  width: 4px !important;
  border-radius: 999px !important;
  background: #3b82f6 !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-item.is-days_1_15:before { background: #f59e0b !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-item.is-days_16_30:before { background: #fb7185 !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-item.is-days_31_45:before { background: #ef4444 !important; }
body.tjc-office-dashboard-active .tjc-finance-ageing-item.is-days_45_plus:before { background: #991b1b !important; }

body.tjc-office-dashboard-active .tjc-finance-ageing-item span {
  display: block !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-finance-ageing-item strong {
  display: block !important;
  margin-top: 4px !important;
  color: #162a4a !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-finance-kpi-grid {
  grid-template-columns: repeat(4, minmax(190px, 1fr)) !important;
}

body.tjc-office-dashboard-active .tjc-finance-kpi {
  position: relative !important;
  min-height: 122px !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .07) !important;
}

body.tjc-office-dashboard-active .tjc-finance-kpi i {
  position: absolute !important;
  right: 16px !important;
  top: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #1d4ed8 !important;
  font-style: normal !important;
  font-weight: 900 !important;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .28) !important;
}

body.tjc-office-dashboard-active .tjc-finance-kpi strong {
  margin-top: 12px !important;
  margin-bottom: 8px !important;
  letter-spacing: -.03em !important;
}

body.tjc-office-dashboard-active .tjc-finance-kpi-danger {
  border-color: #fecaca !important;
  background: linear-gradient(180deg, #fff1f2 0%, #ffffff 100%) !important;
}

body.tjc-office-dashboard-active .tjc-finance-grid-featured {
  grid-template-columns: minmax(520px, 1.25fr) minmax(340px, .75fr) !important;
}

body.tjc-office-dashboard-active .tjc-finance-card {
  border-radius: 22px !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .06) !important;
}

body.tjc-office-dashboard-active .tjc-finance-chart-card {
  min-height: 360px !important;
}

body.tjc-office-dashboard-active .tjc-finance-chart-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}

body.tjc-office-dashboard-active .tjc-finance-chart-legend span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-finance-chart-legend span:before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: #2563eb !important;
}

body.tjc-office-dashboard-active .tjc-finance-chart-legend .is-paid:before { background: #16a34a !important; }
body.tjc-office-dashboard-active .tjc-finance-chart-legend .is-expenses:before { background: #ef4444 !important; }

body.tjc-office-dashboard-active .tjc-finance-bars {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(34px, 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  height: 245px !important;
  padding: 16px 12px 4px !important;
  border: 1px solid #e5edf8 !important;
  border-radius: 18px !important;
  background: repeating-linear-gradient(to top, #ffffff 0, #ffffff 40px, #edf2f7 41px) !important;
}

body.tjc-office-dashboard-active .tjc-finance-bar-month {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: 100% !important;
  min-width: 0 !important;
}

body.tjc-office-dashboard-active .tjc-finance-bar-stack {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 3px !important;
  width: 100% !important;
  height: 190px !important;
}

body.tjc-office-dashboard-active .tjc-finance-bar-stack span {
  display: block !important;
  width: 8px !important;
  min-height: 2px !important;
  border-radius: 999px 999px 4px 4px !important;
  background: #2563eb !important;
  box-shadow: 0 6px 12px rgba(37, 99, 235, .18) !important;
}

body.tjc-office-dashboard-active .tjc-finance-bar-stack .is-paid { background: #16a34a !important; box-shadow: 0 6px 12px rgba(22, 163, 74, .18) !important; }
body.tjc-office-dashboard-active .tjc-finance-bar-stack .is-expenses { background: #ef4444 !important; box-shadow: 0 6px 12px rgba(239, 68, 68, .18) !important; }

body.tjc-office-dashboard-active .tjc-finance-bar-month small {
  display: block !important;
  max-width: 54px !important;
  margin-top: 8px !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

body.tjc-office-dashboard-active .tjc-finance-status-list {
  display: grid !important;
  gap: 10px !important;
}

body.tjc-office-dashboard-active .tjc-finance-status-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 13px 14px !important;
  border: 1px solid #e2eaf5 !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
}

body.tjc-office-dashboard-active .tjc-finance-status-row span {
  position: relative !important;
  padding-left: 18px !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.tjc-office-dashboard-active .tjc-finance-status-row span:before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #64748b !important;
  transform: translateY(-50%) !important;
}

body.tjc-office-dashboard-active .tjc-finance-status-row em {
  min-width: 0 !important;
  color: #162a4a !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 950 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-finance-status-unpaid span:before { background: #f59e0b !important; }
body.tjc-office-dashboard-active .tjc-finance-status-part-paid span:before { background: #14b8a6 !important; }
body.tjc-office-dashboard-active .tjc-finance-status-paid span:before { background: #16a34a !important; }
body.tjc-office-dashboard-active .tjc-finance-status-written-off span:before { background: #9333ea !important; }
body.tjc-office-dashboard-active .tjc-finance-status-cancelled span:before { background: #2563eb !important; }

body.tjc-office-dashboard-active .tjc-finance-mini-card {
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
}

body.tjc-office-dashboard-active .tjc-finance-mini-stat {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 13px 14px !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
  border: 1px solid #e2eaf5 !important;
}

body.tjc-office-dashboard-active .tjc-finance-mini-stat span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

body.tjc-office-dashboard-active .tjc-finance-mini-stat strong {
  color: #162a4a !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

body.tjc-office-dashboard-active .tjc-finance-mini-stat.is-success { background: #f0fdf4 !important; border-color: #bbf7d0 !important; }
body.tjc-office-dashboard-active .tjc-finance-mini-stat.is-expense { background: #fff1f2 !important; border-color: #fecdd3 !important; }
body.tjc-office-dashboard-active .tjc-finance-mini-stat.is-net { background: #eff6ff !important; border-color: #bfdbfe !important; }

@media (max-width: 1180px) {
  body.tjc-office-dashboard-active .tjc-finance-hero-card,
  body.tjc-office-dashboard-active .tjc-finance-grid-featured {
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-ageing-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.tjc-office-dashboard-active .tjc-finance-hero-card {
    padding: 16px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-ageing-list,
  body.tjc-office-dashboard-active .tjc-finance-kpi-grid {
    grid-template-columns: 1fr !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-bars {
    grid-template-columns: repeat(12, 42px) !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-status-row,
  body.tjc-office-dashboard-active .tjc-finance-mini-stat {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* === JobCardHub finance dashboard mobile overflow repair v1.32 ===
   Scope: Finance dashboard cards/chart/status totals only.
   Purpose: keep the 12-month chart and status-total cards inside the mobile viewport without touching Team Performance, avatar presets, or invoice status pills. */
body.tjc-office-dashboard-active .tjc-finance-shell,
body.tjc-office-dashboard-active .tjc-finance-shell *,
body.tjc-office-dashboard-active .tjc-finance-shell *:before,
body.tjc-office-dashboard-active .tjc-finance-shell *:after {
  box-sizing: border-box !important;
}

body.tjc-office-dashboard-active .tjc-finance-shell,
body.tjc-office-dashboard-active .tjc-finance-grid,
body.tjc-office-dashboard-active .tjc-finance-grid-featured,
body.tjc-office-dashboard-active .tjc-finance-card,
body.tjc-office-dashboard-active .tjc-finance-chart-card,
body.tjc-office-dashboard-active .tjc-finance-status-card {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.tjc-office-dashboard-active .tjc-finance-card-head,
body.tjc-office-dashboard-active .tjc-finance-card-head > div:first-child,
body.tjc-office-dashboard-active .tjc-finance-card-head strong,
body.tjc-office-dashboard-active .tjc-finance-card-head span {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.tjc-office-dashboard-active .tjc-finance-card-head strong,
body.tjc-office-dashboard-active .tjc-finance-card-head span {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.tjc-office-dashboard-active .tjc-finance-chart-card {
  overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-finance-bars {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-x: contain !important;
}

@media (max-width: 760px) {
  body.tjc-office-dashboard-active .tjc-finance-shell {
    gap: 14px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-card {
    padding: 16px !important;
    overflow: hidden !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-card-head {
    gap: 8px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-card-head strong {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-card-head span {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-bars {
    display: flex !important;
    gap: 10px !important;
    align-items: end !important;
    justify-content: flex-start !important;
    padding: 14px 10px 8px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-bar-month {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-bar-stack {
    height: 168px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-bar-stack span {
    width: 7px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-bar-month small {
    max-width: 44px !important;
    font-size: 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-status-list {
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-status-row {
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-status-row span,
  body.tjc-office-dashboard-active .tjc-finance-status-row em {
    max-width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-finance-status-row em {
    font-size: clamp(22px, 8vw, 32px) !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }
}

/* JCH-016 v1.21: three-dot job action sheet mobile containment.
   Keep the quick-action sheet compact and prevent padded native date inputs
   from exceeding the panel width on narrow screens. */
.tjc-job-action-sheet,
.tjc-job-action-sheet *,
.tjc-job-action-sheet *::before,
.tjc-job-action-sheet *::after {
  box-sizing: border-box !important;
}

.tjc-job-action-sheet .tjc-action-sheet-section,
.tjc-job-action-sheet .tjc-action-sheet-section-soft,
.tjc-job-action-sheet .tjc-action-status-control-section,
.tjc-job-action-sheet .tjc-action-schedule-form,
.tjc-job-action-sheet .tjc-action-status-form,
.tjc-job-action-sheet .tjc-action-field {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field select,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-field input,
.tjc-job-action-sheet .tjc-action-field select,
.tjc-job-action-sheet .tjc-action-field input,
body.tjc-office-dashboard-active .tjc-job-action-sheet .tjc-action-status-grid select,
.tjc-job-action-sheet .tjc-action-status-grid select {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.tjc-job-action-sheet input[type="date"][name="schedule_date"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.tjc-job-action-sheet input[type="date"][name="schedule_date"]::-webkit-date-and-time-value {
  max-width: 100% !important;
  min-width: 0 !important;
  text-align: left !important;
}

.tjc-job-action-sheet input[type="date"][name="schedule_date"]::-webkit-calendar-picker-indicator {
  flex: 0 0 auto !important;
  margin-left: 4px !important;
}

@media (max-width: 480px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: min(300px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    max-width: 300px !important;
  }

  .tjc-job-action-sheet .tjc-action-sheet-top,
  .tjc-job-action-sheet .tjc-action-sheet-section,
  .tjc-job-action-sheet .tjc-action-sheet-section-soft,
  .tjc-job-action-sheet .tjc-action-status-control-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* JCH-016 v1.23: desktop visual polish for the shared three-dot job action sheet.
   Keep the confirmed mobile date containment intact, but remove the oversized
   desktop panel and replace the heavy section blocks with subtle markers. */
.tjc-job-action-sheet .tjc-action-section-title::before {
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
}

@media (min-width: 781px) {
  body.tjc-office-dashboard-active .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-floating-manage-panel.tjc-job-action-sheet,
  .tjc-job-action-sheet {
    width: 315px !important;
    min-width: 315px !important;
    max-width: 315px !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .14) !important;
  }

  .tjc-job-action-sheet .tjc-action-sheet-top {
    padding: 8px 10px 10px !important;
  }

  .tjc-job-action-sheet .tjc-action-sheet-section,
  .tjc-job-action-sheet .tjc-action-sheet-section-soft,
  .tjc-job-action-sheet .tjc-action-status-control-section {
    padding: 10px !important;
  }

  .tjc-job-action-sheet .tjc-action-section-title {
    gap: 8px !important;
    margin-bottom: 7px !important;
  }
}

/* JCH-018: Analytics premium SaaS dashboard refresh.
   UI-only overrides for the Analytics tab. Existing report calculations stay in PHP queries. */
body.tjc-office-dashboard-active .tjc-analytics-module-premium {
  gap: 16px;
  max-width: 100%;
}

body.tjc-office-dashboard-active .tjc-analytics-heading-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 0 2px;
}

body.tjc-office-dashboard-active .tjc-analytics-heading-copy .tjc-section-title {
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

body.tjc-office-dashboard-active .tjc-analytics-heading-copy .tjc-queue-subtitle {
  margin-top: 6px;
  color: #64748b;
  font-size: 13px;
}

body.tjc-office-dashboard-active .tjc-analytics-finance-btn {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
  white-space: nowrap;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.35fr);
  gap: 22px;
  align-items: end;
  padding: 16px;
  border-color: rgba(148, 163, 184, .22);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
  backdrop-filter: blur(12px);
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group {
  min-width: 0;
  gap: 8px;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-label {
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tabs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0;
  width: 100%;
  overflow: hidden;
  padding: 3px;
  border: 1px solid #dbe6f4;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 6px 18px rgba(15, 23, 42, .035);
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 11px;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: none;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab + .tjc-analytics-range-tab {
  border-left: 1px solid rgba(148, 163, 184, .18);
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab:hover,
body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab:focus-visible {
  background: #eef5ff;
  color: #1d4ed8;
  outline: none;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab.is-active,
body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab.is-active {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
  border-left-color: transparent;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 92px;
  padding: 18px;
  border-color: rgba(148, 163, 184, .22);
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .055);
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  font-size: 17px;
  font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-card-blue .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon-blue { background: #eaf1ff; color: #2563eb; }
body.tjc-office-dashboard-active .tjc-analytics-kpi-card-green .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon-green { background: #e9f9ef; color: #16a34a; }
body.tjc-office-dashboard-active .tjc-analytics-kpi-card-slate .tjc-analytics-kpi-icon { background: #eef2f7; color: #64748b; }
body.tjc-office-dashboard-active .tjc-analytics-kpi-card-orange .tjc-analytics-kpi-icon { background: #fff1e8; color: #f97316; }
body.tjc-office-dashboard-active .tjc-analytics-card-icon-indigo { background: #eef2ff; color: #4f46e5; }

body.tjc-office-dashboard-active .tjc-analytics-kpi-copy {
  min-width: 0;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-label {
  color: #475569;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-value {
  margin-top: 3px;
  color: #0f172a;
  font-size: 29px;
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: .95;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-note {
  margin-top: 7px;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

body.tjc-office-dashboard-active .tjc-analytics-report-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.tjc-office-dashboard-active .tjc-analytics-chart-card,
body.tjc-office-dashboard-active .tjc-analytics-status-panel,
body.tjc-office-dashboard-active .tjc-analytics-trend-panel {
  padding: 18px;
  border-color: rgba(148, 163, 184, .22);
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .055);
}

body.tjc-office-dashboard-active .tjc-analytics-card-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}

body.tjc-office-dashboard-active .tjc-analytics-card-heading-between {
  justify-content: space-between;
}

body.tjc-office-dashboard-active .tjc-analytics-card-heading-main {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.tjc-office-dashboard-active .tjc-analytics-card-heading .tjc-section-title {
  font-size: 15px;
  line-height: 1.2;
}

body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-row {
  grid-template-columns: minmax(116px, 165px) minmax(0, 1fr) 48px;
  min-height: 32px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(226, 232, 240, .86);
}

body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-row:last-child {
  border-bottom: 0;
}

body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-track {
  height: 9px;
  border-radius: 999px;
  background: #edf2f8;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
}

body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-track span {
  border-radius: 999px;
  box-shadow: none;
}

body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-label,
body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-value {
  color: #0f2744;
  font-size: 12px;
  font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-analytics-status-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(104px, 1fr));
  gap: 8px;
}

body.tjc-office-dashboard-active .tjc-analytics-status-card {
  display: flex;
  gap: 9px;
  min-width: 0;
  padding: 12px 10px;
  border: 1px solid #dfe8f5;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

body.tjc-office-dashboard-active .tjc-analytics-status-dot {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  border-radius: 999px;
  background: #dbeafe;
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.55);
}

body.tjc-office-dashboard-active .tjc-analytics-status-card-blue .tjc-analytics-status-dot { background: #bfdbfe; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-orange .tjc-analytics-status-dot { background: #fed7aa; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-green .tjc-analytics-status-dot { background: #bbf7d0; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-red .tjc-analytics-status-dot { background: #fecaca; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-purple .tjc-analytics-status-dot { background: #ddd6fe; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-slate .tjc-analytics-status-dot { background: #cbd5e1; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-amber .tjc-analytics-status-dot { background: #fde68a; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-teal .tjc-analytics-status-dot { background: #99f6e4; }
body.tjc-office-dashboard-active .tjc-analytics-status-card-indigo .tjc-analytics-status-dot { background: #c7d2fe; }

body.tjc-office-dashboard-active .tjc-analytics-status-copy {
  min-width: 0;
}

body.tjc-office-dashboard-active .tjc-analytics-status-label {
  min-height: 27px;
  color: #0f2744;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
}

body.tjc-office-dashboard-active .tjc-analytics-status-main {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 6px;
}

body.tjc-office-dashboard-active .tjc-analytics-status-main strong {
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: 1;
}

body.tjc-office-dashboard-active .tjc-analytics-status-main span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}

body.tjc-office-dashboard-active .tjc-analytics-trend-panel .tjc-analytics-trend {
  min-height: 180px;
  padding-top: 4px;
  gap: 10px;
}

body.tjc-office-dashboard-active .tjc-analytics-trend-panel .tjc-analytics-trend-bar-wrap {
  height: 115px;
  border-color: #dfe8f5;
  background: linear-gradient(180deg, #fbfdff 0%, #eef4fb 100%);
}

body.tjc-office-dashboard-active .tjc-analytics-trend-panel .tjc-analytics-trend-bar {
  background: linear-gradient(180deg, #6ea0ff 0%, #2563eb 100%);
}

@media (max-width: 1180px) {
  body.tjc-office-dashboard-active .tjc-analytics-control-panel {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-analytics-module-premium {
    gap: 12px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-heading-row {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-heading-copy .tjc-section-title {
    font-size: 20px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-finance-btn {
    justify-content: center;
    width: 100%;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel {
    padding: 12px;
    border-radius: 16px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tabs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tabs::-webkit-scrollbar {
    display: none;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab {
    flex: 0 0 auto;
    min-width: 118px;
    min-height: 34px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab {
    min-width: 105px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-grid,
  body.tjc-office-dashboard-active .tjc-analytics-report-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-card {
    align-items: flex-start;
    min-height: 112px;
    padding: 12px;
    gap: 10px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-icon,
  body.tjc-office-dashboard-active .tjc-analytics-card-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 14px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-value {
    font-size: 23px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-note {
    font-size: 10px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-chart-card,
  body.tjc-office-dashboard-active .tjc-analytics-status-panel,
  body.tjc-office-dashboard-active .tjc-analytics-trend-panel {
    padding: 14px;
    border-radius: 16px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-row {
    grid-template-columns: 92px minmax(0, 1fr) 40px;
    gap: 9px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-card-heading {
    margin-bottom: 12px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-grid {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-grid::-webkit-scrollbar {
    display: none;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-card {
    flex: 0 0 142px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-trend-panel .tjc-analytics-trend {
    min-height: 160px;
    gap: 8px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-trend-panel .tjc-analytics-trend-item {
    flex-basis: 30px;
    min-width: 30px;
    grid-template-rows: 18px 92px auto;
  }

  body.tjc-office-dashboard-active .tjc-analytics-trend-panel .tjc-analytics-trend-bar-wrap {
    height: 92px;
    border-radius: 11px;
  }
}

@media (max-width: 420px) {
  body.tjc-office-dashboard-active .tjc-analytics-kpi-grid {
    gap: 8px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-card {
    min-height: 118px;
    padding: 10px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-label {
    font-size: 11px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-row {
    grid-template-columns: 82px minmax(0, 1fr) 36px;
  }

  body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-label,
  body.tjc-office-dashboard-active .tjc-analytics-chart-card .tjc-analytics-value {
    font-size: 11px;
  }
}

/* JCH-018b: Analytics filter/status polish.
   Fixes the over-stretched desktop segmented controls so the filter area feels
   like a compact SaaS toolbar instead of full-width admin buttons. */
body.tjc-office-dashboard-active .tjc-analytics-control-panel {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group {
  flex: 0 1 auto !important;
  gap: 7px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group:first-child {
  width: clamp(320px, 34vw, 460px) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group:nth-child(2) {
  width: clamp(430px, 43vw, 640px) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tabs {
  display: flex !important;
  grid-auto-flow: unset !important;
  grid-auto-columns: unset !important;
  width: 100% !important;
  height: 38px !important;
  padding: 3px !important;
  border-radius: 13px !important;
  background: #f8fbff !important;
  border-color: #dce7f4 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab.is-active,
body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab.is-active {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #fff !important;
  box-shadow: 0 7px 16px rgba(37, 99, 235, .24) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-panel {
  padding: 18px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-grid {
  grid-template-columns: repeat(9, minmax(112px, 1fr)) !important;
  gap: 10px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-card {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid rgba(219, 230, 244, .95) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-label {
  min-height: 24px !important;
  font-size: 10.5px !important;
  letter-spacing: -.01em !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-main {
  margin-top: 5px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-main strong {
  font-size: 21px !important;
}

@media (max-width: 1180px) {
  body.tjc-office-dashboard-active .tjc-analytics-control-panel {
    flex-wrap: wrap !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group:first-child,
  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group:nth-child(2) {
    width: min(100%, 520px) !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-analytics-control-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 12px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group:first-child,
  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-filter-group:nth-child(2) {
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tabs {
    height: 36px !important;
    overflow-x: auto !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-range-tab,
  body.tjc-office-dashboard-active .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab {
    flex: 1 0 auto !important;
    min-width: 96px !important;
    height: 28px !important;
    min-height: 28px !important;
    font-size: 11px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-grid {
    display: flex !important;
    overflow-x: auto !important;
    gap: 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-card {
    flex: 0 0 136px !important;
  }
}

/* JCH-018c: Analytics filter bar redesign correction.
   The previous filter controls were still visually heavy because the segmented
   controls stretched across the dashboard width. This override turns them into
   compact SaaS toolbar cards without changing analytics logic or filter URLs. */
body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 2px 0 4px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group,
body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group:first-child,
body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group:nth-child(2) {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 7px !important;
  padding: 10px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(203, 213, 225, .78) !important;
  border-radius: 17px !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .055) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-label {
  margin: 0 !important;
  padding: 0 4px !important;
  color: #64748b !important;
  font-size: 9.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 4px !important;
  overflow: visible !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 13px !important;
  box-shadow: inset 0 1px 1px rgba(15, 23, 42, .035) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tab,
body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 112px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
  line-height: 30px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab {
  min-width: 104px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tab:hover {
  background: #fff !important;
  color: #1e40af !important;
}

body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tab.is-active,
body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab.is-active {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(37, 99, 235, .26) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 980px) {
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel {
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group,
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group:first-child,
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group:nth-child(2) {
    width: 100% !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tabs {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tabs::-webkit-scrollbar {
    display: none !important;
  }
}

@media (max-width: 520px) {
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel {
    gap: 10px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group,
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group:first-child,
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-filter-group:nth-child(2) {
    padding: 9px !important;
    border-radius: 15px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-range-tab,
  body.tjc-office-dashboard-active .tjc-analytics-module-premium .tjc-analytics-control-panel .tjc-analytics-basis-tabs .tjc-analytics-range-tab {
    min-width: 94px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 11px !important;
    font-size: 10.5px !important;
    line-height: 28px !important;
  }
}

/* JCH-018d: Analytics icon polish pass.
   Replaces weak text glyphs/dots with one consistent inline SVG icon language. */
body.tjc-office-dashboard-active .tjc-analytics-icon-svg {
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  stroke: currentColor !important;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon,
body.tjc-office-dashboard-active .tjc-analytics-status-icon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .68) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82), 0 10px 22px rgba(15, 23, 42, .055) !important;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-card-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-card-icon .tjc-analytics-icon-svg {
  width: 17px !important;
  height: 17px !important;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-card-blue .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon-blue {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  color: #2563eb !important;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-card-green .tjc-analytics-kpi-icon,
body.tjc-office-dashboard-active .tjc-analytics-card-icon-green {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
  color: #16a34a !important;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-card-slate .tjc-analytics-kpi-icon {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%) !important;
  color: #475569 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-kpi-card-orange .tjc-analytics-kpi-icon {
  background: linear-gradient(135deg, #fff7ed 0%, #fed7aa 100%) !important;
  color: #ea580c !important;
}

body.tjc-office-dashboard-active .tjc-analytics-card-icon-indigo {
  background: linear-gradient(135deg, #eef2ff 0%, #ddd6fe 100%) !important;
  color: #4f46e5 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-card {
  align-items: center !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
  margin-top: 0 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-icon .tjc-analytics-icon-svg {
  width: 15px !important;
  height: 15px !important;
  stroke-width: 2.15 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-card-blue .tjc-analytics-status-icon {
  background: #eff6ff !important;
  color: #2563eb !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-orange .tjc-analytics-status-icon {
  background: #fff7ed !important;
  color: #ea580c !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-green .tjc-analytics-status-icon {
  background: #ecfdf5 !important;
  color: #16a34a !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-red .tjc-analytics-status-icon {
  background: #fef2f2 !important;
  color: #ef4444 !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-purple .tjc-analytics-status-icon {
  background: #f5f3ff !important;
  color: #7c3aed !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-slate .tjc-analytics-status-icon {
  background: #f1f5f9 !important;
  color: #64748b !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-amber .tjc-analytics-status-icon {
  background: #fffbeb !important;
  color: #d97706 !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-teal .tjc-analytics-status-icon {
  background: #f0fdfa !important;
  color: #0d9488 !important;
}
body.tjc-office-dashboard-active .tjc-analytics-status-card-indigo .tjc-analytics-status-icon {
  background: #eef2ff !important;
  color: #4f46e5 !important;
}

body.tjc-office-dashboard-active .tjc-analytics-status-label {
  min-height: 0 !important;
}

@media (max-width: 780px) {
  body.tjc-office-dashboard-active .tjc-analytics-kpi-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-kpi-icon .tjc-analytics-icon-svg {
    width: 17px !important;
    height: 17px !important;
  }

  body.tjc-office-dashboard-active .tjc-analytics-status-icon {
    width: 26px !important;
    height: 26px !important;
    border-radius: 9px !important;
  }
}

/* JCH-021: searchable customer selector for finance documents. */
body.tjc-office-dashboard-active .tjc-finance-customer-native-select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-height:1px !important;
  padding:0 !important;
  margin:0 !important;
  opacity:.01 !important;
  pointer-events:none !important;
}
body.tjc-office-dashboard-active .tjc-finance-customer-search{
  position:relative;
  width:100%;
}
body.tjc-office-dashboard-active .tjc-finance-customer-trigger{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #d8e2f0;
  border-radius:14px;
  background:#fff;
  color:#13233f;
  font:inherit;
  font-weight:800;
  text-align:left;
  cursor:pointer;
  padding:12px 14px;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
body.tjc-office-dashboard-active .tjc-finance-customer-trigger:hover,
body.tjc-office-dashboard-active .tjc-finance-customer-search.is-open .tjc-finance-customer-trigger{
  border-color:#8eb4ff;
  box-shadow:0 0 0 4px rgba(47,111,221,.10),0 12px 22px rgba(15,23,42,.06);
}
body.tjc-office-dashboard-active .tjc-finance-customer-trigger-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.tjc-office-dashboard-active .tjc-finance-customer-trigger-hint{
  flex:0 0 auto;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#2f6fdd;
  background:#edf4ff;
  border:1px solid #d8e7ff;
  border-radius:999px;
  padding:5px 8px;
}
body.tjc-office-dashboard-active .tjc-finance-customer-panel{
  position:absolute;
  z-index:10020;
  top:calc(100% + 8px);
  left:0;
  right:0;
  overflow:hidden;
  border:1px solid #d8e2f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.16);
}
body.tjc-office-dashboard-active .tjc-finance-customer-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex:0 0 auto;
  padding:12px 14px;
  border-bottom:1px solid #e7eef7;
  background:#fff;
}
body.tjc-office-dashboard-active .tjc-finance-customer-panel-head strong{
  color:#13233f;
  font-size:15px;
  font-weight:900;
  line-height:1.2;
}
body.tjc-office-dashboard-active .tjc-finance-customer-close{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 34px;
  margin:0;
  padding:0;
  border:1px solid #d8e2f0;
  border-radius:11px;
  background:#f8fbff;
  color:#425a75;
  font-size:24px;
  font-weight:500;
  line-height:1;
  cursor:pointer;
}
body.tjc-office-dashboard-active .tjc-finance-customer-close:hover,
body.tjc-office-dashboard-active .tjc-finance-customer-close:focus{
  border-color:#b9cff2;
  background:#edf4ff;
  color:#124ec2;
  outline:none;
}
body.tjc-office-dashboard-active .tjc-finance-customer-input{
  width:calc(100% - 20px);
  margin:10px;
  min-height:42px;
  border:1px solid #d8e2f0;
  border-radius:12px;
  background:#f8fbff;
  color:#13233f;
  font:inherit;
  font-weight:700;
  padding:10px 12px;
  outline:none;
}
body.tjc-office-dashboard-active .tjc-finance-customer-input:focus{
  border-color:#2f6fdd;
  box-shadow:0 0 0 4px rgba(47,111,221,.10);
  background:#fff;
}
body.tjc-office-dashboard-active .tjc-finance-customer-list{
  max-height:280px;
  overflow:auto;
  padding:0 8px 8px;
}
body.tjc-office-dashboard-active .tjc-finance-customer-option{
  width:100%;
  display:block;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#13233f;
  cursor:pointer;
  font:inherit;
  font-weight:800;
  text-align:left;
  padding:11px 12px;
}
body.tjc-office-dashboard-active .tjc-finance-customer-option:hover,
body.tjc-office-dashboard-active .tjc-finance-customer-option[aria-selected="true"]{
  background:#edf4ff;
  color:#124ec2;
}
body.tjc-office-dashboard-active .tjc-finance-customer-option.is-new-client-option{
  color:#0f9f5f;
  background:#ecfdf5;
}
body.tjc-office-dashboard-active .tjc-finance-customer-empty{
  padding:14px 16px 18px;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
@media (max-width: 700px){
  body.tjc-office-dashboard-active.tjc-client-search-open{
    overflow:hidden;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-trigger{
    min-height:48px;
    border-radius:13px;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-panel{
    position:fixed;
    z-index:10030;
    left:12px;
    right:12px;
    top:var(--tjc-client-panel-top, auto);
    bottom:auto;
    height:var(--tjc-client-panel-height, min(72vh,520px));
    max-height:none;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:18px;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-panel[hidden]{
    display:none !important;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-panel-head{
    position:relative;
    z-index:2;
    flex:0 0 auto;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-input{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    width:calc(100% - 20px);
    min-height:44px;
    margin:10px;
    background:#f8fbff;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-list{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:0 8px max(12px, env(safe-area-inset-bottom));
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-empty{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
  }
  body.tjc-office-dashboard-active .tjc-finance-customer-option{
    padding:14px 13px;
  }
}

/* JCH-021A: ensure client-search filtering can hide unmatched finance customer results.
   The custom option buttons use the HTML hidden attribute from JavaScript; this must
   win over the component display rules above. */
body.tjc-office-dashboard-active .tjc-finance-customer-panel[hidden],
body.tjc-office-dashboard-active .tjc-finance-customer-option[hidden],
body.tjc-office-dashboard-active .tjc-finance-customer-empty[hidden]{
  display:none !important;
}

/* JCH-023: premium invoice/quote customer-first header workflow. */
body.tjc-office-dashboard-active .tjc-sales-document-intro{
  display:grid !important;
  grid-template-columns:minmax(360px, 1.55fr) minmax(320px, .95fr) !important;
  gap:18px !important;
  align-items:stretch !important;
  margin:10px 0 18px !important;
  padding:18px !important;
  border:1px solid #dbe8f7 !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 14px 38px rgba(15,23,42,.055) !important;
}
body.tjc-office-dashboard-active .tjc-sales-customer-workflow{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
  min-width:0 !important;
  padding-right:18px !important;
  border-right:1px solid #e3edf8 !important;
}
body.tjc-office-dashboard-active .tjc-sales-workflow-icon{
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#eef5ff,#dceaff) !important;
  color:#1e63df !important;
  box-shadow:inset 0 0 0 1px rgba(47,111,221,.10) !important;
}
body.tjc-office-dashboard-active .tjc-sales-workflow-icon svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:currentColor !important;
}
body.tjc-office-dashboard-active .tjc-sales-customer-workflow-main{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
}
body.tjc-office-dashboard-active .tjc-sales-customer-field{
  gap:8px !important;
}
body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-finance-customer-search{
  margin-top:0 !important;
}
body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-finance-customer-trigger{
  min-height:48px !important;
  border-radius:14px !important;
  background:#fff !important;
  border-color:#d7e4f3 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
}
body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-finance-customer-trigger-hint{
  background:#eef5ff !important;
  border-color:#dce9ff !important;
  color:#1e63df !important;
}
body.tjc-office-dashboard-active .tjc-sales-customer-assist{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  color:#5f7390 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}
body.tjc-office-dashboard-active .tjc-sales-customer-assist span{
  flex:1 1 auto !important;
  min-width:0 !important;
}
body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-sales-new-customer-open{
  flex:0 0 auto !important;
  min-height:0 !important;
  height:auto !important;
  padding:6px 10px !important;
  border:1px solid #dce8ff !important;
  border-radius:999px !important;
  background:#f4f8ff !important;
  color:#1e56d8 !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-sales-new-customer-open:hover,
body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-sales-new-customer-open:focus{
  background:#eaf2ff !important;
  border-color:#bcd3ff !important;
  color:#124ec2 !important;
  box-shadow:0 0 0 4px rgba(47,111,221,.10) !important;
}
body.tjc-office-dashboard-active .tjc-sales-date-workflow{
  display:grid !important;
  gap:14px !important;
  align-content:end !important;
}
body.tjc-office-dashboard-active .tjc-sales-date-workflow--quote{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
body.tjc-office-dashboard-active .tjc-sales-date-workflow--invoice{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
body.tjc-office-dashboard-active .tjc-sales-date-workflow .tjc-form-field{
  min-width:0 !important;
}
body.tjc-office-dashboard-active .tjc-sales-date-workflow input[type="date"],
body.tjc-office-dashboard-active .tjc-sales-date-workflow select{
  min-height:48px !important;
  border-radius:14px !important;
  background:#fff !important;
  border-color:#d7e4f3 !important;
  color:#13233f !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
body.tjc-office-dashboard-active .tjc-sales-document-intro + .tjc-sales-new-customer-panel[hidden]{
  display:none !important;
}

@media (max-width: 1180px){
  body.tjc-office-dashboard-active .tjc-sales-document-intro{
    grid-template-columns:1fr !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-workflow{
    padding-right:0 !important;
    padding-bottom:16px !important;
    border-right:0 !important;
    border-bottom:1px solid #e3edf8 !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-date-workflow--invoice{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width: 760px){
  body.tjc-office-dashboard-active .tjc-sales-document-intro{
    margin:8px 0 16px !important;
    padding:14px !important;
    border-radius:18px !important;
    gap:14px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-workflow{
    grid-template-columns:36px minmax(0,1fr) !important;
    gap:11px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-workflow-icon{
    width:36px !important;
    height:36px !important;
    border-radius:13px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-workflow-icon svg{
    width:17px !important;
    height:17px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-assist{
    align-items:flex-start !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    font-size:11px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-sales-new-customer-open{
    width:auto !important;
    padding:7px 11px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-date-workflow--quote,
  body.tjc-office-dashboard-active .tjc-sales-date-workflow--invoice{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-finance-customer-trigger,
  body.tjc-office-dashboard-active .tjc-sales-date-workflow input[type="date"],
  body.tjc-office-dashboard-active .tjc-sales-date-workflow select{
    min-height:46px !important;
  }
}

/* JCH-023C: lock desktop/tablet invoice and quote header layout after mobile polish. */
@media (min-width: 761px){
  body.tjc-office-dashboard-active .tjc-sales-document-intro{
    grid-template-columns:minmax(520px, 1.35fr) minmax(340px, .85fr) !important;
    align-items:center !important;
    gap:18px !important;
    padding:20px !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-workflow{
    grid-template-columns:44px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    min-width:0 !important;
    padding-right:18px !important;
    padding-bottom:0 !important;
    border-right:1px solid #e3edf8 !important;
    border-bottom:0 !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-workflow-main{
    display:flex !important;
    flex-direction:column !important;
    gap:9px !important;
    min-width:0 !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-assist{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-customer-assist span{
    display:block !important;
    min-width:0 !important;
    width:auto !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.35 !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-sales-new-customer-open{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    flex:0 0 auto !important;
    justify-self:end !important;
    white-space:nowrap !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-date-workflow{
    align-content:center !important;
    align-items:end !important;
  }
}

@media (max-width: 760px){
  body.tjc-office-dashboard-active .tjc-sales-customer-assist span{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    line-height:1.35 !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-document-intro .tjc-sales-new-customer-open{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    flex:0 0 auto !important;
  }
  body.tjc-office-dashboard-active .tjc-sales-date-workflow input[type="date"],
  body.tjc-office-dashboard-active .tjc-sales-date-workflow select{
    min-height:44px !important;
    height:44px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:44px !important;
  }
}

/* JCH-009: support actions inside the authenticated Account menu. */
.tjc-office-account-support{
  margin:6px 0 4px;
  padding:7px 0 5px;
  border-top:1px solid #e7eef7;
  border-bottom:1px solid #e7eef7;
}
.tjc-office-account-section-title{
  padding:2px 10px 5px;
  color:#71839a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.tjc-office-account-panel .tjc-account-support-link{
  position:relative;
  padding-left:30px;
}
.tjc-office-account-panel .tjc-account-support-link::before{
  content:'?';
  position:absolute;
  left:10px;
  top:50%;
  width:14px;
  height:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eaf3ff;
  color:#0b5bd3;
  font-size:10px;
  font-weight:900;
  transform:translateY(-50%);
}
.tjc-office-account-panel .tjc-office-account-logout{
  color:#a12a2a;
}
.tjc-office-account-panel .tjc-office-account-logout:hover{
  background:#fff1f1;
  color:#8d1f1f;
}
body.tjc-office-dashboard-active .tjc-floating-account-panel{
  min-width:238px!important;
}

/* JCH-008C: job-card client search must render as a vertical dropdown on desktop. */
[data-tjc-jobcard-client-search]{
  position:relative;
  z-index:20;
}
[data-tjc-jobcard-client-search] .tjc-jobcard-customer-search{
  position:relative;
  width:100%;
}
[data-tjc-jobcard-client-search] .tjc-jobcard-customer-panel{
  position:absolute;
  z-index:10030;
  top:6px;
  left:0;
  right:0;
  width:100%;
  max-height:320px;
  overflow:hidden;
  border:1px solid #d8e2f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.16);
}
[data-tjc-jobcard-client-search] .tjc-jobcard-customer-panel[hidden],
[data-tjc-jobcard-client-search] .tjc-finance-customer-empty[hidden]{
  display:none !important;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-panel-head,
[data-tjc-jobcard-client-search] .tjc-jobcard-mobile-customer-input{
  display:none;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-list{
  display:block;
  width:100%;
  max-height:318px;
  overflow-y:auto;
  padding:6px;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-option{
  display:block;
  width:100%;
  margin:0;
  padding:11px 12px;
  border:0;
  border-radius:10px;
  background:#fff;
  color:#13233f;
  font:inherit;
  font-weight:750;
  line-height:1.35;
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-option + .tjc-finance-customer-option{
  border-top:1px solid #edf2f7;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-option:hover,
[data-tjc-jobcard-client-search] .tjc-finance-customer-option:focus{
  background:#edf4ff;
  color:#124ec2;
  outline:none;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-option-title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
[data-tjc-jobcard-client-search] .tjc-finance-customer-empty{
  padding:14px 16px;
  color:#64748b;
  font-size:13px;
  font-weight:700;
}

@media (max-width:700px){
  [data-tjc-jobcard-client-search]{
    z-index:auto;
  }
  [data-tjc-jobcard-client-search] .tjc-jobcard-customer-panel{
    position:fixed;
    z-index:10030;
    top:auto;
    right:12px;
    bottom:14px;
    left:12px;
    width:auto;
    max-height:min(72vh,520px);
    border-radius:18px;
  }
  [data-tjc-jobcard-client-search] .tjc-finance-customer-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    border-bottom:1px solid #e7eef7;
  }
  [data-tjc-jobcard-client-search] .tjc-jobcard-mobile-customer-input{
    display:block;
    width:calc(100% - 20px);
    min-height:44px;
    margin:10px;
    padding:10px 12px;
    border:1px solid #d8e2f0;
    border-radius:12px;
    background:#f8fbff;
    color:#13233f;
    font:inherit;
    font-weight:700;
    outline:none;
  }
  [data-tjc-jobcard-client-search] .tjc-finance-customer-list{
    max-height:calc(min(72vh,520px) - 118px);
  }
  [data-tjc-jobcard-client-search] .tjc-finance-customer-option{
    padding:14px 13px;
  }
}

/* JCH-008D: force the job-card client picker into the same full-width vertical list pattern as finance. */
@media (min-width:701px){
  .tjc-jobcard-customer-search{
    position:relative !important;
    display:block !important;
    width:100% !important;
  }
  .tjc-jobcard-customer-panel{
    position:absolute !important;
    z-index:10050 !important;
    top:6px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-height:320px !important;
    overflow:hidden !important;
    padding:0 !important;
    border:1px solid #d8e2f0 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 18px 45px rgba(15,23,42,.16) !important;
  }
  .tjc-jobcard-customer-panel[hidden]{
    display:none !important;
  }
  .tjc-jobcard-customer-panel .tjc-finance-customer-panel-head,
  .tjc-jobcard-customer-panel .tjc-jobcard-mobile-customer-input{
    display:none !important;
  }
  .tjc-jobcard-customer-panel .tjc-finance-customer-list{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    width:100% !important;
    max-height:318px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    padding:6px !important;
    gap:0 !important;
  }
  .tjc-jobcard-customer-panel .tjc-finance-customer-option{
    box-sizing:border-box !important;
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:11px 12px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#13233f !important;
    font:inherit !important;
    font-weight:750 !important;
    line-height:1.35 !important;
    text-align:left !important;
    white-space:nowrap !important;
    cursor:pointer !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }
  .tjc-jobcard-customer-panel .tjc-finance-customer-option + .tjc-finance-customer-option{
    border-top:1px solid #edf2f7 !important;
  }
  .tjc-jobcard-customer-panel .tjc-finance-customer-option:hover,
  .tjc-jobcard-customer-panel .tjc-finance-customer-option:focus{
    background:#edf4ff !important;
    color:#124ec2 !important;
    outline:none !important;
  }
}

/* JCH-008G: keep the finance customer selector header mobile-only.
   On desktop the panel is anchored beneath the trigger, so repeating the
   title/close row wastes space and can be clipped by compact form layouts. */
@media (hover: hover) and (pointer: fine) {
  body.tjc-office-dashboard-active .tjc-finance-customer-panel-head {
    display: none !important;
  }
}


/* JCH-011: quotation decision and workflow action colours */
body.tjc-office-dashboard-active .tjc-link-btn-accept {
  background: #dcfce7 !important;
  border-color: #86efac !important;
  color: #166534 !important;
}
body.tjc-office-dashboard-active .tjc-link-btn-decline {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #b91c1c !important;
}
body.tjc-office-dashboard-active .tjc-link-btn-convert {
  background: #e0f2fe !important;
  border-color: #7dd3fc !important;
  color: #075985 !important;
}
body.tjc-office-dashboard-active .tjc-link-btn-open {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
body.tjc-office-dashboard-active .tjc-link-btn-cancel {
  background: #fff7ed !important;
  border-color: #fed7aa !important;
  color: #9a3412 !important;
}


/* Mobile-safe quote and invoice list filtering.
   Explicit classes are used because table/card layout rules can override the browser's
   default display:none behavior for the hidden attribute. */
body.tjc-office-dashboard-active [data-tjc-filter-row].tjc-filter-row-hidden,
body.tjc-office-dashboard-active [data-tjc-filter-row][hidden] {
  display: none !important;
}

body.tjc-office-dashboard-active [data-tjc-filter-empty] {
  display: none !important;
}

body.tjc-office-dashboard-active [data-tjc-filter-empty].tjc-filter-empty-visible {
  display: block !important;
}

/* Option 2 sidebar counters: compact status-aware pills. */
.tjc-office-nav-count{
  min-width:28px;
  height:22px;
  padding:0 8px;
  border:1px solid #d7e2ee;
  background:#eef3f8;
  color:#36516f;
  box-shadow:0 2px 7px rgba(15,35,60,.08);
  font-size:11px;
  font-weight:900;
}
.tjc-office-nav-count--unscheduled,
.tjc-office-nav-count--scheduled{
  border-color:#b8d2ff;
  background:#e9f2ff;
  color:#1d63d8;
}
.tjc-office-nav-count--overdue{
  border-color:#ffb8bd;
  background:#ffe8ea;
  color:#d92d3a;
}
.tjc-office-nav-count--waiting-on-parts{
  border-color:#ffd28a;
  background:#fff2d8;
  color:#b96800;
}
.tjc-office-nav-count--follow-up-required,
.tjc-office-nav-count--follow-up{
  border-color:#ffc18f;
  background:#ffead9;
  color:#d85b00;
}
.tjc-office-nav-count--service-reminders{
  border-color:#d8e0e9;
  background:#edf1f5;
  color:#5d7086;
}
.tjc-office-nav-link.is-active .tjc-office-nav-count{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.52);
  color:#fff;
  box-shadow:none;
}
@media (max-width:780px){
  .tjc-office-nav-count{
    min-width:30px;
    height:24px;
    padding:0 9px;
    font-size:11px;
  }
}

/* Account Support submenu: compact main menu with a mobile-safe replacement view. */
.tjc-office-account-view[hidden]{
  display:none !important;
}
.tjc-office-account-view{
  min-width:0;
}
.tjc-office-account-nav,
.tjc-office-account-back{
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#314760;
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
}
.tjc-office-account-nav:hover,
.tjc-office-account-back:hover,
.tjc-office-account-nav:focus-visible,
.tjc-office-account-back:focus-visible{
  background:#eef4ff;
  color:#0b4fc7;
  outline:none;
}
.tjc-office-account-nav-arrow{
  margin-left:auto;
  color:#71839a;
  font-size:18px;
  line-height:1;
}
.tjc-office-account-back{
  margin-bottom:5px;
  border-bottom:1px solid #e7eef7;
  border-radius:10px 10px 0 0;
  color:#36577f;
}
.tjc-office-account-support-heading{
  padding:5px 10px 7px;
  color:#71839a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.tjc-account-menu-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#2f6fd3;
}
.tjc-account-menu-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjc-office-account-panel .tjc-account-support-link{
  gap:9px;
  padding-left:10px;
}
.tjc-office-account-panel .tjc-account-support-link::before{
  content:none !important;
  display:none !important;
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-floating-account-panel{
    width:min(286px, calc(100vw - 24px)) !important;
    min-width:min(286px, calc(100vw - 24px)) !important;
  }
  .tjc-office-account-nav,
  .tjc-office-account-back,
  .tjc-office-account-panel a{
    min-height:42px;
    font-size:13px;
  }
}

/* Account Support submenu size refinement. */
.tjc-office-account-nav,
.tjc-office-account-back{
  min-height:34px;
  gap:8px;
  padding:0 9px;
  font-size:12px;
  font-weight:700;
}
.tjc-office-account-nav .tjc-account-menu-icon,
.tjc-office-account-back .tjc-account-menu-icon{
  width:16px;
  height:16px;
  flex-basis:16px;
}
.tjc-office-account-nav .tjc-account-menu-icon svg,
.tjc-office-account-back .tjc-account-menu-icon svg{
  width:16px;
  height:16px;
}
.tjc-office-account-nav-arrow{
  font-size:15px;
}
.tjc-office-account-back{
  margin-bottom:3px;
  font-size:12px;
  font-weight:700;
}
@media (max-width:780px){
  .tjc-office-account-nav,
  .tjc-office-account-back{
    min-height:36px;
    font-size:12px;
  }
}

------WebKitFormBoundarytnJzkaifolYWmLf9
Content-Disposition: form-data; name="overwrite"

0
/* Monthly business report */
.tjc-analytics-heading-actions,.tjc-monthly-report-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tjc-monthly-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.tjc-monthly-report-filters{display:flex;align-items:end;gap:14px;padding:14px;margin-bottom:18px}.tjc-monthly-report-filters label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#334155}.tjc-monthly-report-filters select{min-width:150px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;background:#fff}.tjc-monthly-report-sheet{max-width:1120px;margin:0 auto;background:#fff;border:1px solid #dbe5f2;border-radius:16px;padding:28px;box-shadow:0 16px 40px rgba(15,23,42,.08);color:#10213d}.tjc-mr-header{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:22px;align-items:start;border-bottom:2px solid #2168d9;padding-bottom:18px}.tjc-mr-brand{display:grid;gap:5px}.tjc-mr-brand img{max-width:150px;max-height:54px;object-fit:contain;object-position:left}.tjc-mr-brand strong{font-size:16px}.tjc-mr-brand small{color:#64748b}.tjc-mr-title{text-align:center}.tjc-mr-title h1{font-size:24px;margin:0;color:#12366f}.tjc-mr-title h2{font-size:22px;margin:14px 0 4px;color:#1763cb}.tjc-mr-title p{margin:0;color:#64748b}.tjc-mr-meta{display:grid;gap:4px;font-size:12px}.tjc-mr-meta strong{margin-top:7px}.tjc-monthly-report-sheet h3{font-size:15px;text-transform:uppercase;color:#103d7d;border-top:1px solid #78aaf0;padding-top:14px;margin:20px 0 12px}.tjc-mr-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.tjc-mr-kpis>div{border:1px solid #dbe4ef;border-radius:12px;padding:16px;background:linear-gradient(180deg,#fff,#f8fbff)}.tjc-mr-kpis b{display:block;font-size:22px;color:#123a75}.tjc-mr-kpis span{font-size:11px;font-weight:800;text-transform:uppercase}.tjc-mr-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tjc-mr-two section{min-width:0}.tjc-mr-two p{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #e7edf5;padding:7px 0;margin:0}.tjc-mr-bar-row{display:grid;grid-template-columns:130px 1fr 80px;gap:10px;align-items:center;padding:7px 0}.tjc-mr-bar-row i{height:9px;border-radius:10px;background:#e7eef8;overflow:hidden}.tjc-mr-bar-row em{display:block;height:100%;background:#1767d6;border-radius:10px}.tjc-mr-aging{display:grid;grid-template-columns:100px 1fr 110px;gap:12px;align-items:end;height:52px;border-bottom:1px solid #e7edf5;padding:7px 0}.tjc-mr-aging i{display:block;min-height:4px;max-height:36px;background:linear-gradient(180deg,#2c78df,#1557b8);border-radius:5px 5px 0 0}.tjc-monthly-report-sheet table{width:100%;border-collapse:collapse}.tjc-monthly-report-sheet th,.tjc-monthly-report-sheet td{padding:10px;border:1px solid #dce5f0;text-align:left}.tjc-monthly-report-sheet th{background:#eff6ff;color:#16488f}.tjc-monthly-report-sheet footer{text-align:center;color:#55708f;font-size:11px;border-top:2px solid #4b8fe9;margin-top:20px;padding-top:12px;font-style:italic}
@media(max-width:900px){.tjc-mr-header{grid-template-columns:1fr}.tjc-mr-title{text-align:left}.tjc-mr-kpis{grid-template-columns:repeat(2,1fr)}.tjc-mr-two{grid-template-columns:1fr}.tjc-monthly-report-toolbar{align-items:flex-start;flex-direction:column}.tjc-monthly-report-filters{align-items:stretch;flex-direction:column}.tjc-monthly-report-sheet{padding:16px}.tjc-mr-bar-row{grid-template-columns:100px 1fr 70px}}
@media print{body{background:#fff!important}.tjc-no-print,.tjc-office-sidebar,.tjc-office-topbar,.tjc-dashboard-page-title{display:none!important}.tjc-office-main,.tjc-office-content{margin:0!important;padding:0!important;width:100%!important}.tjc-monthly-report-sheet{box-shadow:none;border:0;border-radius:0;max-width:none;padding:10mm}.tjc-mr-kpis{grid-template-columns:repeat(5,1fr)}.tjc-mr-two{grid-template-columns:1fr 1fr}@page{size:A4 landscape;margin:8mm}}

/* Monthly Business Report v2 polish */
.tjc-monthly-report-sheet{max-width:1180px;padding:30px 32px;border-color:#cfdded;box-shadow:0 18px 50px rgba(15,47,91,.1)}
.tjc-monthly-report-sheet h3{letter-spacing:.02em;font-size:13px;margin-top:22px;color:#0b3b7c}
.tjc-mr-kpis{gap:12px}
.tjc-mr-kpi{display:flex;align-items:center;gap:12px;min-height:82px;padding:14px!important;background:#fff!important;box-shadow:0 5px 15px rgba(15,47,91,.05)}
.tjc-mr-kpi-icon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;position:relative;background:#e9f2ff}
.tjc-mr-kpi-icon:after{content:"";position:absolute;inset:11px;border:3px solid #1767d6;border-radius:4px}
.tjc-mr-kpi--completed .tjc-mr-kpi-icon{background:#eaf8ef}.tjc-mr-kpi--completed .tjc-mr-kpi-icon:after{border-color:#20a653;border-radius:50%}
.tjc-mr-kpi--open .tjc-mr-kpi-icon{background:#fff4dd}.tjc-mr-kpi--open .tjc-mr-kpi-icon:after{border-color:#f59e0b;border-radius:50%}
.tjc-mr-kpi--cancelled .tjc-mr-kpi-icon{background:#feecec}.tjc-mr-kpi--cancelled .tjc-mr-kpi-icon:after{border-color:#df3d3d;transform:rotate(45deg);border-radius:2px}
.tjc-mr-kpi--payments .tjc-mr-kpi-icon{background:#e9f2ff}.tjc-mr-kpi--payments .tjc-mr-kpi-icon:after{content:"R";inset:0;border:0;display:grid;place-items:center;color:#1767d6;font-weight:900;font-size:17px}
.tjc-mr-kpi b{font-size:20px;line-height:1.15}.tjc-mr-kpi span{display:block;line-height:1.25}
.tjc-mr-two{gap:26px}.tjc-mr-two section{padding-bottom:4px}
.tjc-mr-two p{padding:8px 2px}.tjc-mr-two p b{font-variant-numeric:tabular-nums}
.tjc-mr-positive{color:#15803d!important}
.tjc-mr-bar-row{grid-template-columns:minmax(105px,135px) 1fr 92px;min-height:34px}.tjc-mr-bar-row b{text-align:right;font-variant-numeric:tabular-nums}
.tjc-mr-aging-chart{display:grid;gap:13px;padding:5px 0 13px}
.tjc-mr-aging{display:grid;grid-template-columns:92px 1fr 110px;gap:12px;align-items:center;height:auto;border:0;padding:0}
.tjc-mr-aging>span{line-height:1.2}.tjc-mr-aging i{height:12px;min-height:12px;max-height:none;border-radius:999px;background:#e7eef8;overflow:hidden}
.tjc-mr-aging i em{display:block;height:100%;min-width:0;background:linear-gradient(90deg,#1767d6,#4b91e8);border-radius:999px}
.tjc-mr-aging b{text-align:right;font-variant-numeric:tabular-nums}
.tjc-mr-aging-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #f1d39a;border-radius:9px;background:#fff8e8;color:#6f4800}.tjc-mr-aging-total b{font-size:15px}
.tjc-monthly-report-sheet th{font-size:11px;text-transform:uppercase;letter-spacing:.02em}.tjc-monthly-report-sheet td{font-size:13px}
@media(max-width:900px){.tjc-mr-kpi{min-height:72px}.tjc-mr-aging{grid-template-columns:82px 1fr 96px}}
@media print{.tjc-monthly-report-sheet{padding:8mm}.tjc-mr-kpi{box-shadow:none}.tjc-mr-aging i,.tjc-mr-bar-row i{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Monthly report final interface polish (0.8.1) */
.tjc-analytics-heading-actions{gap:8px;align-self:flex-start}
.tjc-analytics-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border-radius:11px;border:1px solid transparent;font-size:12px;font-weight:800;line-height:1;text-decoration:none!important;white-space:nowrap;box-sizing:border-box;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
.tjc-analytics-action:hover{transform:translateY(-1px)}
.tjc-analytics-action--primary{color:#fff!important;background:linear-gradient(135deg,#246be8,#1556c7);border-color:#1556c7;box-shadow:0 8px 18px rgba(30,99,220,.2)}
.tjc-analytics-action--secondary{color:#17417e!important;background:#fff;border-color:#cddcf0;box-shadow:0 5px 14px rgba(15,23,42,.06)}
.tjc-analytics-action-icon{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:rgba(255,255,255,.18);font-size:11px;font-weight:900}
.tjc-analytics-action--secondary .tjc-analytics-action-icon{background:#e9f2ff;color:#175dcc}

.tjc-monthly-report-toolbar{padding:2px 0 4px}
.tjc-monthly-report-actions{gap:8px}
.tjc-report-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border-radius:11px;border:1px solid transparent;font:inherit;font-size:12px;font-weight:800;line-height:1;text-decoration:none!important;cursor:pointer;box-sizing:border-box;white-space:nowrap}
.tjc-report-action span{font-size:16px;line-height:1}
.tjc-report-action--ghost{color:#25518d!important;background:transparent}
.tjc-report-action--secondary{color:#17417e;background:#fff;border-color:#cbd9ec;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.tjc-report-action--primary{color:#fff!important;background:linear-gradient(135deg,#246be8,#1556c7);border-color:#1556c7;box-shadow:0 8px 18px rgba(30,99,220,.22)}
.tjc-monthly-report-filters{background:#fff;border:1px solid #d8e4f2;border-radius:15px;box-shadow:0 7px 20px rgba(15,23,42,.05);padding:15px 16px}
.tjc-monthly-report-filters select{height:40px;min-width:150px;border:1px solid #c9d8ec;border-radius:10px;padding:0 36px 0 12px;color:#17304f;font-weight:650;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.tjc-report-generate{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 17px;border:1px solid #1556c7;border-radius:10px;background:linear-gradient(135deg,#246be8,#1556c7);color:#fff;font:inherit;font-size:12px;font-weight:850;cursor:pointer;box-shadow:0 7px 16px rgba(30,99,220,.2)}
.tjc-report-generate span{font-size:16px}

.tjc-mr-kpis{gap:12px}
.tjc-mr-kpis>div.tjc-mr-kpi{display:flex;align-items:center;gap:12px;min-height:72px;padding:13px 14px;border-radius:13px;background:#fff;box-shadow:0 4px 13px rgba(15,23,42,.045)}
.tjc-mr-kpi-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 9%,#fff);box-shadow:inset 0 0 0 5px rgba(255,255,255,.55)}
.tjc-mr-kpi-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tjc-mr-kpi b{font-size:19px;line-height:1.05;margin-bottom:4px}
.tjc-mr-kpi span:not(.tjc-mr-kpi-icon){display:block;line-height:1.2}
.tjc-mr-kpi--jobs{color:#1767d6;border-color:#cfe1fb!important}
.tjc-mr-kpi--completed{color:#17a85b;border-color:#ccefdc!important}
.tjc-mr-kpi--open{color:#e29413;border-color:#f7dfb6!important}
.tjc-mr-kpi--cancelled{color:#e5484d;border-color:#f6cfd1!important}
.tjc-mr-kpi--payments{color:#1767d6;border-color:#cfe1fb!important}
.tjc-mr-kpi>div{min-width:0;color:#123a75}

@media(max-width:900px){.tjc-analytics-heading-actions,.tjc-monthly-report-actions{width:100%}.tjc-analytics-action,.tjc-report-action{flex:1}.tjc-mr-kpi-icon{flex-basis:36px;width:36px;height:36px}.tjc-monthly-report-filters{padding:13px}.tjc-report-generate{width:100%}}


/* Monthly report premium controls and KPI treatment (0.8.2) */
body.tjc-office-dashboard-active .tjc-analytics-heading-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
body.tjc-office-dashboard-active .tjc-analytics-action{
  min-height:44px;
  padding:0 18px;
  border-radius:13px;
  gap:10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:-.01em;
  box-shadow:none;
}
body.tjc-office-dashboard-active .tjc-analytics-action--primary{
  background:linear-gradient(135deg,#256fe8 0%,#1559cc 100%);
  border:1px solid #1559cc;
  box-shadow:0 10px 24px rgba(30,99,220,.22);
}
body.tjc-office-dashboard-active .tjc-analytics-action--secondary{
  background:#fff;
  border:1px solid #c9d8ec;
  color:#173f78!important;
  box-shadow:0 8px 20px rgba(15,38,71,.07);
}
body.tjc-office-dashboard-active .tjc-analytics-action:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 27px rgba(30,99,220,.2);
}
body.tjc-office-dashboard-active .tjc-analytics-action--secondary:hover{
  border-color:#9eb9de;
  background:#f8fbff;
  box-shadow:0 11px 24px rgba(15,38,71,.09);
}
body.tjc-office-dashboard-active .tjc-analytics-action-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
}
body.tjc-office-dashboard-active .tjc-analytics-action--secondary .tjc-analytics-action-icon{
  background:#edf4ff;
  color:#1d63ce;
}
body.tjc-office-dashboard-active .tjc-analytics-action-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.tjc-office-dashboard-active .tjc-monthly-report-toolbar{
  align-items:center;
  padding:4px 0 10px;
  margin-bottom:14px;
}
body.tjc-office-dashboard-active .tjc-monthly-report-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
body.tjc-office-dashboard-active .tjc-report-action{
  min-height:44px;
  padding:0 17px;
  gap:9px;
  border-radius:13px;
  font-size:13px;
  font-weight:800;
  letter-spacing:-.01em;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
body.tjc-office-dashboard-active .tjc-report-action:hover{
  transform:translateY(-2px);
}
body.tjc-office-dashboard-active .tjc-report-action--ghost{
  border:1px solid transparent;
  background:transparent;
  color:#24476f!important;
  padding-left:8px;
}
body.tjc-office-dashboard-active .tjc-report-action--ghost:hover{
  background:#eef5ff;
  border-color:#dce9f8;
}
body.tjc-office-dashboard-active .tjc-report-action--secondary{
  background:#fff;
  color:#173f78!important;
  border:1px solid #c8d8ec;
  box-shadow:0 8px 20px rgba(15,38,71,.07);
}
body.tjc-office-dashboard-active .tjc-report-action--secondary:hover{
  border-color:#9eb9de;
  box-shadow:0 11px 24px rgba(15,38,71,.1);
}
body.tjc-office-dashboard-active .tjc-report-action--primary{
  background:linear-gradient(135deg,#256fe8 0%,#1559cc 100%);
  border:1px solid #1559cc;
  color:#fff!important;
  box-shadow:0 11px 25px rgba(30,99,220,.24);
}
body.tjc-office-dashboard-active .tjc-report-action--primary:hover{
  box-shadow:0 14px 30px rgba(30,99,220,.29);
}
body.tjc-office-dashboard-active .tjc-report-action-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.16);
}
body.tjc-office-dashboard-active .tjc-report-action--ghost .tjc-report-action-icon,
body.tjc-office-dashboard-active .tjc-report-action--secondary .tjc-report-action-icon{
  background:#edf4ff;
  color:#1d63ce;
}
body.tjc-office-dashboard-active .tjc-report-action-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.tjc-office-dashboard-active .tjc-monthly-report-filters{
  gap:16px;
  padding:18px;
  border-radius:18px;
  border-color:#d4e1f0;
  box-shadow:0 10px 28px rgba(18,47,84,.07);
}
body.tjc-office-dashboard-active .tjc-monthly-report-filters select{
  height:44px;
  min-width:155px;
  border-radius:12px;
  font-size:13px;
}
body.tjc-office-dashboard-active .tjc-report-generate{
  height:44px;
  padding:0 20px;
  gap:10px;
  border-radius:12px;
  font-size:13px;
  font-weight:850;
  letter-spacing:-.01em;
  box-shadow:0 11px 24px rgba(30,99,220,.24);
  transition:transform .16s ease,box-shadow .16s ease;
}
body.tjc-office-dashboard-active .tjc-report-generate:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 29px rgba(30,99,220,.3);
}
body.tjc-office-dashboard-active .tjc-report-generate-icon{
  width:26px;
  height:26px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
}
body.tjc-office-dashboard-active .tjc-report-generate-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:#fff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.tjc-office-dashboard-active .tjc-mr-kpis{
  gap:14px;
}
body.tjc-office-dashboard-active .tjc-mr-kpis>div.tjc-mr-kpi{
  position:relative;
  min-height:86px;
  padding:15px 16px;
  border:1px solid #d8e4f2!important;
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:0 8px 22px rgba(20,47,82,.07);
  overflow:hidden;
}
body.tjc-office-dashboard-active .tjc-mr-kpis>div.tjc-mr-kpi:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--tjc-kpi-accent,#256fe8);
}
body.tjc-office-dashboard-active .tjc-mr-kpi-icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  border:0;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(145deg,var(--tjc-kpi-accent,#256fe8),var(--tjc-kpi-deep,#1559cc));
  box-shadow:0 9px 18px color-mix(in srgb,var(--tjc-kpi-accent,#256fe8) 25%,transparent);
}
body.tjc-office-dashboard-active .tjc-mr-kpi-icon svg{
  width:23px;
  height:23px;
  stroke:#fff;
  stroke-width:1.9;
}
body.tjc-office-dashboard-active .tjc-mr-kpi b{
  color:#142e53;
  font-size:21px;
  font-weight:800;
  letter-spacing:-.02em;
  margin-bottom:5px;
}
body.tjc-office-dashboard-active .tjc-mr-kpi span:not(.tjc-mr-kpi-icon){
  color:#556b86;
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.035em;
}
body.tjc-office-dashboard-active .tjc-mr-kpi--jobs{--tjc-kpi-accent:#2f78e8;--tjc-kpi-deep:#1558ca}
body.tjc-office-dashboard-active .tjc-mr-kpi--completed{--tjc-kpi-accent:#21b46a;--tjc-kpi-deep:#12894b}
body.tjc-office-dashboard-active .tjc-mr-kpi--open{--tjc-kpi-accent:#f2a41b;--tjc-kpi-deep:#d47c00}
body.tjc-office-dashboard-active .tjc-mr-kpi--cancelled{--tjc-kpi-accent:#ed5862;--tjc-kpi-deep:#c93443}
body.tjc-office-dashboard-active .tjc-mr-kpi--payments{--tjc-kpi-accent:#6c63e7;--tjc-kpi-deep:#4f46c8}

@media(max-width:900px){
  body.tjc-office-dashboard-active .tjc-analytics-heading-actions,
  body.tjc-office-dashboard-active .tjc-monthly-report-actions{gap:9px}
  body.tjc-office-dashboard-active .tjc-analytics-action,
  body.tjc-office-dashboard-active .tjc-report-action{flex:1 1 auto}
  body.tjc-office-dashboard-active .tjc-mr-kpis>div.tjc-mr-kpi{min-height:78px}
}


/* Monthly report v5: remove legacy generated KPI glyphs behind the SVG artwork. */
body.tjc-office-dashboard-active .tjc-mr-kpi-icon::before,
body.tjc-office-dashboard-active .tjc-mr-kpi-icon::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  transform: none !important;
}
body.tjc-office-dashboard-active .tjc-mr-kpi-icon {
  box-shadow: 0 9px 18px color-mix(in srgb,var(--tjc-kpi-accent,#256fe8) 25%,transparent) !important;
}
body.tjc-office-dashboard-active .tjc-mr-kpi-icon svg {
  position: relative;
  z-index: 1;
}

/* Monthly report v6: centre and enlarge the KPI SVG artwork inside each colour tile. */
body.tjc-office-dashboard-active .tjc-mr-kpi-icon {
  position: relative;
  display: block;
  overflow: hidden;
}
body.tjc-office-dashboard-active .tjc-mr-kpi-icon svg {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 27px !important;
  height: 27px !important;
  display: block;
  transform: translate(-50%, -50%) !important;
  transform-origin: center;
  margin: 0 !important;
  padding: 0 !important;
}


/* Source job card reference drawer */
.tjc-source-job-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(2px);z-index:99998}
.tjc-source-job-backdrop[hidden],.tjc-source-job-panel[hidden]{display:none!important}
.tjc-source-job-panel{position:fixed;top:0;right:0;width:min(520px,92vw);height:100dvh;background:#f8fafc;box-shadow:-18px 0 50px rgba(15,23,42,.22);z-index:99999;display:flex;flex-direction:column}
.tjc-source-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 20px;background:#fff;border-bottom:1px solid #e2e8f0}
.tjc-source-job-kicker{display:block;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#2563eb;margin-bottom:6px}
.tjc-source-job-head h3{margin:0;color:#0f172a;font-size:22px;line-height:1.25}
.tjc-source-job-head p{margin:5px 0 0;color:#64748b;font-size:14px}
.tjc-source-job-close{appearance:none;border:0;background:#eef2f7;color:#334155;width:40px;height:40px;border-radius:12px;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}
.tjc-source-job-body{flex:1;overflow:auto;padding:20px 24px 32px}
.tjc-source-job-body section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:17px 18px;margin-bottom:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.tjc-source-job-body h4{margin:0 0 9px;color:#0f172a;font-size:14px}
.tjc-source-job-copy{color:#334155;font-size:14px;line-height:1.65;white-space:normal;overflow-wrap:anywhere}
.tjc-source-job-stock{display:grid;gap:9px}
.tjc-source-job-stock>div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;background:#f8fafc;border-radius:10px;color:#334155}
.tjc-source-job-stock span{color:#64748b;font-size:13px;white-space:nowrap}
.tjc-source-job-button{display:inline-flex;align-items:center;justify-content:center}
body.tjc-source-job-open{overflow:hidden}
@media(max-width:782px){
 .tjc-source-job-panel{top:auto;bottom:0;width:100%;height:min(88dvh,760px);border-radius:22px 22px 0 0}
 .tjc-source-job-head{padding:18px 18px 15px}
 .tjc-source-job-head h3{font-size:19px}
 .tjc-source-job-body{padding:16px 16px calc(26px + env(safe-area-inset-bottom))}
 .tjc-source-job-body section{padding:15px;margin-bottom:12px}
 .tjc-form-top-actions .tjc-source-job-button{order:-1;width:100%}
}

/* JobCardHub 0.9.7: compact the complete office application without
   zooming the WordPress body or theme container. The office shell keeps its
   original visible width while its internal desktop layout uses 90% density. */
@media screen and (min-width:1181px){
  body.tjc-office-dashboard-active .tjc-office-shell{
    zoom:.9!important;
    width:100%!important;
    max-width:100%!important;
  }

  body.tjc-office-dashboard-active .tjc-office-sidebar,
  body.tjc-office-dashboard-active .tjc-office-main{
    zoom:1!important;
  }

  body.tjc-office-dashboard-active .tjc-office-main-topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:18px!important;
  }

  body.tjc-office-dashboard-active .tjc-office-page-heading{
    min-width:0!important;
  }

  body.tjc-office-dashboard-active .tjc-office-page-title{
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.tjc-office-dashboard-active .tjc-office-main-actions{
    min-width:0!important;
    width:auto!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
  }
}

@media print{
  body.tjc-office-dashboard-active .tjc-office-shell,
  body.tjc-office-dashboard-active .tjc-office-sidebar,
  body.tjc-office-dashboard-active .tjc-office-main{
    zoom:1!important;
  }
}

/* Job card section simplification: keep one premium card per section. */
.tjc-jobcard-shell .tjc-form-section:has(> .tjc-mobile-section),
.tjc-frontend-wrap.tjc-form-page .tjc-form-section:has(> .tjc-mobile-section) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

#tjc-new-jobcard-form .tjc-stock-required-section .tjc-stock-table-wrap {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Inventory stock control */
.tjc-stock-control-shell{display:grid;gap:16px}
.tjc-stock-control-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #d9e3ef;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#f2f6fb);box-shadow:0 10px 28px rgba(15,23,42,.05)}
.tjc-stock-control-toggle-card.is-enabled{border-color:#b8e2c4;background:linear-gradient(135deg,#f2fbf5,#eaf8ef)}
.tjc-stock-control-toggle-card>div{min-width:0}
.tjc-stock-control-toggle-card strong{display:block;margin-bottom:5px;color:#16325c;font-size:16px;font-weight:900}
.tjc-stock-control-toggle-card span{display:block;max-width:820px;color:#5d6b7e;font-size:13px;line-height:1.55}
.tjc-stock-control-toggle-form{flex:0 0 auto;margin:0}
.tjc-inventory-subtabs{display:flex;gap:8px;overflow-x:auto;padding:5px;border:1px solid #dbe4ef;border-radius:15px;background:#f5f8fc;-webkit-overflow-scrolling:touch}
.tjc-inventory-subtabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:11px;color:#526276;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}
.tjc-inventory-subtabs a:hover{background:#fff;color:#1f4f90}
.tjc-inventory-subtabs a.is-active{background:#fff;color:#1d4f91;box-shadow:0 5px 14px rgba(15,23,42,.09)}
.tjc-stock-adjust-card{border-color:#cfe0f4!important;background:linear-gradient(180deg,#fbfdff,#f5f9ff)!important}
.tjc-stock-adjust-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.tjc-stock-adjust-summary span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #dae5f1;border-radius:999px;background:#fff;color:#66758a;font-size:12px}
.tjc-stock-adjust-summary strong{color:#16325c;font-size:14px}
.tjc-stock-adjust-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tjc-stock-period-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(145px,.7fr) minmax(145px,.7fr) auto;gap:12px;align-items:end;margin:14px 0 18px;padding:14px;border:1px solid #e0e8f1;border-radius:14px;background:#f8fafc}
.tjc-stock-period-form .tjc-link-btn{min-height:44px}
.tjc-stock-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.tjc-stock-report-summary>div{padding:15px 16px;border:1px solid #dce6f1;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.04)}
.tjc-stock-report-summary strong{display:block;color:#17345f;font-size:21px;font-weight:900;line-height:1.1}
.tjc-stock-report-summary span{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:750}
.tjc-stock-low{color:#b42318!important}
.tjc-inventory-row.is-low-stock td,.tjc-stock-report-table tr.is-low-stock td{background:#fff8f6}
.tjc-stock-ledger-table .is-positive{color:#15803d;font-weight:850}
.tjc-stock-ledger-table .is-negative{color:#b42318;font-weight:850}
.tjc-stock-ledger-table small,.tjc-stock-report-table small{color:#718096}
.tjc-stock-ledger-table td,.tjc-stock-report-table td{vertical-align:top}
.tjc-inventory-stock-field.is-hidden,.tjc-inventory-cost-field.is-hidden{display:none!important}
.tjc-stock-control-shell .tjc-inline-note{margin-bottom:12px}
.tjc-stock-control-shell .tjc-field-help{display:block;margin-top:5px;color:#718096;font-size:11px;line-height:1.4}

@media(max-width:900px){
  .tjc-stock-control-toggle-card{align-items:flex-start;flex-direction:column}
  .tjc-stock-control-toggle-form,.tjc-stock-control-toggle-form .tjc-link-btn{width:100%}
  .tjc-stock-period-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tjc-stock-period-form .tjc-link-btn{width:100%}
}
@media(max-width:680px){
  .tjc-stock-adjust-form,.tjc-stock-period-form,.tjc-stock-report-summary{grid-template-columns:1fr}
  .tjc-stock-control-toggle-card{padding:15px}
  .tjc-inventory-subtabs{margin-left:-2px;margin-right:-2px}
  .tjc-inventory-subtabs a{min-height:38px;padding:8px 12px}
}
.tjc-stock-reservation-summary{display:inline-flex;align-items:baseline;gap:8px;margin:8px 0 15px;padding:10px 14px;border:1px solid #d9e5f1;border-radius:999px;background:#f8fbff;color:#64748b;font-size:13px}
.tjc-stock-reservation-summary strong{color:#17345f;font-size:20px;font-weight:900}
.tjc-stock-reservations-table small{color:#718096}

/* Inventory stock control polish and report export */
.tjc-stock-control-shell .tjc-inventory-header-row{
  align-items:center;
  gap:18px;
  margin-bottom:2px;
}
.tjc-stock-control-shell .tjc-inventory-header-row>div:first-child{
  min-width:220px;
}
.tjc-stock-control-shell .tjc-inventory-stat-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(138px,1fr));
  gap:10px;
  width:min(100%,700px);
}
.tjc-stock-control-shell .tjc-inventory-stat{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:11px 12px;
  border:1px solid #dbe5f1;
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 7px 18px rgba(15,23,42,.045);
}
.tjc-stock-control-shell .tjc-inventory-stat-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:11px;
  background:#edf4ff;
  color:#2864c8;
}
.tjc-stock-control-shell .tjc-inventory-stat-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjc-stock-control-shell .tjc-inventory-stat-copy{
  display:block;
  min-width:0;
}
.tjc-stock-control-shell .tjc-inventory-stat-copy strong{
  display:block;
  color:#10233c;
  font-size:18px;
  font-weight:900;
  line-height:1;
}
.tjc-stock-control-shell .tjc-inventory-stat-copy>span{
  display:block;
  margin-top:5px;
  overflow:hidden;
  color:#68778b;
  font-size:10.5px;
  font-weight:800;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tjc-stock-control-shell .tjc-inventory-stat.is-warning{
  border-color:#fed7aa;
  background:linear-gradient(180deg,#fffaf5,#fff7ed);
}
.tjc-stock-control-shell .tjc-inventory-stat.is-warning .tjc-inventory-stat-icon{
  background:#ffedd5;
  color:#c2410c;
}
.tjc-stock-control-shell .tjc-inventory-stat.is-healthy .tjc-inventory-stat-icon{
  background:#ecfdf3;
  color:#15803d;
}

.tjc-stock-control-toggle-card{
  position:relative;
  overflow:hidden;
  padding:20px 22px;
}
.tjc-stock-control-toggle-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:#94a3b8;
}
.tjc-stock-control-toggle-card.is-enabled::before{background:#22a447}
.tjc-stock-control-toggle-copy{position:relative;z-index:1}
.tjc-stock-control-status-badge{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  width:auto;
  max-width:none!important;
  margin:0 0 8px;
  padding:5px 9px;
  border:1px solid #d8e1ec;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#64748b!important;
  font-size:10px!important;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1!important;
  text-transform:uppercase;
}
.tjc-stock-control-toggle-card.is-enabled .tjc-stock-control-status-badge{
  border-color:#b9e7c5;
  color:#157337!important;
}
.tjc-stock-control-status-dot{
  display:block!important;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#94a3b8;
  box-shadow:0 0 0 4px rgba(148,163,184,.12);
}
.tjc-stock-control-toggle-card.is-enabled .tjc-stock-control-status-dot{
  background:#22a447;
  box-shadow:0 0 0 4px rgba(34,164,71,.13);
}
.tjc-stock-control-switch{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:'track label' 'track action';
  align-items:center;
  column-gap:10px;
  min-width:146px;
  min-height:58px;
  padding:9px 13px;
  border:1px solid #d5dfeb;
  border-radius:16px;
  background:#fff;
  color:#243b5a;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
  cursor:pointer;
  font-family:inherit;
  text-align:left;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.tjc-stock-control-switch:hover{
  transform:translateY(-1px);
  border-color:#b9c9dc;
  box-shadow:0 11px 26px rgba(15,23,42,.12);
}
.tjc-stock-control-switch:focus-visible{
  outline:3px solid rgba(37,99,235,.22);
  outline-offset:2px;
}
.tjc-stock-control-switch-track{
  grid-area:track;
  position:relative;
  display:block!important;
  width:48px;
  height:28px;
  border-radius:999px;
  background:#cbd5e1;
  box-shadow:inset 0 0 0 1px rgba(71,85,105,.12);
  transition:background .18s ease;
}
.tjc-stock-control-switch-knob{
  position:absolute;
  top:4px;
  left:4px;
  display:block!important;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 7px rgba(15,23,42,.25);
  transition:transform .18s ease;
}
.tjc-stock-control-switch.is-on .tjc-stock-control-switch-track{background:#27a84b}
.tjc-stock-control-switch.is-on .tjc-stock-control-switch-knob{transform:translateX(20px)}
.tjc-stock-control-switch-label{
  grid-area:label;
  display:block!important;
  color:#172b48!important;
  font-size:13px!important;
  font-weight:900;
  line-height:1.1!important;
}
.tjc-stock-control-switch-action{
  grid-area:action;
  display:block!important;
  color:#7a889a!important;
  font-size:10px!important;
  font-weight:750;
  line-height:1.1!important;
}

.tjc-stock-adjust-card{
  padding:18px!important;
  border-radius:18px!important;
}
.tjc-stock-adjust-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 13px;
}
.tjc-stock-adjust-heading .tjc-section-title{
  margin:2px 0 0;
  font-size:17px;
}
.tjc-stock-adjust-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:13px;
  background:linear-gradient(145deg,#e7f0ff,#dceaff);
  color:#2563c7;
  box-shadow:0 7px 16px rgba(37,99,199,.11);
}
.tjc-stock-adjust-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjc-stock-adjust-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,150px));
  gap:9px;
  margin:0 0 16px;
}
.tjc-stock-adjust-summary span{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:3px;
  padding:10px 12px;
  border-radius:12px;
}
.tjc-stock-adjust-summary small{
  color:#718096;
  font-size:10px;
  font-weight:850;
  letter-spacing:.03em;
  line-height:1;
  text-transform:uppercase;
}
.tjc-stock-adjust-summary strong{
  font-size:18px;
  line-height:1.1;
}
.tjc-stock-adjust-form{
  gap:13px 14px;
  padding:15px;
  border:1px solid #dfe8f2;
  border-radius:15px;
  background:rgba(255,255,255,.78);
}
.tjc-stock-form-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.tjc-stock-form-field label,
.tjc-stock-period-field label{
  color:#334e70;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
}
.tjc-stock-form-field input,
.tjc-stock-form-field select,
.tjc-stock-form-field textarea,
.tjc-stock-period-field input,
.tjc-stock-period-field select{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd8e7;
  border-radius:11px;
  background:#fff;
  color:#142841;
  font:inherit;
  font-size:13px;
  font-weight:650;
  box-shadow:0 1px 2px rgba(15,23,42,.03),inset 0 1px 1px rgba(15,23,42,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.tjc-stock-form-field input,
.tjc-stock-form-field select,
.tjc-stock-period-field input,
.tjc-stock-period-field select{
  min-height:44px;
  padding:0 12px;
}
.tjc-stock-form-field textarea{
  min-height:76px;
  padding:11px 12px;
  resize:vertical;
}
.tjc-stock-form-field input:focus,
.tjc-stock-form-field select:focus,
.tjc-stock-form-field textarea:focus,
.tjc-stock-period-field input:focus,
.tjc-stock-period-field select:focus{
  outline:0;
  border-color:#6ea0e5;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.tjc-stock-select-wrap{position:relative}
.tjc-stock-select-wrap::after{
  content:'';
  position:absolute;
  right:14px;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid #60748e;
  border-bottom:2px solid #60748e;
  pointer-events:none;
  transform:translateY(-65%) rotate(45deg);
}
.tjc-stock-select-wrap select{
  padding-right:38px!important;
  appearance:none;
  -webkit-appearance:none;
}
.tjc-stock-primary-button,
.tjc-stock-apply-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 15px;
  border:0;
  border-radius:11px;
  background:linear-gradient(180deg,#3475e2,#245fc3);
  color:#fff;
  box-shadow:0 8px 17px rgba(37,95,195,.2);
  cursor:pointer;
  font-size:12px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
}
.tjc-stock-primary-button:hover,
.tjc-stock-apply-button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.tjc-stock-primary-button>span{font-size:18px;font-weight:500}
.tjc-stock-cancel-link{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 6px;
  color:#63748a;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.tjc-stock-report-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.tjc-stock-report-heading .tjc-inline-note{max-width:780px;margin-bottom:0}
.tjc-stock-export-button{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-width:150px;
  padding:10px 13px;
  border:1px solid #c8d9ef;
  border-radius:13px;
  background:linear-gradient(180deg,#fff,#f4f8ff);
  color:#1f559f;
  box-shadow:0 7px 17px rgba(26,79,149,.08);
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.tjc-stock-export-button:hover{
  transform:translateY(-1px);
  border-color:#95b7e4;
  box-shadow:0 10px 24px rgba(26,79,149,.13);
}
.tjc-stock-export-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#e5efff;
}
.tjc-stock-export-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjc-stock-export-button>span:last-child{display:flex;flex-direction:column;gap:3px}
.tjc-stock-export-button strong{font-size:12px;line-height:1}
.tjc-stock-export-button small{color:#71839a;font-size:9.5px;font-weight:750;line-height:1}

.tjc-stock-period-form{
  grid-template-columns:minmax(190px,1.15fr) minmax(170px,.8fr) minmax(170px,.8fr) auto;
  gap:13px;
  padding:16px;
  border-color:#d8e4f0;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#f3f7fc);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.tjc-stock-period-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.tjc-stock-date-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.tjc-stock-date-wrap>span{
  position:absolute;
  left:12px;
  z-index:1;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  color:#6680a1;
  pointer-events:none;
}
.tjc-stock-date-wrap svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tjc-stock-date-wrap input{padding-left:38px!important}
.tjc-stock-period-form:not(.is-custom-period) .tjc-stock-date-wrap input:disabled{
  opacity:1;
  border-color:#dde5ef;
  background:#edf2f7;
  color:#66758a;
  cursor:not-allowed;
  -webkit-text-fill-color:#66758a;
}
.tjc-stock-period-form:not(.is-custom-period) .tjc-stock-date-wrap>span{color:#94a3b8}
.tjc-stock-apply-button{
  min-width:92px;
  min-height:44px;
  padding:0 16px;
}
.tjc-stock-apply-button svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tjc-stock-report-summary>div{
  position:relative;
  overflow:hidden;
  padding:16px 17px;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.tjc-stock-report-summary>div::after{
  content:'';
  position:absolute;
  right:-18px;
  bottom:-28px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(38,103,205,.055);
}

@media(max-width:1180px){
  .tjc-stock-control-shell .tjc-inventory-header-row{align-items:flex-start;flex-direction:column}
  .tjc-stock-control-shell .tjc-inventory-stat-row{width:100%}
}
@media(max-width:900px){
  .tjc-stock-control-shell .tjc-inventory-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tjc-stock-control-toggle-form,.tjc-stock-control-toggle-form .tjc-stock-control-switch{width:100%}
  .tjc-stock-control-switch{grid-template-columns:auto 1fr auto;grid-template-areas:'track label action';min-height:52px}
  .tjc-stock-report-heading{align-items:stretch;flex-direction:column}
  .tjc-stock-export-button{align-self:flex-start}
}
@media(max-width:680px){
  .tjc-stock-control-shell .tjc-inventory-stat-row{grid-template-columns:1fr 1fr;gap:8px}
  .tjc-stock-control-shell .tjc-inventory-stat{padding:9px 10px}
  .tjc-stock-control-shell .tjc-inventory-stat-icon{flex-basis:31px;width:31px;height:31px}
  .tjc-stock-control-shell .tjc-inventory-stat-copy strong{font-size:16px}
  .tjc-stock-control-shell .tjc-inventory-stat-copy>span{font-size:9.5px}
  .tjc-stock-adjust-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tjc-stock-adjust-summary span{padding:9px 8px}
  .tjc-stock-adjust-summary strong{font-size:16px}
  .tjc-stock-adjust-form{padding:12px}
  .tjc-stock-export-button{width:100%;box-sizing:border-box}
  .tjc-stock-period-form{padding:12px}
}


/* Inventory mobile overflow menu */
.tjc-inventory-menu-dots{display:none}
@media (max-width:780px){
body.tjc-office-dashboard-active .tjc-inventory-table-upgraded .tjc-cell-manage{width:48px!important;min-width:48px!important;padding-left:4px!important;padding-right:8px!important;overflow:visible!important}
body.tjc-office-dashboard-active .tjc-inventory-menu-trigger,body.tjc-office-dashboard-active summary.tjc-inventory-menu-trigger.tjc-link-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border:1px solid #d6e1ec!important;border-radius:10px!important;background:#fff!important;color:#365077!important;font-size:0!important;line-height:1!important;text-decoration:none!important}
body.tjc-office-dashboard-active .tjc-inventory-menu-label{display:none!important}
body.tjc-office-dashboard-active .tjc-inventory-menu-dots{display:block!important;color:#365077!important;font-size:25px!important;font-weight:800!important;line-height:.8!important;transform:translateY(-1px)}
}

/* Mobile job-card accordions: attachments and forms stay compact until needed. */
.tjc-mobile-collapsible-summary {
  display: none;
}

@media (min-width: 781px) {
  .tjc-mobile-collapsible:not([open]) > :not(summary) {
    display: block !important;
  }
}

@media (max-width: 780px) {
  #tjc-new-jobcard-form .tjc-layout-work-followup,
  #tjc-new-jobcard-form .tjc-stock-required-section,
  #tjc-new-jobcard-form .tjc-stock-required-section > .tjc-mobile-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  .tjc-mobile-collapsible {
    width: 100%;
    max-width: none;
    padding: 0 !important;
    overflow: hidden;
    box-sizing: border-box;
  }

  .tjc-mobile-collapsible-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 14px 16px;
    list-style: none;
    color: #223654;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.3;
    cursor: pointer;
    box-sizing: border-box;
  }

  .tjc-mobile-collapsible-summary::-webkit-details-marker {
    display: none;
  }

  .tjc-mobile-collapsible-summary::after {
    content: '+';
    flex: 0 0 auto;
    color: #64748b;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
  }

  .tjc-mobile-collapsible[open] > .tjc-mobile-collapsible-summary::after {
    content: '\2212';
  }

  .tjc-mobile-collapsible-body {
    padding: 0 16px 16px;
    box-sizing: border-box;
  }

  .tjc-mobile-collapsible-body > .tjc-inline-help:first-child {
    margin: 0 0 12px;
  }
}

/* Inventory bundles / kits */
.tjc-inventory-form-grid .is-hidden,
.tjc-bundle-builder.is-hidden,
.tjc-bundle-fixed-price-field.is-hidden,
.tjc-inventory-standard-price-field.is-hidden{display:none!important}
.tjc-bundle-builder{border:1px solid #bfd3ec;border-radius:14px;background:#f7faff;padding:14px;display:flex;flex-direction:column;gap:12px}
.tjc-bundle-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.tjc-bundle-heading>div{display:flex;flex-direction:column;gap:4px}
.tjc-bundle-heading strong{font-size:14px;color:#10233c}
.tjc-bundle-heading span{font-size:11px;line-height:1.45;color:#5a6f88;max-width:760px}
.tjc-bundle-private-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:#e7f0ff;color:#214b9a!important;font-size:10px!important;font-weight:800;white-space:nowrap}
.tjc-bundle-component-list{display:flex;flex-direction:column;gap:8px}
.tjc-bundle-component-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(125px,.8fr) minmax(110px,.7fr) minmax(110px,.7fr) 34px;gap:8px;align-items:end;padding:10px;border:1px solid #d3deeb;border-radius:12px;background:#fff}
.tjc-bundle-component-row label{display:block;margin-bottom:4px;font-size:10px;font-weight:800;color:#365077}
.tjc-bundle-component-row select,.tjc-bundle-component-row input{width:100%;height:32px;min-height:32px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;padding:0 8px;font-size:11px;box-sizing:border-box}
.tjc-bundle-component-rate,.tjc-bundle-component-total{min-height:32px;display:flex;flex-direction:column;justify-content:center;gap:1px}
.tjc-bundle-component-rate small,.tjc-bundle-component-total small{font-size:9px;color:#6b7f96;font-weight:700}
.tjc-bundle-component-rate strong,.tjc-bundle-component-total strong{font-size:12px;color:#10233c}
.tjc-bundle-component-rate span{font-size:9px;color:#6b7f96}
.tjc-bundle-remove{width:32px;height:32px;border:1px solid #fecaca;border-radius:8px;background:#fff;color:#b42318;font-size:20px;line-height:1;cursor:pointer}
.tjc-bundle-remove:hover{background:#fef2f2}
.tjc-bundle-add{align-self:flex-start}
.tjc-bundle-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:2px}
.tjc-bundle-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tjc-bundle-summary>div{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #d7e3ef;border-radius:10px;background:#fff}
.tjc-bundle-summary span{font-size:10px;color:#6b7f96;font-weight:700}
.tjc-bundle-summary strong{font-size:15px;color:#10233c}
.tjc-bundle-summary .is-customer-price{border-color:#9ac6a8;background:#f1fbf4}
.tjc-bundle-summary .is-customer-price strong{color:#137333}
.tjc-bundle-customer-preview{padding:10px 12px;border-radius:10px;background:#eaf3ff;color:#214b9a;font-size:11px;line-height:1.45}
.tjc-inventory-type-label{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;font-size:9px;font-weight:800;background:#eef2f7;color:#365077;white-space:nowrap}
.tjc-inventory-type-label.is-bundle{background:#ede9fe;color:#5b21b6}
.tjc-inventory-type-label.is-physical{background:#e9f8ee;color:#166534}
.tjc-inventory-type-label.is-service{background:#eaf3ff;color:#214b9a}
.tjc-inventory-table-upgraded td small{font-size:9px;color:#6b7f96}
@media (max-width:980px){.tjc-bundle-component-row{grid-template-columns:minmax(190px,2fr) minmax(120px,1fr) minmax(105px,1fr) 34px}.tjc-bundle-component-total{display:none}}
@media (max-width:780px){.tjc-bundle-heading{flex-direction:column;gap:8px}.tjc-bundle-component-row{grid-template-columns:1fr 1fr}.tjc-bundle-component-item{grid-column:1/-1}.tjc-bundle-component-rate,.tjc-bundle-component-total{display:flex}.tjc-bundle-remove{grid-column:2;justify-self:end}.tjc-bundle-pricing-grid,.tjc-bundle-summary{grid-template-columns:1fr}.tjc-bundle-builder{padding:10px}.tjc-inventory-search-row{flex-wrap:wrap}.tjc-inventory-search-row .tjc-search-input{flex:1 1 160px}}

/* Clients import/export toolbar */
body.tjc-office-dashboard-active .tjc-clients-toolbar{
  display:grid;
  gap:12px;
  margin:2px 0 16px;
  padding:14px;
  border:1px solid #dbe5ef;
  border-radius:16px;
  background:#f8fbff;
}
body.tjc-office-dashboard-active .tjc-clients-toolbar-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
body.tjc-office-dashboard-active .tjc-clients-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
body.tjc-office-dashboard-active .tjc-client-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:0 13px;
  border:1px solid #ccd9e8;
  border-radius:11px;
  background:#fff;
  color:#294a75;
  font-size:12px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  box-sizing:border-box;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
body.tjc-office-dashboard-active .tjc-client-action:hover,
body.tjc-office-dashboard-active .tjc-client-action:focus{
  border-color:#9db8dc;
  background:#f4f8ff;
  box-shadow:0 7px 18px rgba(33,75,140,.10);
  transform:translateY(-1px);
}
body.tjc-office-dashboard-active .tjc-client-action-primary{
  border-color:#2463d4;
  background:#2f6fdd;
  color:#fff;
  box-shadow:0 8px 18px rgba(47,111,221,.18);
}
body.tjc-office-dashboard-active .tjc-client-action-primary:hover,
body.tjc-office-dashboard-active .tjc-client-action-primary:focus{
  border-color:#1f58c2;
  background:#275fc4;
  color:#fff;
}
body.tjc-office-dashboard-active .tjc-client-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:6px;
  background:rgba(47,111,221,.10);
  color:inherit;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
body.tjc-office-dashboard-active .tjc-client-action-primary .tjc-client-action-icon{
  background:rgba(255,255,255,.18);
}
body.tjc-office-dashboard-active .tjc-client-import-panel{
  position:relative;
  margin:0;
}
body.tjc-office-dashboard-active .tjc-client-import-panel > summary{
  list-style:none;
}
body.tjc-office-dashboard-active .tjc-client-import-panel > summary::-webkit-details-marker{
  display:none;
}
body.tjc-office-dashboard-active .tjc-client-import-panel[open] > summary{
  border-color:#8fb0de;
  background:#edf4ff;
  box-shadow:0 7px 18px rgba(33,75,140,.10);
}
body.tjc-office-dashboard-active .tjc-client-import-form{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:70;
  width:min(720px,calc(100vw - 80px));
  margin:0;
  padding:18px;
  border:1px solid #d5e1ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,35,65,.18);
}
body.tjc-office-dashboard-active .tjc-clients-search{
  width:100%;
  min-width:0!important;
  max-width:none!important;
  min-height:42px!important;
  height:42px!important;
  border-radius:12px!important;
  background:#fff!important;
}
@media (max-width:980px){
  body.tjc-office-dashboard-active .tjc-clients-toolbar-topline{
    align-items:flex-start;
    flex-direction:column;
  }
  body.tjc-office-dashboard-active .tjc-clients-actions{
    justify-content:flex-start;
    width:100%;
  }
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-clients-toolbar{
    padding:12px;
    border-radius:14px;
  }
  body.tjc-office-dashboard-active .tjc-clients-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.tjc-office-dashboard-active .tjc-client-action,
  body.tjc-office-dashboard-active .tjc-client-import-panel{
    width:100%;
  }
  body.tjc-office-dashboard-active .tjc-client-import-panel > summary{
    width:100%;
  }
  body.tjc-office-dashboard-active .tjc-client-import-form{
    position:fixed;
    left:12px;
    right:12px;
    top:88px;
    width:auto;
    max-height:calc(100vh - 110px);
    overflow:auto;
  }
}
@media (max-width:480px){
  body.tjc-office-dashboard-active .tjc-clients-actions{
    grid-template-columns:1fr;
  }
}

/* Clients import/export control polish: text-only actions and consistent form controls. */
body.tjc-office-dashboard-active .tjc-clients-actions .tjc-client-action{
  gap:0;
  min-height:40px;
  padding:0 17px;
  border-radius:10px;
  font-size:12px;
  letter-spacing:0;
}
body.tjc-office-dashboard-active .tjc-client-action-icon{
  display:none!important;
}
body.tjc-office-dashboard-active .tjc-client-import-form{
  width:min(760px,calc(100vw - 80px));
  padding:20px;
}
body.tjc-office-dashboard-active .tjc-client-import-form .tjc-client-edit-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.85fr);
  gap:16px;
  align-items:end;
}
body.tjc-office-dashboard-active .tjc-client-import-form .tjc-field-span-2{
  grid-column:auto;
}
body.tjc-office-dashboard-active .tjc-client-import-form .tjc-form-field > span{
  display:block;
  margin:0 0 7px;
  color:#526b89;
  font-size:10px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body.tjc-office-dashboard-active .tjc-client-import-file,
body.tjc-office-dashboard-active .tjc-client-import-select{
  display:block;
  width:100%;
  min-height:44px;
  margin:0;
  border:1px solid #c8d7e8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#18314f!important;
  font-size:12px!important;
  font-weight:650;
  box-sizing:border-box;
  box-shadow:none!important;
}
body.tjc-office-dashboard-active .tjc-client-import-file{
  padding:5px 7px!important;
  line-height:32px;
}
body.tjc-office-dashboard-active .tjc-client-import-file::file-selector-button{
  min-height:32px;
  margin:0 10px 0 0;
  padding:0 14px;
  border:0;
  border-radius:7px;
  background:#eaf1fb;
  color:#234b7c;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
body.tjc-office-dashboard-active .tjc-client-import-file::-webkit-file-upload-button{
  min-height:32px;
  margin:0 10px 0 0;
  padding:0 14px;
  border:0;
  border-radius:7px;
  background:#eaf1fb;
  color:#234b7c;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
body.tjc-office-dashboard-active .tjc-client-import-file:hover::file-selector-button,
body.tjc-office-dashboard-active .tjc-client-import-file:hover::-webkit-file-upload-button{
  background:#dce8f8;
}
body.tjc-office-dashboard-active .tjc-client-import-select{
  appearance:none;
  -webkit-appearance:none;
  padding:0 38px 0 13px!important;
  background-image:linear-gradient(45deg,transparent 50%,#607897 50%),linear-gradient(135deg,#607897 50%,transparent 50%)!important;
  background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
}
body.tjc-office-dashboard-active .tjc-client-import-file:focus,
body.tjc-office-dashboard-active .tjc-client-import-select:focus{
  border-color:#6d96d2!important;
  outline:3px solid rgba(47,111,221,.12)!important;
  outline-offset:0;
}
body.tjc-office-dashboard-active .tjc-client-import-form .tjc-table-sub{
  margin:12px 0 14px;
  color:#60738c;
  font-size:11px;
  line-height:1.5;
  white-space:normal;
}
body.tjc-office-dashboard-active .tjc-client-import-submit{
  min-width:150px;
  min-height:40px;
  padding:0 18px!important;
  border-radius:10px!important;
}
@media (max-width:780px){
  body.tjc-office-dashboard-active .tjc-client-import-form .tjc-client-edit-grid{
    grid-template-columns:1fr;
  }
  body.tjc-office-dashboard-active .tjc-client-import-form .tjc-field-span-2{
    grid-column:1;
  }
  body.tjc-office-dashboard-active .tjc-client-import-submit{
    width:100%;
  }
}
