/* V367.46.7.48 Job Costing / Profit Sheet UI */
.job-costing-flow{display:flex;flex-direction:column;gap:14px}.job-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#0f2742,#096da4);border-radius:18px;padding:18px;color:#fff;box-shadow:0 18px 45px rgba(15,39,66,.18)}.job-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#bde8ff;font-weight:900}.job-hero h2{margin:4px 0;font-size:28px}.job-hero p{margin:0;color:#e7f6ff;font-weight:700}.job-select{min-width:min(420px,100%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:14px;padding:10px}.job-select label{display:block;color:#dff6ff;margin-bottom:5px}.job-select select{width:100%;border-radius:11px;padding:11px;border:0;background:#fff;color:#0f172a;font-weight:800}.job-flow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.job-flow-strip div{background:#fff;border:1px solid #cfe0ef;border-radius:14px;padding:12px;box-shadow:0 10px 24px rgba(15,39,66,.06)}.job-flow-strip b{display:block;color:#0f2742}.job-flow-strip span{display:block;color:#607086;font-size:12px;font-weight:700;margin-top:3px}.job-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.job-metric{background:#fff;border:1px solid #cfe0ef;border-radius:16px;padding:16px;box-shadow:0 14px 32px rgba(15,39,66,.07)}.job-metric span{display:block;color:#506176;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.job-metric b{display:block;font-size:26px;margin:7px 0;color:#071526}.job-metric small{color:#607086;font-weight:700}.job-metric.good{background:#ecfff5;border-color:#a9efc6}.job-metric.warn{background:#fff9e8;border-color:#f1d17a}.job-metric.danger{background:#fff1f1;border-color:#f1b0b0}.job-two .card-lite{box-shadow:0 14px 34px rgba(15,39,66,.07);border-radius:16px}.job-table small{display:block;color:#66768a;font-weight:600}.job-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.job-breakdown div{background:#f7fbff;border:1px solid #d7e7f5;border-radius:12px;padding:12px}.job-breakdown span{display:block;color:#53667d;font-weight:900;text-transform:uppercase;font-size:12px}.job-breakdown b{font-size:20px}.job-clear-flow p{margin:8px 0;padding:9px 10px;border-left:4px solid #0a76ad;background:#f5fbff;border-radius:9px}.btn-mini{padding:6px 10px!important;border-radius:9px!important;font-size:12px!important;box-shadow:none!important}@media(max-width:900px){.job-hero{display:block}.job-select{margin-top:12px}.job-flow-strip,.job-metrics-grid,.grid2.job-two{grid-template-columns:1fr!important}.job-breakdown{grid-template-columns:1fr}.job-hero h2{font-size:22px}}

/* V367.46.7.49 Job Expense amount visibility fix */
.job-expense-card .job-expense-grid{display:grid;grid-template-columns:1fr 1fr minmax(160px,.8fr);gap:12px;align-items:end;margin:10px 0}
.job-expense-card .job-expense-grid label{display:block;font-weight:900;color:#071526;margin-bottom:6px}
.job-expense-card .job-expense-grid input,.job-expense-card .job-expense-grid select{width:100%;min-width:0;box-sizing:border-box}
.job-expense-card .job-expense-amount{background:#fff8dc;border:1px solid #edc64a;border-radius:14px;padding:10px}
.job-expense-card .job-expense-amount label{color:#7a4a00}.job-expense-card .job-expense-amount label b{color:#dc2626}.job-expense-card .job-expense-amount input{font-weight:900;font-size:18px;background:#fff}
.job-expense-table th:nth-child(2),.job-expense-table td:nth-child(2){text-align:right;min-width:120px;white-space:nowrap;color:#071526}.job-expense-table th:nth-child(1),.job-expense-table td:nth-child(1){min-width:100px;white-space:nowrap}.job-expense-table th:nth-child(3),.job-expense-table td:nth-child(3){min-width:120px}.job-expense-table th:nth-child(5),.job-expense-table td:nth-child(5){min-width:130px}
@media(max-width:900px){.job-expense-card .job-expense-grid{grid-template-columns:1fr}.job-expense-card .job-expense-amount input{font-size:20px}.job-expense-table{min-width:760px}}

/* V367.46.7.50 Job Costing layout overflow rescue */
.job-costing-flow,
.job-costing-flow *{box-sizing:border-box;}
.job-costing-flow{max-width:100%;overflow-x:hidden;}
.job-costing-flow .grid2.job-two{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-items:start;max-width:100%;}
.job-costing-flow .card-lite{max-width:100%;overflow:hidden;}
.job-expense-card{width:100%;max-width:100%;overflow:hidden!important;}
.job-expense-card .job-expense-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;align-items:end;width:100%;max-width:100%;}
.job-expense-card .job-expense-grid>div{min-width:0;}
.job-expense-card .job-expense-grid input,
.job-expense-card .job-expense-grid select{width:100%!important;max-width:100%!important;min-width:0!important;}
.job-expense-card .job-expense-amount{grid-column:1 / -1!important;order:-1!important;background:#fff6cc!important;border:1px solid #e4b722!important;border-radius:14px!important;padding:12px!important;box-shadow:inset 0 0 0 1px rgba(228,183,34,.18);}
.job-expense-card .job-expense-amount label{font-size:14px!important;font-weight:900!important;color:#5f3b00!important;}
.job-expense-card .job-expense-amount input{height:48px!important;font-size:22px!important;font-weight:900!important;color:#051b34!important;background:#fff!important;border-color:#d69c00!important;}
.job-expense-card .savebar.inline{display:flex!important;flex-wrap:wrap!important;gap:10px!important;width:100%;max-width:100%;overflow:hidden;}
.job-expense-card .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;border-radius:14px;}
.job-expense-card .job-expense-table{width:100%!important;min-width:760px;table-layout:auto;}
.job-expense-card .job-expense-table th,
.job-expense-card .job-expense-table td{white-space:nowrap;}
.job-expense-card .job-expense-table th:nth-child(4),
.job-expense-card .job-expense-table td:nth-child(4){white-space:normal;min-width:220px;}
@media(max-width:1100px){.job-expense-card .job-expense-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.job-expense-card .job-expense-amount{grid-column:1 / -1!important;}}
@media(max-width:680px){.job-costing-flow{overflow-x:hidden;}.job-expense-card .job-expense-grid{grid-template-columns:1fr!important;}.job-expense-card .job-expense-table{min-width:680px;}.job-expense-card .savebar.inline button{width:100%;}}
