/* FabForge Welding Module (Build 7) — dark industrial theme */
.wd-wrap { display: flex; flex-direction: column; gap: 14px; }
.wd-safety-banner {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  padding: 10px 14px; border-radius: 8px;
  background: linear-gradient(90deg, rgba(255,176,0,0.14), rgba(22,26,31,0.95));
  border: 1px solid rgba(255,176,0,0.45); color: #f3f4f6; font-size: 13px;
}
.wd-safety-banner b { color: #ffb000; }
.wd-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.wd-pill {
  padding: 7px 12px; border-radius: 6px; border: 1px solid #2b3138;
  background: #171b20; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer;
}
.wd-pill:hover { border-color: #ffb000; color: #fff; }
.wd-pill.active { background: #ffb000; color: #111316; border-color: #ffb000; }

.wd-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 14px; }
.wd-grid-wide { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 14px; }
@media (max-width: 920px) {
  .wd-grid-wide { grid-template-columns: 1fr; }
  .wd-grid { grid-template-columns: 1fr; }
}

.wd-card {
  background: #15191e; border: 1px solid #262c34; border-radius: 8px; padding: 14px;
  display: flex; flex-direction: column; gap: 10px;
}
.wd-card h3 { margin: 0; font-size: 15px; color: #f3f4f6; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.wd-sub { font-size: 12px; color: #9aa4b0; margin: 0; }

.wd-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 9px; }
.wd-fld { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #fff; }
.wd-fld input, .wd-fld select, .wd-fld textarea {
  background: #0f1216; border: 1px solid #2c333c; border-radius: 5px;
  color: #f3f4f6; padding: 6px 8px; font-size: 13px; font-family: inherit;
}
.wd-fld input:focus, .wd-fld select:focus, .wd-fld textarea:focus { outline: none; border-color: #ffb000; }

.wd-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 8px; }
.wd-kpi {
  background: #101317; border: 1px solid #242a32; border-radius: 6px; padding: 8px 10px;
}
.wd-kpi .k-lbl { font-size: 11px; color: #9aa4b0; text-transform: uppercase; letter-spacing: 0.04em; }
.wd-kpi .k-val { font-size: 16px; font-weight: 700; color: #ffb000; margin-top: 2px; font-family: var(--mono, monospace); }
.wd-kpi .k-sub { font-size: 11px; color: #8c96a3; margin-top: 2px; }

.wd-badge {
  display: inline-block; padding: 2px 7px; border-radius: 4px; font-size: 11px; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.wd-badge.est { background: rgba(255,176,0,0.18); color: #ffb000; border: 1px solid rgba(255,176,0,0.45); }
.wd-badge.ok { background: rgba(46,204,113,0.16); color: #4cd964; border: 1px solid rgba(46,204,113,0.4); }
.wd-badge.warn { background: rgba(255,159,28,0.18); color: #ff9f1c; border: 1px solid rgba(255,159,28,0.45); }
.wd-badge.bad { background: rgba(255,77,79,0.18); color: #ff6b6b; border: 1px solid rgba(255,77,79,0.45); }
.wd-badge.info { background: rgba(90,209,230,0.15); color: #fff; border: 1px solid rgba(90,209,230,0.4); }

.wd-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.wd-chip {
  padding: 4px 8px; border-radius: 4px; background: #1c2128; border: 1px solid #2e3640;
  color: #fff; font-size: 12px; cursor: pointer; font-family: var(--mono, monospace);
}
.wd-chip:hover, .wd-chip.active { border-color: #ffb000; color: #ffb000; background: #232018; }

.wd-svg-box {
  background: #0d1014; border: 1px solid #262c34; border-radius: 6px; padding: 10px;
  display: flex; align-items: center; justify-content: center; overflow-x: auto;
}
.wd-svg-box svg { max-width: 100%; height: auto; }

.wd-table-wrap { overflow-x: auto; }
.wd-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.wd-table th, .wd-table td {
  padding: 6px 8px; border-bottom: 1px solid #232931; text-align: left; vertical-align: top;
}
.wd-table th { color: #9aa4b0; font-weight: 600; background: #111519; }
.wd-table tr:hover td { background: rgba(255,176,0,0.04); }

.wd-steps { margin: 0; padding-left: 18px; font-size: 13px; color: #fff; display: flex; flex-direction: column; gap: 4px; }
.wd-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; }
.wd-list li { padding: 6px 9px; border-radius: 5px; background: #101418; border-left: 3px solid #3a424d; }
.wd-list li.good { border-left-color: #4cd964; }
.wd-list li.warn { border-left-color: #ffb000; }
.wd-list li.bad { border-left-color: #ff6b6b; }

.wd-gate-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  padding: 9px 11px; background: #101418; border: 1px solid #28303a; border-radius: 6px;
}
.wd-gate-step {
  padding: 4px 9px; border-radius: 4px; font-size: 11.5px; font-weight: 700;
  background: #1a2027; color: #8c96a3; border: 1px solid #2a313a;
}
.wd-gate-step.done { background: rgba(76,217,100,0.16); color: #4cd964; border-color: rgba(76,217,100,0.45); }
.wd-gate-step.curr { background: rgba(255,176,0,0.2); color: #ffb000; border-color: #ffb000; }

.wd-permit-item {
  display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px;
  background: #101418; border: 1px solid #222830; border-radius: 5px; font-size: 12.5px; cursor: pointer;
}
.wd-permit-item input { margin-top: 3px; accent-color: #ffb000; }
.wd-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.wd-code {
  background: #0b0e12; border: 1px solid #252c35; border-radius: 6px; padding: 10px 12px;
  font-family: var(--mono, monospace); font-size: 12px; color: #fff;
  overflow-x: auto; max-height: 320px; white-space: pre; margin: 0; line-height: 1.45;
}
.wd-note {
  padding: 9px 12px; border-radius: 6px; font-size: 12.5px; line-height: 1.45;
  background: #101419; border-left: 3px solid #ffb000; color: #fff;
}
.wd-note.good { border-left-color: #4cd964; }
.wd-note.bad { border-left-color: #ff6b6b; }
