/* Company Standards: aligned fields and source-aware intake. */
#playbook-management .playbook-source-choice {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}
#playbook-management .playbook-source-choice > label,
#playbook-management .playbook-field > .field-help-label-row > label {
  color: var(--charcoal);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.5;
}
#playbook-management .playbook-field {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}
#playbook-management .playbook-form-grid {
  gap: 8px 16px;
  align-items: start;
}
#playbook-management .playbook-form-grid > .playbook-field {
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 7px;
}
#playbook-management .playbook-field > .field-help-label-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
#playbook-management .playbook-field > .field-help-label-row > label {
  display: block;
  margin: 0;
  padding: 0;
  flex: 1;
}
#playbook-management .playbook-field .optional-label {
  display: inline-block;
  margin-left: 4px;
  font-size: .66rem;
  font-weight: 500;
  vertical-align: baseline;
}
#playbook-management .playbook-field :is(input, select, textarea),
#playbook-management .playbook-source-choice select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  font: inherit;
}
#playbook-management .playbook-field :is(input, select),
#playbook-management .playbook-source-choice select { min-height: 44px; }
#playbook-management .playbook-field > small {
  font-size: .75rem;
  line-height: 1.5;
  color: var(--slate);
}
#playbook-management .playbook-source-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
#playbook-management .playbook-file-selection {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--white);
}
#playbook-management .playbook-file-selection > p { margin: 0; overflow-wrap: anywhere; }
#playbook-management .playbook-source-confirmation {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: .78rem;
  line-height: 1.5;
  font-weight: 500;
}
#playbook-management .playbook-source-confirmation > input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}
#playbook-management .playbook-source-boundary,
#playbook-management .playbook-source-status {
  margin: 0;
  color: var(--slate);
  font-size: .76rem;
  line-height: 1.55;
}
#playbook-management .playbook-source-status { color: var(--charcoal); }
#playbook-management .playbook-policy-observations {
  display: grid;
  gap: 12px;
}
#playbook-management .playbook-policy-observations article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--white);
  overflow-wrap: anywhere;
}
#playbook-management .playbook-policy-observations :is(p, span, summary) {
  margin: 0;
  font-size: .76rem;
  line-height: 1.5;
}
#playbook-management .playbook-policy-observations span { color: var(--slate); }
#playbook-management .playbook-policy-observations details { margin-top: 3px; }
#playbook-management .playbook-policy-observations summary { cursor: pointer; }
#playbook-management .playbook-policy-observations details[open] p { margin-top: 7px; }
#playbook-management .playbook-source-excerpt { white-space: pre-wrap; overflow-wrap: anywhere; }
#playbook-management [hidden] { display: none !important; }
@media (max-width: 620px) {
  #playbook-management .playbook-form-grid { grid-template-columns: minmax(0, 1fr); }
  #playbook-management .playbook-source-tools > button { max-width: 100%; white-space: normal; }
}
