.tech-catalog-section { scroll-margin-top: 90px; }
.tech-catalog-section [hidden] { display: none !important; }
.tech-catalog-section label { display: block; margin: 12px 0 6px; font-weight: 600; }
.tech-catalog-section input:not([type=checkbox]), .tech-catalog-section textarea {
  width: 100%; max-width: 100%; box-sizing: border-box; padding: 14px;
  border: 1px solid #ffffff30; border-radius: 14px; background: #13151f;
  color: #fff; font: inherit; font-size: 16px;
}
.tech-search-row { display: flex; gap: 10px; align-items: center; }
.tech-search-row input { flex: 1; min-width: 0; }
.tech-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.tech-choice, .tech-device {
  border: 1px solid #ffffff30; border-radius: 14px; padding: 11px 14px;
  background: #171923; color: #f8f8fb; text-align: left; font: inherit;
  cursor: pointer; min-height: 44px; overflow-wrap: anywhere;
}
.tech-choice:hover, .tech-device:hover { border-color: #ff6a58; background: #352027; }
.tech-choice[aria-pressed=true], .tech-device[aria-pressed=true] {
  border-color: #ff6a58; background: #572632; box-shadow: 0 0 18px #e6293f25;
}
.tech-catalog-section :focus-visible { outline: 3px solid #ffb49a; outline-offset: 3px; }
.tech-device-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.tech-device-list { max-height: 400px; overflow-y: auto; padding: 4px; }
.tech-intake, .tech-prepared { margin-top: 28px; padding: clamp(18px, 4vw, 32px); border: 1px solid #ffffff25; border-radius: 22px; background: #10131dd9; }
.tech-form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tech-note { color: #b7bfce; line-height: 1.6; }
.tech-warning { padding: 14px; border-left: 3px solid #ffad65; background: #49302050; line-height: 1.6; }
.tech-form-error { color: #ffbaad; min-height: 24px; }
.tech-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.tech-summary { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.6; user-select: text; }
.tech-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tech-levels article { padding: 22px; border: 1px solid #ffffff20; border-radius: 18px; background: #151721; }
@media(max-width: 600px) {
  .tech-form-columns, .tech-levels { grid-template-columns: 1fr; }
  .tech-search-row { flex-wrap: wrap; }
  .tech-search-row input { flex-basis: 100%; }
  .tech-device-grid { grid-template-columns: 1fr 1fr; }
  .tech-device { padding: 12px; }
}
