/* FluxPike 28 – kanonische Formular-Kontrollen innerhalb von Modal-Dialogen. */
:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-formular,.modal-standard-inhalt) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){
  width:100%;
  min-height:42px;
  border:1px solid var(--fp-rahmen-blau);
  border-radius:12px;
  background:var(--fp-weiss);
  color:var(--fp-text);
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-formular,.modal-standard-inhalt) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){
  padding:10px 12px;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-formular,.modal-standard-inhalt) textarea{
  min-height:96px;
  padding:10px 12px;
  resize:vertical;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-formular,.modal-standard-inhalt) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus{
  border-color:var(--fp-marke-limette);
  box-shadow:0 0 0 3px var(--fp-farbwert-rgba-191-255-0-_22);
  outline:0;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-formular{
  display:grid;
  gap:16px;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-formular__gruppe{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-formular label{
  display:grid;
  gap:7px;
  font-weight:700;
  color:var(--fp-text);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlgruppe,.checkbox-grid,.radio-grid,.auswahl-grid){
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin:0;
  padding:0;
  border:0;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlgruppe,.checkbox-grid,.radio-grid,.auswahl-grid) > legend{
  grid-column:1/-1;
  margin:0 0 2px;
  font-weight:800;
  color:var(--fp-text-stark);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card){
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:52px;
  padding:13px 14px;
  border:1px solid var(--fp-rahmen-blau);
  border-radius:16px;
  background:var(--fp-flaeche-hell);
  color:var(--fp-text);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card):hover{
  border-color:var(--fp-marke-limette);
  background:var(--fp-weiss);
  box-shadow:0 12px 24px var(--fp-farbwert-rgba-15-23-42-_08);
  transform:translateY(-1px);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card) :is(input[type="checkbox"],input[type="radio"]){
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--fp-marke-limette);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card).is-selected{
  border-color:var(--fp-marke-limette);
  background:var(--fp-info-flaeche);
  box-shadow:0 0 0 3px var(--fp-farbwert-rgba-191-255-0-_18);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card).ist-deaktiviert{
  cursor:not-allowed;
  opacity:.58;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-feld-fehler{
  border-color:var(--fp-gefahr-rahmen)!important;
  background:var(--fp-gefahr-flaeche-hell)!important;
  box-shadow:0 0 0 3px var(--fp-farbwert-rgba-220-38-38-_14)!important;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-feld-fehlertext{
  display:block;
  margin-top:6px;
  padding:8px 10px;
  border:1px solid var(--fp-gefahr-rahmen);
  border-radius:10px;
  background:var(--fp-gefahr-flaeche-hell);
  color:var(--fp-gefahr-text);
  font-size:.86rem;
  font-weight:700;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card).hat-fehler{
  border-color:var(--fp-gefahr-rahmen);
  background:var(--fp-gefahr-flaeche-hell);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-hinweisbox{
  display:grid;
  gap:5px;
  padding:14px 16px;
  border:1px solid var(--fp-info-rahmen);
  border-radius:16px;
  background:var(--fp-info-flaeche);
  color:var(--fp-indigo-text);
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-hinweisbox p{
  margin:0;
}

:is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-hinweisbox--warnung{
  border-color:var(--fp-warnung-rahmen);
  background:var(--fp-warnung-flaeche-hell);
  color:var(--fp-warnung-text);
}

@media (max-width:720px){
  :is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) .modal-formular__gruppe,
  :is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlgruppe,.checkbox-grid,.radio-grid,.auswahl-grid){
    grid-template-columns:1fr;
  }

  :is(.modal,.plugin-modal,dialog.dialog,.kanonisches-modal) :is(.modal-auswahlkachel,.auswahl-kachel,.auswahl-card,.problem-person-card,.problem-abschluss-option,.problem-aufgabe-typ-card){
    min-height:48px;
    padding:12px;
  }
}
