/* Selection cards must own both background and text colours.
   Avatar radios keep their image-tile presentation and hidden inputs. */
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"])):not(.vf-avatar-choice) {
  display:flex!important;align-items:flex-start!important;gap:12px!important;
  min-width:0;min-height:44px;box-sizing:border-box;
  padding:12px!important;margin:0!important;border-radius:12px!important;
  border:1px solid #416672!important;background:#163544!important;
  color:#f4fbfd!important;-webkit-text-fill-color:#f4fbfd!important;
  line-height:1.45;cursor:pointer;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"])):not(.vf-avatar-choice) :is(span,strong,b,small) {
  color:#f4fbfd!important;-webkit-text-fill-color:#f4fbfd!important;min-width:0;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"])):not(.vf-avatar-choice) a {
  color:#8df0c4!important;-webkit-text-fill-color:#8df0c4!important;text-decoration:underline;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"])):not(.vf-avatar-choice):has(> input:checked) {
  background:#205644!important;border-color:#66dcae!important;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"])):not(.vf-avatar-choice):focus-within {
  outline:3px solid #8df0c4;outline-offset:3px;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"])):not(.vf-avatar-choice) > input:is([type="checkbox"],[type="radio"]) {
  appearance:auto!important;-webkit-appearance:auto!important;color-scheme:dark;
  accent-color:#63e6ad!important;position:static!important;
  width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;
  min-height:20px!important;flex:0 0 20px!important;margin:2px 0 0!important;
  padding:0!important;box-shadow:none!important;background:transparent!important;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) :is(.terms-check-form,.invite-legal-checks) {
  display:grid;gap:12px;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) :is(.reward-share-choice,.dinner-options,.task-kind-picker,.cooperation-page fieldset) {
  min-width:0;border:1px solid #416672;border-radius:14px;
  background:#102d3a;color:#f4fbfd;padding:12px;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) :is(.reward-share-choice,.dinner-options,.task-kind-picker,.cooperation-page fieldset) legend {
  color:#f4fbfd!important;-webkit-text-fill-color:#f4fbfd!important;
  padding-inline:6px;max-width:100%;white-space:normal;line-height:1.4;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) .cooperation-page fieldset {
  display:grid;gap:12px;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) .cooperation-page :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea) {
  background:#123944!important;color:#f4fbfd!important;-webkit-text-fill-color:#f4fbfd!important;
  border:1px solid #416672!important;color-scheme:dark;box-shadow:none!important;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) .cooperation-page :is(input,textarea)::placeholder {
  color:#b9ced6!important;-webkit-text-fill-color:#b9ced6!important;opacity:1;
}
/* Kind pickers already place a visual card inside the label; use one surface. */
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) :is(.task-kind-picker,.calendar-kind-switch) label > span {
  background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) .weekday-picks label {
  align-items:center!important;padding:10px!important;white-space:nowrap;
}

/* Dynamic forms must retain their hidden and disabled states. */
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label[hidden] {
  display:none!important;
}
html body.ui-2026:not(.admin-shell):not(.admin-login-shell) label:has(> input:is([type="checkbox"],[type="radio"]):disabled):not(.vf-avatar-choice) {
  cursor:not-allowed;
}
