/* ───────────────── Global checkbox styling ───────────────── */
input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;

  width: 16px;
  height: 16px;
  border-radius: 9999px;

  /* default: мягкий серый (gray-500 + gray-300) */
  border: 2px solid rgba(107,114,128,.90);   /* gray-500 */
  background: rgba(209,213,219,.85);         /* gray-300 */

  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  flex: 0 0 auto;

  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

/* dark (gray-500 + gray-800/30) */
.dark input[type="checkbox"]{
  border-color: rgba(107,114,128,.55);       /* gray-500/55 */
  background: rgba(31,41,55,.30);            /* gray-800/30 */
}

/* checked: blue-500 border + blue-300 fill (light) */
input[type="checkbox"]:checked{
  border-color: rgba(59,130,246,.95);        /* blue-500 */
  background: rgba(147,197,253,.85);         /* blue-300 */
}

/* checked dark: blue-500 border + blue-800/30 fill */
.dark input[type="checkbox"]:checked{
  border-color: rgba(59,130,246,.95);        /* blue-500 */
  background: rgba(30,64,175,.30);           /* blue-800/30 */
}

/* focus ring (как tailwind ring-blue-500/..) */
input[type="checkbox"]:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,.28); /* blue-500/28 */
}
.dark input[type="checkbox"]:focus-visible{
  box-shadow: 0 0 0 3px rgba(59,130,246,.22);
}

/* disabled */
input[type="checkbox"]:disabled{
  cursor: not-allowed;
  opacity: .55;
}





/* ───────────────── Global radio styling (same as checkbox) ───────────────── */
input[type="radio"]{
  -webkit-appearance: none;
  appearance: none;

  width: 16px;
  height: 16px;
  border-radius: 9999px;

  /* default: мягкий серый (gray-500 + gray-300) */
  border: 2px solid rgba(107,114,128,.90);   /* gray-500 */
  background: rgba(209,213,219,.85);         /* gray-300 */

  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  flex: 0 0 auto;

  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

/* dark (gray-500 + gray-800/30) */
.dark input[type="radio"]{
  border-color: rgba(107,114,128,.55);       /* gray-500/55 */
  background: rgba(31,41,55,.30);            /* gray-800/30 */
}

/* checked: blue-500 border + blue-300 fill (light) */
input[type="radio"]:checked{
  border-color: rgba(59,130,246,.95);        /* blue-500 */
  background: rgba(147,197,253,.85);         /* blue-300 */
}

/* checked dark: blue-500 border + blue-800/30 fill */
.dark input[type="radio"]:checked{
  border-color: rgba(59,130,246,.95);        /* blue-500 */
  background: rgba(30,64,175,.30);           /* blue-800/30 */
}

/* focus ring */
input[type="radio"]:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,.28);
}
.dark input[type="radio"]:focus-visible{
  box-shadow: 0 0 0 3px rgba(59,130,246,.22);
}

/* disabled */
input[type="radio"]:disabled{
  cursor: not-allowed;
  opacity: .55;
}
