:root{
  --ink:#111827;--navy:#121a2b;--paper:#f3f5f8;--line:#d7dce5;--muted:#667085;
  --good:#16794b;--bad:#b42318;--white:#fff;--soft:#eef2f7
}
*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;margin:0;background:var(--paper);color:var(--ink)}
.topbar{background:var(--navy);color:#fff;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.topbar h1{margin:0;font-size:26px}.subtitle{opacity:.82;margin-top:3px}.account{display:flex;align-items:center;gap:10px;font-size:13px}
.shell{max-width:1180px;margin:auto;padding:18px}.hidden{display:none!important}
.card,.stat-card{background:#fff;border-radius:16px;padding:20px;margin:14px 0;box-shadow:0 1px 3px rgba(16,24,40,.06)}
.center{text-align:center}.auth-card{max-width:520px;margin:40px auto}.muted{color:var(--muted);font-size:13px}.muted-light{display:block;color:#d0d5dd;font-size:12px;margin-top:2px}
label{display:block;font-weight:700;margin-top:12px;margin-bottom:5px}
input,select,textarea{width:100%;padding:12px;border:1px solid #cbd2dc;border-radius:9px;font-size:16px;background:white}
textarea{resize:vertical}
button{margin-top:15px;padding:12px 18px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-weight:700;cursor:pointer}
button:hover{filter:brightness(1.07)}button:disabled{opacity:.55;cursor:not-allowed}
button.secondary{background:#e7ebf1;color:var(--ink)}button.secondary-light{background:white;color:var(--navy)}
button.small{padding:9px 12px;margin-top:0;font-size:13px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.role-banner{background:#26354f;color:#fff;border-radius:14px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.admin-banner{background:#111827}.banner-actions{display:flex;gap:8px;flex-wrap:wrap}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stats-grid.one-stat{grid-template-columns:minmax(180px,260px)}
.stat-card{margin:14px 0}.stat-label{font-size:12px;color:var(--muted)}.stat{font-size:28px;font-weight:800;margin-top:5px}
.production-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.production-head h3,.section-head h2{margin:0}.production-row{display:grid;grid-template-columns:1.45fr 1.35fr 1fr .85fr .85fr 1fr auto;gap:8px;margin:10px 0;align-items:end;padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#fbfcfe}
.remove-row{background:#fbe9e7!important;color:var(--bad)!important;padding:11px 12px;white-space:nowrap}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid #cbd2dc;border-radius:9px;padding:8px;max-height:150px;overflow:auto;background:white}
.check-item{display:flex;align-items:center;gap:7px;font-weight:400;font-size:14px;margin:0}.check-item input{width:auto;margin:0}
.message{min-height:18px;font-size:13px}.message.ok{color:var(--good)}.message.error{color:var(--bad)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:10px;border-bottom:1px solid #e4e7ec;font-size:13px}th{background:#f8fafc}
.job-name{color:var(--muted);font-size:12px;font-weight:400}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tracker-num{color:#344054}.supervision-num{color:#7a5b00}.rate-strong{font-weight:800}.num-over{color:var(--bad);font-weight:800}
.status-badge{display:inline-block;min-width:72px;text-align:center;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.status-good{background:#e7f6ee;color:#16794b}.status-watch{background:#fff6d8;color:#7a5b00}.status-danger{background:#fff0e5;color:#b54708}.status-over{background:#fbe9e7;color:#b42318}.status-unknown{background:#eef2f7;color:#475467}
.manage-btn{margin:0;padding:7px 10px;font-size:12px;background:#e7ebf1;color:var(--ink)}
.field-hint{font-size:12px;color:var(--muted);margin-top:5px}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto;margin:0}
.budget-adjust{margin-top:20px}.budget-adjust hr{border:0;border-top:1px solid #e4e7ec;margin:20px 0}.history-list{border:1px solid #e4e7ec;border-radius:10px;overflow:hidden}.history-item{padding:10px 12px;border-bottom:1px solid #e4e7ec;font-size:13px}.history-item:last-child{border-bottom:0}.history-meta{color:var(--muted);font-size:12px;margin-top:3px}
@media(max-width:760px){
  .two-col,.three-col,.stats-grid{grid-template-columns:1fr}.production-row{grid-template-columns:1fr 1fr}.production-row .scope{grid-column:1/-1}.production-row .remove-row{grid-column:1/-1;width:100%}
  .topbar{align-items:flex-start}.account{flex-direction:column;align-items:flex-end}.role-banner{align-items:flex-start;flex-direction:column}.banner-actions{width:100%}.banner-actions button{flex:1}
}
.production-filter{max-width:520px;margin-top:10px}.compact-table table{min-width:620px}.production-table table{min-width:620px;table-layout:fixed}.production-summary-table .prod-work-col{width:42%}.production-summary-table .prod-qty-col{width:20%}.production-summary-table .prod-hours-col{width:19%}.production-summary-table .prod-rate-col{width:19%}.production-summary-table th:nth-child(n+2),.production-summary-table td:nth-child(n+2){text-align:right}.daily-production-table table{min-width:760px}.daily-production-table .prod-date-col{width:20%}.daily-production-table .prod-daily-work-col{width:32%}.daily-production-table .prod-daily-qty-col{width:17%}.daily-production-table .prod-daily-hours-col{width:16%}.daily-production-table .prod-daily-rate-col{width:15%}.daily-production-table th:nth-child(n+3),.daily-production-table td:nth-child(n+3){text-align:right}.production-table th,.production-table td{vertical-align:top}.daily-heading{margin-top:22px}.rate-muted{color:var(--muted);font-style:italic}.production-note{font-size:12px;color:var(--muted)}
.archived-jobs-table{min-width:760px}.archived-actions{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}.archived-actions button{margin:0}.reactivate-job-btn{background:#16794b}.archived-jobs-table-wrap{margin-top:8px}


.link-button {
  margin-top: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
}
.forgot-panel { margin-top: 18px; padding-top: 16px; border-top: 1px solid #d8dde6; }
.secondary-button { margin-left: 8px; background: #eef1f5; color: #182033; }

/* v3.4 Workers & Access */
.employee-form-wrap{margin:14px 0 18px;padding:16px;border:1px solid #e4e7ec;border-radius:12px;background:#fbfcfe}
.employee-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.employee-list{display:grid;gap:10px;margin-top:12px}
.employee-card{border:1px solid #e4e7ec;border-radius:12px;padding:14px;background:#fff;display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(180px,1.4fr) minmax(150px,1fr) auto;gap:12px;align-items:center}
.employee-name{font-weight:800}.employee-email{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.employee-badges{display:flex;gap:6px;flex-wrap:wrap}.employee-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.employee-actions button{margin:0}
.role-pill,.access-pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;white-space:nowrap}.role-pill{background:#eef2f7;color:#344054}.role-pill.lead{background:#fff6d8;color:#7a5b00}.role-pill.both{background:#e8f1ff;color:#175cd3}.access-pill{background:#e7f6ee;color:#16794b}.access-pill.off{background:#eef2f7;color:#667085}.access-pill.inactive{background:#fbe9e7;color:#b42318}
@media(max-width:760px){.employee-role-grid{grid-template-columns:1fr}.employee-card{grid-template-columns:1fr}.employee-actions{justify-content:stretch}.employee-actions button{flex:1}.employee-card .employee-badges{margin-top:-2px}}

/* v3.5 mobile home-screen install */
.install-bar{max-width:1180px;margin:12px auto 0;padding:12px 16px;border-radius:12px;background:#e8f1ff;border:1px solid #b9d3ff;color:#102a56;display:flex;align-items:center;justify-content:space-between;gap:14px}
.install-bar strong{display:block;font-size:15px}.install-bar span{display:block;font-size:13px;margin-top:2px;color:#344054}.install-actions{display:flex;gap:8px;flex-wrap:wrap}.install-actions button{margin:0;white-space:nowrap}
@media(max-width:760px){.install-bar{margin:10px 12px 0;align-items:flex-start;flex-direction:column}.install-actions{width:100%}.install-actions button{flex:1}}

@media(max-width:760px){.archived-actions{flex-direction:column;align-items:stretch}.archived-actions button{width:100%}}
/* v3.6.1 clearer field save confirmation */
.message.submitted{margin-top:16px;padding:16px 18px;border:2px solid var(--good);border-radius:12px;background:#e7f6ee;color:var(--good);font-size:18px;font-weight:800;line-height:1.35}
@media(max-width:760px){.message.submitted{font-size:20px;padding:18px}}

