/* =====================================================
   TEMPLATE ATTRIBUTES TABLE — shared controls
   Inputs, selects, switches/radios and icon buttons of the attribute
   tables used by BOTH resource-attributes-dialog and edit-template-dialog.
   Defined once here (global on purpose); each dialog only adds its own
   scoped refinements on top.
   ===================================================== */

.table-input,
.table-textarea,
.table-select {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  color: #333;
  background: white;
  transition: border-color 0.2s, box-shadow 0.2s;
  font-family: inherit;
  box-sizing: border-box;
}

.table-input:focus,
.table-textarea:focus,
.table-select:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102,126,234,0.1);
}

.table-input:disabled,
.table-textarea:disabled,
.table-select:disabled { background: #f5f5f5; color: #999; cursor: not-allowed; }

.table-textarea { resize: vertical; min-height: 50px; line-height: 1.4; }

.switch-wrapper,
.radio-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.switch-wrapper md-switch { margin: 0 !important; }
.switch-wrapper md-switch .md-container { transform: scale(0.9); }

.radio-wrapper input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  cursor: pointer;
}
.radio-wrapper input[type="radio"]:disabled { cursor: not-allowed; opacity: 0.5; }

.table-icon-btn {
  min-width: 36px !important; width: 36px !important; height: 36px !important;
  margin: 0 !important; padding: 0 !important; border-radius: 4px !important;
}
.table-icon-btn md-icon { color: #757575; font-size: 20px !important; transition: color 0.2s; }
.table-icon-btn:hover:not([disabled]) md-icon { color: #424242; }
.table-icon-btn[disabled] md-icon { color: #bdbdbd; }
