:root {
  --ink: #1f2933;
  --navy: #101820;
  --blue: #c85200;
  --blue-dark: #9e4000;
  --qrm-orange: #ff7a1a;
  --qrm-teal: #45c8c2;
  --qrm-dark: #0c1117;
  --border: #d8dee4;
  --bg: #f3f5f7;
  --muted: #5d6b78;
}
* { box-sizing: border-box; }
body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
}
.container {
  max-width: 1220px;
  margin: 30px auto;
  padding: 0 20px 50px;
}
.login-wrap {
  max-width: 620px;
  margin: 8vh auto 0;
}
h1, h2, h3 { color: var(--navy); }
h1 { margin-bottom: 8px; }
h2 { font-size: 1.2rem; }
.muted { color: var(--muted); }
.nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin: 16px 0 22px;
}
.nav a {
  text-decoration: none;
  color: var(--blue);
  font-weight: 700;
}
.nav .return-link { margin-left: auto; }
.card {
  background: white;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 18px;
  margin: 14px 0;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.login-card { padding: 28px; }
.alert {
  padding: 12px 14px;
  border-radius: 8px;
  margin: 12px 0;
}
.alert.success { background: #e8f7ee; border: 1px solid #9ed0b0; }
.alert.error { background: #fdeeee; border: 1px solid #e2a2a2; }
.alert.warning { background: #fff4da; border: 1px solid #f0d293; }
label {
  display: block;
  font-weight: 700;
  margin-top: 10px;
  margin-bottom: 6px;
}
input, select {
  width: 100%;
  padding: 10px;
  border: 1px solid #b7c4d1;
  border-radius: 6px;
  background: #fff;
  margin-bottom: 6px;
}
button, .button-link {
  display: inline-block;
  background: var(--blue);
  color: #fff;
  padding: 10px 16px;
  border: 0;
  border-radius: 6px;
  text-decoration: none;
  cursor: pointer;
  margin-top: 10px;
  font-weight: 700;
}
button:hover, .button-link:hover { background: var(--blue-dark); }
.inline-link {
  color: var(--blue);
  text-decoration: underline;
  font-weight: 700;
}
.lookup-form-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items: end;
}
.two-col {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.three-col {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.table-scroll { overflow-x: auto; }
.result-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  margin-bottom: 14px;
}
.result-table th,
.result-table td {
  border: 1px solid var(--border);
  padding: 12px;
  text-align: center;
  vertical-align: middle;
}
.result-table thead { background: #eaf2fb; }
.result-table .text-left { text-align: left; }
.empty-file {
  color: #7a4d00;
  background: #fff4da;
  border: 1px solid #f0d293;
  border-radius: 6px;
  padding: 10px;
  display: inline-block;
}
.empty-inline { color: #7a4d00; }
.meta-line {
  font-size: 14px;
  color: #445566;
  margin: 6px 0 10px;
  line-height: 1.8;
}
.eta-status-card {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #2b3948;
  border-top: 4px solid var(--qrm-orange);
  border-radius: 12px;
  background: linear-gradient(145deg, #182431, var(--qrm-dark));
  box-shadow: 0 12px 30px rgba(12,17,23,.2);
  color: #edf3f8;
}
.eta-status-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.eta-status-card strong { display: block; color: #edf3f8; font-size: 18px; margin-top: 3px; }
.eta-label, .eta-status-card small { display: block; color: #a7b8c8; font-size: 12px; }
.eta-status-badges { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.eta-confidence {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(69,200,194,.13);
  color: #8be2dd;
  font-size: 12px;
  font-weight: 700;
}
.eta-condition { padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; background: rgba(67,214,155,.13); color: #75e5b8; }
.eta-condition.watch { background: rgba(102,169,255,.14); color: #8fc1ff; }
.eta-condition.at-risk { background: rgba(240,199,94,.14); color: #f6d77d; }
.eta-condition.overdue { background: rgba(255,122,26,.16); color: #ffb36f; }
.eta-condition.critical { background: rgba(255,111,117,.16); color: #ff9da2; }
.eta-status-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.eta-status-grid > div { padding: 13px; border: 1px solid rgba(94,133,148,.25); border-radius: 8px; background: rgba(27,79,88,.24); }
.eta-status-grid > .eta-phase-timing { background: linear-gradient(145deg,rgba(69,200,194,.18),rgba(27,79,88,.28)); }
.eta-status-card p { margin: 12px 0 0; color: #9aabba; font-size: 12px; }
.eta-unavailable { margin: 14px 0; padding: 11px 13px; border: 1px solid #f0d293; border-radius: 8px; background: #fff4da; color: #7a4d00; }
.sep { margin: 0 6px; color: #9aa6b2; }
.action-panel {
  margin: 20px auto 4px;
  max-width: 620px;
  text-align: center;
  border-top: 1px solid var(--border);
  padding-top: 15px;
}
.action-table {
  margin: 0 auto 6px;
  border-collapse: separate;
  border-spacing: 12px 0;
}
.action-table td { padding: 0; }
.po-box {
  max-width: 360px;
  margin: 10px auto 0;
  text-align: left;
}
.inline-form { display: inline; }
@media (max-width: 760px) {
  .two-col, .three-col, .lookup-form-row, .eta-status-grid { grid-template-columns: 1fr; }
  .eta-status-head { display: block; }
  .eta-status-badges { justify-content: flex-start; margin-top: 8px; }
  .eta-confidence { display: inline-block; margin-top: 8px; }
  .nav .return-link { margin-left: 0; }
  .container { padding: 0 10px 30px; margin-top: 15px; }
  .card { padding: 12px; }
}

/* Shared QRM/Qboy customer workspace, aligned with the live ETA dashboard. */
:root{--ink:#f1f5f8;--navy:#edf4f9;--blue:#f28a24;--blue-dark:#ffa64d;--qrm-orange:#f28a24;--qrm-teal:#70ded4;--qrm-dark:#101b25;--border:#3b5061;--bg:#10161d;--muted:#b3c4d2}
body{background:radial-gradient(ellipse at 65% 0,#18353d 0,transparent 42rem),var(--bg);font-size:1rem;line-height:1.6;color:var(--ink)}.container{max-width:1320px;margin:32px auto 0;padding:0 28px 26px;min-height:calc(100vh - 350px)}h1{font-size:clamp(1.8rem,3vw,2.45rem);letter-spacing:-.035em;line-height:1.2}h2{font-size:1.25rem;line-height:1.35}.login-wrap{max-width:1040px;margin:26px auto 0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,1fr);gap:24px;align-items:start}.login-card{margin:0!important;border-top:3px solid var(--qrm-orange)!important;padding:30px!important}.login-card h2{font-size:1.5rem;margin:0 0 8px}.login-card p{margin:0 0 20px}.login-card button{width:100%;margin-top:20px}.login-card input{margin-bottom:10px}
.card{background:#1d2935;border-color:var(--border);border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 8px 26px #0003;min-width:0}.nav{padding:10px;background:#0d1821;border:1px solid #354a59;border-radius:8px;gap:6px;margin:22px 0}.nav a{padding:8px 11px;color:#d2dfe9;font-size:.875rem;border-radius:5px}.nav a:hover,.nav a[aria-current="page"]{background:var(--qrm-orange);color:#161c22}.nav .return-link{color:var(--qrm-teal)}
label{font-size:.9375rem;color:#e2ebf2}input,select,textarea{font:inherit;min-height:46px;background:#111e29;color:var(--ink);border:1px solid #4a6275;border-radius:7px;padding:10px 12px}input::placeholder{color:#96abba}button,.button-link{min-height:44px;line-height:1.5;color:#161c22;font-size:.9375rem;padding:11px 18px;border-radius:7px}button:hover,.button-link:hover{color:#10161d}.inline-link{color:var(--qrm-teal)}.lookup-form-row input{margin-bottom:0}.lookup-form-row button{margin-top:0}.lookup-card{border-left:4px solid var(--qrm-teal)}
.result-table{background:#1d2935;font-size:.9375rem;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #425768;border-radius:8px}.result-table th,.result-table td{border:0;border-bottom:1px solid #3d5261;text-align:left;padding:14px}.result-table thead{background:#10232e;color:#ffc183}.result-table th{font-size:.875rem}.result-table tbody tr:nth-child(even){background:#223441}.result-table tbody tr:hover{background:#28404c}.result-table tbody tr:last-child td{border-bottom:0}.result-table td:nth-child(3){background:#224248;color:#d6faf4}.meta-line{color:#b5c8d8;font-size:.875rem;line-height:1.9;background:#152630;border-radius:7px;padding:12px 15px}.meta-line strong{color:#d9e7f1}.sep{color:#708c9e}
.alert.success{background:#193d31;border-color:#4d9274;color:#b1efd1}.alert.error{background:#432931;border-color:#a66571;color:#ffd1d6}.alert.warning,.eta-unavailable,.empty-file{background:#3b3020;border-color:#866235;color:#ffe1af}.empty-inline{color:#d0b787}.eta-status-card{background:linear-gradient(135deg,#173d43,#162b38 60%,#14212c);border-color:#3c7276;border-top:3px solid var(--qrm-orange);box-shadow:none;padding:22px}.eta-status-card strong{font-size:1.18rem;line-height:1.4;color:#f3fafb}.eta-label,.eta-status-card small{font-size:.875rem;color:#b8d2dc}.eta-status-card p{font-size:.875rem;line-height:1.6;color:#bbd3dd}.eta-condition,.eta-confidence{font-size:.875rem;padding:6px 10px}.eta-status-grid{gap:12px}.eta-status-grid>div{background:#1e3d48;border-color:#436978;padding:16px}.eta-status-grid>.eta-phase-timing{background:#245451;border-color:#508b83}.eta-status-head .eta-label{color:var(--qrm-orange)}
.action-panel{max-width:none;background:#162b36;border:1px solid #456071;border-radius:9px;padding:20px;margin-top:20px}.action-table{border-spacing:10px 0}.action-table button[value="Approve"]{background:#82d6b4;color:#102920}.action-table button[value="Declined"]{background:#314957;color:#e4eef5;border:1px solid #638094}.action-table button[value="Scrap"]{background:#57323b;color:#ffd1d6;border:1px solid #ae7280}.po-box{max-width:460px}.portal-qboy-note{display:flex;gap:18px;align-items:center;background:#19373d;border:1px solid #3f6c72;border-radius:10px;padding:16px 20px;margin-top:24px}.portal-qboy-note img{width:45px;height:74px;object-fit:contain}.portal-qboy-note p{margin:0;color:#c6dfe7;font-size:.9375rem}.portal-qboy-note strong{color:#ffd0a2}
@media(max-width:900px){.login-wrap{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.eta-status-grid{grid-template-columns:1fr}.three-col{grid-template-columns:1fr}}
@media(max-width:760px){.container{margin-top:24px;padding:0 18px 20px}.login-wrap{grid-template-columns:1fr}.login-card{padding:24px!important}.card{padding:18px}.nav{gap:5px}.nav a{padding:8px 10px}.nav .return-link{margin-left:0}.result-table{min-width:700px}.eta-status-card{padding:18px}.eta-status-head{display:block}.eta-status-badges{margin-top:12px;justify-content:flex-start}.eta-confidence{margin-top:0}.two-col,.lookup-form-row{grid-template-columns:1fr}.action-panel{padding:16px}.action-table{width:100%;border-spacing:5px 0}.action-table button{padding:10px;min-width:0;width:100%}}
@media print{body,.card,.eta-status-card,.eta-status-grid>div,.result-table,.result-table thead,.result-table td,.meta-line{background:white!important;color:black!important;box-shadow:none}.container{max-width:none;margin:0;padding:0}.nav,.action-panel,.lookup-card,.portal-qboy-note{display:none}.eta-status-card strong,.eta-status-card small,.eta-label,.eta-status-card p{color:black}}
